EXPLORING THE WORLD OF MICROCONTROLLER

Kevin Arnandes
Amikom Computer Club
7 min readDec 21, 2023

Halo Sobat IOT!

Selamat datang pada modul praktikum pelatihan #1 divisi Internet Of Thing’s AMCC 2023/2024. Mari kita kenalan dengan perangkat mikrokontroller 🙌

Apa Itu Mikrokontroller?

Mikrokontroller berasal dari Kata “Mikro” yang berarti kecil dan “kontroler” sebgai pengontrol atau pengendali suatu sistem. Mikrokontroller merupakan komponen umum dalam sistem elektronika modern dan biasanya digunakan untuk menjalankan suatu tugas atau program.

Apa Hubungan Mikrokontroller dengan IOT?

internet of things merupakan sebuah konsep di mana suatu benda atau objek ditanamkan teknologi-teknologi seperti sensor dan software dengan tujuan untuk berkomunikasi, mengendalikan, menghubungkan, dan bertukar data melalui perangkat lain selama masih terhubung ke internet.

Mikrokontroler memiliki kemampuan untuk terhubung ke Internet of Things (IoT) karena adanya berbagai fitur dan kemampuan yang mendukung konektivitas.

Perangkat Pembelajaran Mikrokontroller

Arduino

Ketiga varian Arduino, yaitu Arduino UNO, Arduino Mega, dan Arduino Nano, memiliki kesamaan dalam dasar konsep pengembangan perangkat keras dan perangkat lunak. Sama-sama berbasis mikrokontroller AVR ATmega 328P, sehingga dari pemrosesan mempunya fitur yang sama, tegangan kerja 5V, clock 16Mhz, 16 digital IO (4 PWM), EEPROM 1kB, SRAM 2kB, flash 32kB.

Perbedaan antara Arduino UNO, MEGA, dan NANO:

  • Ukuran, Arduino Nano memiliki ukuran paling kecil diantara ketiganya, dan Arduino MEGA memiliki ukuran paling besar.
  • Jumlah PIN I/O, Arduino Uno memiliki 14 pin digital, dan 6 pin analog. Arduino Mega memiliki 54 pin digital, dan 16 pin analog. Arduino Nano memiliki 14 pin digital, dan 8 pin analog.
  • USB Jack, Arduino UNO dan Mega menggunakan USB type A, sedangkan NANO menggunakan USB mini.

NodeMCU, dan ESP

NodeMCU adalah sebuah platform IoT yang bersifat opensource. Terdiri dari perangkat keras berupa System On Chip ESP8266 dari ESP8266 buatan Espressif System, juga firmware yang digunakan, yang menggunakan bahasa pemrograman scripting Lua. Istilah NodeMCU secara default sebenarnya mengacu pada firmware yang digunakan daripada perangkat keras development kit.

NodeMCU bisa dianalogikan sebagai board arduino-nya ESP8266. Dalam seri tutorial ESP8266 embeddednesia pernah membahas bagaimana memprogram ESP8266 sedikit merepotkan karena diperlukan beberapa teknik wiring serta tambahan modul USB to serial untuk mengunduh program.

Perbedaan NodeMCU ESP8266 dengan ESP32:

  • Mikrokontroller Inti, NodeMCU menggunakan ESP8266, dan ESP32 menggunakan ESP32 yang memiliki kemampuan lebih canggih dan lebih banyak fitur dibandingkan NodeMCU yang ESP8266
  • Jumlah Pin I/O, NodeMCU memiliki pin lebih sedikit dibanding ESP32.
  • Kompatibilitas, NodeMCU biasanya digunakan untuk project yang memerlukan koneksi WiFi sederhana, sedangkan ESP32 biasanya untuk project yang membutuhkan WiFi, dan Bluetooth, serta proyek-proyek yang memerlukan kecepatan dan kapasitas pemrosesan yang lebih tinggi.

Wemos

Wemos D1, sebuah papan pengembangan berbasis wifi dari keluarga ESP8266, menjadi pilihan unggul untuk proyek IoT berkat kemudahan pemrograman menggunakan software IDE Arduino. Meskipun secara fisik menyerupai Arduino Uno, Wemos D1 menonjol dengan spesifikasi yang jauh lebih unggul. Keunggulan ini mencakup kemampuan konektivitas wifi yang kuat dan kapasitas pemrosesan yang lebih tinggi, menjadikannya solusi yang efisien dan handal untuk berbagai proyek pengembangan perangkat nirkabel.

Text Editor, dan Platform Pembelajaran

Arduino IDE

Arduino IDE adalah software yang digunakan untuk membuat sketch pemrogaman atau dengan kata lain arduino IDE sebagai media untuk pemrogaman pada board yang ingin diprogram. Arduino IDE ini berguna untuk mengedit, membuat, meng-upload ke board yang ditentukan, dan meng-coding program tertentu.

Arduino IDE dibuat dari bahasa pemrogaman JAVA, yang dilengkapi dengan library C/C++(wiring), yang membuat operasi input/output lebih mudah.

link Download: https://www.arduino.cc/en/software

Tinkercad

Tinkercad muncul sebagai sebuah platform inovatif yang menyediakan fasilitas daring untuk memfasilitasi pembelajaran dalam berbagai bidang, mulai dari desain 3D, rangkaian elektronika, hingga pemrograman dengan code block. Dengan kemudahan akses melalui web, Tinkercad menjadi wadah ideal bagi para pembelajar untuk mengeksplorasi kreativitas mereka secara interaktif, mendapatkan pengalaman praktis dalam membuat desain tiga dimensi, merakit rangkaian elektronika, dan mengembangkan keterampilan pemrograman dengan mudah.

Fritzing

