Contoh Aplikasi Cyber Physical System (CPS) di berbagai bidang adalah sebagai berikut:
Bidang Manufakturing dan Produksi meliputi bidang manufaktur yang lincah, konektivitas pada jalur pasokan
Aplikasi CPS pada manufaktur dan produksi:
Intelligent controls: Kendali cerdas
Otomasi proses dan perakitan
Robot yang dapat bekerja secara aman dengan manusia
Bidang transportasi dan pergerakan meliputi kendaraan otonom dan kendaraan cerdas, baik di darat, udara, perairan dan angkasa luar; Komunikasi antar kendaraan dan kendaraan ke infrastruktur transportasi.
Sistem kendaraan dengan ‘drive by wire’, artinya kendali pada kendaraan tidak langsung oleh manusia namun dibantu dengan perangkat komputer
mobil dengan kecerdasan
Sistem kendali lalu lintas yang interaktif
Sistem transportasi udara generasi selanjutnya
Energi meliputi sistem kelistrikan, sumber energi terbarukan, produksi minyak dan gas
Jaringan listrik cerdas
Sistem pengisian listrik pada kendaraan
Jaringan distribusi minyak dan gas dengan kecerdasan
Konsep smart power grid masa depan
Infrastruktur sipil meliputi jembatan, bendungan, pengolahan air bersih dan air limbah
Monitoring secara aktif dan sistem kendali , misal pada jembatan dan bendungan
Jaringan air dan limbah dengan kecerdasan
Kesehatan meliputi perangkat kesehatan, perangkat kesehatan pribadi, diagnosa penyakit dan pencegahan penyakit.
Aplikasi CPS pada bidang kesehatan:
Jaringan komunikasi personal (untuk alat kesehatan pada seseorang)
Sistem untuk membantu kesehatan
Sensor yang dapat dikenakan pada manusia dan perangkat yang dipasang di dalam tubuh
Bangunan dan Struktur meliputi bandungan perumahan dan komersil dengan performansi tinggi
Aplikasi CPS pada bangunan dan struktur:
Pengendalian seluruh aspek pada bangunan
Perangkat HVAC cerdas
Sistem otomasi bangunan
Perabot dan perangkat rumah/kantor yang tersambung ke jaringan
Jembatan dengan kecerdasan
Pertahanan dan Keamanan meliputi perangkat tentara, persenjataan, perangkat logistik, sensor otonom bawah air
Aplikasi CPS pada pertahanan & keamanan:
senjata cerdas, dalam arti berpandu dan presisi
perangkat komputasi dan sensor yang dapat dikenakan oleh prajurit
Kendaraan cerdas tidak berawak
Rantai pasokan dan logistik
Keadaan Darurat meliputi perangkat bagi responden pertama, perangkat komunikasi , perangkat pemadam api.
Arduino adalah kerangka kerja untuk membuat sistem elektronik open-source yang meliputi sejumlah perangkat keras dan perangkat lunak. Sebagian perangkat keras Arduino menggunakan prosesor/mikrokontroler dari keluarga ATmega. Perangkat keras yang kompatibel dengan Arduino meliputi modul mikrokontroler buatan Arduino serta berbagai modul mikrokontroler lain yang sudah dibuat librarynya supaya kompatibel dengan Arduino. Bahasa pemrograman yang dipakai untuk mengembangkan aplikasi pada Arduino adalah C/C++.
PLC atau Programmable Logic Controller atau terjemahannya “pengontrol yang dapat diprogram” adalah komputer untuk keperluan industri yang telah dibuat kokoh dan disesuaikan untuk mengontrol proses manufaktur di pabrik, seperti jalur perakitan, mesin-mesin pabrik, perangkat robot, atau aktivitas apa pun yang memerlukan keandalan tinggi, kemudahan pemrograman, dan diagnosa jika ada kesalahan proses.
Perangkat PLC untuk monitoring pabrik farmasi
Tabel Perbedaan Arduino dan Programmable Logic Controller
Aspek
Arduino
PLC
Keandalan
tergantung implementasi hardware & software
tinggi sesuai standar industri NEMA/IEC dan sebagainya
Ukuran
relatif kecil
relatif besar
Aplikasi
bebas, fleksibel
industri, otomasi
Bahasa pemrograman
Relatif rendah: C dan C++
Relatif tinggi, seperti:
Ladder Diagram
Instruction List
Structured Text
Function Block Diagram
Sequential Function Chart
Skalabilitas
Untuk sistem yang besar, perlu proses rekayasa yang cukup kompleks.
mudah untuk dikembangkan, modul-modul sudah tersedia
Real Time
Perlu rekayasa di antaranya dengan menggunakan sistem operasi real time (RTOS)
sudah dirancang real-time
Mikrokontroler
menggunakan berbagai macam mikrokontroler yang berpengaruh terhadap proses rekayasa sistem.
Secara internal menggunakan mikrokontroler / mikroprosesor, namun pemakai tidak dipusingkan oleh jenis mikrokontroler yang dipakai.
Fleksibilitas
Sangat fleksibel tergantung kreatifitas perekayasa / pembuat
konfigurasi sesuai dengan modul yang tersedia dari pabrikan
Komputasi
fleksibel tergantung jenis mikrokontroler yang dipakai
relatif lambat
Biaya
murah untuk sistem yang sederhana
harga lebih mahal terutama untuk sistem yang sederhana
Bentuk & Ukuran
bentuk bebas, karena Arduino hanya mikrokontrolernya saja
Bentuk sudah tertentu, karena umumnya untuk dipasang di rak dengan standar ukuran tertentu
Arsitektur software
semua periferal dan memori pada Arduino dapat diatur secara bebas. Arsitektur software bebas.
Arduino adalah kerangka kerja untuk membuat sistem elektronik open-source yang meliputi sejumlah perangkat keras dan perangkat lunak. Sebagian perangkat keras Arduino menggunakan prosesor/mikrokontroler dari keluarga ATmega. Perangkat keras yang kompatibel dengan Arduino meliputi modul mikrokontroler buatan Arduino serta berbagai modul mikrokontroler lain yang sudah dibuat librarynya supaya kompatibel dengan Arduino. Bahasa pemrograman yang dipakai untuk mengembangkan aplikasi pada Arduino adalah C/C++.
NodeMCU adalah kerangka pengembangan IoT open source berbiaya murah. Perangkat NodeMCU meliputi firmware NodeMCU dan perangkat keras berbasis ESP32 dan ESP8266 yang kompatibel. Bahasa pemrograman yang dipakai untuk mengembangkan aplikasi pada NodeMCU adalah Lua
Pada awalnya yang disebut NodeMCU adalah software (firmware) tertentu yang dijalankan pada modul ESP8266 dan modul ESP-12. Saat ini NodeMCU juga dapat dijalankan di ESP32.
Arduino UNO (kiri), NodeMCU ESP8266 (kanan)
Hardware NodeMCU
Hardware NodeMCU ada yang berbasis ESP8266 dan ESP32.
NodeMCU berbasis ESP32 biasanya menggunakan board DevkitC
Arduino adalah kerangka kerja untuk membuat sistem elektronik open-source yang meliputi sejumlah perangkat keras dan perangkat lunak. Sebagian perangkat keras Arduino menggunakan prosesor/mikrokontroler dari keluarga ATmega.
Mikrokontroler adalah komputer kecil pada suatu keping rangkaian integrasi (integrated circuit/IC) terpadu. Pada mikrokontrole sudah ada CPU (Central Processing Unit) , memori dan periferal. Mikrokontroler umumnya dirancang untuk aplikasi yang tertanam di perangkat lain, atau dikenal dengan istilah ‘embedded system’.
Perangkat keras Arduino menggunakan mikrokontroler, namun tidak semua mikrokontroler adalah bagian dari Arduino
Berikut ini contoh mikrokontroler ATmega8535 yang tidak termasuk Arduino.
Perangkat Keras Arduino
Berikut ini contoh perangkat keras Arduino yang menggunakan mikrokontroler dari keluarga ATmega
Berikut ini contoh mikrokontroler yang tidak termasuk pada sistem Arduino:
ATmega8535
ATmega8
ATmega16
ATmega32
Mikrokontroler Secara Umum
Mikrokontroler adalah komputer kecil pada suatu keping rangkaian integrasi (integrated circuit/IC) terpadu. Pada mikrokontrole sudah ada CPU (Central Processing Unit) , memori dan periferal. Mikrokontroler umumnya dirancang untuk aplikasi yang tertanam di perangkat lain, atau dikenal dengan istilah ‘embedded system’.
Pada masa lalu, mikrokontroler umumnya dibuat dalam 1 keping chip. Pada saat ini mulai dikenal konsep SoC (System on a Chip). SoC ini menggabungkan keping silikon berisi mikrokontroler dengan komponen-komponen lain yang lebih kompleks, misalnya GPU (Graphical Processing Unit) ataupun antarmuka WiFi.
Mikrokontroler digunakan dalam berbagai produk dan perangkat yang dikontrol secara otomatis, seperti sistem kontrol mesin mobil, perangkat medis, remote control, mesin kantor, alat rumah tangga, perkakas listrik, mainan, dan sistem tertanam (embedded) lainnya. Desain dengan mikrokontroler lebih ekonomis daripada mikroprosesor karena pada mikrokontroler memori dan perangkat input/output dapat digabung dalam 1 chip, sedangkan pada mikroprosesor memori dan perangkat input/output harus ditambahkan pada chip terpisah.
Mikrokontroler ada murni digital, ada juga yang campuran antara sinyal digital dan analog. Dalam konteks internet of things (IoT), mikrokontroler adalah teknik pengumpulan data yang ekonomis dan populer, mengukur dan mengendalikan dunia fisik sebagai perangkat ‘komputasi tepi’. Kontras dari ‘komputasi tepi’ adalah ‘komputasi awan’ atau ‘cloud computing’, di mana data & informasi dikumpulkan secara terpusat untuk kemudian semua data diolah secara terpusat.
Arduino UNO R3, ESP32 Devkit-C , ESP32 Lolin32 Lite
Arduino UNO
Arduino UNO R3 asli
Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Pada kondisi terburuk, chip ATmega328 dengan kemasan DIP (Dual In line Package) dapat diganti jika rusak.
ESP32
ESP 32 adalah mikrokontroler yang memiliki banyak fitur pada prosesornya, dan dilengkapi dengan konektivitas Wi-Fi dan Bluetooth terintegrasi untuk berbagai macam aplikasi.
ESP32 mampu berfungsi dengan andal di lingkungan industri, dengan suhu pengoperasian mulai dari –40°C hingga +125°C. ESP32 dapat secara dinamis menghilangkan ketidaksempurnaan sirkuit eksternal dan beradaptasi dengan perubahan kondisi eksternal dengan dukungan rangkaian kalibrasi di dalamnya. Rangkaian kalibrasi ini memungkinkan WiFi pada ESP32 berfungsi tanpa perlu kalibrasi ekstra.
ESP32 dirancang untuk perangkat bergerak (mobile), perangkat elektronik yang dapat dikenakan (wearable electronics), dan aplikasi IoT. Konsumsi daya ESP32 dapat dibuat sangat rendah dengan kombinasi beberapa macam perangkat lunak khusus. ESP32 juga mencakup fitur-fitur canggih, seperti ‘clock gating‘ untuk mereduksi konsumsi daya, berbagai mode daya, dan penskalaan daya secara dinamis.
ESP32 dibuat sangat terintegrasi dengan sakelar pemilih antena di dalamnya, RF balun, power amplifier untuk radio, amplifier penerima radio dengan kebisingan rendah (low noise), filter, dan modul manajemen daya. ESP32 menambahkan fungsionalitas dan keserbagunaan yang banyak aplikasi dengan hanya memerlukan ruang kecil di PCB (Printed Circuit Board)
ESP32 dapat berfungsi sebagai sistem mandiri yang lengkap atau sebagai perangkat pembantu ke mikrokontroler lain, mengurangi overhead tumpukan komunikasi pada prosesor aplikasi utama. ESP32 dapat berinteraksi dengan sistem lain untuk menyediakan fungsionalitas Wi-Fi dan Bluetooth melalui antarmuka SPI/SDIO atau I2C/UART.
Modul ESP32 tersedia dalam berbagai versi, di antaranya adalah Lolin32 Lite dan DevkitC serta clone nya.
ESP32 memiliki beberapa kelebihan dibandingkan Arduino. Di antaranya sebagai berikut:
Prosesor di ESP32 dari keluarga Xtensa, lebih cepat dibandingkan prosesor ATmega dengan arsitektur AVR. ESP32 clocknya adalah 240 MHz, sedangkan Arduino UNO menggunakan ATmega328 dengan kecepatan maksimum 16 MHz
Jumlah core pada prosesornya lebih banyak. ESP32 mempunyai 2 core, sedangkan ATmega328 hanya 1 core saja.
Memori Flash yang terhubung lebih banyak. ESP32 memiliki Flash Memory sebesar 1 MB sampai 16 MB. Arduino UNO memiliki memori flash sebesar 32 KB. Model Arduino lain ada yang memiliki flash lebih besar, seperti ATmega2560 yang memiliki flash sebesar 256 KB
Memori RAM lebih besar. ESP32 memiliki SRAM 520 KiB, sedangkan Arduino UNO memiliki SRAM hanya 2 KB. ATmega2560 memiliki SRAM sebesar 8 kilobyte
ESP32 memiliki kemampuan nirkabel WiFi 802.11 dan Bluetooth. Fitur ini di Arduino UNO tidak ada, harus menambah modul/shield.
Arduino adalah kerangka kerja untuk membuat sistem elektronik open-source yang meliputi sejumlah perangkat keras dan perangkat lunak. Sebagian perangkat keras Arduino menggunakan prosesor/mikrokontroler dari keluarga ATmega.
ATmega adalah keluarga mikrokontroler dari arsitektur AVR yang diproduksi oleh perusahaan Atmel. Saat ini perusahaan Atmel sudah diakuisisi oleh Microchip.
Perangkat Keras Arduino
Berikut ini contoh perangkat keras Arduino yang menggunakan prosesor ATmega
praktis semua bahasa pemrograman yang dapat dijalankan di sistem operasi Linux
Port USB
1 buah USB type B untuk port serial dan catu daya
1 buah mini USB untuk catu daya 4 buah USB type-A untuk memasang periferal seperti keyboard-USB dan mouse-USB
Koneksi jaringan komputer
tidak ada
Ethernet 802.3 dan Wifi 802.11 (2,4 GHz)
Tegangan Kerja
5 volt
3,3 volt
Catu Daya
5 volt (USB), 6 ~ 12 volt (pin catu daya). Konsumsi arus untuk prosesor maksimum adalah 14 mA. Konsumsi arus untuk periferal output maksimum 200 mA.
5 VDC, 2,5 ampere
Ukuran
68,6 mm x 53,4 mm
85 mm x 56 mm
berat
37 g
50 g
harga
Rp 350.000 ~ Rp 450.000
Rp 3,5 juta (model B+)
Arduino UNO
Arduino UNO R3 asli
Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Jika ATmega328 rusak dapat diganti jika rusak.
Raspberry PI Model 3
Spesifikasi Raspberry Pi secara ringkas
The Raspberry Pi 3 Model B+ is the final revision in the Raspberry Pi 3 range.
erlu akses langsung ke interupsi pada mikroprosesor. Pada Raspberry Pi, interupsi diurus oleh sistem operasi, jadi tidak dapat diakses langsung oleh pengguna.
Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Pada kondisi terburuk, chip ATmega328 dengan kemasan DIP (Dual In line Package) dapat diganti jika rusak.
Arduino Mega 2560
Arduino Mega 2560 adalah modul mikrokontroler berbasis prosesor ATmega2560. Arduino Mega 2560 memiliki 54 pin input/output digital (15 di antaranya dapat digunakan sebagai output Pulse Width Modulation(PWM) / Modulasi Lebar Pulsa), 16 input analog, 4 UART (port serial perangkat keras), osilator kristal 16 MHz, koneksi USB, colokan catu daya, header ICSP (In Circuit Serial Programming), dan tombol reset. Modul berisi semua komponen yang diperlukan untuk menjalankan sistem mikrokontroler; Untuk mulai menggunakan/mengaktifkan, cukup dengan menyambungkan modul ini ke komputer dengan kabel USB atau nyalakan dengan adaptor AC-ke-DC atau baterai. Modul Arduino Mega 2560 kompatibel dengan sebagian besar perisai yang dirancang untuk Arduino UNO dan modul sebelumnya seperti Arduino Duemilanove atau Arduino Diecimila.
Arduino Mega 2560 adalah versi baru dari Arduino Mega. Perbedaan utama Arduino Mega 2560 dengan Arduino Mega adalah prosesor yang dipakai. Arduino Mega 2560 menggunakan prosesor ATmega 2560, sedangkan Arduino Mega menggunakan prosesor ATmega 1280.
Berikut ini perbedaan utama antara Arduino Uno dan Arduino Nano
Parameter
Arduino Uno
Arduino Nano
Ukuran
68,6 mm x 53,4 mm
18 mm x 45 mm
Konektor USB
USB type B
USB mini
Analog Input
6
8
Tegangan catu daya
6 sampai 20 volt DC, namun disarankan hanya 7 sampai 12 volt DC
7 sampai 12 volt DC
Pin untuk Digital Input/Output
14 (6 dengan fitur Pulse Width Modulation)
22 (6 dengan fitur Pulse Width Modulation)
Berat
25 g
7 g
Ukuran
lebih besar, terutama dirancang untuk dipasangi Arduino Shield
lebih kecil, terutama dirancang untuk dipasang di breadboard
Kesamaan antara Arduino UNO dan Nano:
Parameter
Nilai
Prosesor
ATmega328 (arsitektur AVR)
Clock prosesor
16 MHz
Digital Input/Output
14
EEPROM
1 kilobyte
SRAM
2 kilobyte
Flash memory
32 kilobyte ( 2 kilobyte untuk boot loader)
Arduino UNO (atas) dan Arduino Nano (bawah)
Arduino UNO
Arduino UNO R3 asli
Arduino UNO adalah rangkaian mikrokontroler berbasis ATmega328P. Arduino UNO memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz sebagai sumber clock, koneksi USB untuk catu daya dan komunikasi serial, colokan listrik DC, header ICSP (In Circuit Serial Programming), dan tombol reset. Papan rangkaian Arduino UNO berisi semua hal yang diperlukan untuk mendukung mikrokontroler. Untuk menggunakan Arduino UNO, cukup dengan disambung ke komputer dengan kabel USB atau sambungkan dengan adaptor AC-ke-DC atau baterai untuk memulai. Anda dapat mengotak-atik UNO Anda tanpa terlalu khawatir melakukan kesalahan. Pada kondisi terburuk, chip ATmega328 dengan kemasan DIP (Dual In line Package) dapat diganti jika rusak.
Berikut ini contoh Arduino UNO dengan sebuah shield tampilan LCD yang dirancang untuk dipasang di atas Arduino UNO.
Arduino UNO di sebelah TFT LCD
Arduino Nano
Arduino Nano asli
Arduino Nano adalah rangkaian mikrokontroler berbasis ATmega328 dalam kemasan kecil, lengkap, dan mudah dipasang di breadboard. Ini memiliki fungsi yang kurang lebih sama dengan Arduino UNO, dengan bentuk yang lebih kecil. Arduino Nano tidak memiliki colokan listrik DC, dan konektor USB yang dipakai adalah USB mini-B, lebih kecil daripada USB type-A di Arduino UNO.
Real Time Clock (RTC) atau ‘Jam Waktu Nyata’ adalah perangkat elektronik yang mengukur berjalannya waktu. Real Time Clock dipakai sebagai jam atau referensi waktu pada sistem elektronik.
Real Time Clock umumnya memiliki catu daya tersendiri, sehingga kalau catu daya utama mati, jam pada Real Time Clock masih dapat berjalan sendiri.
Catu daya untuk RTC umumnya menggunakan baterai lithium, karena baterai lithium memiliki waktu penyimpanan yang lama. Artinya baterai lithium tidak berkurang isinya walaupun disimpan saja. Alternatif selain baterai lithium adalah menggunakan supercapacitor.
RTC umumnya ada di motherboard komputer desktop maupun laptop. Supaya waktu tidak hilang, RTC ini dilengkapi baterai lithium.
Resistor adalah komponen pasif dua terminal yang memiliki sifat melawan arus. Transistor adalah komponen aktif dari bahan semikonduktor yang berfungsi sebagai penguat atau sakelar.
Resistor
Resistor di bidang elektronika adalah komponen pasif yang memiliki tahanan listrik di dalamnya. Resistor tersusun dari material konduktor listrik. Resistor memiliki dua terminal. Hubungan antara arus dan tegangan pada resistor mengikuti hukum ohm sebagai berikut:
V = I x R
Dengan: V: tegangan listrik dengan satuan volt (V) I: arus listrik dengan satuan ampere (A) R: resistansi pada resistor dengan satuan ohm (Ω)
Berikut ini contoh komponen resistor dalam berbagai bentuk dan ukuran.
Macam-macam resistor
Transistor
Berikut ini contoh foto transistor:
Parameter
Resistor
Transistor
Peranan
menghambat arus listrik
penguat atau sakelar
Jumlah kutub
2
umumnya 3
Persamaan matematis
V = I x R
Bahan / material
karbon, thick film, thin film, metal film, metal oxide film, wire wound, metal foil
semikonduktor seperti silikon , germanium dan sebagainya
Resistor adalah komponen elektronika yang sifatnya menghambat arus listrik, Kapasitor adalah komponen elektronika yang sifatnya menyimpan energi dalam bentuk medan listrik. Induktor adalah komponen elektronika yang sifatnya menyimpan energi dalam bentuk medan magnetik pada arus yang mengalir.
Kapasitor dikenal juga sebagai kondensator.
Berikut ini penjelasan lebih panjang dari hal tersebut.
Resistor
Resistor di bidang elektronika adalah komponen pasif yang memiliki tahanan listrik di dalamnya. Resistor tersusun dari material konduktor listrik. Resistor memiliki dua terminal. Hubungan antara arus dan tegangan pada resistor mengikuti hukum ohm sebagai berikut:
V = I x R
Dengan: V: tegangan listrik dengan satuan volt (V) I: arus listrik dengan satuan ampere (A) R: resistansi pada resistor dengan satuan ohm (Ω)
Berikut ini contoh komponen resistor dalam berbagai bentuk dan ukuran.
Macam-macam resistor
Kapasitor
Kapasitor/kondensator di bidang elektronika dalah komponen pasif yang menyimpan energi listrik dalam bentuk medan listrik. Kapasitor tersusun dari 2 keping penghantar listrik yang dipisahkan oleh bahan isolator listrik.
Hubungan antara muatan listrik dan tegangan pada kapasitor adalah sebagai berikut:
C = Q / V Dengan: C: nilai kapasitansi kapasitor dengan satuan farad (F) Q: muatan listrik dengan satuan coulomb (C) V: tegangan listrik dengan satuan volt (V)
Berikut ini kapasitor dalam berbagai bentuk:
Induktor
Induktor adalah komponen elektronika pasif yang dapat menyimpan energi pada medan magnet yang ditimbulkan oleh arus listrik yang melintasinya.
Berikut ini beberapa contoh komponen induktor.
Beberapa macam induktor
Parameter
Resistor
Kapasitor
Induktor
Peranan
menghambat arus listrik
menyimpan energi dalam medan listrik
menyimpan energi dalam medan magnet
Jumlah kutub
2
2
2
Persamaan matematis
V = I x R
C = Q / V
Bahan / material
karbon, thick film, thin film, metal film, metal oxide film, wire wound, metal foil
Artikel ini adalah pengembangan dari artikel “Lampu Kedip Dengan Model Finite State Machine“. Pada artikel tersebut pewaktuan 1 detik menggunakan fungsi delay() dari Arduino. Pada artikel ini digunakan vTaskDelay pada sistem operasi real time FreeROTS untuk mendapatkan perioda 1 detik untuk eksekusi Finite State Machine (FSM).
Spesifikasi
Sistem yang dibuat adalah lampu kedip, dengan perioda 2 detik.
Perangkat Keras
Perangkat lunak dengan Arduino Nano ATmega328. Output dengan LED yang diseri dengan resistor pembatas arus. Nilai resistor tidak kritis. Pada percobaan ini dipakai nilai resistor 1000 ohm. LED disambung ke port D3 pada Arduino Nano.
Model Sistem
Model FSM untuk lampu kedip adalah sebagai berikut.
Perangkat Lunak
Pada sistem ini diperlukan pewaktuan (timing) agar lampu berkedip dengan frekuensi 0,5 Hz. Untuk itu diperlukan FSM yang dihitung/dipanggil setiap 1 detik. Untuk membuat pemanggilan periodik seperti ini dapat dilakukan dengan beberapa cara sebagai berikut:
delay pada Arduino atau library lain
interupsi timer
delay pada Real Time Operating System misal FreeRTOS
Pada implementasi ini yang dibuat adalah menggunakan FreeRTOS. Delay menggunakan fungsi vTaskDelay() pada FreeRTOS. Penjelasan tentang FreeRTOS di Arduino dapat dibaca di artikel https://www.arduino.cc/reference/en/libraries/freertos/
Model diagram alir (flowchart) perangkat lunak adalah sebagai berikut.
Diagram alir perangkat lunak berbasis FreeRTOS
Aplikasi memiliki 2 super loop. Super loop pertama ada di main program, tidak berisi apa-apa. Super loop kedua ada di Task FSM.
#include "Arduino_FreeRTOS.h"
#define ON 100
#define OFF 101
#define LED_OUTPUT 3
int state = OFF;
TaskHandle_t xHandle1 = NULL;
Inisialisasi Sistem
void setup() {
int output = 0;
pinMode(LED_BUILTIN, OUTPUT);
pinMode(LED_OUTPUT, OUTPUT);
Serial.begin(115200);
Serial.print("portTICK_PERIOD_MS: ");
Serial.print(portTICK_PERIOD_MS);
Serial.println();
fsm_init(&state);
fsm_output(output);
xTaskCreate(
TaskFSM
, "TaskFSM" // A name just for humans
, 100 // stacksize
, NULL
, 2 // Priority, with 3 (configMAX_PRIORITIES - 1) being the highest, and 0 being the lowest.
, &xHandle1 );
}
static void TaskFSM(void *pvParameters)
{
TickType_t xLastWakeTime;
/* The xLastWakeTime variable needs to be initialised with the current tick
count. Note that this is the only time we access this variable. From this
point on xLastWakeTime is managed automatically by the vTaskDelayUntil()
API function. */
xLastWakeTime = xTaskGetTickCount();
while (1)
{
int output = 0;
fsm(&state, &output);
if (output == 1) {
digitalWrite(LED_OUTPUT, HIGH);
} else {
digitalWrite(LED_OUTPUT, LOW);
}
Serial.print("state: ");
Serial.print(state);
Serial.print(" output: ");
Serial.print( output);
Serial.println();
vTaskDelayUntil( &xLastWakeTime, ( 1000 / portTICK_PERIOD_MS ) ); // perioda 1 detik
}
}
Pengujian
Pengujian dilakukan dengan menjalankan program, kemudian mengamati kedipan lampu dan output ke port serial.
Pada output serial akan muncul tampilan seperti berikut ini:
Dari output serial tersebut nampak perubahan state dan output terjadi sesuai rancangan.
Waktu perubahan tidak tepat 1 detik, terlihat bergeser sedikit. Penyebabnya kemungkinan karena implementasi timer tick pada FreeRTOS Arduino menggunakan Watchdog Timer, bukan Timer 0, Timer 1 ataupun Timer 2. Watchdog Timer pada Arduino menggunakan osilator RC yang tidak setepat osilator kristal.