Tekil Mesaj gösterimi
'iMuh@fiz
'iMuh@fiz - ait Kullanıcı Resmi (Avatar)
Özel Üye
Üyelik tarihi:
08/2012
Nereden:
Bakü
Yaş:
27
Mesajlar:
11.214
Konular:
4118
Teşekkür (Etti):
Teşekkür (Aldı):
Ticaret:
(0) %
18-07-2013 10:09
#1
Arduino ethernet shield-sd karta veri yazma ve verinin kalman filtresine uygulanması
Merhaba Arkadaşlar bu yazımızda Arduino ile sharp sensorü ve Dc motorlar ile bir robot uygulaması yapacağız.Robot uygulamamız basit olamak la birlikte programlamasıda ayrıca keyifli.Robotumuz üzereinde bir tane sharp sensor iki tanede dc motor bulunmakta.Dc motorları bildiğiniz gibi digital çıkışlarımızdan sharp sensorunüde analaog çıkışlarımızdan kontrol ediyoruz.Dc motorlara ben PWM uygulamadım, basit bir uygulama sharp sensöründen robotun engelle karşılaşıp karşılaşmadığı bilgisi alınıyor engelle karşılaşmış ise motorlar duruyor. Arduino da sharp sensörü nasıl kullanacağız ve sharp sensorün çalışma mantığına biraz bakalım isterseniz.Benim arduino boardum Atmega1280 arduino uno ile GPIO ları dışında pek bir fark yok Arduino uno ile aynı uygulama yapılabilir.

Gördüğünüz gibi sharpsensör bağlantıları gerilim toprak ve analog ucağa bağlı engel biligisini gönderen bağlantı.Sharp sensör önündeki engelin uzaklığına göre sayı üretiyor mesafe yaklaşık 12-15 cm ise 300 ve üzeri sayı üretiyor engel yoksa 0 la 100 arası gibi bir sayı üretiyor

int sensorPin=0; //Sharp sensorün bağlı olduğu analog pin int uretilensayi=0; //Sharp sensorün aldığı değeri atadığımız değişken **** setup() { Serial.begin(9600);//iletişim kuralı } **** loop() { uretilensayi=analogRead(sensorPin); Serial.println(uretilensayi); delay(100); }



Engel algılama sistemimizden sonra dc motorların bağlantısını L293D motor sürücüsü ile yapıyoruz.

Uygulamanın Kodları

const int motor1Pin=9; const int motor2Pin=5; const int motor3Pin=8; const int motor4Pin=7; int uretilensayi=0; int sensorPin=0; const int enablePin=4; const int enablePin2=3; **** setup() { pinMode(motor1Pin,OUTPUT); pinMode(motor2Pin,OUTPUT); pinMode(motor3Pin,OUTPUT); pinMode(motor4Pin,OUTPUT); pinMode(enablePin,OUTPUT); pinMode(enablePin2,OUTPUT); digitalWrite(enablePin, HIGH); digitalWrite(enablePin2,HIGH); } **** loop() { uretilensayi=analogRead(sensorPin); if(uretilensayi<300) { digitalWrite(motor1Pin, LOW); digitalWrite(motor2Pin, HIGH); digitalWrite(motor3Pin, LOW); digitalWrite(motor4Pin, HIGH); } else{ digitalWrite(motor1Pin, LOW); digitalWrite(motor2Pin, LOW); digitalWrite(motor3Pin, LOW); digitalWrite(motor4Pin, LOW); } }

Bu uygulamamızda burada son buldu.Bir sonraki yazımızda görüşmek dilieğiyle.
--------------------- Kimler geldi kimler gecti don bak arkana elbet ki zaman bizi sizide silip supurecektir peki bizden geriye ne kalicak ? keske hic bir sey kalmasa...

Youtube kanalim ► https://goo.gl/eM6wz2