arduino-sensor-ultrasonico

Gözü görmeyenler için proje çalışması

Körler için piyasada oldukça çalışma var ama bunun verimliliği tartışılır. Bu projeyi uluslararası bir olimpiyata hazırlarken , çalışmıştım . Bu çalışmayı eski dökümanlarım arasında buldum .

 

Proje çok amaçlı hazırlanabilir . Şu şekillerde olabilir.

  1. Bir bastona yerleştirilerek cisme yaklaştığında ses çıkartılması ve yakınlık derecesine göre bu sesin değişimi sağlanabilir (Park sensörlerinde olduğu gibi)
  2. Bir şapkaya yerleştirilebilir. 2 yada 3 Ultrasonik sensörü 70 derecelik açıyı kavrayacak şekilde yerleştirilebilir ve Ultrasonik sensörler kıyaslanarak hangi tarafın cisme uzaklığı fazla ise yerleştireceğimiz bir servo motor ile o taraf uyarılabilir.
  3. Bir eldivene yerleştirilebilir 2 yada 3 ultrasonik sensörükullanılabilir ve bu şekilde çalışması sağlanabilir. (Çalışma prensibi 2 ile aynı olabilir.)

Bunun Çalışmaları çok hoşunuza gideceğine inanıyorum İki adet video var bunları izleyerek projenin üzerinde çalışabilirsiniz diye düşünüyorum

Alttaki videoda benim küçük bir çalışmam var .

Yukardaki videonun programı biraz geliştirilmesine ihtiyaç var ama işe yarar umuduyla eklemek istedim.


#include <Ultrasonic.h>
#include <Servo.h>
#define TRIGGER1 12
#define ECHO1 13
#define TRIGGER2 10
#define ECHO2 11
Servo servom;
Ultrasonic ultrasonic(TRIGGER1, ECHO1);
Ultrasonic ultrasonic1(TRIGGER2, ECHO2);
int pos = 0;
int tol =10;

void setup()
{
servom.attach(3);
Serial.begin(9600);
}

void loop()
{
float cmMsec, cmMsec1;
long microsec = ultrasonic.timing();
long microsec1 = ultrasonic1.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
cmMsec1 = ultrasonic1.convert(microsec1, Ultrasonic::CM);
// inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);

Serial.print("sol CM: ");
Serial.print(cmMsec);
Serial.print(" sag CM: ");
Serial.println(cmMsec1);
delay(100);
int fark = cmMsec-cmMsec1;
if (-1*tol > fark || fark > tol)
{
if (cmMsec<cmMsec1)
{
servom.write(0);
Serial.println(" sag taraf daha uzak");
} else if (cmMsec>cmMsec1)
{
servom.write(180);
Serial.println(" sol taraf daha uzak");
}

}else {
servom.write(90);
Serial.println(" iki taraf ayni");
}}

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

  

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.