Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
487
Tıklama
0
Öne Çıkarma
Arduino Bilgisayar Kontrollü Arabama HC-SR04 Sensör Eklemek İstiyorum
A
10 yıl
Teğmen
Konu Sahibi

Merhaba arkadaşlar, proje danışmanımızın verdiği projeye göre bilgisayar kontrollü w,a,s,d tuşları ile kontrol edilen araba yapmaktayım.

Şu anda aracı bitirmiş bulunuyorum fakat son anda ekstradan bir isteği oldu benden fakat pek beceremedim.

Proje tam olarak şu şekilde: Araç w,a,s,d tuşları ile bluetooth üzerinden kontrol edilebiliyor. Bu araç aynı zamanda önünde bulunan hc-sr04 ultrasonik mesafe sensörüyle de engeli görünce kaçmalı. Benim yazdığım program şu şekilde:

Programdan da görüldüğü üzere HC-SR04; Arduino'nun d3 ve d5 pinlerine bağlı. İki adet DC Motor var, biri sağ sol yapıyor diğeri ileri geri.

const int EnablePinDir = 10; 
const int EnablePinMotor = 6;
const int LogicPin1Dir = 11;
const int LogicPin2Dir = 12;
const int LogicPin1Motor = 8;
const int LogicPin2Motor = 9;
#define trigPin 5
#define echoPin 3

void ileri()
{
digitalWrite(LogicPin1Motor, LOW);
digitalWrite(LogicPin2Motor, HIGH);
digitalWrite(EnablePinMotor, HIGH);
}

void geri(){
digitalWrite(LogicPin1Motor, HIGH);
digitalWrite(LogicPin2Motor, LOW);
digitalWrite(EnablePinMotor, HIGH);
}

void sag()
{
digitalWrite(LogicPin1Dir, LOW);
digitalWrite(LogicPin2Dir, HIGH);
digitalWrite(EnablePinDir, HIGH);
}

void sol()
{
digitalWrite(LogicPin1Dir, HIGH);
digitalWrite(LogicPin2Dir, LOW);
digitalWrite(EnablePinDir, HIGH);
}

void dur()
{
digitalWrite(LogicPin1Motor, LOW);
digitalWrite(LogicPin2Motor, LOW);
digitalWrite(EnablePinMotor, LOW);
}

void setup(){
Serial.begin(9600);
pinMode(EnablePinDir, OUTPUT);
pinMode(EnablePinMotor, OUTPUT);
pinMode(LogicPin1Dir, OUTPUT);
pinMode(LogicPin2Dir, OUTPUT);
pinMode(LogicPin1Motor, OUTPUT);
pinMode(LogicPin2Motor, OUTPUT);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop(){

/************************************************************************************************************/
if (Serial.available() > 0) {
char tus = (char)Serial.read();
if( tus == 'w' )
ileri();
if( tus == 's' )
geri();
if( tus == 'a' )
sol();
if( tus == 'd' )
sag();
if( tus == 'x' )
dur();
}
}


yardımcı olacak arkadaşlara şimdiden teşekkürlerimi sunarım, projeyle ilgili sorusu olan arkadaşlar varsa da seve seve yardımcı olurum.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



G
10 yıl
Yarbay

Önce bir timer kurarsın, misal timer0. Döngünün başında trig sinyali verip timerı başlatırsın. echo gelince timerı okur ve önünde engel olup olmadığını anlarsın. Aynı döngü içinde yön tuşlarını da okuman mümkün.



A
10 yıl
Teğmen
Konu Sahibi

Bunu programa dökemiyorum işte :/



< Bu ileti mobil sürüm kullanılarak atıldı >

G
10 yıl
Yarbay

Hcsr04 kullanım örneği mi istiyorsun?



< Bu ileti mobil sürüm kullanılarak atıldı >

A
10 yıl
Teğmen
Konu Sahibi

Teşekkürler arkadaşlar, projeyi teslim ettim. Cevaplarınız için teşekkürler.



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
E
10 yıl
Teğmen

Bişey sorcam geç oldu ama Arabaya Motor sürücüsü takmışmıydın ?



A
10 yıl
Teğmen
Konu Sahibi

L293B motor sürücüsü kullandım 1 tane :)



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.