Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Tutorial Lengkap Modul Arduino dan HC-05 Bluetooth

Dalam Tutorial Bluetooth Arduino ini kita akan belajar bagaimana menggunakan modul HC-05 untuk mengendalikan Arduino melalui komunikasi Bluetooth. Anda dapat menonton video berikut atau membaca tutorial tertulis di bawah ini untuk lebih jelasnya.

Ringkasan

Untuk tutorial kali ini saya membuat dua contoh, mengontrol Arduino menggunakan smartphone dan mengontrol Arduino menggunakan laptop atau PC. Agar tutorial ini tidak membebani, dalam tutorial saya berikutnya kita akan mempelajari bagaimana kita dapat mengkonfigurasi modul Bluetooth HC-05 dan membuat komunikasi Bluetooth antara dua Papan Arduino yang terpisah sebagai perangkat master dan slave.

Sebelum kita mulai dengan contoh pertama, mengendalikan Arduino menggunakan smartphone, mari kita lihat lebih dekat modul Bluetooth HC-05. Dibandingkan dengan modul HC-06, yang hanya dapat diatur sebagai Slave, HC-05 juga dapat diatur sebagai Master yang memungkinkan komunikasi antara dua Papan Arduino yang terpisah. Ada beberapa versi berbeda dari modul ini, tetapi saya merekomendasikan yang ada di papan breakout karena dengan cara itu lebih mudah untuk dihubungkan. Modul HC-05 adalah modul Bluetooth SPP (Serial Port Protocol), yang artinya berkomunikasi dengan Arduino melalui Komunikasi Serial.

Anda bisa mendapatkan komponen yang diperlukan untuk tutorial Arduino ini dari salah satu situs di bawah ini:

  • Modul Bluetooth HC-05 …………….
  • Dewan Arduino ……………………………
  • Breadboard dan Kabel Lompat ……… 

Skema Sirkuit


Inilah cara kita perlu menghubungkan modul ke Papan Arduino.

Modul khusus yang saya miliki dapat dialiri daya dari 3,6 hingga 6 volt, karena dilengkapi dengan papan breakout yang berisi pengatur tegangan. Namun, level tegangan logika pin data adalah 3.3V. Jadi, saluran antara Arduino TX (Transmit Pin, yang memiliki output 5V) dan modul Bluetooth RX (Receive Pin, yang hanya mendukung 3.3V) perlu dihubungkan melalui pembagi tegangan agar tidak membakar modul. Di sisi lain, jalur antara pin TX modul Bluetooth dan pin Arduino RX dapat dihubungkan secara langsung karena sinyal 3.3V dari modul Bluetooth cukup untuk diterima sebagai logika tinggi di Board Arduino.

Kode Sumber Contoh Komunikasi Bluetooth Arduino

Jadi, sekarang kita siap membuat kode Arduino untuk mengaktifkan komunikasi antara papan Arduino dan smartphone. Kami akan membuat contoh sederhana, hanya menyalakan dan mematikan LED tetapi itu akan cukup baik untuk memahami komunikasi.

#define ledPin 7
int state = 0;

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  Serial.begin(38400); // Default communication rate of the Bluetooth module
}

void loop() {
  if(Serial.available() > 0){ // Checks whether data is comming from the serial port
    state = Serial.read(); // Reads the data from the serial port
 }

 if (state == '0') {
  digitalWrite(ledPin, LOW); // Turn LED OFF
  Serial.println("LED: OFF"); // Send back, to the phone, the String "LED: ON"
  state = 0;
 }
 else if (state == '1') {
  digitalWrite(ledPin, HIGH);
  Serial.println("LED: ON");;
  state = 0;
 } 
}Code language: Arduino (arduino)

Deskripsi: Pertama kita perlu menentukan pin yang akan dihubungkan dengan LED kita dan variabel tempat kita akan menyimpan data yang berasal dari smartphone. Di bagian pengaturan kita perlu mendefinisikan pin LED sebagai output dan segera mengaturnya rendah. Seperti yang telah disebutkan sebelumnya, kita akan menggunakan komunikasi serial sehingga kita perlu memulai komunikasi serial pada baud rate 38400, yang merupakan baud rate default dari modul Bluetooth. Di bagian loop dengan fungsi Serial.available() kita akan memeriksa apakah ada data yang tersedia di port serial untuk dibaca. Artinya, ketika kita akan mengirim data ke modul Bluetooth, pernyataan ini akan benar sehingga menggunakan fungsi Serial.read() kita akan membaca data itu dan memasukkannya ke dalam variabel "status". Jadi jika Arduino menerima karakter '0' itu akan mematikan LED dan menggunakan fungsi Serial.println() itu akan mengirim kembali ke smartphone, melalui port serial, String "LED:OFF". Selain itu kita akan mereset variabel “state” ke 0 sehingga kedua baris di atas hanya akan dieksekusi satu kali. Perhatikan di sini bahwa variabel "keadaan" adalah bilangan bulat, jadi ketika kita menerima karakter '0' yang berasal dari ponsel cerdas, nilai sebenarnya dari variabel "keadaan" bilangan bulat adalah 48, yang sesuai dengan karakter '0', menurut ASCII tabel.. Itulah mengapa dalam pernyataan “jika” kita membandingkan variabel “status” dengan karakter '0'. Sebaliknya, jika karakter yang diterima adalah '1', LED akan menyala dan String “LED:ON” akan dikirim kembali.

