Arama butonu
Bu konudaki kullanıcılar: 1 misafir
6
Cevap
490
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.