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

Sevent Segmen Arduino

Salah satu topik yang menarik untuk dibahas untuk malam ini , sambil datangnya waktu shubuh ( pagi ). Banyak sekali project yang dapat dibuat. Beberapa contohnya adalah jam digital dengan seven segment, stopwatch dengan 7 segment atau display jam sholat digita l yah walaupun sudah banyak yang membahasnya. Untuk membuat alat yang saya sebutkan diatas,  perlu memahami dulu bagaimana cara untuk memprogram seven segment menggunakan arduino . Karena dasar dari itu semua adalah menyalakan seven segment sesuai keinginan. Banyak sekali metode yang dapat digunakan untuk memprogram 7 segment. Beda metode beda juga rangkaian yang digunakan. Salah satu metode yang sangat sederhana dan tidak membutuhkan banyak rangkaian adalah metode scanning . Apa itu metode scanning ?? Yuk lanjutkan baca sampai selesai yaa !! metode ini akan saya gunakan untuk matakuliah yang saya akan ajarkan...... Apa Itu Metode Scanning ?? Salah satu metode memprogram seven segment yang banyak digunakan adalah metode

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

Masjid Agung Banten

Selain sebagai obyek wisata ziarah, Masjid Agung Banten juga merupakan obyek wisata pendidikan dan sejarah. Dengan mengunjungi masjid ini, wisatawan dapat menyaksikan peninggalan bersejarah kerajaan Islam di Banten pada abad ke-16 M, serta melihat keunikan arsiteksturnya yang merupakan perpaduan gaya Hindu Jawa, Cina dan Eropa. Sejarah pendirian Masjid Agung Banten berawal dari instruksi Sultan Gunung Jati kepada anaknya, Hasanuddin. Konon, Sunan Gunung Jati memerintahkan kepada Hasanuddin untuk mencari sebidang tanah yang masih “suci” sebagai tempat pembangunan Kerajaan Banten. Setelah mendapat perintah ayahnya tersebut, Hasanuddin kemudian shalat dan bermunajat kepada Allah agar diberi petunjuk tentang tanah untuk mendirikan kerajaan. Konon, setelah berdoa, secara spontan air laut yang berada di sekitarnya tersibak dan menjadi daratan. Di lokasi itulah kemudian Hasanuddin mulai mendirikan Kerajaan Banten beserta sarana pendukung lainnya, seperti masjid, alun-alun, dan pasar. P