Selamat datang di blogs UNYDeveloperNetwork. Sebagai anak teknik, Saya selalu ingin bermain. Bermain dengan hal-hal yang berbau teknik tentunya. Salah satunya adalah bermain dengan microcontroller. Mengapa saya tertarik dengan microcontroller? Bagi Saya, microcontroller itu adalah sebuah keajaiban. Karena dengan microcontroller kita dapat mengatur, membuat kinerja sebuah alat menjadi otomatis dengan menggunakan komponen-komponen listrik yang ada di sekitar kita. Tapi, untuk belajar microcontroller ini kita harus merogoh dana yang tidak sedikit. Eiits, tapi tenang saja. Ada yang bisa membantu kita untuk belajar microcontroller dengan gratis.
Sebelumnya Saya ingin mengatakan, jika Saya suka bermain dengan microcontroller terutama Arduino. Dan itu membutuhkan biaya yang tidak sedikit untuk penyediaan komponen – komponennya. Namun, ternyata di luar sana terdapat satu tool yang dapat membantu kita untuk belajar microcontroller ini secara gratis. Bahkan, komponen – komponennya juga lengkap. Tool tersebut bernama TinkerCad by AutoDesk.
Jadi, TinkerCad ini adalah sebuah tool pemodelan dan simulasi 3D yang gratis dan terkenal akan ke-simple-annya dan kemudahan penggunaannya. User juga hanya perlu menggunakan akun Google atau akun Apple nya untuk melakukan signup. Jika tidak memiliki akun Google atau Apple juga bisa menggunakan alamat email yang lain.
Setelah signup, Kita akan langsung dibawa ke dashboard. Berikut adalah tampilan dari dasboard TinkerCad.
Secara default, terdapat empat pilihan menu. Yakni 3D Designs, Circuits, Codeblocks, dan Lessons. Jadi, Selain kita dapat membuat project kita sendiri, kita juga dapat belajar mengikuti arahan belajar dari TinkerCad ini. Namun, karena kita akan membuat project yang menggunakan komponen- komponen elektronik, maka kita pilih yang Circuits.
Setelah kita masuk ke mode Circuits, kita akan menemukan project space seperti tangkapan layar di bawah ini.
Langsung saja kita klik tombol Create New Circuit. Dan kita langsung di bawa ke worskpace Circuits.
Untuk komponen apa saja yang dimiliki oleh TinkerCad ini, silakan Anda bisa mengeksplorenya sendiri, dikarenakan komponennya yang cukup banyak.
Sekarang kita akan membahas apa sajakah yang dapat dilakukan oleh TinkerCad ini. Saya akan mulai dengan sesuatu yang paling sederhana. Yakni dengan menggunakan Arduino dan satu lampu LED dan membuatnya berkedip dalam satuan waktu tertentu. Desain dan kodenya adalah seperti tangkapan layar di bawah ini.
/Blinking LED
void setup(){
pinMode(13, OUTPUT);
}
void loop(){
digitalWrite(13, HIGH);
// Wait for 1000 millisecond(s)
delay(1000);
digitalWrite(13, LOW);
// Wait for 1000 millisecond(s)
delay(1000);
}
Bagaimanakah hasilnya? Klik pada Start Simulation untuk mengetahuinya.
Yap, tampak sekali LED berkedip setiap 1 detik. Sekarang kita akan melanjutkannya dengan menggunakan Potensiometer, LED, dan Resistor 470ฮฉ. Jadi, sekarang kita akan mengatur jarak antar kedipan dengan menggunakan potensiometer. Desain dan kodenya ada di bawah ini.
//Turning Blinking LED
int pot;
void setup(){
pinMode(9, OUTPUT);
}
void loop(){
pot = analogRead(A0);
digitalWrite(9, HIGH);
delay(pot);
digitalWrite(9, LOW);
delay(pot);
}
Bagaimana hasilnya setelah kita jalankan? Mari kita lihat video di bawah ini.
Saat kita putar – putar potensiometernya, tampak jarak antar kedipan LED berubah.
Kemudian, bagaimana dengan komponen yang lain? Misalnya Button? Ternyata dengan TinkerCad ini, kita juga bisa mensimulasikannya. Seperti halnya dengan rangkaian di bawah ini yang menggunakan Push Button, Resistor 10K, dan LED Merah serta yang jelas Arduino Uno.
//Push Button LED
const int buttonPin = 2;
const int ledPin = 13;
int buttonState = 0;
void setup(){
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
if(buttonState == HIGH){
digitalWrite(ledPin, HIGH);
}
else{
digitalWrite(ledPin, LOW);
}
}
Bagaimana hasilnya jika kita RUN? Mari kita lihat video di bawah ini.
Bagus ya? ketika tombolnya di tekan, maka LED akan menyala. Sekarang, Saya ingin mencoba komponen lain, yakni menggunakan motor servo. Rangkaian di bawah ini menggunakan Arduino Uno dan Motor Servo.
#include <Servo.h>
Servo myservo;
int pos = 0;
void setup(){
myservo.attach(9);
}
void loop(){
for (pos = 0; pos <= 180; pos++){
myservo.write(pos);
delay(15);
}
for(pos = 180; pos >= 0; pos--){
myservo.write(pos);
delay(15);
}
}
Dan di bawah ini adalah video penampakan ketika rangkaian tersebut dijalankan.
Sampai di sini saya masih penasaran dengan kemampuan tool ini. Akhirnya, Saya putuskan untuk mencoba membuat display LCD dengan menggunakan LCD 16×2. Saya ingin menampilkan teks:
Baris Pertama: Message:
Baris Kedua: Hello, this is Muhammad Irfan Luthfi speaking.
Dengan menggunakan TinkerCad ini, berikut adalah desain Saya:
Dan berikut adalah koding yang Saya gunakan untuk model di atas:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int i = 16;
int j, alpha, redo, algebra = 0;
//------------------------------------------------- instant usage -----------------------------------------------
char mytext[] = "Hello, this is Muhammad Irfan Luthfi speaking. "; //Don't forget to add a white space in the end of the text.
int lcdLine = 1; //choose line 1 (0) or line 2 (1);
int rollSpeed = 150; //in millis
int delayPerRoll = 1000; //in millis
//---------------------------------------------------------------------------------------------------------------
void setup(){
lcd.begin (16,2);
// Switch on the backlight
lcd.home ();
alpha = sizeof(mytext) - 1; //get the array size of mytext;
redo = sizeof(mytext) - 1; //get the array size of mytext;
lcd.setCursor(0,0);
lcd.print("Message:");
}
void loop(){
if(i >= 0){
j++;
lcd.setCursor (i,lcdLine);
for(int k = 0; k<j; k++){
lcd.print(mytext[k]);
}
}
else if(i < 0){
int rr = 0;
algebra++;
lcd.setCursor (0,lcdLine);
for(int k = algebra ; k<alpha; k++){
lcd.print(mytext[k]);
rr++;
if(rr == 16){
k = alpha;
}
}
redo--;
}
delay(rollSpeed);
i--;
if(redo == 0){
i = 16;
j = 0;
redo = alpha;
algebra = 0;
delay(delayPerRoll);
}
}
Lalu, bagaimanakah hasilnya? Berikut adalah video ketika model tersebut disimulasikan:
Kemudian, Saya Penasaran. Bagaimanakah jika kita menggunakan Sensor? Misalnya saja sensor Ultrasonic untuk mengetahui jarak dengan batasan 2 meter. Berikut adalah desain yang Saya buat.
Dan berikut ini adalah kode yang Saya gunakan.
#define ECHOPIN 6
#define TRIGPIN 7
void setup(){
Serial.begin(9600);
pinMode(ECHOPIN, INPUT);
pinMode(TRIGPIN, OUTPUT);
}
void loop(){
digitalWrite(TRIGPIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGPIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGPIN, LOW);
int distance = pulseIn(ECHOPIN, HIGH);
distance = distance/58;
if(distance<=0){
distance = 0;
}
if(distance>=200){
distance = 200;
}
Serial.print(distance);
Serial.println(" cm");
delay(1);
}
Lalu, bagaimana jalannya ketika disimulasikan? ternyata simulasi yang dimiliki oleh tool ini sangat baik. Perkiraan Saya, ketika model ini dijalankan tidak akan memberikan hasil yang baik, karena hanya simulasi. Namun, ternyata hasilnya: bagus sekali. Berikut adalah video ketika simulasi dengan menggunakan model ini dijalankan.
Jadi setelah Saya mencoba beberapa komponen untuk beberapa model, Saya menyimpulkan bahwa tool ini benar – benar sangat bagus untuk belajar microcontroller. Bahkan di tool ini juga memiliki banyak IC yang dapat Anda gunakan untuk belajar Gerbang Logika. Tentu untuk anak kuliah Elektronika dan Elektro, tool semacam ini akan sangat bermanfaat. Karena tanpa membeli komponen, kita sudah dapat membuat model rangkaian elektronika dan menjalankannya tanpa harus takut terjadinya kerusakan. Bahkan, jika terdapat error dalam perancangan, tool ini juga mampu memberikan feedback yang dapat kita gunakan untuk belajar. Contohnya adalah seperti pada kasus di bawah ini.
Di model yang Saya desain di atas, Saya sengaja mengatur resistornya menjadi 1ฮฉ. Hasilnya adalah, model tetap dapat dijalankan, namun terdapat feedback yang menyatakan bahwa ada komponen yang kurang tepat pengaturannya. Sehingga, kita dapat menggunakan feedback tersebut untuk melakukan pengaturan ulang pada komponen – komponen yang ada di model yang sudah kita buat.
Saya simpulkan sekali lagi, selain sebagai tool untuk melakukan simulasi. Tool ini juga dapat digunakan sebagai bahan media belajar. Karena, setiap error yang terjadi, pasti memunculkan feedback yang dapat kita gunakan untuk belajar. Sehingga, pada akhirnya kita akan semakin memahami tiap – tiap komponen dipakai dalam rangkaian elektronika yang kita buat.
Demikianlah sedikit pembahasan Saya mengenai penggunaan tool gratis TinkerCad untuk belajar microcontroller. Semoga bermanfaat untuk Anda semua. Jika Anda memiliki pertanyaan, jangan segan untuk meninggalkannya di kolom komentar. Saya akan segera menjawab pertanyaan Anda. Jika Anda ingin mencuplik artikel ini, jangan lupa juga untuk menyertakan URL-nya. Terima Kasih.. ^_^