Arduino Mega adalah salah satu tipe papan Arduino yang memiliki ukuran ‘jumbo’. Spesifikasinya cukup ‘mewah’ untuk ukuran mikrokontroller, diantaranya jumlah digital IO sebanyak 54 pin, analog input sebanyak 16 pin, port serial sejumlah 3 buah, EEPROM 4Kb, SRAM 8Kb, dan masih banyak lagi. Arduino Mega banyak digunakan jika tipe arduino kecil semacam Arduino Uno, Nano, Pro Mini, dll sudah tidak mampu lagi mengakomodasi kebutuhan project Anda. Pada satu titik kemampuan Arduino Mega ini dapat menyaingi Raspberry Pi dengan menambahkan Yun Shield. Kapan-kapan saya akan membahasnya lebih dalam lagi mengenai Arduino Mega + Yun Shield.
[AdSense-B]
Ada kalanya, dalam sebuah project kita akan membutuhkan banyak pin digital I/O . Port digital yang benar-benar ‘murni’ pin digital di Arduino Mega kadang sampai tidak cukup. Berhubung saya butuh tambahan pin digital akhirnya port serial pun saya manfaatkan sebagai pin digital. Bagaimana caranya, ternyata sangat mudah sekali. Caranya pun hampir sama dengan pin digital biasa. Anda hanya cukup mencocokkan nomor pin serial tersebut sesuai dengan nomor pinnya. Contoh:
Serial port | Pin |
TX1 | 18 |
RX1 | 19 |
TX2 | 16 |
RX2 | 17 |
TX3 | 14 |
RX3 | 15 |
Cara untuk mengoperasikan pin-pin tersebut di atas juga sama dengan pin digital biasa yakni:
pinMode (16, OUTPUT);
pinMode (17, INPUT);
digitalWrite (17, HIGH);
byte x-=digitalRead(17);
Dengan memanggil function digital IO di atas sebenarnya sudah cukup untuk mengoperasikan pin serial menjadi pin digital biasa. Namun, untuk lebih amannya, saya sarankan untuk memanggil function untuk mematikan fungsi serial di pin tersebut sebagai berikut :
Serial2.end();
Letakkan function di atas di dalam blok void setup() untuk memastikan fungsi serial di pin serial tidak dijalankan Arduino. Dengan demikian, pin serial akan berfungsi sepenuhnya sebagai pin digital. Berikut contoh script Arduinonya
byte x; void setup() { // put your setup code here, to run once: Serial2.end(); pinMode(16,OUTPUT); pinMode(17,INPUT); digitalWrite(16,HIGH); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: x=digitalRead(17);Serial.print("pin 17=");Serial.println(x); delay (1000); }
Sketch di atas akan mengeluarkan logic ‘HIGH’ di pin 16 dan mendeteksi input digital di pin 17 secara berkala.
Alokasi Pin Serial Arduino Mega
Sekarang kita coba resume percobaan kita di atas lebih detail lagi. Perhatikan gambar alokasi pin Arduino di bawah
Sekarang kita zoom lagi hanya pada bagian port serial nya saja. Ternyata pin serial di Arduino Mega sebenarnya adalah pin PJ1, PJ0, PH1, PH0 dst dalam terminologi mikrokontroller ATMEGA2560 sebagai chip controller papan Arduino Mega.
Kalau kita belajar dalam ilmu mikrokontroller, pin-pin tersebut adalah GPIO (General Purpose Input Output) yang memiliki special function sebagai pin serial. Jadi kita bisa memfungsikannya sebagai pin digital biasa maupun sebagai pin serial tergantung settingan kita. Demikian, jika kita tahu ilmu basic-nya kita dapat meng-utilize seluruh fitur-fitur yang terdapat dalam mikrokontroller maupun arduino sebagai framework-nya. Selamat mengoprek-oprek lebih dalam lagi 🙂
[AdSense-B]
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
apakah untuk pin serial Nodemcu esp8266 juga sama gan?
agak beda, karena nodemcu berbasis esp8266. Tetapi scr prinsip sama
Selamat siang… saya ingin bertanya tentang serial di arduino, Saya menggunakan data RS232 timbangan sebagai masukan ke arduino mega dan keluaran dari arduino mega dapat langsung mencetak ke printer. Program dapat berjalan dengan baik selama kabel down loader terpasang ke laptop. Mengapa bila kabel down loadernya saya lepas dan saya ganti dengan power langsung ke listrik tidak berjalan? Apakah memang harus membutuhkan com port? Thanks.
data:image/svg+xml,%3csvg xmlns=
1
1
kemungkinan ground belum tersambung semua
Ground sudah tersambung semua, Saya menggunakan max2232 sebagai konverternya. Apakah kabel dowloader mewakili com port? karena nampaknya printer membutuhkan comport sebagai medianya, Bagaimana caranya supaya tx dan rx di arduino dikenal sebagai com port atau virtual com tanpa harus pasang kabel downloadernya? Terima kasih.