Projenin tüm parçaları demonte gönderilmektedir.Evinizde kolayca kurabileceğiniz ve programlayabileceğiniz güzel bir üründür.Tekne ilerlerken su sıçrattığı için tekne içerisine su girmektedir bu yüzden elektronik devrenizi poşet içerisine koyarsanız su ile temasını kesmiş olursunuz.
Malzemeler
- Arduino Uno
- 2 adet DC motor
- HC-06 Blueooth modülü
- Sürücü Shield
- HC-Sr04 Ultrasonik Sensörü
- Jumper Kablo
- Batarya
- 3D parçalar
// Proje Hocam - www.projehocam.com
// Android Kontrollü Tekne Programı
#include <Servo.h>
Servo myservo;
char dataIn = 'S'; // Durma fonksiyonu için karakter
int pinileri = 10; //İleri sürüş için kontrol pini
int pingeri = 11; //Geri sürüş için kontrol pini
int pinsol = 9; //Sola sürüş için kontrol pini
int pinsag = 8; //Sağa sürüş için kontrol pini
int pinpwm1 = 6;
int pinpwm2 = 5;
int far=13; //Araba far
char determinant; //Program döngüsü için karakter
char det; //Program döngüsü için karakter
void setup()
{
Serial.begin(9600); //HC-07 bluetooth modülü için btu 9600
pinMode(pinileri, OUTPUT);
pinMode(pingeri, OUTPUT);
pinMode(pinsol, OUTPUT);
pinMode(pinsag, OUTPUT);
pinMode(pinpwm1, OUTPUT);
pinMode(pinpwm2, OUTPUT);
pinMode(far,OUTPUT);
}
void loop()
{ digitalWrite(pinpwm1,HIGH);
digitalWrite(pinpwm2,HIGH);
det = check();
while (det == 'F') //Telefondaki programda atanmış olan ileri sürüş butonunun harf eşdeğeri
{
digitalWrite(pinileri, LOW);
digitalWrite(pingeri, HIGH);
digitalWrite(pinsag, LOW);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'B') //Telefondaki programda atanmış olan geri sürüş butonunun harf eşdeğeri
{
digitalWrite(pinileri, HIGH);
digitalWrite(pingeri, LOW);
digitalWrite(pinsag, HIGH);
digitalWrite(pinsol, LOW);
det = check();
}
while (det == 'L') //Telefondaki programda atanmış olan sola dönüş butonunun harf eşdeğeri
{
digitalWrite(pinsol, HIGH);
digitalWrite(pinileri, HIGH);
det = check();
}
while (det == 'R') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pinsag, HIGH);
digitalWrite(pingeri, HIGH);
det = check();
}
while (det == 'G') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pinileri, HIGH);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'I') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pinileri, HIGH);
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'H') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pingeri, HIGH);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'J') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pingeri, HIGH);
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'W') // On Far
{
digitalWrite(far,HIGH);
det = check();
}
while (det == 'w') // On Far
{
digitalWrite(far,LOW);
det = check();
}
while (det == 'S') //Telefondaki programda atanmış olan durma fonksiyonun harf eşdeğeri
{
digitalWrite(pinileri, LOW);
digitalWrite(pingeri, LOW);
digitalWrite(pinsol, LOW);
digitalWrite(pinsag, LOW);
det = check();
}
}
int check()
{
if (Serial.available() > 0) //Serial portun kontrollü
{
dataIn = Serial.read(); //Telefondan gelen verilerin kontrollü
if (dataIn == 'F')
{
determinant = 'F';
}
else if (dataIn == 'B')
{
determinant = 'B';
}
else if (dataIn == 'L')
{
determinant = 'L';
}
else if (dataIn == 'R')
{
determinant = 'R';
}
else if (dataIn == 'G')
{
determinant = 'G';
}
else if (dataIn == 'I')
{
determinant = 'I';
}
else if (dataIn == 'H')
{
determinant = 'H';
}
else if (dataIn == 'J')
{
determinant = 'J';
}
else if (dataIn == 'W')
{
determinant = 'W';
}
else if (dataIn == 'w')
{
determinant = 'w';
}
else if (dataIn == 'S')
{
determinant = 'S';
}
}
return determinant;
}
İncelemeler
Henüz inceleme yapılmadı.