Sekarang kode siap untuk diunggah tetapi untuk melakukan itu kita perlu mencabut jalur TX dan RX karena saat mengunggah Arduino menggunakan komunikasi serial sehingga pin RX (digital pin 0) dan TX (digital pin1) sibuk. Kita dapat menghindari langkah ini jika kita menggunakan pin TX dan RX lain dari Arduino Board, tetapi dalam hal ini kita harus menggunakan library SoftwareSerial.h untuk komunikasi serial.

Terkait: Cara Mengonfigurasi dan Memasangkan Dua Modul Bluetooth HC-05 sebagai Master dan Slave | Perintah AT

Menghubungkan Smartphone ke Modul Bluetooth HC-05 dan Arduino

Sekarang kita siap untuk menghubungkan smartphone ke modul Bluetooth dan Arduino. Yang perlu kita lakukan di sini adalah mengaktifkan Bluetooth dan smartphone akan menemukan modul Bluetooth HC-05.

Kemudian kita perlu memasangkan perangkat dan kata sandi default modul HC-05 adalah 1234. Setelah memasangkan perangkat, kita memerlukan aplikasi untuk mengendalikan Arduino. Ada banyak aplikasi di Play Store untuk tujuan ini yang akan bekerja dengan kode Arduino yang kami tulis. Namun, saya membuat aplikasi kustom saya sendiri untuk tutorial ini menggunakan aplikasi online MIT App Inventor. Ini adalah aplikasi yang hebat dan mudah digunakan untuk membangun aplikasi Android dan dalam tutorial saya berikutnya, Anda dapat menemukan panduan langkah demi langkah yang mendetail tentang cara membuat aplikasi Android kustom Anda sendiri untuk Proyek Arduino Anda.

Anda dapat mengunduh aplikasi yang saya buat untuk contoh ini di sini:

Contoh Tutorial Bluetooth Arduino Aplikasi Android

1 file 1.38 MB Unduh

Dengan tombol connect kita akan menghubungkan smartphone ke modul Bluetooth dan teks status di bawah tombol akan memberitahu kita apakah kita telah berhasil terhubung. Menggunakan tombol “Turn ON” dan “Turn OFF” kita dapat menghidupkan dan mematikan LED. Teks di atas tombol adalah teks yang dikirim kembali oleh Arduino ke smartphone saat tombol tertentu ditekan.

Mengontrol Arduino Menggunakan Laptop atau PC melalui Komunikasi Bluetooth

Mari kita lihat bagaimana kita dapat mengontrol Arduino melalui Bluetooth menggunakan Laptop atau PC. Jadi, pertama-tama kita perlu memasangkan laptop kita ke modul Bluetooth HC-05 dan kita bisa melakukannya dari Pengaturan Bluetooth Laptop. Laptop akan menemukan modul HC-05 dan menggunakan kata sandi '1234' kami akan memasangkan perangkat.

Setelah kami memasangkan perangkat di Laptop Device Manager, di bawah Ports (COM &LPT), dua entitas baru akan muncul bernama "Standard Serial over Bluetooth link". Dari sini kita dapat melihat nomor Port COM dari port serial yang digunakan perangkat untuk berkomunikasi.

Kami akan tetap menggunakan contoh yang sama seperti sebelumnya, menyalakan dan mematikan LED dan mengirimkan kembali string ke laptop, jadi kami akan menggunakan kode Arduino yang sama seperti yang dijelaskan sebelumnya.

Memproses Kode Sumber IDE

Sekarang menggunakan Processing IDE kita akan membuat program untuk mengendalikan Arduino. Ini kode sumbernya.

import processing.serial.*;
Serial myPort;
String ledStatus="LED: OFF";

void setup(){
  size(450, 500);
  myPort = new Serial(this, "COM5", 38400); // Starts the serial communication
  myPort.bufferUntil('\n'); // Defines up to which character the data from the serial port will be read. The character '\n' or 'New Line'
}
void serialEvent (Serial myPort){ // Checks for available data in the Serial Port
  ledStatus = myPort.readStringUntil('\n'); //Reads the data sent from the Arduino (the String "LED: OFF/ON) and it puts into the "ledStatus" variable
}

