Bikin Flip-Flop Pakai Arduino Uno Simulator
Pada praktek kali ini, kita akan belajar bagaimana merangkai sebuah rangkaian elektronika sederhana yang mudah, sekaligus belajar bagaimana memprogram sebuah mikrokontroler.
Semuanya akan menjadi mudah dengan Arduino Uno board, Tanpa perlu solder-solder, tanpa perlu membuat downloader, tinggal colok-colok, kita sudah bisa membuat rangkaian elektronika canggih yang sederhana.
Dan menjadi semakin mudah lagi juga tanpa perlu keluar biaya sepeserpun, dengan mencobanya terlebih dahulu di simulator.
Project: Flip-flop with Arduino
Skill level: Beginner / Entry Level
Estimated cost: Rp.0
Daftar isi
Hello Flip Flop!
Project pertama yang akan kita coba adalah project paling dasar di bidang elektronika, semacam hello worldnya tukang solder (sebenernya gak perlu solder juga sih :D ), bikin lampu flip-flop atau kedip-kedip.
Namun bukan menggunakan rangkaian dasar analog, kita akan coba bereksperimen menggunakan Arduino UNO.
Kenapa Arduino?
Dengan Arduino yang merupakan development board mikrokontroller, kita dapat langsung masuk mempelajari pemrograman, yang akan sangat asik dan berguna untuk dikembangkan menjadi alat-alat canggih lainnya.
Berarti harus punya Arduinonya dulu dong?
Tenang, ga usah panik, gak harus punya dulu kok. Karena ini post perdana DIY di ndoware, kita praktek dulu tanpa keluar biaya sama sekali alias gratis!, yuk mari langsung kita coba dulu pakai simulator.
Rasakan asiknya, nikmati penasarannya.. baru beli komponennya.. :D
Tinkercad Arduino Simulator
Salah satu simulator yang cukup keren adalah circuit Tinkercad, tools ini buatan Autodesk salah satu entitas yang cukup mumpuni di bidang 3D Modelling.
Tinkercad merupakan web apps yang berisi kumpulan tools untuk membuat 3D Modelling, dan salah satunya adalah Circuit yang dapat digunakan untuk melakukan simulasi elektronika.
Hebatnya lagi, Tinkercad adalah aplikasi web based, menggunakan teknologi html5, jadi kamu tidak perlu download dan install aplikasi. Tinggal buka di web browser, compatible untuk semua device dan free!! gratis! langsung praktek ndak perlu bayar.
Komponen yang dapat disimulasikan juga cukup banyak, mulai dari basic komponen seperti resistor, led, sampai kompleks seperti Arduino.
Baiklah, tanpa perlu banyak basa basi langsung saja kita praktekkan.
Login dan Setup Project
Pertama-tama tentu saja buka web nya dan login, kalau kamu belum punya akunnya, cukup login saja dengan akun sosmed, otomatis akan teregister ke Tinkercad.
Setelah berhasil Login, kamu akan dibawa masuk ke dashboard project, disini akan tersimpan project-project yang sudah dibuat, baik yang 3d modelling maupun circuit.
Untuk mulai membuat rangkaian arduino, langsung saja dari menu di sebelah kiri pilih Circuit, lalu tekan tombol Create New Circuit
Lalu kita akan masuk di halaman kosong dashboard untuk memulai project kita.
Ini adalah dashboard tempat kita melakukan eksperimen, di sebelah kanan adalah komponen-komponen yang bisa kita simulasikan.
Merangkai Hardware
Untuk membuat rangkaian Flip Flop Arduino ini, komponen-komponen yang kita butuhkan sebagai berikut:
- LED Merah & LED Hijau
- 2 buah Resistor 1K Ohm
- Arduino Uno R3
- Kabel Jumper
Skema rangkaian flip-flop yang akan kita buat adalah sebagai berikut:
Cara Menambahkan Komponen.
Mudah saja, pertama cari komponen yang diinginkan di panel sebelah kanan daftar komponen. Selanjutnya klik dan drag komponen yang diinginkan dashboard di tengah.
Untuk menambahkan LED Merah, cukup tarik gambar LED dari panel komponen di sebelah kanan ke bidang tengah. Default LED akan berwarna merah
Sedangkan untuk LED Hijau, setelah menarik LED ke tengah, pada form tooltip muncul pilihan warna lalu pilih warna yang diinginkan.
Lanjutkan dengan menambahkan 2 buah Resistor. Nilai hambatan secara default sudah 1kOhm.
Resistor dipakai untuk membatasi arus yang masuk ke LED. Semakin kecil resistansi, semakin besar arusnya, maka semakin terang nyala LEDnya.
Namun jangan terlalu kecil juga, semakin besar arus yang melalui LED akan cepat merusak LED tersebut. Pada umumnya nilai resistor yang sering dipakai untuk LED yaitu 1KOhm.
Selanjutnya, untuk menambahkan Arduino Uno R3, scroll ke bawah di daftar komponen atau cari dari kolom search.
Setelah semua komponen siap, kita masuk ke langkah yang lebih asik lagi.
Wiring..
Kenapa asik? karena ini butuh ketelitian, salah pasang kaki komponen saja, program bisa tidak jalan, jadinya ribet dan bikin pusing… asik kan? hehe :D
Tapi tenang, rangkaian ini guampang kok.
Cara menghubungkannya: klik kaki komponen atau pin, kemudian klik lagi di kaki komponen yang dituju. Kamu juga bisa memilih warna kabel agar mudah dikenali (default warna kabel hijau).
- Sambungkan kaki katoda/cathode LED ke Resistor dengan kabel hitam, lakukan untuk kedua LED dan Resistor.
- Dari kaki Resistor yang masih belum tersambung, hubungkan menggunakan kabel hitam ke PIN GND dari Arduino Uno.
- Sedangkan untuk kaki anoda dari LED, dihubungkan sebagai berikut:
- LED Merah ke DIgital PIN 8
- LED Hijau ke Digital PIN 7
done.
Oh iya, mungkin ada yang bertanya-tanya,
- kenapa kita pasang di PIN Digital?
- apa pula PIN Digital itu?
- emang pin nya apa aja?
Tentang Arduino PIN
Arduino Uno punya beberapa macam pin: PIN Digital, PIN Analog, Pin Power, dan beberapa PIN lainnya.
PIN-PIN Digital ini yang digunakan sebagai Input dan Output digital (1 0/true false/high low), mode pin dapat kita setting sesuai kebutuhan, sebagai INPUT atau OUTPUT. Nama bekennya GPIO (General Purpose Input Output).
Contoh Input didapat dari tombol, sensor gerak, sensor suhu, sensor hujan, sensor cahaya, dll.
Contoh Output bisa ke LED, menggerakkan motor servo, membuka kran air, sirine, dll.
Arduino uno R3 punya 14 pin digital, dan untuk ekperimen kali ini kita hanya gunakan 2 pin sebagai OUTPUT ke 2 buah LED.
PIN Power yang kita gunakan adalah pin Ground/GND, pin power yang lain ada pin 3,3 V, 5V namun tidak kita gunakan.
PIN Analog digunakan untuk sinyal analog. Penjelasan lebih lengkap, untuk pin lainnya, dan mikrokontroller yang digunakan, bisa kamu buka di referensi dari Arduinonya langsung, Introduction Arduino Board.
Merapikan Perkabelan
Setelah perkabelan antar pin sudah terpasang dengan baik, agar terlihat lebih cantik dan rapi, kamu juga bisa merapikan wiring kabel-kabel dengan mudah. Klik dua kali pada kabel yang ingin diberi siku, kemudian drag handlenya.
Hasil akhirnya akan terlihat seperti ini
Software
Setelah asik pasang-pasang komponen dan wiring, kita akan masuk ke langkah yang paling asik. Apakah itu??..
Coding!!
asik-asik mulu, hehe iya dong. Tapi emang coding itu asik kok, coba tanya programmer-programmer deh. Dan kita lagi double asik, karena selain coding juga wiring. :D
Pemrograman Mikrokontroler
Yang kita coding adalah program yang akan ditanamkan ke dalam mikrokontroler di dalam board Arduino Uno R3.
Arduino Board adalah salah satu development board yang dibuat untuk memudahkan kita membuat device dengan microcontoller. Arduino juga dilengkapi dengan IDE (Integrated Development Environment) yaitu Arduino IDE. Mulai dari proses coding, compiling, debugging, upload program dilakukan dari Arduino IDE ini.
Sehingga dengan paket Arduino Board + Arduino IDE, proses prototyping mikrokontroller akan menjadi sangat mudah dan menyenangkan.
Arduino IDE menggunakan bahasa pemrograman tingkat tinggi, bahasa C++ yang sudah dikombinasikan dengan fungsi-fungsi library Arduino.
Simulator Arduino IDE
Kita belum akan membahas lebih dalam mengenai pemrograman Arduino Uno menggunakan Arduino IDE. Akan kita bahas pada post selanjutnya.
Kita lanjutkan ngoding langsung di simulator Tinkercad.
Ngoding Arduino di Circuit Tinkerpad tidak perlu repot-repot download dan instalasi Arduino IDE nya terlebih dahulu, langsung saja klik tombol </ CODE, dan tab source code akan muncul.
Default coding di Tinkercad menggunakan block code. Code block ini didesain untuk lebih mudah mempelajari logika pemrograman, berupa block block code yang sudah disiapkan dan bisa di drag drop dengan mudah
Block code ini biasanya dipakai oleh anak-anak sekolah dasar pada tahap awal belajar pemrograman. Namun akan lebih kompleks jika sudah lebih banyak logika yang digunakan.
Untuk pemrograman menggunakan block code kapan-kapan akan kita bahas secara terpisah ya.
Code Programming
Kali ini kita akan membuat program menggunakan teks, karena “soul” nya ngoding ya pakai code atau teks :D
Dan keuntungan nantinya akan memudahkan kita jika ingin mencoba memprogram di device “beneran”, karena yang digunakan Arduino IDE adalah code C++
Merubah Code ke mode teks
Setelah dipilih teks, akan muncul source code program default yaitu blink internal led, atau nyala kedip-kedip LED internal di Arduino.
Program flip-flop yang akan kita buat pada dasarnya mirip dengan program blink LED ini, hanya dimodifikasi sedikit. Nanti teman-teman bisa juga bereksperimen dengan merubah-rubah komponen dan programnya.
Source Code Flip-Flop arduino
Supaya memudahkan memahaminya, kita hapus terlebih dahulu code yang ada. Lalu copy paste source code berikut ini ke Tinkerpad
[code lang=”arduino”]
void setup() // dijalankan sekali
{
pinMode(7, OUTPUT); // pin 7(led Hijau) sebagai digital output
pinMode(8, OUTPUT); // pin 8(led Merah) sebagai digital output
}
void loop() // dijalankan berulang terus menerus
{
digitalWrite(7, HIGH); // Led Hijau nyala
digitalWrite(8, LOW); // Led Merah mati
delay(1000); // Tunggu selama 1000 millisecond/1 detik
digitalWrite(7, LOW); // Led Hijau mati
digitalWrite(8, HIGH); // Led Merah nyala
delay(1000); // Tunggu selama 1000 millisecond/1 detik
}
[/code]
Biar makin asik, sekarang kita jalankan dulu rangkaian kita dan lihat apa yang terjadi.
Nanti setelah rangkaian berhasil berjalan, akan kita kupas tuntas source code ini.
Run The Flip-Flop
Untuk menjalankan Arduinonya, tutup dulu tab source code dengan cara klik lagi tombol code.
Eureka!!…
Selamat.. Flip-flop pakai Arduino berhasil dibuat dan dijalankan.
LED merah dan hijau akan menyala bergantian setiap detik.
Untuk menghentikan simulasi tekan tembali tombol yang sama yang sudah berganti menjadi Stop Simulation.
Bantuan: Kalau rangkaianmu tidak jalan seperti animasi di atas, coba cek rangkaiannya disini.
Kupas Tuntas Source Code
Lampu LED menyala bergantian hijau dan merah, kenapa bisa begitu?
Jawabannya ya ada di source program yang sudah kita tanam di Arduino Board.
Berikut ini diagram alir atau flowchart proses program Flip Flip menggunakan Arduino
Secara garis besar, dalam sebuah program Arduino ada 2 buah fungsi utama yang digunakan, yaitu setup() dan loop()
setup(); Fungsi ini dijalankan sekali saja pada saat Arduino dinyalakan, biasanya di dalam fungsi ini kita melakukan inisialisasi, seperti settin pin mode, define serial port yang digunakan, dan lain-lain yang cukup dijalankan sekali.
loop(); Fungsi inilah yang akan berjalan terus-menerus / looping selama Arduino itu hidup. Disinilah kita meletakkan logika program utama kita, apa saja yang harus dilakukan oleh Arduino.
[code lang=”arduino” light=”true”]
void setup() // dijalankan sekali
{
pinMode(7, OUTPUT); // pin 7(led Hijau) sebagai digital output
pinMode(8, OUTPUT); // pin 8(led Merah) sebagai digital output
}
[/code]
Pada program flip flop ini setup() yang kita lakukan adalah menginisialisasi mode pin-pin yang akan kita gunakan. Kita menggunakan pin 7 sebagai Output ke LED Hijau dan pin 8 sebagai Output ke LED Merah.
Fungsi yang digunakan adalah pinMode(pin berapa, mode yang dipilih); Arduino Uno memiliki 14 digital pin yang dapat digunakan. Kita dapat menggunakan pin berapa saja di program, namun harus disesuaikan kembali rangkaian kita di pin berapa kita pasang kaki Anodanya.
[code lang=”arduino” light=”true”]
void loop() // dijalankan berulang terus menerus
{
[/code]
Program di dalam Fungsi loop inilah yang akan dijalankan berulang-ulang.
[code lang=”arduino” light=”true”]
digitalWrite(7, HIGH); // Led Hijau nyala
digitalWrite(8, LOW); // Led Merah mati
[/code]
digitalWrite adalah perintah untuk mengirimkan sinyal digital 1 atau 0/ HIGH atau LOW ke pin digital yang dituju.
digitalWrite(7, HIGH); artinya kita mengirimkan sinyal HIGH ke pin digital 7, dimana pin tesebut terhubung dengan LED Hijau, maka LED Hijau akan hidup.
Sedangkan digitalWrite(8, LOW); kita mengirimkan sinya 0 atau LOW ke digital pin 8 dimana pin tersebut terhubung dengan LED Merah, maka LED Merah akan mati.
[code lang=”arduino” light=”true”]
delay(1000); // Tunggu selama 1000 millisecond / 1 detik
[/code]
melewati perintah delay(value); artinya program akan berhenti atau menunggu selama value yang ditentukan dalam satuan milisecond, 1 detik = 1000 mili second.
Artinya jika kita beri delay selama 1000 ms, maka LED Hijau akan tetap menyala dan LED Merah akan mati selama 1 detik.
[code lang=”arduino” light=”true”]
digitalWrite(7, LOW); // Led Hijau mati
digitalWrite(8, HIGH); // Led Merah nyala
[/code]
Setelah delay selesai, maka dilanjutkan line selanjutnya. Sama dengan perintah digitalWrite sebelumnya, namun kali ini dibalik, LED Hijau di PIN 7 diberikan sinyal LOW artinya mati, dan LED Merah di PIN 8 diberi sinyal HIGH menjadi hidup.
[code lang=”arduino” light=”true”]
delay(1000); // Tunggu selama 1000 millisecond / 1 detik
[/code]
dengan delay lagi, maka LED Merah akan hidup selama 1 detik, dan led Hijau akan mati selama 1 detik.
[code lang=”arduino” light=”true”]
}
[/code]
Akhir dari loop, kembali lagi ke awal loop, nyalakan LED Hijau dan matikan LED Merah.
Begitu seterusnya…
LED merah dan hijau akan menyala bergantian setiap detik.
Modifikasi dengan Versimu
Coba teman-teman rubah lama delaynya, dan lihat apa yang terjadi, bagaimana nyala lampu-lampu LED itu.
Dari program flip-flop di atas, ada banyak yang bisa kita coba modifikasi dari rangkaian sederhana ini:
- mainkan nilai delay, buat seperti sandi morse
- coba gunakan fungsi random() buat lampu nyala tidak beraturan seperti strobo polisi
- tambahkan beberapa LED, buat rangkaian running LED
- lampu lalu lintas, merah kuning hijau
- lampu sein, dll
atau punya ide lain? monggo dicoba-coba saja.
Kesimpulan Ndoware
Dengan Tinkercad Circuits simulator, kita bisa mencoba membuat dan memprogram papan Arduino Uno dengan mudah, murah dan cepat.
Versi vidio belajar bikin LED Flip-flop bisa ditonton disini:
Selamat, kamu sudah berhasil membuat rangkaian Arduino dan program Arduino pertamamu, lanjutkan kreatifitasmu, buka lebar imajinasimu.
Percobaan perdana kita tadi hanya sebagian kecil dari yang bisa kita lakukan di Circuit Tinkerpad, Ada banyak sekali yang bisa dicoba menggunakan simulator ini.
Coba buka Starters, disitu bisa kita temukan contoh-contoh rangkaian yang sudah jadi. Rangkaian dasar tanpa Arduino seperti LED Dimmer, PIR Sensor, Tilt Sensor. Juga ada banyak contoh rangkaian Arduino yang bisa dicoba seperti LCD, 7 segment, neopixel, servo, Ultrasonic, dll
Amati, Teliti, Modifikasi, temukan rangkaian-rangkaian keren bikinan sendiri.
Demikian pembahasan praktikum perdana kita kali ini menggunakan simulator, di lain waktu akan kita sambung dengan praktek langsung membuat devicenya.
Semoga bahasan kali ini bermanfaat buat teman-teman.
Terus belajar, selamat berkreasi, silahkan share hasil kreasi rangkaianmu di kolom komentar.
Salam D.I.Y.,
ndoware
Referensi:
Circuits Tinkerpad https://www.tinkercad.com/learn/#/learn/circuits
Arduino Tutorials https://www.arduino.cc/en/Tutorial/HomePage
Arduino Language reference https://www.arduino.cc/reference/en/
ps:
Saya tadi iseng coba-coba rangkaian neopixel, hasilnya seperti ini
https://www.tinkercad.com/things/jI1ooW17MK4
keren kan… :D
sangat bagus dan bermanfaat
numpang share juga tutorial membuat flip-flop menggunakan alat elektronika untuk melatih skill elektronika di http://elektrikal.epizy.com/cara-membuat-led-flip-flop-dengan-ic-ne555/
Terimakasih atas sharingnya semoga bermanfaat juga bagi teman-teman semua.
saya sangat bersukur ada yg menulis artikel ini sangat membantu saya. Terima kasih kak
Sama-sama, terimakasih untuk kunjungannya :)
Mantap mudah dipahami, bagi baru belajar…
Terimakasih sudah berkunjung ke ndoware.com
Wah mantap nih artikel semangat terus gan buat berbagi ilmunya …
Teria kasih artikelnya,,saya jadi ingin belajar
Sama-sama, terimakasih telah berkunjung ke Ndoware.com. Silahkan ??
Sama-sama, terimakasih telah berkunjung ke Ndoware.com. Silahkan ??
Mantap gan ,,saya jadi ingin belaja ni
Luar biasa nih sharing ilmunya dari bro Febrianto, sangat membantu buat beginer spt saya. Oya sekalian boleh nanya ya, program yg sdh diupload ke Arduino itu apakah bisa dibuat permanen tersimpan meskipun power Off, dan bagaimana cara membuat input /output lebih dari 1, terimakasih.
Terimakasih sudah berkunjung ke Ndoware.com. Iya mas, program yang sudah diupload ke Arduino otomatis akan tersimpan meskipun power off.
Untuk menambahkan output/input tinggal ditambah definenya di setup() dengan fungsi pinMode(). Untuk Arduino Uno ada 14 pin yang bisa dipakai.
puengen banget belajar program , tp baca program.nya pusing krn gak ngerti program. dari dl pengen bikin jam digital tp sampai sekarang belum kesampaian
Cukup jelas uraian singkat tentang arduino, gaya bahasanya mudah dipahami. Bagus, matursuwun mas.
Boleh konsultasi langsung via WA?
Terimakasih sudah berkunjung. Bisa kontak via telegram ya mas https://telegram.me/brifeb