Fritzing adalah suatu software atau perangkat lunak gratis yang digunakan oleh desainer, seniman, dan para penghobi elektronika untuk perancangan berbagai peralatan elektronika.

WokWi

Wokwi adalah salah satu simulator online elektronika yang dapat digunakan untuk mensimulasikan berbagai macam projek elektronika.

Fitur Wokwi:

  • Simulasi papan mikrokontroler populer seperti Arduino, ESP32, dan STM32.
  • Memungkinkan Anda untuk menulis dan menguji kode Anda untuk papan ini tanpa perangkat keras fisik apa pun.
  • Menyediakan papan roti virtual tempat Anda dapat menghubungkan berbagai komponen seperti LED, sensor, motor, dll.
  • Menjalankan simulasi secara real-time, menunjukkan kepada Anda bagaimana kode Anda berinteraksi dengan komponen virtual.

Kelebihan Wokwi:

  • Get started quickly: Mulai petualangan koding Anda tanpa menunggu-nunggu komponen atau mengunduh perangkat lunak. Cukup kunjungi Wokwi dan langsung ekspresikan ide kreatif Anda.
  • Make mistakes safely: Jangan risau merusak perangkat keras sebenarnya. Sirkuit virtual Wokwi aman dari kerusakan, sehingga Anda bebas bereksperimen tanpa kekhawatiran.
  • Easy sharing and collaboration: Bagikan proyek Wokwi Anda dengan mudah menggunakan tautan simpel, memungkinkan kolaborasi dan umpan balik menjadi sesuatu yang sederhana dan menyenangkan.
  • Unlimited hardware: Bangun proyek sesuai kebutuhan Anda, tanpa batasan jumlah komponen. Tidak perlu khawatir tentang biaya atau ketersediaan, karena Wokwi memberikan kebebasan tanpa batas.
  • Gain confidence: Uji dan sempurnakan kode Anda sebelum melibatkan komponen fisik, memberikan kepercayaan diri yang lebih besar dan meningkatkan kesuksesan proyek Anda.

Proteus

Proteus adalah sebuah software yang digunakan untuk mendesain PCB yang juga dilengkapi dengan simulasi PSpice pada level skematik sebelum rangkaian skematik di-upgrade ke PCB untuk memastikan PCB dapat berfungsi dengan semestinya. Proteus mengkombinasikan program I.S.I.S untuk membuat skematik desain rangkaian dengan program ARES untuk membuat layout PCB dari skematik yang dibuat.

Praktek WokWi

Judul Praktek: Jedag Jedug LED dengan Arduino

Hasil Akhir Rangkaian dan Code Pelatihan #1

Started

Klik Link berikut: https://wokwi.com/ atau ketik di google wokwi

Tampilan Awal Wokwi
Tampilan Utama Wokwi Simulation

Tambahkan Alat yang akan digunakan

Klik icon + pada bagian Simulation. Ketik LED pada kolom search yang sudah disediakan, dan ketik Breadboard pada kolom search untuk mendapatkan Breadboard.

Buka diagram.json untuk melakukan rotate pada breadboard dan led. Type “wokwi-breadboard”, dan “wokwi-led”, tambahkan “rotate”: 90 untuk rotasi 90 derajat.

{
"version": 1,
"author": "MAS GANTENG",
"editor": "wokwi",
"parts": [
{
"type": "wokwi-breadboard",
"id": "bb1",
"top": 216.2,
"left": 61.6,
"rotate": 90,
"attrs": {}
},
{ "type": "wokwi-arduino-uno", "id": "uno", "top": 0.6, "left": -12, "attrs": {} },
{
"type": "wokwi-led",
"id": "led1",
"top": 37.2,
"left": 371.4,
"rotate": 90,
"attrs": { "color": "red" }
}
],
"connections": [ [ "led1:A", "bb1:6b.f", "", [ "$bb" ] ], [ "led1:C", "bb1:5b.f", "", [ "$bb" ] ] ],
"dependencies": {}
}

Mari kita Rangkai

Menggunakan PIN 7 untuk rangkaian LED

Rangkaiannya kan sederhana, kenapa pakai Breadboard? Sejak awal kita bakalan kasih note wajib breadboard dengan tujuan sobat IOT terbiasa dan membuat rangkaian lebih rapi.

Mari Kita Coding

int LED_1 = 7;

void setup() {
// put your setup code here, to run once:
pinMode(LED_1, OUTPUT);

}

void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_1, HIGH);
delay(100);
digitalWrite(LED_1, LOW);
delay(100);
}
  • Bari pertama kode adalah deklrasi LED dengan PIN yang dipakai adalah PIN 7
  • void setup() adalah kode program dengan satu kali perintah layaknya setup yang berarti sekali. Disini kita melakukan setup LED dengan kode program pinMode(LED_1, OUTPUT);
  • pinMode memiliki fungsi untuk mendefinisikan suatu pin digunakan sebagai input atau output
  • void loop(): Kode program ini akan dijalankan secara berulang ulang setelah void setup selesai dieksekusi
  • digitalWrite(LED_1, HIGH): mengatur status suatu pin menjadi HIGH, yang berarti memberikan tegangan atau sinyal tinggi.
  • delay(100): memberikan jeda waktu dalam milidetik(ms), ketika LED_1 statusnya HIGH, program akan menunggu selama 100ms sebelum melakukan program berikutnya
  • digitalWrite(LED_1, LOW): mengatur status suatu pin menjadi LOW, yang berarti memberikan tegangan atau sinyal rendah.

--

--

Kevin Arnandes
Amikom Computer Club

Seorang mahasiswa yang mau tulisannya dibaca banyak orang. Karena kesepian. Saya Kevin Arnandes tertarik pada Machine Learning, Food, and Love