Kereta RC Bluetooth ialah satu chassis 2WD, sebuah pemandu L298N dan satu modul HC-05 yang menyerahkan tekanan butang telefon anda kepada Arduino. Setiap butang dalam app RC controller percuma menghantar satu aksara ASCII β βFβ untuk ke hadapan, βSβ untuk berhenti β dan sketch itu cuma satu switch-case yang menukar setiap aksara menjadi satu keadaan H-bridge. Fahamkan satu idea itu dan mana-mana app Bluetooth boleh memandu kereta anda β dari telefon Android, kerana HC-05 bercakap Bluetooth Classic dan iOS mengunci protokol itu daripada app biasa.
Apa komponen yang diperlukan untuk kereta RC Bluetooth?
Kit chassis 2WD membekalkan bahagian mekanikalnya β plat akrilik, dua motor gear TT, roda, satu caster, skru dan satu suis rocker. HC-05 pula satu-satunya bahagian yang memisahkan projek ini daripada kereta elak halangan kami: chassis sama, pemandu sama, bateri sama, cuma benda yang memberitahunya ke mana hendak pergi itu yang berbeza.
Senarai komponen β kereta RC Bluetooth dengan Arduino dan HC-05
Parts list
Chassis 4WD ialah laluan alternatif dan menjalankan sketch yang sama persis, dengan dua motor setiap sebelah diwayar selari ke dalam satu saluran L298N. TP4056 ialah pengecas sel tunggal, jadi ia mengecas semula dua sel 18650 itu satu demi satu dan di luar pemegangnya, dan ia tidak boleh sekali-kali disambungkan merentasi pek 7.4 V secara keseluruhan. Servis solder 5 pin meliputi empat sambungan tab motor kalau anda lebih suka tidak solder sendiri, dan pek perintang itu pula meliputi pasangan pembahagi kalau anda menambah wayar pulang yang diterangkan di bawah, di mana mana-mana nisbah 1:2 boleh pakai: 1k dengan 2k, atau 10k dengan 20k.
Jantina hujung wayar menentukan sama ada pesanan pertama anda boleh terus digunakan. Enam pin HC-05 ialah header male bersudut tepat dan pin IN1βIN4 pada L298N pun pin male, manakala tepi Uno pula soket female β jadi setiap wayar isyarat mestilah male-to-female. Laluan kuasa ialah pengecualiannya: satu hujungnya pin male telanjang yang diapit dalam terminal skru L298N, dan hujung satu lagi masuk ke dalam soket female pada Uno, jadi itulah pek male-to-male. Wayar bertimah pada pemegang bateri masuk terus ke dalam terminal skru, jadi tiada apa-apa di sini yang perlukan breadboard β simpan wayar breadboard yang tegar itu untuk kerja atas meja. Uno diprogram melalui USB-B bersaiz penuh, jadi ia perlukan kabel A-to-B. Satu tabiat yang patut dibentuk sebelum sambungan pertama: HC-05 mencetak nama pinnya di bahagian bawah board dan bukan di atas, jadi terbalikkan modul itu dan baca dahulu. VCC dan GND duduk bersebelahan dalam baris itu, dan menterbalikkan dua itu ialah kesilapan yang menamatkan riwayat sesebuah modul.
Motor TT ialah satu-satunya kerja solder di sini β tab telanjang pada penutup hujung belakang, pasangan wayar yang longgar, empat sambungan. Panduan solder kami ada tekniknya, atau servis solder 5 pin meliputi tepat empat sambungan itu.
Pasang chassis dahulu sebelum sebarang wiring. Plat akrilik dan tab motor yang kecil itu sampai di bawah filem pelindung kertas kraft yang menjadikannya nampak macam kadbod β kelupas kedua-dua permukaannya dahulu, kalau tidak kereta yang sudah siap pun masih nampak tak siap. Skru satu motor pada setiap sebelah plat dengan tab dan skru panjang itu, tekan satu roda masuk ke setiap aci, pasang caster di bawah hujung bertentangan, dan biarkan permukaan dek lapang untuk Uno, pemandu dan pemegang bateri.
Bagaimana app telefon sebenarnya mengawal kereta ini?
App RC controller Bluetooth sebenarnya tidak buat apa-apa yang canggih. Sebaik sahaja dipasangkan, HC-05 memperkenalkan dirinya sebagai satu port serial biasa, dan app itu pula cuma papan kekunci yang ada gambar atas kekuncinya: tekan anak panah atas dan ia menghantar satu bait F; lepaskan dan ia menghantar S. Tiada apa-apa lagi yang melintasi talian itu β tiada handshake, tiada format paket, tiada library protokol untuk dipasang.
Itulah juga sebabnya kami tunjukkan anda satu carian dan bukannya satu app tertentu. Di Play Store, Arduino Bluetooth RC car dan Bluetooth RC controller masing-masing memulangkan satu rak controller percuma, dan yang anda mahu itu ialah yang menyatakan ia berfungsi dengan HC-05 atau HC-06 β app yang ditulis untuk Bluetooth Low Energy langsung tidak nampak modul Classic, dan itulah sebab paling biasa kenapa kereta yang berwayar betul pun tidak pernah bertindak balas. Namanya pun bukan spesifikasi: beberapa app yang tiada kaitan langsung dihantar dengan tajuk yang hampir serupa dan menghantar aksara berbeza untuk anak panah yang sama. Jadi pilih satu, kemudian cari tahu apa yang ia hantar sebenarnya. Tiada apa-apa di sini yang perlukan fail APK dari laman muat turun, dan controller yang meminta kebenaran melebihi Bluetooth sedang meminta lebih daripada apa yang kerja ini perlukan.
Jadi jangan sekali-kali percaya jadual arahan yang anda baca di mana-mana, termasuk yang ini β versi app berbeza-beza, dan telefon anda sendiri boleh beritahu dalam masa seminit. Untuk ujian ini, wayarkan VCC, GND dan TXD HC-05 sahaja ke 5 V, GND dan D2 pada Uno, dan biarkan suis bateri dimatikan. Pin 5V Uno itu ialah rel teratur itu sendiri dan bukan input di hadapan regulator, jadi apa sahaja yang anda suap ke dalamnya duduk terus merentasi apa yang sedang dibekalkan oleh port USB β USB dan output 5 V L298N tidak boleh sekali-kali bersambung serentak. Upload yang ini, buka Serial Monitor pada 9600 baud, sambungkan app, dan tekan setiap butang satu per satu:
// Langkah 1: cari tahu apa yang app ANDA hantar sebenarnya.
// Upload ini, buka Serial Monitor pada 9600, sambung app, tekan butang.
#include <SoftwareSerial.h>
SoftwareSerial bt(2, 3); // 2 = RX Uno, disambung ke TXD HC-05. 3 dibiarkan tanpa wayar.
void setup() {
Serial.begin(9600);
bt.begin(9600);
Serial.println(F("Press a button in the app..."));
}
void loop() {
if (bt.available()) {
char c = bt.read();
Serial.print(c);
Serial.print(F(" (byte "));
Serial.print((int)c); // cetak nombornya sekali, untuk aksara yang tak nampak
Serial.println(F(")"));
}
}
Kebanyakan app RC controller percuma menggunakan set yang sama, dan itulah yang dijangka oleh sketch utama di bawah:
| Butang app | Aksara yang dihantar | Apa yang sketch suruh kereta buat |
|---|---|---|
| Ke hadapan / Undur | F / B |
Dua-dua motor ke arah yang sama |
| Kiri / Kanan | L / R |
Motor berlawanan arah β berpusing di tempat |
| Empat pepenjuru | G I H J |
Satu roda dipandu, satu bebas β lengkungan yang luas |
| Butang dilepaskan | S |
Kedua-dua enable jatuh ke sifar |
| Slider kelajuan | 0β9, q |
Menetapkan nilai PWM yang dipakai oleh gerakan seterusnya |
| Lampu, hon, apa-apa lagi | huruf lain | Tidak dikenali, jadi sketch memberhentikan kereta β beri butang hon atau lampu satu case kosongnya sendiri kalau itu mengganggu anda |
Perhatikan apa yang tersirat di situ: kereta memegang arahan terakhirnya sehingga arahan baharu tiba, jadi telefon yang terkeluar dari jarak capaian di tengah pecutan akan meninggalkannya terus memandu. Talian HC-05 mencapai lebih kurang sepuluh meter di ruang lapang dan jauh lebih pendek melalui dinding atau badan manusia, iaitu lebih dekat daripada apa yang kebanyakan orang sangka sebelum mencuba. Suis rocker dalam kit itu duduk pada wayar bateri β itulah suis mati anda, dan tempatnya mestilah dalam capaian tangan.

