ndoWare

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:

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,

 

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:

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

Exit mobile version