Arkadaşlar merhaba, Arduino UNO ile çizgi izleyen robot yapımını sizlere anlatıyoruz.
NEDEN BU PROJEYİ SEÇTİK?
Gruptaki arkadaşlarımızın, ne tür ilgi alanlarını olduğunu konuştuk, sonuç olarak hepimizin araçların donanımlarının ilgimizi çektiğini anladık. Bu yüzden bir aracın donanımını ele aldık ve bu projeyi bulduk.
BU PROJEYİ NASIL GELİŞTİREBİLİRİZ?
Bu proje üzerine farklı sensörler eklenerek cisimleri algılayıp ona göre tepkiler verebilen ve bu sayede sürücüye kolaylık sağlayıp sürücü güvenliğini en üst düzeye çıkaran günümüzün gelişmiş araçlarını yapılabiliriz.
PROJENİN YAPIMI:
İlk olarak şasesini yaparak fiziksel olarak robotumuzun iskeletini belirledik
.
İkinci bölümde ise elektronik devresi, sensör kartı tasarımı ve kodunu hazırlayarak robotumuzu tamamladık.
Sensör kartının yapılması:
ROBOTUMUZDA KULLANDIĞIMIZ DEVRE:
ROBOTUMUZDA KULLANDIĞIMIZ MALZEMELER:
-Sensör için:
2 tane CNY70 ve 1 tane 74HC14
2 tane 330 ohm
2 tane 4.6 K ohm
-ARDUİNO UNO
-2 Tane Duracell pil 9V
-2 Tane 6V DC serve motor
-2 Tane tekerlek
-1 tane L293D Motor sürücüsü
-1 Tane Sarhoş Teker
-Şasi
-Bağlantı kabloları
KULLANILAN KOD:
const int sag_i = 4; // motor sürücü ve sensör pinleri tanımladık. const int sag_g = 5; const int sol_i = 7; const int sol_g = 6; const int sol_sensor = 2; const int sag_sensor = 3; int sol_durum, sag_durum; // sol ve sağ sensörün durum değişkenleri tanımladık. void setup() { pinMode(sag_i, OUTPUT); // motor sürücü pinleri çıkış olarak atadık. pinMode(sag_g, OUTPUT); pinMode(sol_i, OUTPUT); pinMode(sol_g, OUTPUT); pinMode(sag_sensor, INPUT); // sensör pinleri giriş pini olarak atadık. pinMode(sol_sensor, INPUT); } void loop() { sol_durum = digitalRead(sol_sensor); // sol ve sağ sensör okunup değişkenlere kaydettik. sag_durum = digitalRead(sag_sensor); if (sol_durum == LOW && sag_durum == LOW) // iki sensör de siyah görmüyor ise motorlar ileri gidecek şekilde çalışıtırdık. { digitalWrite(sag_i, HIGH); digitalWrite(sag_g, LOW); digitalWrite(sol_i, HIGH); digitalWrite(sol_g, LOW); } else if (sol_durum == LOW && sag_durum == HIGH) // sağ sensör siyah görüyor ise motorlar sağa dönecek şekilde çalıştırdık. { digitalWrite(sag_i, HIGH); digitalWrite(sag_g, HIGH); digitalWrite(sol_i, HIGH); digitalWrite(sol_g, LOW); } else if (sol_durum == HIGH && sag_durum == LOW) // sol sensör siyah görüyor ise motorlar sola dönecek şekilde çalıştırdık. { digitalWrite(sag_i, HIGH); digitalWrite(sag_g, LOW); digitalWrite(sol_i, HIGH); digitalWrite(sol_g, HIGH); } else //eğer yukarıda şartların 3 üde değilse dur. { digitalWrite(sag_i, LOW); digitalWrite(sag_g, LOW); digitalWrite(sol_i, LOW); digitalWrite(sol_g, LOW); } delay(25); // ivme kırıcı kodlar digitalWrite(sag_i, LOW); digitalWrite(sag_g, LOW); digitalWrite(sol_i, LOW); digitalWrite(sol_g, LOW); delay(50); } ROBOTUMUZUN YAPIM AŞAMASI VİDEO DA GÖSTERİLMİŞ VE ANLATILMIŞTIR. I I I I I I ---------- \ / \ / \ / \/