Bagaimana cara pair HC-05 dengan telefon Android?
HC-05 ialah peranti Bluetooth Classic yang menggunakan Serial Port Profile, jadi ia muncul dalam tetapan Bluetooth biasa Android dan bukan di dalam app β dan kerana iOS tidak membuka port serial Classic kepada app biasa, ini laluan Android sahaja. Hidupkan kereta, buka Settings, pair dengan peranti bernama HC-05, dan masukkan PIN 1234 β ada beberapa batch yang dihantar dengan 0000. Selepas itu barulah buka app RC dan pilih modul itu daripada senarai perantinya.
Pairing dan connecting ialah dua keadaan yang berbeza, dan mengelirukan kedua-duanya ialah sebab paling biasa kenapa kereta yang sudah siap tetap tidak bergerak. Android mengingati pairing itu selamanya; app pula membuka sambungan datanya semula setiap kali. Modul itu menunjukkan keadaan mana yang ia berada β LED-nya berkelip lebih kurang dua kali sesaat semasa menunggu, dan bertukar kepada kelipan dua yang perlahan sebaik sahaja ada app memegang port itu. Panduan kawalan telefon HC-05 kami menerangkan cara menukar nama dan mod AT dengan lengkap.
HC-06 boleh menggantikannya di sini tanpa mengubah apa-apa: sifat slave-sahaja tidak merugikan langsung dalam kereta yang memang tidak pernah memulakan sambungan. Menonton proses pairing dan pemanduan pertama dari mula ke akhir memang membantu:
Adakah projek ini perlukan pembahagi voltan pada HC-05?
Tidak β HC-05 dalam kereta yang hanya memandu langsung tidak perlukan perintang. Sebabnya lebih penting daripada jawapannya, kerana separuh daripada rajah wiring di internet menambah dua perintang yang projek ini tidak pernah guna.
Teras radio HC-05 berjalan pada 3.3 V, jadi output TXD-nya berayun antara 0 dan 3.3 V dan input RXD-nya pula tidak tahan 5 V. Itu dua wayar berasingan dengan dua masalah berasingan. Dalam arah yang penting di sini, 3.3 V perlu dibaca dengan yakin sebagai logik HIGH oleh ATmega328P pada Uno, dan datasheet-nya menjamin HIGH di atas 0.6 Γ VCC. Pada board 5 V, ambang itu ialah 3.0 V, dan 3.3 V melepasinya β cukup selesa sehingga ini satu spesifikasi, bukan margin yang bernasib baik.
Kereta yang hanya memandu tidak pernah menghantar apa-apa balik ke telefon, jadi pin transmit Uno tiada kerja. Biarkan ia tanpa wayar dan masalah 5 V-masuk-ke-3.3 V itu memang tidak wujud: kuasa, ground, dan satu wayar isyarat. Pembahagi itu betul-betul menjadi wajib hanya apabila anda mahu kereta bercakap balik β voltan bateri pada skrin terminal app, bacaan sensor, atau sesi AT untuk menukar nama modul. Barulah jalankan D3 Uno melalui perintang 1 kΞ© ke RXD dengan 2 kΞ© dari RXD turun ke GND: pasangan itu membahagi 5 V pada nisbah 2/(1+2), iaitu 3.3 V, dan BT_TX_PIN yang dikhaskan dalam sketch itu pun mula berguna.
Jangan pula pindahkan modul itu ke pin 0 dan 1. Itu pin serial perkakasan Uno, yang dikongsi dengan cip USB, jadi HC-05 yang tersambung akan melawan setiap kali anda upload β itulah kegagalan klasik stk500_recv(): programmer is not responding yang menyebabkan board yang elok dipulangkan. SoftwareSerial pada D2 mengasingkan dua perbualan itu.

