Skip to main content

Menggunakan Port Serial

Arduino membuat banyak aplikasi yang berdiri sendiri kemungkinan - proyek yang tidak melibatkan komputer tambahan. Dalam kasus seperti itu Anda perlu menghubungkan Arduino ke komputer sekali untuk meng-upload perangkat lunak, dan setelah itu, hanya membutuhkan catu daya. Lebih sering, orang menggunakan Arduino untuk meningkatkan kemampuan komputer dengan menggunakan sensor atau dengan memberikan akses ke perangkat keras tambahan. Biasanya, Anda mengendalikan hardware eksternal melalui port serial, sehingga merupakan ide yang baik untuk belajar bagaimana berkomunikasi secara serial dengan Arduino. 
Meskipun standar untuk komunikasi serial telah berubah selama beberapa tahun terakhir (misalnya, kita menggunakan USB hari ini, dan komputer kita tidak lagi memiliki konektor RS232), prinsip kerja dasar tetap sama. Dalam kasus yang paling sederhana, kita dapat menghubungkan dua perangkat hanya menggunakan tiga kabel : landasan bersama, jalur untuk transmisi data (TX), dan satu untuk menerima data (RX). Perangkat # 1 GND TX RX Perangkat # 2 GND TX RX Serial komunikasi mungkin terdengar sedikit old-school, tapi itu masih disukai jalan bagi perangkat keras untuk berkomunikasi. Sebagai contoh, S di USB adalah singkatan dari”serial”- dan kapan terakhir kali Anda melihat port paralel ? (Mungkin ini adalah saat yang tepat untuk membersihkan garasi dan membuang bahwa PC lama yang Anda ingin berubah menjadi media center suatu hari nanti....) Untuk meng-upload software, Arduino memiliki port serial, dan kita dapat menggunakannya untuk menghubungkan Arduino ke perangkat lain, juga (dalam Bagian 1.6, Kompilasi Program Uploading, pada halaman 38, Anda belajar bagaimana untuk mencari port serial Arduino Anda terhubung ke). Pada bagian ini, kita akan menggunakan untuk mengontrol status LED Arduino yang menggunakan keyboard komputer kita. itu LED harus diaktifkan ketika Anda menekan 1, dan itu harus berubah off ketika Anda menekan 2. Berikut semua kode yang kita butuhkan :
Line 1 const unsigned int LED_PIN = 13;
const unsigned int BAUD_RATE = 9600;
void setup(){ 5 pinMode(LED_PIN, OUTPUT);
Serial.begin(BAUD_RATE);
}
void loop(){
10 if (Serial.available() > 0)
{
 int command = Serial.read();
if (command == '1')
{
digitalWrite(LED_PIN, HIGH);
Serial.println("LED on");
15 }
else if (command == '2'){
digitalWrite(LED_PIN, LOW);
Serial.println("LED off");
}
else{
Serial.print("Unknown command:”);
20 Serial.println(command);
}}}

Seperti pada contoh sebelumnya, kita mendefinisikan sebuah konstanta untuk pin LED terhubung ke dan set ke modus OUTPUT di setup () function. di line 6, kita menginisialisasi port serial menggunakan mulai () fungsi dari Serial kelas, melewati baud rate 9600 (Anda dapat mempelajari apa baud rate dalam Bagian C.1, Belajar More About Serial Komunikasi, pada halaman 251). Itu saja yang kita butuhkan untuk mengirim dan menerima data melalui port serial di kita Program.
Mari kita membaca dan menafsirkan data. Loop () fungsi dimulai dengan memanggil Metode yang tersedia Serial ini () di baris 10. tersedia () mengembalikan jumlah byte menunggu di port serial. Jika data yang tersedia, kita membacanya menggunakan Serial.read (). read () mengembalikan byte pertama data yang masuk jika data tersedia dan -1 sebaliknya.
Jika byte kita telah membaca mewakili karakter 1, kita beralih pada LED dan mengirim kembali pesan”LED pada”melalui port serial. Kita menggunakan Serial.println (), yang menambahkan karakter carriage return (kode ASCII 13) diikuti oleh baris baru (kode ASCII 10) ke teks. Jika kita menerima karakter 2, kita matikan LED.
Jika kita menerima perintah yang tidak didukung, kita mengirim kembali pesan yang sesuai dan perintah kita tidak mengerti. Serial.print () bekerja sama persis seperti Serial.println (), tetapi tidak menambahkan carriage return dan karakter newline pesan tersebut. Mari kita lihat bagaimana program itu bekerja dalam prakteknya.
Kompilasi, meng-upload ke Arduino Anda, dan kemudian beralih ke monitor serial (opsional Anda dapat memasang LED ke pin 13, jika tidak, Anda hanya dapat mengontrol Arduino Status LED). Pada pandangan pertama, tidak ada yang terjadi. Itu karena kita belum mengirim perintah ke Arduino belum. Masukkan 1 dalam kotak teks, dan kemudian klik tombol Kirim. Dua hal yang harus terjadi sekarang : LED diaktifkan, dan pesan”LED pada”muncul dalam serial memonitor window. Kita mengendalikan LED menggunakan keyboard komputer kita! Bermain-main sedikit dengan perintah 1 dan 2, dan juga mengamati apa yang terjadi ketika Anda mengirim perintah yang tidak diketahui. Jika Anda mengetikkan huruf A, misalnya, Arduino akan mengirim kembali pesan”Unknown command :. 65”Jumlah 65 adalah kode ASCII dari huruf A, dan Arduino output data yang masuk ke dalam bentuk yang paling dasar.
Itulah perilaku default Serial ini print () metode, dan Anda dapat mengubah dengan melewati format specifier untuk fungsi panggilan Anda. Untuk melihat efek, ganti baris 20 dengan pernyataan berikut:
Serial.println(command, DEC);
Serial.println(command, HEX);
Serial.println(command, OCT);
Serial.println(command, BIN);
Serial.println(command, BYTE);
Outputnya akan seperti ini :
Unknown command: 65
41
101
1000001
A
Tergantung pada format specifier, Serial.println () secara otomatis mengkonversi byte ke dalam representasi lain. Desember output byte sebagai desimal nomor, HEX sebagai angka heksadesimal, dan sebagainya. Perhatikan bahwa seperti operasi biasanya mengubah panjang data yang akan ditransmisikan.
Representasi biner dari byte tunggal 65, misalnya, membutuhkan 7 byte, karena mengandung tujuh karakter. penomoran Sistem Ini kecelakaan evolusi yang 10 adalah dasar untuk penomoran kita sistem. Jika kita hanya memiliki empat jari pada setiap tangan, itu akan mungkin delapan, dan kita mungkin telah menemukan komputer beberapa abad sebelumnya. Selama ribuan tahun, orang telah menggunakan sistem nomor denominasi, dan kita mewakili nomor seperti 4711 sebagai berikut : 4 × 103 + 7 × 102 + 1 × 101 + 1 × 100 Hal ini membuat operasi aritmatika yang sangat nyaman.
Tapi ketika bekerja dengan komputer yang hanya menafsirkan bilangan biner, hal ini sering menguntungkan untuk menggunakan sistem penomoran berdasarkan angka 2 (biner), 8 (oktal), atau 16 (heksadesimal). Sebagai contoh,
angka desimal 4711 dapat direpresentasikan dalam oktal dan heksadesimal sebagai berikut : • 1 × 84 + 1 × 83 + 1 × 82 + 4 × 81 + 7 × 80 = 011147 • 1 × 163 + 2 × 162 + 6 × 161 + 7 × 160 = 0x1267 Dalam program Arduino, Anda dapat menentukan literal untuk semua penomoran ini sistem : int desimal = 4711 ; int biner = B1001001100111 ; int oktal = 011147 ; int heksadesimal = 0x1267 ; Bilangan biner dimulai dengan karakter B, nomor oktal dengan 0, dan angka heksadesimal mulai dengan 0x
Menggunakan Berbeda Serial Terminal Untuk aplikasi sepele, memantau serial IDE adalah cukup, tetapi Anda tidak dapat dengan mudah dikombinasikan dengan aplikasi lain, dan tidak memiliki beberapa fitur (misalnya, tidak bisa mengirim karakter baris baru di IDE yang lebih tua versi). Itu berarti Anda harus memiliki terminal serial alternatif untuk mengirim data, dan Anda dapat menemukan banyak dari mereka untuk setiap sistem operasi. Serial Terminal untuk Windows Putty1 adalah pilihan yang sangat baik bagi pengguna Windows. Ini adalah gratis, dan itu datang sebagai executable yang bahkan tidak perlu diinstal
Setelah Anda telah mengkonfigurasi Putty, Anda dapat membuka koneksi serial ke Arduino. Klik Open, dan Anda akan melihat sebuah jendela terminal yang kosong. Sekarang tekan 1 dan 2 beberapa kali untuk menghidupkan dan mematikan LED. pada Serial Terminal untuk Linux dan Mac OS X Linux dan Mac pengguna dapat menggunakan perintah layar untuk berkomunikasi dengan Arduino pada port serial. Memeriksa port serial Arduino terhubung ke (misalnya, dalam menu Tools> Dewan IDE), dan kemudian jalankan perintah seperti ini (dengan papan yang lebih tua nama port serial mungkin sesuatu seperti / dev/cu.usbserial-A9007LUY, dan pada Sistem Linux mungkin / dev/ttyUSB1 atau yang serupa) : $ Screen / dev/cu.usbmodemfa141 9600 Layar mengharapkan nama port serial dan baud rate yang akan digunakan
Untuk keluar dari perintah layar, tekan Ctrl -a diikuti dengan Ctrl - k. Kita sekarang dapat berkomunikasi dengan Arduino, dan ini memiliki implikasi besar : apa pun yang dikendalikan oleh Arduino juga dapat dikontrol oleh komputer Anda, dan sebaliknya. Switching LED on dan off tidak terlalu spektakuler, tapi coba bayangkan apa yang mungkin sekarang. Anda bisa menggerakkan robot, mengotomatisasi rumah Anda, atau membuat permainan interaktif. Berikut adalah beberapa fakta yang lebih penting tentang komunikasi serial :
Serial Arduino yang menerima buffer dapat menyimpan hingga 128 byte. kapan mengirimkan sejumlah besar data pada kecepatan tinggi, Anda harus melakukan sinkronisasi pengirim dan penerima untuk mencegah kehilangan data. Biasanya, penerima mengirimkan pemberitahuan kepada pengirim setiap kali itu siap untuk mengkonsumsi sepotong baru data.
Anda dapat mengontrol berbagai perangkat yang menggunakan komunikasi serial, tetapi Arduino biasa hanya memiliki satu port serial. Jika Anda membutuhkan lebih, mengambil melihat Arduino mega 2560, yang memiliki empat seri ports.2
Universal Asynchronous Receiver / Transmitter (UART) 3 perangkat mendukung komunikasi serial pada Arduino. Perangkat ini menangani komunikasi serial sedangkan CPU bisa mengurus lainnya tugas. Hal ini sangat meningkatkan kinerja sistem secara keseluruhan. UART menggunakan pin digital 0 (RX) dan 1 (TX), yang berarti Anda tidak dapat menggunakan mereka untuk tujuan lain ketika berkomunikasi pada port serial. Jika Anda membutuhkan mereka, Anda dapat menonaktifkan komunikasi serial menggunakan Serial.end ().
• Dengan library SoftwareSerial4, Anda dapat menggunakan pin digital untuk komunikasi serial. Ini memiliki beberapa keterbatasan serius mengenai kecepatan dan kehandalan, dan tidak mendukung semua fungsi yang yang tersedia saat menggunakan port serial biasa.
Dalam pertemuan ini, Anda melihat bagaimana berkomunikasi dengan Arduino menggunakan port serial, yang membuka pintu ke dunia baru seluruh fisik proyek komputasi. Dalam bab-bab berikutnya, Anda akan belajar bagaimana mengumpulkan fakta menarik tentang dunia nyata menggunakan sensor, dan Anda akan belajar bagaimana mengubah nyata dunia dengan benda bergerak. Komunikasi serial adalah dasar untuk membiarkan Anda mengontrol semua tindakan ini menggunakan Arduino dan PC Anda.



Comments

Popular posts from this blog

74hc595 Shift Register

IC  74HC595   Arduino. penghematan pin arduino 74HC595  adalah IC ( integrated circuit , sirkuit elektronika terpadu) dari keluarga TTL seri 74 xx yang berfungsi sebagai  Shift Register . Kami menjual IC ini dalam 2 pilihan kemasan / packaging: versi DIP-16 ( Dual In-line Package  16 pin, 4 IC per paket) dan versi SMD ( Surface Mounted Device , 74HC595D, 5 IC per paket). Komponen elektronika ini memiliki register (kumpulan  flip-flop ) sepanjang 8-bit yang menerima masukan secara serial dan keluaran paralel dalam 8-pin keluaran. Data masukan disimpan pada register penyimpanan tipe-D sepanjang satu byte (8 bit D-type  storage register ). Gambar IC  74HC595   Gambar Schematic  74HC595   Di bawah ini adalah contoh rangkaiannya

Android 12 Developer Preview: Requirements, How to put in and more

  Hi-Jetniaga.com | Google has launched the primary Android 12 Developer Preview.  Here’s the whole lot you want to recognise approximately it, together with steps on the way to deployation it in your phone. oogle these days introduced its next-gen Android 12 running gadget, as a way to be released later this year.  The new running gadget will include numerous new functions, which intention to enhance the general overall performance and consumer experience.  Apart from the layout components, the agency is likewise introducing more than a few of  recent privateness functions, as a way to permit customers to govern how they’re tracked throughout sites.  You can test out the listing of the pinnacle five Android 12 functions right here.  Also Read – Twitter checking out Spaces for Android; in advance of March launch. The first developer preview for Android 12 is now available.  However, because of it being the primary developer preview take be aware t...

Cara menggunakan Arduino

Sahabat setelah kita membaca dan mengikuti petunjuk cara install arduino, sekarang kita masuk dalam bahasan " penggunaan board arduino " ikuti langkah langkah ini : 1. Cari software arduino, lalu buka aplikasinya, maka akan tampil aplikasinya, setelah itu  cari tool.         lihat gambar di bawah ini. 2. Sekarang seting com portnya, lihat gambar di bawah ini. Ok Finish 3. Kalau sudah di atur mulai dari board dan com port, silahkan sahabrat rahasia87 masukan coding di bawah ini dan klik verify untuk cek program bener apa tidak, jika benar maka akan tampil berikut gambar berikut ini, jik salah akan tampil tulisan merah. Upload program Nah, sekarang hanya tinggal klik tombol “Upload” pada software. Tunggu beberapa saat – anda dapat melihat led TX dan RX pada board berkelap-kelip. Bila upload berhasil akan ada pesan “Done uploading.” yang muncul pada status bar. ok yah.. selamat belajar           ...