Selam makerlar! Bu projemizde, telefonumuzdan Bluetooth ile uzaktan kontrol edebileceğimiz bir RC araba geliştirdik. Ayrıca, ChatGPT’den yararlanarak Arduino UNO ve Arduino NANO kodlarını birlikte yazdıracağız. Hadi gelin, projemize başlamak için gerekli malzemeleri birlikte inceleyelim.
RC Araba Projesi için Gerekli Malzemeler
- L298N Çift Motor Sürücü Kartı
- 6 V 250 RPM Motor ve Tekerlek Seti
- 3 mm Şeffaf Beyaz Led Paketi
- 40 Pin Ayrılabilen Erkek-Erkek M-M Jumper Kablo-200 mm
- GP 1604E GREENCELL 9V Pil 1604 – 6F22
- 1/4 W 330 R Direnç Paketi – 10 Adet
- Arduino Nano Klon – USB Kablo Hediyeli – (USB Chip CH340)
- Mikro SD Kart Modülü
- 1W Hoparlör
- Arduino UNO R3 Klon USB Kablo Hediyeli – (USB Chip CH340)
RC Araba Devre Şeması
Devre kurulumunu tamamladıktan sonra Arduino Uno ve Arduino Nano kodlarını ChatGPT ‘ye yazdırıyoruz. Bluetooth modeli sayesinde DC motorlarımızı telefon üzerinden kontrol edebilecek ve aynı zamanda Arduino NANO ile ışık ve ses ayarlarını yapabileceğiz. Komutlar için YouTube videomuza göz atabilirsiniz.
RC Araba Proje Arduino Nano Kodları
#include <SimpleSDAudio.h>
// LED pinleri
const int ledPins[] = {5, 6, 7, 8};
const int numLeds = sizeof(ledPins) / sizeof(ledPins[0]);
void setup() {
// LED pinlerini çıkış olarak ayarla
for (int i = 0; i < numLeds; i++) {
pinMode(ledPins[i], OUTPUT);
}
SdPlay.setSDCSPin(4);
if (!SdPlay.init(SSDA_MODE_FULLRATE | SSDA_MODE_MONO | SSDA_MODE_AUTOWORKER))
{
while (1);
}
}
void loop() {
ledAnimation();
if (!SdPlay.setFile("araba.wav")) //Müzik Dosya Adı
{
while (1);
}
SdPlay.play();
while (!SdPlay.isStopped())
{
;
}
}
void ledAnimation() {
// LED animasyonu
for (int i = 0; i < numLeds; i++) {
digitalWrite(ledPins[i], HIGH); // LED'i yak
delay(100); // 100 ms bekle
digitalWrite(ledPins[i], LOW); // LED'i söndür
}
// Ters yönde LED animasyonu
for (int i = numLeds - 1; i >= 0; i--) {
digitalWrite(ledPins[i], HIGH); // LED'i yak
delay(100); // 100 ms bekle
digitalWrite(ledPins[i], LOW); // LED'i söndür
}
}
RC Araba Proje Arduino UNO Kodları
char receivedChar;
const int in1 = 13;
const int in2 = 12;
const int in3 = 11;
const int in4 = 10;
const int in11 = 7;
const int in22 = 6;
const int in33 = 5;
const int in44 = 4;
void setup() {
Serial.begin(9600); // Seri haberleşmeyi başlat
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(in11, OUTPUT);
pinMode(in22, OUTPUT);
pinMode(in33, OUTPUT);
pinMode(in44, OUTPUT);
}
void loop() {
if (Serial.available() > 0) { // Eğer seri veri mevcutsa
receivedChar = Serial.read(); // Seri veriyi oku
if (receivedChar == 'h')
{ // Eğer 'h' gelirse
moveRightMotors(); // Sağdaki motorları hareket ettir
}
else if (receivedChar == 'g')
{ // Eğer 'g' gelirse
moveLeftMotors(); // Soldaki motorları hareket ettir
}
else if (receivedChar == 's')
{ // Eğer 's' gelirse
moveAllMotors(); // Bütün motorları hareket ettir
}
else if (receivedChar == 'c')
{ // Eğer 'c' gelirse
stopMotors(); // motorları durdur
}
else{stopMotors();}
}
}
void moveAllMotors()
{
digitalWrite(in1, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in11, HIGH);
digitalWrite(in33, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in4, LOW);
digitalWrite(in22, LOW);
digitalWrite(in44, LOW);
}
void moveRightMotors()
{
digitalWrite(in1, HIGH);
digitalWrite(in3, HIGH);
digitalWrite(in2, LOW);
digitalWrite(in4, LOW);
}
void moveLeftMotors()
{
digitalWrite(in11, HIGH);
digitalWrite(in33, HIGH);
digitalWrite(in22, LOW);
digitalWrite(in44, LOW);
}
void stopMotors()
{
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
digitalWrite(in11, LOW);
digitalWrite(in22, LOW);
digitalWrite(in33, LOW);
digitalWrite(in44, LOW);
}
RC Araba Proje Videosu
ChatGPT’nin rehberliğinde yazdırdığımız kodları kontrol ettik, gerekli ayarlamaları yaptık ve projemizi test ettik. Şimdi, Arduino Bluetooth RC Car uygulamasını Android telefonumuza indirip kurarak projemizin başarıyla çalışıp çalışmadığını kontrol ediyoruz.
Detaylı anlatım için YouTube kanalımıza abone olarak RC aracınızı kolayca yapabilirsiniz. Bir sonraki yazıda görüşmek üzere!