Bagaimana cara wayar pemandu, modul dan bateri?
Dua sel 18650 memulakan satu gelung dengan dua tapak. Sel itu duduk kepala ke ekor dalam pemegang 2 slot, dan itu bermakna siri: 7.4 V nominal, 8.4 V bila penuh dicas. Pek itu menyuap terminal +12V L298N, di mana jambatannya menyimpan lebih kurang 1.8 V untuk dirinya sendiri lalu menghantar kira-kira 5.6 V kepada motor yang dinilai 3β6 V, manakala regulator atas board itu pula menukar input yang sama menjadi 5 V yang bersih untuk Uno dan HC-05. Pemegang 4ΓAA dalam kit tidak mampu buat ini β 6 V tolak jambatan tadi tinggal 4.2 V dan kereta yang merangkak β dan pemegang 18650 4 slot lagi teruk, kerana pemegang berbilang slot juga menyirikan selnya dan empat sel akan menghulurkan 14.8 V kepada jambatan, dengan kira-kira 13 V daripadanya sampai ke motor 6 V. Kereta elak halangan kami mengupas kiraan itu sepenuhnya.
Biarkan jumper kecil 5V-EN itu terpasang, kerana itulah yang menyambungkan regulator tadi kepada input, dan tanggalkan dua cap hitam pada ENA dan ENB β sebagaimana ia dihantar, dua cap itu mengikat kedua-dua enable HIGH, jadi kereta anda ada satu kelajuan sahaja tidak kira apa yang slider dalam app itu buat.
| Dari | Ke | Kenapa |
|---|---|---|
| Wayar merah pemegang, melalui suis rocker kit | Terminal skru +12V L298N | Pek 7.4 V itu menyuap jambatan dan regulator 5 V atas board |
| Wayar hitam pemegang | GND L298N (skru tengah) | Laluan pulang bagi arus motor |
| Terminal skru +5V L298N | Pin 5V Uno | Menjalankan Uno dan modul itu β tiada bateri kedua |
| GND L298N | GND Uno | Tanpa ground yang dikongsi, pin IN tiada rujukan |
| OUT1 / OUT2 L298N | Dua wayar motor kiri | Tukar tempatnya kalau roda itu berpusing songsang β tak perlu ubah kod |
| OUT3 / OUT4 L298N | Dua wayar motor kanan | Peraturan yang sama untuk sebelah lagi |
| IN1 / IN2 L298N | D9 / D8 Uno | Satu HIGH dan satu LOW menentukan arah motor kiri |
| IN3 / IN4 L298N | D7 / D6 Uno | Pasangan yang sama untuk motor kanan |
| ENA / ENB L298N (cap ditanggalkan) | D10 / D11 Uno | Kelajuan PWM bagi setiap sebelah |
| VCC / GND HC-05 | 5V / GND Uno | Regulator modul itu menerima 3.6β6 V; 5 V ialah bekalan biasanya |
| TXD HC-05 | D2 Uno | Satu-satunya wayar isyarat: modul bercakap, Uno mendengar |
| RXD, EN, STATE HC-05 | Tiada apa-apa | Tidak digunakan dalam kereta yang hanya memandu |
Kod Arduino: satu aksara masuk, satu keadaan H-bridge keluar
Cuma SoftwareSerial yang diperlukan, dan ia memang datang bersama Arduino IDE. Pilih Arduino Uno, upload melalui kabel A-to-B, kemudian cabut USB sebelum menghidupkan suis pek bateri β dan matikan pek itu semula sebelum USB masuk balik, atas sebab yang sama. Ia dikompil menjadi 3,884 bait, lebih kurang 12% daripada flash Uno. Ia terus mencetak setiap aksara yang diterimanya ke Serial Monitor, jadi kereta yang degil boleh didiagnosis atas meja dengan rodanya tergantung di udara.
// Kereta RC Bluetooth: Arduino Uno + HC-05 + L298N + chassis 2WD.
// App telefon itu cuma papan kekunci. Setiap butang menghantar SATU aksara
// ASCII, dan sketch ini ialah switch-case yang menukar setiap aksara menjadi
// satu keadaan H-bridge. Tukar hurufnya supaya padan dengan app yang anda guna.
#include <SoftwareSerial.h>
// ---- Pin ----
const uint8_t BT_RX_PIN = 2; // Uno MENERIMA di sini <- TXD HC-05
const uint8_t BT_TX_PIN = 3; // dikhaskan oleh library, sengaja TIDAK diwayar
const uint8_t ENA_PIN = 10; // laju sebelah kiri (PWM)
const uint8_t IN1_PIN = 9; // arah sebelah kiri
const uint8_t IN2_PIN = 8;
const uint8_t IN3_PIN = 7; // arah sebelah kanan
const uint8_t IN4_PIN = 6;
const uint8_t ENB_PIN = 11; // laju sebelah kanan (PWM)
SoftwareSerial bt(BT_RX_PIN, BT_TX_PIN);
// ---- Nombor yang anda tune ----
// 140 daripada 255 lebih kurang duty yang diperlukan motor TT untuk mula
// bergerak atas pek 7.4 V selepas L298N mengambil bahagiannya. Di bawah itu
// gearbox cuma berdengung dan tidak berpusing.
const uint8_t SPEED_FLOOR = 140;
const uint8_t SPEED_TOP = 250;
// Tiada dua motor TT yang serupa. Naikkan trim pada sebelah yang lambat,
// 5 count setiap kali, sampai kereta jalan lurus.
const uint8_t TRIM_LEFT = 0;
const uint8_t TRIM_RIGHT = 0;
uint8_t speedNow = 200; // diubah oleh butang kelajuan dalam app
// Satu panggilan menetapkan kedua-dua sebelah. Kelajuan 0 membiarkan roda itu
// bebas berputar, dan itulah yang membezakan lengkungan lembut daripada
// pusingan di tempat.
void motors(bool leftFwd, uint8_t leftPwm, bool rightFwd, uint8_t rightPwm) {
digitalWrite(IN1_PIN, leftFwd ? HIGH : LOW);
digitalWrite(IN2_PIN, leftFwd ? LOW : HIGH);
digitalWrite(IN3_PIN, rightFwd ? HIGH : LOW);
digitalWrite(IN4_PIN, rightFwd ? LOW : HIGH);
uint8_t l = (leftPwm == 0) ? 0 : min(255, leftPwm + TRIM_LEFT);
uint8_t r = (rightPwm == 0) ? 0 : min(255, rightPwm + TRIM_RIGHT);
analogWrite(ENA_PIN, l);
analogWrite(ENB_PIN, r);
}
void halt() {
analogWrite(ENA_PIN, 0);
analogWrite(ENB_PIN, 0);
}
void setup() {
pinMode(ENA_PIN, OUTPUT);
pinMode(IN1_PIN, OUTPUT);
pinMode(IN2_PIN, OUTPUT);
pinMode(IN3_PIN, OUTPUT);
pinMode(IN4_PIN, OUTPUT);
pinMode(ENB_PIN, OUTPUT);
halt();
Serial.begin(9600); // tingkap USB, untuk menonton apa yang tiba
bt.begin(9600); // kadar kilang HC-05 itu sendiri
Serial.println(F("Bluetooth RC car ready."));
}
void loop() {
if (!bt.available()) {
return; // tiada apa-apa baharu: arahan terakhir masih berkuat kuasa
}
char c = bt.read();
Serial.println(c); // supaya anda nampak tepat apa yang app anda hantar
// Ada app yang menamatkan setiap butang dengan newline. Abaikan ia, kalau
// tidak kereta akan berhenti semilisaat selepas setiap arahan.
if (c == '\n' || c == '\r') {
return;
}
// Butang kelajuan: '0' tetapan paling perlahan yang berguna, '9' paling laju,
// dan 'q' ialah butang laju penuh dalam app.
if (c >= '0' && c <= '9') {
speedNow = map(c - '0', 0, 9, SPEED_FLOOR, SPEED_TOP);
return; // tukar kelajuan tidak memulakan semula motor
}
if (c == 'q') {
speedNow = 255;
return;
}
switch (c) {
case 'F': motors(true, speedNow, true, speedNow); break; // ke hadapan
case 'B': motors(false, speedNow, false, speedNow); break; // undur
// Arah bertentangan memusingkan kereta di tempat.
case 'L': motors(false, speedNow, true, speedNow); break; // pusing kiri
case 'R': motors(true, speedNow, false, speedNow); break; // pusing kanan
// Satu roda dipandu, satu bebas: lengkungan luas dan bukan pusingan pivot.
case 'G': motors(true, 0, true, speedNow); break; // depan-kiri
case 'I': motors(true, speedNow, true, 0); break; // depan-kanan
case 'H': motors(false, 0, false, speedNow); break; // belakang-kiri
case 'J': motors(false, speedNow, false, 0); break; // belakang-kanan
case 'S': halt(); break; // berhenti
// Apa-apa yang kita tidak kenal - butang lampu, hingar pada talian, satu
// aksara dari app lain - bermakna "niat tidak diketahui", jadi berhenti.
default: halt(); break;
}
}
Kenapa slider kelajuan rasa mati di bahagian bawahnya?
Sebab nilai PWM yang rendah bukanlah motor TT yang perlahan, itu motor TT yang terkandas. PWM memotong bekalan hidup dan mati, dan motor bertindak balas kepada puratanya: pada 7.4 V tolak bahagian 1.8 V yang diambil jambatan, duty penuh meletakkan kira-kira 5.6 V merentasi belitan, jadi separuh duty lebih kurang 2.8 V sahaja. Gearbox TT perlukan hampir 3 V untuk memecahkan geseran statiknya sendiri dari keadaan diam, iaitu lebih kurang 54% duty β dari situlah datangnya SPEED_FLOOR = 140. Sebaik kereta sudah bergerak, nilai yang lebih rendah cukup untuk mengekalkannya; yang gagal ialah permulaannya, dan itulah sebabnya slider itu nampak berfungsi sehinggalah anda berhenti.
Membelok dan bukannya bergerak lurus itu masalah mekanikal, bukan bug: dua gear train yang diacu tidak pernah sama gesekannya, jadi PWM yang sama memberi kelajuan roda yang sedikit berbeza. Untuk itulah TRIM_LEFT dan TRIM_RIGHT wujud β naikkan sebelah yang lambat lima count setiap kali sampai ia jalan lurus. Panduan kawalan kelajuan L298N kami mengupas PWM pada pemandu ini dengan lebih mendalam.