void draw(){
  background(237, 240, 241);
  fill(20, 160, 133); // Green Color
  stroke(33);
  strokeWeight(1);
  rect(50, 100, 150, 50, 10);  // Turn ON Button
  rect(250, 100, 150, 50, 10); // Turn OFF Button
  fill(255);
  
  textSize(32);
  text("Turn ON",60, 135);
  text("Turn OFF", 255, 135);
  textSize(24);
  fill(33);
  text("Status:", 180, 200);
  textSize(30);
  textSize(16);
  text("Program made by Dejan Nedelkovski,\n     www.HowToMechatronics.com", 80, 320);

  text(ledStatus, 155, 240); // Prints the string comming from the Arduino
  
  // If the button "Turn ON" is pressed
  if(mousePressed && mouseX>50 && mouseX<200 && mouseY>100 && mouseY<150){
    myPort.write('1'); // Sends the character '1' and that will turn on the LED
    // Highlighs the buttons in red color when pressed
    stroke(255,0,0);
    strokeWeight(2);
    noFill();
    rect(50, 100, 150, 50, 10);
  }
  // If the button "Turn OFF" is pressed
  if(mousePressed && mouseX>250 && mouseX<400 && mouseY>100 && mouseY<150){
    myPort.write('0'); // Sends the character '0' and that will turn on the LED
    stroke(255,0,0);
    strokeWeight(2);
    noFill();
    rect(250, 100, 150, 50, 10);
  }
}Code language: Arduino (arduino)

Deskripsi:  Kita perlu menyertakan perpustakaan Serial dan membuat objek serial untuk mengaktifkan komunikasi serial, serta, menentukan variabel String untuk status yang dipimpin. Di bagian setup kita perlu mengatur ukuran jendela program dan memulai komunikasi serial. Sedangkan untuk COM Port Number disini kita perlu mencoba salah satu dari dua nomor COM Port yang sebelumnya kita perhatikan di device manager. Baris berikutnya mendefinisikan buffering port serial dan dalam kasus kami itu sampai ada baris baru dan sebenarnya ada baris baru setiap kali Arduino mengirimkan String "LED:OFF" atau "LED ON" karena println( ) fungsi. Selanjutnya, dengan menggunakan fungsi serialEvent() kami memeriksa apakah ada data yang tersedia di port serial untuk dibaca. Jika demikian, menggunakan fungsi readStringUntil() kita akan membaca data tersebut dari port serial yang telah dikirim dari Arduino dan dalam kasus kita itu adalah String “LED:OFF” atau “LED:ON”.

Dalam fungsi draw() utama, yang terus berulang, kami membuat semua grafik dan fungsi program. Jadi pertama-tama kita perlu mengatur warna latar belakang, warna isian, ukuran goresan dan warna dan menggunakan fungsi rect() kita menggambar dua tombol. Menggunakan fungsi text() kami mencetak semua teks, termasuk string ledStatus yang berasal dari Arduino. Yang tersisa sekarang adalah membuat tombol berfungsi. Jadi menggunakan pernyataan “jika” pertama kita membatasi area tombol “Turn ON”, sehingga ketika tombol ditekan karakter ‘1’ akan dikirim melalui port serial ke Arduino dan itu akan menyalakan LED. Baris for berikutnya digunakan untuk menyorot tombol saat ditekan. Prosedur yang sama berlaku untuk tombol “Matikan”.

Sekarang program sudah siap, jadi ketika kita akan mengklik tombol run, program akan secara otomatis mengaktifkan komunikasi Bluetooth antara laptop dan Arduino. Modul Bluetooth HC-05 akan mulai berkedip setiap dua detik, yang menunjukkan bahwa modul terhubung dan kita akan dapat mengontrol LED menggunakan Laptop kita.

Sekian untuk tutorial ini, tapi jangan lupa untuk melihat tutorial saya berikutnya di mana kita akan belajar bagaimana kita dapat mengkonfigurasi modul Bluetooth HC-05 dan membuat komunikasi Bluetooth antara dua Papan Arduino yang terpisah sebagai perangkat master dan slave.

Selain itu, jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah dan jangan lupa untuk melihat koleksi Proyek Arduino saya.


Proses manufaktur

  1. Tutorial Kunci RFID Arduino
  2. JX Wave Generator
  3. u-blox LEA-6H 02 Modul GPS dengan Arduino dan Python
  4. Sistem deteksi jatuh berdasarkan Arduino, Windows dan Azure
  5. Kontrol Mobil dengan Arduino Uno dan Bluetooth
  6. Tutorial Sensor Sidik Jari Arduino
  7. ArduRadio AlarmClock
  8. Mesin Kopi Cerdas dengan Arduino dan Bluetooth
  9. Raspberry Pi dan Laptop Arduino
  10. rDUINOScope