ມາສ້າງລົດບັງຄັບຫຼິ້ນກັນເທາະ!
ສຳຫຼັບຄົນມັກປະດິດ ຫຼື ຢາກເຮັດລົດບັງຄັບໄວ້ຫຼິ້ນ ເຮົາມາພາກັນເຮັດລົດບັງຄັບ ທີ່ບັງຄັບຜ່ານມືຖືແອນດຣອຍຂອງເຮົາເອງແບບທີ່ຄົນເຫັນແລ້ວຢາກຫຼິ້ນນຳເຮົາດີກວ່າ.
ກ່ອນອື່ນກຽມອຸປະກອນກັນກ່ອນເລີຍ
ສິ່ງທີ່ຕ້ອງມີໄດ້ແກ່
- ບອດ Arduino ສຳຫຼັບໂປຣແກຣມ (ຂ້ອຍໃຊ້ Arduino Nano ເພາະລາຄາຖືກ ແລະ ນໍ້າໜັກເບົາ
- Bluetooth Module ສຳຫຼັບຮັບຄຳສັ່ງຈາກມືຖື (ຂ້ອຍໃຊ້ HC-05, ສາມາດໃຊ້ HC-06 ໄດ້)
- ໂຕຄວບຄຸມມໍເຕີ່ ສຳຫຼັບ ບັງຄັບທິດທາງ ແລະ ຄວາມໄວຂອງ ມໍເຕີ ລົດບັງຄັບ (ຂ້ອຍໃຊ້ TB6612FNG)
- ມໍເຕີ ແລະ ຕີນລົດ ໜຶ່ງຄູ່
- ແບັດເຕີຣີ ສຳຫຼັບ ບອດ Arduino (ຕ້ອງມີແຮງດັນໄຟແຕ່ 4.2 ຫາ 9 ໂວນ, ຂ້ອຍໃຊ້ 4.2ໂວນ ຈາກ Power bank ເກົ່າ)
- ແບັດເຕີຣີ ສຳຫຼັບ ມໍເຕີ (ຕ້ອງມີແຮງດັນແຕ່ 6 ຫາ 12 ໂວນ, ຂ້ອຍໃຊ້ 8.4 ໂວນ ຈາກ Power bank ເກົ່າ ຄື ໃຊ້ 4.2 ໂວນ ຈຳນວນ ສອງກ້ອນຕໍ່ລຽນກັນ)
- ຕີນລໍ້ແບບໝູນໄດ້: ຈະໃຊ້ລໍ້ດຽວ ຫຼື ສອງລໍ້ ກໍ່ໄດ້ ສຳຫຼັບຊົງໂຕ ແລະສະດວກໃນການລ້ຽວ.
- ໂຄງລົດ: ສາມາດໃຊ້ ກະດານ, ໄມ້ອັດ, ແຜ່ນອະຄຣີລິກ ຫຼື ຈະໃຊ້ກະຕຸກ-ກະປັ໋ອງ ກໍ່ໄດ້ ແລ້ວແຕ່ມັກ ຫຼື ເທົ່າທີ່ຫາໄດ້, ສ່ວນຂ້ອຍໃຊ້ ແຜ່ນກະດານໄຟຟ້າ ສຳຫຼັບວາງປັກສຽບໃນເຮືອນ
- ອື່ນໆ: ກາວ, ຕອກຝຣັ່ງ, ປືນກາວຮ້ອນ, ນັ໋ອດ, ສາຍໄຟ
ຕໍ່ວົງຈອນ
ຕໍ່ Arduino ກັບ HC-05
D12 – Rx
D11 – Tx
+5v – VCC
GND – GND
ຕໍ່ Arduino – TB6612FNG
D5 – PWMA
D9 – AIN1
D10 – AIN2
D6 – PWMB
D7 – BIN1
D8 – BIN2
5v — VCC
GND – GND
ຕໍ່ TB6612FNG – Battery
GND to V-
VM to V+
Arduino – LED (Optional)
D13 – LED+
GND – LED-
ໂປຣແກຣມ
Arduino Code
/* RC_Bluetooth_2017_v4
* By: Khamlek HOMSOMBATH
* Date: Oct 7, 2017
* Download Controller for Android : https://play.google.com/store/apps/details?id=com.lekpkd.duinojoy
*/#include <SoftwareSerial.h>
// arduino>>bluetooth
// D12 >>> Rx
// D11 >>> Tx
SoftwareSerial bluetooth(11, 12); // RX, TX#define ledpin 13 // Connected to LED
#define PWMA 5
#define AIN1 9
#define AIN2 10#define PWMB 6
#define BIN1 7
#define BIN2 8void setup() {
Serial.begin(19200);
bluetooth.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(PWMA,OUTPUT); // PWM A
pinMode(PWMB,OUTPUT); // PWM B
pinMode(BIN1,OUTPUT); // B
pinMode(BIN2,OUTPUT); // B
pinMode(AIN1,OUTPUT); // A
pinMode(AIN2,OUTPUT); // AanalogWrite(PWMA, 0);
analogWrite(PWMB, 0);
}String data = “”;
void loop() {
while(bluetooth.available()){
char a = bluetooth.read();
if(a==’)’) {
setData(data);
data = “”;
return;
}
data += a;
}
}int ledVal = 0;
void setData(String data){
data.trim();int index = data.indexOf(“,”);
if(index != -1){
int angle = data.substring(0,index).toInt();
int strength = data.substring(index + 1).toInt();digitalWrite(BIN1,0);
digitalWrite(BIN2,0);
digitalWrite(AIN1,0);
digitalWrite(AIN2,0);
if (angle < 180){
digitalWrite(BIN1,1);
digitalWrite(AIN1,1);if(angle < 90){
analogWrite(PWMA, strength * 255 / 100);
analogWrite(PWMB, strength * (angle * 255 / 90) / 100);
}else if(angle > 90){
analogWrite(PWMA, strength * ((180 — angle) * 255 / 90) / 100);
analogWrite(PWMB, strength * 255 / 100);
}else{
analogWrite(PWMA, strength * 255 / 100);
analogWrite(PWMB, strength * 255 / 100);
}
}else if(angle > 180){
digitalWrite(BIN2,1);
digitalWrite(AIN2,1);
if(angle > 270){
analogWrite(PWMA, strength * 255 / 100);
analogWrite(PWMB, strength * ((360 — angle) * 255 / 90) / 100);
}else if(angle < 270){
analogWrite(PWMA, strength * ((90 — (270 — angle)) * 255 / 90) / 100);
analogWrite(PWMB, strength * 255 / 100);
}else{
analogWrite(PWMA, strength * 255 / 100);
analogWrite(PWMB, strength * 255 / 100);
}
}
return;
}if(data.equals(“a”)){
if(ledVal==1) ledVal=0; else ledVal=1;
digitalWrite(ledpin, ledVal);
return;
}
Serial.print(“Recieved: “);
Serial.println(data);
}
ຕັ້ງແອັບມືເກມ ໃສ່ ມືຖື
ດາວໂຫຼດ Duino Joy
Link: https://play.google.com/store/apps/details?id=com.lekpkd.duinojoy
ຫຼັງຈາກຕິດຕັ້ງສຳເຫຼັດ ກໍ່ທຳການເຊື່ອມຕໍ່ bluetooth ແລ້ວ Connect ກໍຖືວ່າສຳເຫຼັດ
ຂອບໃຈ