Kesilapan biasa yang kami lihat daripada pelanggan sebenar
Sudah pair dalam tetapan Android, tapi tiada apa-apa berlaku. Pairing cuma bertukar PIN; app itu masih perlu membuka sambungannya. Pilih HC-05 dalam senarai peranti app RC itu sendiri dan perhatikan LED modul bertukar dari kelipan laju kepada kelipan dua yang perlahan.
Serial Monitor tunjuk huruf yang betul tapi roda tak bergerak. Isyarat dan kuasa ialah dua kerosakan berasingan. Periksa yang GND L298N benar-benar sampai ke GND Uno, dan yang ENA serta ENB sama ada dipandu oleh D10 dan D11 atau masih memakai cap jumpernya β dengan cap sudah ditanggalkan tetapi tiada wayar tersambung, enable itu jadi input logik yang terapung, dan itu bukan hidup yang boleh dipercayai mahupun mati yang boleh dipercayai.
Aksaranya sampai jadi sampah. Modul dan sketch tidak sependapat tentang kadar baud. Modul yang pernah melalui sesi AT boleh tertinggal pada 38400 sedangkan bt.begin(9600) terus membaca pada 9600, jadi setiap bait disampel pada detik yang salah. Sama ada tetapkan sketch supaya padan, atau hantar AT+UART=9600,0,0 dalam mod AT untuk memulangkan modul itu ke asalnya.
Ia memandu elok selama dua puluh minit, kemudian asyik putus sambungan. Bekalan 5 V L298N ialah regulator linear, dan regulator linear perlukan inputnya kekal kira-kira dua volt lebih tinggi daripada outputnya. Pek yang penuh dicas menghulurkan 8.4 V dan ruang yang cukup luas; apabila sel makin kosong menghampiri 6 V, ruang itu hilang, rel 5 V melendut bersamanya, dan Uno serta HC-05 pun reset di tengah pemanduan sedangkan motor masih berpusing. Cas sel itu dahulu sebelum menyalahkan app, dan berhenti menggunakannya di bawah lebih kurang 3.2 V setiap satu β panduan mengecas 18650 kami menerangkan cara melakukannya dengan selamat.
FAQ
Apa PIN lalai untuk modul Bluetooth HC-05?
1234, dengan 0000 pada beberapa batch. Android memintanya sekali sahaja, semasa pairing, di dalam tetapan Bluetooth telefon dan bukan di dalam app RC.
Perlukah pembahagi voltan untuk HC-05 pada kereta RC?
Tidak perlu untuk kereta yang hanya memandu. Cuma TXD HC-05 ke D2 Uno yang diwayar, dan 3.3 V itu melepasi ambang input HIGH 3.0 V pada ATmega328P. Tambah pembahagi 1 kΞ©/2 kΞ© apabila anda mewayarkan D3 Uno ke RXD untuk telemetri atau arahan AT.
Boleh saya kawal kereta HC-05 dari iPhone?
Tidak boleh. HC-05 menggunakan serial Bluetooth Classic, yang tidak dibuka oleh iOS kepada app biasa. Projek untuk iPhone perlukan modul BLE dan app yang sepadan.
Kenapa kereta saya berjalan pada laju penuh sahaja?
Cap jumper pada ENA dan ENB masih terpasang, jadi kedua-dua enable terikat kekal HIGH. Tanggalkan kedua-duanya dan wayarkan pin itu ke D10 dan D11 supaya PWM daripada sketch boleh sampai kepadanya.
App Android apa yang saya perlukan untuk kereta RC Bluetooth?
Mana-mana controller Bluetooth Classic yang percuma. Cari Arduino Bluetooth RC car di Play Store dan pilih satu yang keterangannya menyebut sokongan HC-05 atau HC-06, kerana app yang dibina untuk Bluetooth Low Energy langsung tidak nampak modul ini. Tajuknya berulang-ulang antara app yang tiada kaitan dan peta aksaranya pula berbeza, jadi jalankan sketch pendengar di atas dan biarkan app itu sendiri memberitahu apa yang ia hantar.
Kemas kini terakhir Ogos 2026. Tersangkut? Chat dengan kami di WhatsApp.



