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

 

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.

Project Menu Circuits

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).

Cukup ikuti langkah-langkah berikut:
  1. Sambungkan kaki katoda/cathode LED ke Resistor dengan kabel hitam, lakukan untuk kedua LED dan Resistor.
  2. Dari kaki Resistor yang masih belum tersambung, hubungkan menggunakan kabel hitam ke PIN GND dari Arduino Uno.
  3. 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.

 

Pilih CODE

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

Ganti source code ke mode teks

Muncul popup konfirmasi, klik Continue

Muncul default source code blink led

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.

Lalu tekan tombol

Klik tombol Start Simulation

 

 

Flip-Flop

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

Diagram Alir Flip Flop 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-meneruslooping 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

Febrianto

Penulis Senior Ndoware.com yang lagi suka ngulik Arduino dan IoT. Hoby bermain game baik itu di komputer, gadget maupun di dunia nyata :)

21 Respon

  1. prahyudi berkata:

    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/

  2. heru irwansyah berkata:

    saya sangat bersukur ada yg menulis artikel ini sangat membantu saya. Terima kasih kak

  3. Fadhli berkata:

    Mantap mudah dipahami, bagi baru belajar…

  4. Baron berkata:

    Wah mantap nih artikel semangat terus gan buat berbagi ilmunya …

  5. Tarsak Cikampek berkata:

    Teria kasih artikelnya,,saya jadi ingin belajar

  6. Tarsak Cikampek berkata:

    Mantap gan ,,saya jadi ingin belaja ni

  7. Heru berkata:

    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.

    • Febrianto berkata:

      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.

  8. lare angon berkata:

    puengen banget belajar program , tp baca program.nya pusing krn gak ngerti program. dari dl pengen bikin jam digital tp sampai sekarang belum kesampaian

  9. Wildan az berkata:

    Cukup jelas uraian singkat tentang arduino, gaya bahasanya mudah dipahami. Bagus, matursuwun mas.
    Boleh konsultasi langsung via WA?

  1. 29 November 2018

    […] flip-flop, lampu […]

  2. 10 Desember 2018

    […] percobaan membuat lampu flip-flop dengan Arduino, sebenarnya kita sudah belajar mengenai OUTPUT sinyal digital dan penggunaannya di […]

  3. 12 Desember 2018

    […] mencoba membuat flip-flop di simulator, sekarang saatnya kita coba di alat yang sesungguhnya. Kita akan membuat lampu flip-flop dengan […]

  4. 5 September 2019
  5. 30 Juli 2020

    […] Dari program diatas, setup() dijalan sekali untuk menginisiasi pin 7 dan pin 8 Arduino sebagai Output.Kemudian perulangan dilakukan untuk menyalan dan mematikan LED Merah dan Hijau secara bergantian dalam interval 1 detik.Penjelasan lebih lengkap dan simulasinya: Bikin Flip-Flop Pakai Arduino Uno Simulator […]

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.