صور وفيديو المشروع
نبذة عن المشروع
تستقبل لوحة الأردوينو حروفاً (F, B, L, R, S) من تطبيق البلوتوث على الهاتف وتترجمها إلى أوامر حركة عبر درايفر L298N. مشروع ممتاز لفهم الاتصال التسلسلي UART.
المكونات المطلوبة
- 1لوحة Arduino UNO ابحث في المتجر
- 1وحدة بلوتوث HC-05 ابحث في المتجر
- 1درايفر محركات L298N ابحث في المتجر
- 4محرك DC مع عجلات ابحث في المتجر
- 1هيكل سيارة روبوت ابحث في المتجر
- 1بطارية 7.4V ابحث في المتجر
كود Arduino IDE
#include <SoftwareSerial.h>
SoftwareSerial bt(2, 3); // RX, TX -> HC-05 TX, RX
#define IN1 4
#define IN2 5
#define IN3 6
#define IN4 7
#define ENA 9
#define ENB 10
int speedVal = 200;
void drive(bool a1, bool a2, bool b1, bool b2) {
digitalWrite(IN1, a1); digitalWrite(IN2, a2);
digitalWrite(IN3, b1); digitalWrite(IN4, b2);
analogWrite(ENA, speedVal);
analogWrite(ENB, speedVal);
}
void setup() {
pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT);
pinMode(ENA,OUTPUT); pinMode(ENB,OUTPUT);
bt.begin(9600);
Serial.begin(9600);
}
void loop() {
if (!bt.available()) return;
char c = bt.read();
switch (c) {
case 'F': drive(1,0,1,0); break; // forward
case 'B': drive(0,1,0,1); break; // backward
case 'L': drive(0,1,1,0); break; // left
case 'R': drive(1,0,0,1); break; // right
case 'S': drive(0,0,0,0); break; // stop
default:
if (c >= '0' && c <= '9') speedVal = map(c - '0', 0, 9, 80, 255);
break;
}
Serial.println(c);
}