Wireless Bluetooth Module HC-05 HC-06 Master Slave Bluetooth Module HC05 HC06 - HC-05 BLUETOOTH MODULE
L298N Motor Driver Module Arduino Compatible Dual H Bridge Dual DC Motor Control Arduino Robotic Car
2WD 4WD Smart Car Chassis Single Layer Acrylic Arduino Smart Car Chassis Kit With Motor - 2WD CAR KIT
Arduino Compatible UNO R3 FT232 Development Board Arduino Compatible CH340 Alternative
Data Cable Type-A Type-C MicroUSB Type-B 0.5m 1m 30cm 0.3m 100cm Data Transfer Upload Code - TYPE-A TO TYPE-B (1.0M)
18650 Battery Holder 1/2/3/4 Slot 3.7V Battery Cell Housing Battery Case Battery Casing - 18650 BATTERY HOLDER (2)
3.7V 18650 Battery Rechargeable Li-Ion Battery 1200mAh 2200mAh 3200mAh Flat Top - 18650 Li-Ion Battery (2200mAh)
40pcs Dupont Wire 10cm 20cm 30cm for Breadboard DIY Experiment Jumper Wire Breadboard wire - DUPONT WIRE M-F 20CM
40pcs Dupont Wire 10cm 20cm 30cm for Breadboard DIY Experiment Jumper Wire Breadboard wire - DUPONT WIRE M-M 20CM
TP4056 18650 Battery Charger Module Lithium Ion Battery Li-ion Battery Charger Type C Micro USB - TP4056 CHARGER (TYPEC)
Soldering Service for Circuit Boards & Electronics - 5 Pins Soldering Service
400 pcs 1/4W Resistor Pack Resistor Kit 20 Common Value with 20 each