Apakah ada pin analog output di Arduino? Ada Arduino yang memiliki analog output sesungguhnya, ada yang tidak. Analog output yang sesungguhnya menggunakan DAC (Digital to Analog Converter). Pada Arduino yang tidak ada DAC, analog output dapat ditiru menggunakan output PWM (Pulse Width Modulation) / Modulasi Lebar Pulsa.
Apa bedanya sinyal output dari DAC dan dari PWM? Sinyal DAC berupa tegangan tertentu yang dapat diatur tegangannya sesuai dengan parameter yang diberikan. Sinyal PWM berupa tegangan HIGH (biasanya 5 volt) dan LOW (0 volt), dengan perbandingan antara HIGH dan LOW mengikuti suatu perbandingan tertentu.
Berikut ini contoh sinyal PWM
Arduino yang memiliki DAC adalah di antaranya sebagai berikut:
Arduino SIM adalah kartu SIM GSM dari Arduino yang menawarkan konektivitas global di seluruh dunia. Arduino SIM cocok dipakai untuk perangkat yang memerlukan akses ke Arduino IoT Cloud di tempat-tempat yang tidak memiliki akses IoT lain seperti Wifi
Arduino SIM
Arduino SIM kompatibel dengan produk MKR GSM 1400 dari Arduino. Pada papan Arduino ini terdapat konektor untuk memasukkan SIM card.
Arduino MKR GSM 1400
Arduino IoT Cloud
Arduino SIM memungkinkan akses ke Arduino IoT Cloud. Pada saat ini papan Arduino yang mendukung Arduino SIM adalah MKR GSM 1400
Google Spreadsheets via Arduino IoT Cloud: memungkinkan pengumpulan data dari sensor , mengirimnya ke Arduino IoT Cloud melalui jaringan selular (GSM), dan kemudian mengirimnya ke GSheet menggunakan webhooks. Contoh akses dapat dilihat di artikel “IoT Pressure Sensor: MKR GSM + Arduino Cloud + Google Sheets“
Berikut ini foto perangkat pengukur tekanan menggunakan Arduino MKR GSM 1400 yang terhubung ke Arduino Cloud dan Google Sheets
IoT Pressure Sensor
Dataplan
SIM Arduino hanya mengirimkan data ke Arduino IoT Cloud.Dengan cara ini, kami memberi Anda saluran komunikasi yang aman dari perangkat ke dasbor.Setelah data mencapai Arduino IoT Cloud, data dapat dijembatani ke platform dan layanan lain melalui webhook atau Arduino IoT API.Setelah aktivasi kartu SIM, Anda mendapatkan 10MB data gratis hingga 90 hari (5MB per bulan seharga $1,50 USD setelahnya).Fitur utama paket ini adalah:
Konektivitas seluler langsung ke Arduino IoT Cloud
HANYA kompatibel dengan Arduino IoT Cloud
Data dapat dijembatani dari Arduino IoT Cloud ke platform dan layanan lain menggunakan webhook atau Arduino IoT API
Profil roaming global – satu paket data sederhana beroperasi di lebih dari 100 negara.Periksa di sini cakupannya berdasarkan negara
Paket SIM Arduino bulanan dapat disewa di seluruh dunia kecuali Brasil
Data gratis awal akan kedaluwarsa setelah 90 hari atau ketika Anda telah menggunakan data gratis 10 MB, mana saja yang lebih dulu
Anda dapat menjeda dan memulai ulang SIM Anda di sini.Harap perhatikan bahwa SIM Anda dapat dijeda selama maksimal 6 bulan dan ada biaya jeda berkelanjutan sebesar $0,30 USD per bulan ditambah pajak yang berlaku.SIM tidak dapat dijeda selama masa uji coba gratis 90 hari Anda
Jumlah lalu lintas data yang sama dengan harga yang sama di mana pun Anda mengoperasikan perangkat di seluruh dunia
Layanan seluler terukur dari Konektivitas Arm® Pelion™ – cocok untuk sejumlah besar perangkat di masa depan
Pertanyaan yang Sering Diajukan
Dapatkah Arduino SIM Terhubung ke Internet?
Awalnya Arduino SIM akan terbatas pada konektivitas ke Arduino IoT Cloud saja – dengan kemampuan untuk menjembatani Internet yang lebih luas menggunakan webhook dan API yang akan hadir pada akhir tahun ini.
BAGAIMANA CARA MENJEDA SIM SAYA?
Anda dapat menjeda dan memulai ulang SIM Anda di sini. Harap perhatikan bahwa SIM Anda dapat dijeda selama maksimal 6 bulan dan ada biaya jeda berkelanjutan sebesar $0,30 USD per bulan ditambah pajak yang berlaku. (n.b. SIM tidak dapat dijeda selama masa uji coba gratis 90 hari Anda). DIMANA SIM SAYA AKAN BEROPERASI? Anda akan dapat terhubung ke cloud Arduino IoT dari lebih dari 100 negara, memungkinkan Anda menggunakan perangkat Anda di seluruh dunia –
PAPAN APA YANG SIM AKAN BEKERJA?
Awalnya Arduino SIM akan mendukung Arduino MKR GSM 1400 (3G dengan fallback 2G). Ada peta jalan untuk mendukung Arduino MKR NB 1500 (LTE Cat-M dan NB-IoT) yang akan datang. Akhirnya kami berencana untuk membukanya untuk dewan pihak ketiga juga.
Dapatkah Saya Menggunakan SIM Lain?
Ya! Anda bebas menggunakan layanan seluler apa pun yang Anda sukai, dan memasukkan SIM apa pun yang Anda suka ke papan seluler Arduino Anda.
Saya Mengalami Masalah Dengan SIM Arduino Saya
Jika Anda mengalami masalah teknis saat menghubungkan perangkat Anda, pastikan untuk memeriksa forum SIM.
Berikut ini beberapa rangkaian sederhana untuk mengendalikan motor servo dengan Arduino. Motor servo yang dimaksud di sini adalah motor servo radio control. Motor servo radio control memiliki 3 terminal: VCC, GND dan PWM.
Berikut ini contoh motor servo yang dipakai
Kendali Servo Dengan Potensiometer
Pada contoh ini posisi motor servo dikendalikan dengan sebuah potensiometer. Posisi potensiometer dibaca dengan membaca tegangan output dari potensiometer tersebut. Angka tersebut kemudian dipakai untuk mengendalikan posisi motor servo .
Rangkaian motor servo sebagai berikut:
Penjelasan Rangkaian:
Terminal VCC dari motor servo disambung ke catu daya motor
Terminal GND dari motor servo disambung ke GND catu daya motor dan GND Arduino
Terminal PWM dari motor servo disambung ke port 9 pada Arduino
Terminal pinggir Potensiometer disambung ke VCC dan GND pada Arduino
Terminal tengah potensiometer disambung ke pin A0 pada Arduino. Tegangan dari potensiometer akan dibaca sebagai tegangan analog, sehingga harus menggunakan pin input analog dari Arduino.
Sumber tegangan untuk Arduino UNO dapat menggunakan USB ataupun dari POWER PIN. Sumber tegangan untuk motor servo menggunakan baterai ataupun adaptor terpisah. Tegangan baterai untuk motor servo disesuaikan dengan spesifikasi motor servo. Catu daya untuk Arduino dipisah dengan catu daya untuk motor servo, karena biasanya arus yang ditarik oleh motor servo cukup besar sehingga dapat mengganggu tegangan catu daya yang terhubung ke motor servo.
Motor servo seperti HS-311 memerlukan tegangan catu daya antara 4,8 volt sampai 6 volt dengan arus maksimum 800 mA. Jadi pastikan tegangan catu daya dan arusnya sesuai untuk motor servo yang dipakai.
Perangkat lunak untuk Arduino adalah sebagai berikut:
#include <Servo.h>
Servo myservo; // create servo object to control a servo
int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 180); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}
Pada bagian setup, pin 9 diset sebagai output motor servo.
Pada fungsi loop() dilakukan proses sebagai berikut:
membaca tegangan dari pin A0 untuk mengetahui posisi dari potensiometer dengan fungsi analogRead()
angka ini skalanya adalah 0 sampai 1023, sedangkan input motor servo adalah 0 sampai 180, sehingga perlu dilakuan penskalaan dengan fungsi map()
tuliskan angka hasil penskalaan ke motor servo
tunggu 15 milidetik untuk memberi waktu motor bergerak
Fungsi loop() akan dilakukan berulang-ulang , sehingga posisi motor servo akan mengikuti posisi di potensiometer.
Kendali Servo Bolak-Balik
Pada contoh ini, posisi motor servo beralih dari 0 ke 180 derajat, kemudian kembali ke 0 derajat berulang-ulang.
Rangkaian sebagai berikut
Penjelasan Rangkaian:
Terminal VCC dari motor servo disambung ke catu daya motor
Terminal GND dari motor servo disambung ke GND catu daya motor dan GND Arduino
Terminal PWM dari motor servo disambung ke port 9 pada Arduino
Terminal pinggir Potensiometer disambung ke VCC dan GND pada Arduino
Kode sebagai berikut
#include <Servo.h>
Servo myservo; // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0; // variable to store the servo position
void setup() {
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop() {
for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
// in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
myservo.write(pos); // tell servo to go to position in variable 'pos'
delay(15); // waits 15ms for the servo to reach the position
}
}
Cara kerja perangkat lunak
Pada fungsi loop(), dilakukan hal berikut:
buat suatu for() loop untuk menggerakkan motor dari 0 derajat ke 180 derajat dengan langkah sebesar 1 derajat. Tiap kali geser 1 derajat, lakukan penundaan selama 15 milidetik untuk menunggu motor bergerak.
buat suatu for() loop untuk menggerakkan motor dari 0 derajat ke 180 derajat dengan langkah sebesar 1 derajat. Tiap kali geser 1 derajat, lakukan penundaan selama 15 milidetik untuk menunggu motor bergerak.
Jawab: Pengertian mikrokontroler adalah suatu komputer kecil dalam satu keping rangkaian terintegrasi. Suatu mikrokontroler di dalamnya terdiri dari satu atau lebih CPU (Central Processing Unit / Unit pengolahan terpusat) dengan sejumlah memori dan periferal input/output.
Mengapa mikrokontroler disebut sebagai komputer?
Jawab: Mikrokontroler disebut sebagai komputer karena memang mikrokontroler adalah suatu komputer lengkap. Perbedaan khusus dibandingkan komputer biasa adalah semua komponen komputer pada mikrokontroler sudah terkandung dalam satu rangkaian terintegrasi, sedangkan pada komputer biasa komponen-komponen tersebut berada pada beberapa keping rangkaian terintegrasi.
Sebagai contoh, Arduino UNO / Nano di dalamnya ada komponen utama mikrokontroler tipe ATmega328 . Di dalam ATmega328 ini sudah ada CPU, memori flash untuk menampung program, memori RAM (Random Access Memory) untuk menampung variabel di perangkat lunak, dan EEPROM (Electrically Erasable Programmable Read Only Memory) untuk menampung data yang dapat diubah oleh program namun tidak hilang kalau listrik dimatikan.
Berikut ini foto ATmega328
Sebagai perbandingan , motherboard komputer desktop memiliki CPU, memori dan periferal masing-masing pada rangkaian terintegrasi yang terpisah. Berikut ini contoh papan rangkaian motherboard.
Berikut ini contoh CPU AMD Ryzen 9 5950X. Dalam rangkaian terintegrasi ini hanya ada CPU saja, belum dilengkapi dengan RAM maupun periferal lain.
Referensi
https://en.wikipedia.org/wiki/Motherboard
Kenapa mikrokontroler sering disebut juga sebagai komputer mini?
Mikrokontroler sering disebut juga sebagai komputer mini karena mikrokontroler sudah merupakan satu komputer lengkap yang dapat menjalankan perangkat lunak, dan ukurannya kecil (maka disebut sebagai mini).
Istilah ‘minicomputer’ sebenarnya pernah dipakai di tahun 1960-an untuk menyebut komputer serba guna yang ada di era itu. Ukurannya cukup besar dibandingkan komputer zaman sekarang. Lebih jauh dapat dibaca di https://en.wikipedia.org/wiki/Minicomputer
Apakah mikrokontroler termasuk ke dalam komputer?
Ya, mikrokontroler termasuk dalam salah satu jenis komputer.
Apa contoh mikrokontroler?
Contoh mikrokontroler di antaranya:
ESP32
ESP8266
ATmega328 yang dipakai di Arduino Nano dan Arduino UNO
RP2040 yang dipakai di Arduino Nano RP2040
Keluarga STM32 , seperti STM32F103C8T6 yang dipakai di modul Blue Pill
STM32 Blue Pill https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html
Apa kelebihan mikrokontroler
Keuntungan mikrokontroler dan keistimewaan dibandingkan mikroprosesor biasa adalah:
ukuran kecil karena semua komponen komputer sudah ada dalam satu keping chip.
penggunaan daya kecil
pembuatan perangkat keras / rangkaian lebih mudah karena rangkaian lebih sederhana
Apa kekurangan mikrokontroler?
Kekurangan mikrokontroler adalah terutama pada ukurannya yang kecil, harus muat di dalam satu keping rangkaian terintegrasi. Akibatnya kemampuan komputasinya terbatas, memori terbatas, periferal juga terbatas dibandingkan dengan mikroprosesor.
Kemampuan komputasi terbatas artinya kecepatan komputasi relatif lambat.
Periferal terbatas, artinya input output digital maupun analog terbatas. Media penyimpanan terbatas. Jika perlu penyimpanan tambahan, biasanya untuk mikrokontroler menggunakan memori tipe SD card. Mikroprosesor dapat menggunakan media besar seperti flashdisk, SSD dan hard disk.
Mikrokontroler pakai bahasa apa?
Mikrokontroler yang ada saat ini umumnya diprogram menggunakan bahasa pemrograman Assembly, C dan C++. Bahasa lain jarang dipakai, misalkan sebagai berikut:
Rust dipakai untuk ESP32 https://github.com/esp-rs/awesome-esp-rust
TinyGo (versi kecil dari Go) https://tinygo.org/
Apa singkatan dari mikrokontroler?
Mikrokontroler sering disingkat sebagai MCU (Microcontroller Unit)
Apa fungsi ALU dalam mikrokontroler?
ALU (Arithmetic & Logic Unit) adalah bagian dari CPU (Central Processing Unit), sedangkan CPU adalah bagian dari mikrokontroler. Fungsi ALU pada mikrokontroler sama seperti fungsi ALU pada CPU, yaitu untuk melakukan proses perhitungan aritmatik (tambah kurang kali bagi) dan logika (AND, OR, NOT, penggeseran bit)
Apa bagian dari mikrokontroler?
Bagian-bagian utama dari mikrokontroler adalah: CPU, memori dan periferal.
CPU (Central Processing Unit) berfungsi mengatur seluruh aktivitas di dalam mikrokontroler
Memori berfungsi untuk menyimpan program dan variabel-variabel.
Periferal berfungsi menghubungkan mikrokontroler ke dunia luar
Sebagai contoh, berikut ini blok diagram mikrokontroler ESP32
Blok diagram ESP32
Penjelasan:
CPU pada ESP32 tersebut adalah “Xtensa LX6 microprocessor” Memori adalah ROM dan SRAM
Periferal adalah bagian-bagian lainnya, seperti Radio, Cryptographic, Peripheral Interfaces (I2C, SDIO, CAN, IR, Temperature Sensor, DAC, SPI, I2S, UART, ETH, PWM, Touch Sensor, SAR ADC)
Apa fungsi chip pada mikrokontroler?
Apakah Chip termasuk mikrokontroler?
Chip tidak termasuk mikrokontroler. Justru mikrokontroler adalah salah satu jenis chip. Chip jenis lain selain mikrokontroler banyak , misal chip penguat op-amp, chip rangkaian logika dan sebagainya.
Apa yang dimaksud dengan sistem minimum mikrokontroler?
Mikrokontroler secara definisi sudah dapat langsung dijalankan tanpa tambahan komponen mikroprosesor lain, jadi istilah ‘sistem minimum mikrokontroler’ ini agak rancu. Beberapa mikrokontroler sudah dapat dijalankan hanya dengan menambahkan tegangan power supply, namun ada juga beberapa mikrokontroler yang masih memerlukan tambahan komponen seperti kristal untuk clock.
Istilah ‘sistem minimum mikroprosesor’ sebenarnya dikenal untuk mikroprosesor, yaitu rangkaian minimum suatu sistem mikroprosesor (CPU, RAM dan periferal) yang dapat menjalankan suatu program sederhana.
Apa karakteristik mikrokontroler?
Karakteristik utama mikrokontroler adalah sebagai berikut
mikrokontroler adalah komputer, di dalamnya ada CPU , memori dan periferal
sering dipakai untuk mengendalikan perangkat-perangkat kecil
dipakai di sistem tertanam (embedded systems), yaitu perangkat yang di dalamnya terdapat komputer namun komputer tersebut tidak kelihatan
kemampuan komputasi terbatas, jadi umumnya hanya dipakai untuk komputasi ringan
konsumsi daya mikrokontroler relatif kecil dibandingkan mikroprosesor biasa. terutama di perangkat yang mobile/mudah dipindahkan.
Sering dipakai untuk menangani pekerjaan waktu nyata (pekerjaan yang memiliki batas waktu ketat)
Sudah dilengkapi dengan periferal input & output jadi dapat langsung disambung ke sensor dan aktuator
program pada mikrokontroler umumnya disimpan di flash memory, bukan di hard drive ataupun SSD
harga relatif murah
ukuran kecil, mudah diintegrasikan dengan produk lain
Ukuran memori dan periferal pada mikrokontroler tidak dapat diubah, sehingga mikrokontroler diproduksi dengan berbagai kombinasi kemampuan memori dan periferal. Mikroprosesor dapat dikonfigurasi kemampuannya dengan menambah periferal, jadi jenis mikroprosesor tidak terlalu banyak.
Tegangan kerja untuk Arduino Nano dan Arduino UNO adalah 5 volt. Tegangan yang dapat diberikan ke pin-pin Arduino adalah minimum 0 volt, maksimum 5 volt. Perkecualian adalah sebagai berikut: pin RESET dapat menerima tegangan sampai 13 volt. Pin VIN dapat menerima tegangan sampai 20 volt karena di pin tersebut ada regulator DC untuk mengubah tegangan masuk menjadi 5 volt.
Arduino Nano dan Arduino UNO menggunakan prosesor ATmega328. Batas maksimum tegangan pada ATmega328 dapat dilihat di datasheet prosesor ATmega328, di bagian “Absolute Maximum Ratings”. Kutipannya sebagai berikut:
ATmega328 absolute maximum rating
Tegangan pada VIN atau POWER IN tidak langsung dihubungkan ke prosesor ATmega328, melainkan melalui regulator DC. Jadi tegangan maksimumnya tergantung komponen regulator DC yang dipakai.
Pin POWER IN dihubungkan ke regulator 5 volt (NCP1117 pada Arduino UNO dan UA78M05 pada Arduino Nano). NCP1117 maksimal menerima tegangan input 20 volt. UA7805 maksimal menerima input 25 volt. Jika tegangan POWER IN melebihi batas ini, maka regulator 5 volt tersebut akan rusak.
Batas tegangan maksimum pada NCP1117 dapat dibaca pada datasheetnya sebagai berikut:
Tegangan maksimum pada NCP1117
Batas tegangan maksimum pada UA78M05 dapat dibaca pada datasheetnya sebagai berikut:
ADC (Analog to Digital Converter) adalah perangkat yang mengubah sinyal analog menjadi sinyal digital. Besaran analog di sini maksudnya adalah besaran yang mempunyai nilai kontinyu pada waktu kontinyu, sedangkan digital di sini maksudnya adalah memiliki representasi diskrit pada waktu yang diskrit.
Perubahan waktu kontinyu menjadi waktu diskrit menggunakan proses pencuplikan (sampling). Perubahan amplitudo kontinyu menjadi amplitudo diskrit menggunakan proses kuantisasi.
Bentuk fisik ADC dapat berupa sebuah chip, bisa juga dibuat menggunakan komponen diskrit (transistor, gerbang logika, op-amp), ataupun sudah menyatu dengan mikrokontroler.
Berikut ini contoh skema suatu Integrating ADC (sumber)
Parameter ADC
Parameter-parameter ADC adalah sebagai berikut
resolusi: menyatakan berapa jumlah nilai diskrit yang dapat dihasilkan untuk merepresentasikan nilai masukan analog. Umumnya dinyatakan dalam jumlah bit pada output ADC
kecepatan sampling: parameter ini menyatakan berapa banyak konversi analog ke digital yang dapat dilakukan setiap detik.
Resolusi
Konsep resolusi ADC dapat dilihat pada contoh ini. Berikut ini contoh pemetaan nilai analog (0 sampai 1.0) ke nilai biner terkait dari suatu ADC 8 bit (sumber)Pencuplikan
Sinyal analog bersifat kontinyu pada domain waktu. Untuk mengubah sinyal analog ini menjadi digital, perlu didefinisikan seberapa cepat nilai digital dicuplik dari sinyal analog. Kecepatan menghasilkan nilai digital ini adalah kecepatan sampling atau frekuensi sampling (sampling rate / sampling frequency).
Sinyal analog dapat dicuplik menjadi sinyal digital dan kemudian dapat dikembalikan lagi ke bentuk analog dengan syarat kecepatan samplingnya lebih tinggi dari dua kali frekuensi maksimum pada sinyal analog tersebut. Kriteria ini adalah disebut juga sebagai teorema pencuplikan Nyquist-Shannon.
Antar Muka ADC
ADC umumnya dipakai bersamaan dengan elemen komputasi seperti mikroprosesor/mikrokontroler ataupun FPGA (Field Programmable Array) . Antar muka antara ADC dengan elemen komputasi dapat dengan berbagai cara, seperti:
Terintegrasi dalam 1 chip, seperti ADC pada mikrokontroler ATmega328 di modul Arduino UNO / Arduino Nano / ESP32
Bus data mikroprosesor paralel
Komunikasi serial I2C (Inter Integrated Circuit)
Komunikasi serial SPI (Serial Peripheral Interface)
Komunikasi serial proprietary
Contoh ADC terintegrasi adalah mikrokontroler Arduino Nano yang di dalamnya ada ADC 10 bit.
Arduino Nano
Contoh ADC yang menggunakan komunikasi bus data adalah ADC0804 (sumber). Berikut ini contoh skema rangkaian interkoneksi antara mikroprosesor dengan ADC0804
Bentuk fisik ADC0804
Skema rangkaian ADC0804
Pada saat ini jarang sekali orang menggunakan teknik ini, karena biasanya mikrokontroler tidak memiliki bus yang dapat diakses.
Contoh ADC dengan bus I2C adalah ADS1115 buatan Texas Instruments . ADC ini banyak dijual sebagai modul yang sudah disolder.
Modul ADS1115
Contoh ADC dengan koneksi SPI adalah MCP3008 buatan Microchip
MCP3008
Aplikasi ADC
ADC dipakai untuk berbagai aplikasi seperti
Perekaman suara
Pengolahan sinyal meliputi perekaman, penyimpanan dan pengiriman sinyal melalui media tertentu
Instrumentasi ilmiah untuk merekam sinyal dari berbagai sensor
Fungsi pin pada Arduino adalah menghubungkan sinyal-sinyal dari dalam modul Arduino ke luar dan sinyal dari luar Arduino ke dalam. Setiap pin pada Arduino memiliki fungsi tertentu.
Berikut ini fungsi-fungsi pin pada Arduino UNO
Nama Port
Fungsi Utama
Fungsi Lain
Power Jack
catu daya 7 sampai 12 volt
USB type B
catu daya 5 volt & komunikasi serial
IOREF
referensi ADC
RESET
pin reset pada ATmega328
3V3
supply 3,3 volt
+5V
supply 5 volt
GND
ground
VIN
tegangan masuk 7 sampai 12 volt
A0
input analog & I/O digital
A1
input analog & I/O digital
A2
input analog & I/O digital
A3
input analog & I/O digital
A4
input analog & I/O digital
SDA untuk I2C
A5
input analog & I/O digital
SCL untuk I2C
D19
I/O digital
D18
I/O digital
AREF
Pin referensi ADC (Analog to Digital Converter)
D13
I/O digital
D12
I/O digital
D11
I/O digital
OC2A , MOSI
D10
I/O digital
OC1B, SS
D9
I/O digital
IC1A
D8
I/O digital
CLK0 , ICP1
D7
I/O digital
AIN1
D6
I/O digital
AIN0
D5
I/O digital
T1
D4
I/O digital
T0
D3
I/O digital
INT1
D2
I/O digital
INT0
D1
I/O digital
TXD
D0
I/O digital
RXD
Berikut ini daftar pin pada Arduino UNO R3
Pinout Arduino UNO
Apa fungsi pin analog pada Arduino?
Pin analog pada Arduino berfungsi menerima sinyal listrik berupa tegangan analog. Tegangan ini diubah oleh ADC (Analog to Digital Converter) menjadi angka digital. ADC pada Arduino UNO dan Arduino Nano memiliki resolusi 10 bit, jadi tegangan analog tersebut akan dibaca oleh perangkat lunak sebagai angka integer 0 sampai dengan 1023.
Pin analog pada Arduino UNO hanya ada 6 buah, yaitu A0 , A1, A2, A3, A4 dan A5
Apa fungsi pin digital pada Arduino?
Pin digital pada Arduino berfungsi menerima atau mengirim sinyal listrik digital. Tegangan pada pin digital akan dibaca oleh perangkat lunak sebagai angka 0 (jika input tegangan rendah mendekati 0 volt) atau 1 (jika input tegangan tinggi mendekati 5 volt). Fungsi untuk membaca tegangan pada pin digital adalah digitalRead(). Tegangan pada pin digital juga dapat diubah oleh perangkat lunak Arduino dengan fungsi digitalWrite().
Semua port pada Arduino dapat difungsikan sebagai input digital maupun output digital.
PWM (Pulse Width Modulation) adalah modulasi suatu sinyal digital dengan cara mengubah-ubah lebar pulsa tergantung nilai inputnya.
Berikut ini contoh sinyal PWM:
Sinyal PWM memiliki frekuensi tetap. Lebar pulsa diubah-ubah dengan cara mengubah duty-cycle dari sinyal tersebut. Rentang input PWM adalah 0 sampai 100%. Outputnya adalah sinyal dengan frekuensi tetap, namun duty cycle mengikuti input.
Fungsi sinyal PWM di antaranya adalah sebagai berikut:
sinyal kendali untuk motor servo radio control
modulasi untuk pengiriman data pada telekomunikasi.
mengatur daya yang diberikan kepada suatu beban, misal untuk mengendalikan kecepatan putaran suatu motor listrik
regulasi tegangan. Tegangan output dapat diatur dengan mengubah duty cycle sinyal.
mengatur kecerahan lampu LED
Berikut ini contoh servo motor yang biasa dipakai di aplikasi radio control:
modul motor tersebut memiliki 3 input: VCC, GND dan PWM. Sudut pada poros ditentukan oleh duty cycle pada sinyal PWM.
Perbedaan antara fungsi ‘void setup()’ dan ‘void loop()’ pada Arduino adalah sebagai berikut:
‘void setup()’ berisi kode/program yang hanya dijalankan sekali ketika Arduino dinyalakan. Biasanya fungsi setup() ini berisi inisialisasi hardware dan inisialisasi variabel global.
‘void loop()’ berisi kode /program yang dijalankan berulang-ulang tanpa ada berhenti. Biasanya menjalankan fungsi utama dari Arduino tersebut.
Selain setup() dan loop(), sebenarnya ada juga fungsi interupsi yang hanya dijalankan ketika interupsi tertentu diaktifkan. Interupsi eksternal dapat diaktifkan dengan fungsi attachInterrupt(). Interupsi timer dapat diaktifkan dengan library TimerInterrupt.
Sebagai contoh adalah program lampu kedip sederhana dari Arduino sebagai berikut:
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Pada program tersebut, setup() berisi inisialisasi pin output untuk lampu LED.
loop() berisi pekerjaan utama sistem mikrokontroler Arduino tersebut, yaitu menyalakan dan mematikan lampu LED berulang-ulang tanpa berhenti.
Berikut ini perbedaan pin analog dan digital pada Arduino adalah sebagai berikut:
Pin analog menerima sinyal listrik berupa tegangan analog. Tegangan ini diubah oleh ADC (Analog to Digital Converter) menjadi angka digital. ADC pada Arduino UNO dan Arduino Nano memiliki resolusi 10 bit, jadi tegangan analog tersebut akan dibaca oleh perangkat lunak sebagai angka integer 0 sampai dengan 1023.
Pin digital pada Arduino menerima sinyal listrik digital. Tegangan pada pin digital akan dibaca oleh perangkat lunak sebagai angka 0 (jika input tegangan rendah mendekati 0 volt) atau 1 (jika input tegangan tinggi mendekati 5 volt).
Sinyal input pada pin analog dibaca dengan fungsi analogRead(), hasilnya adalah angka integer dari 0 sampai 1023.
Sinyal input pada pin digital dibaca dengan fungsi digitalRead(), hasilnya adalah angka 0 atau 1.
Pin analog pada Arduino UNO dan Nano dapat difungsikan sebagai input analog maupun digital.
Pin digital pada Arduino UNO dan Nano hanya dapat difungsikan sebagai input digital.
Jawab: jumlah pin analog pada Arduino UNO adalah 6 buah yaitu A0, A1, A2 A3, A4 dan A5
Berikut ini posisi pin-pin pada Arduino UNO:
Daftar pin pada Arduino UNO R3
Pin analog terdapat pada bagian kiri bawah. Pin analog tersebut multi fungsi , yaitu dapat berfungsi sebagai pin analog (input) maupun pin digital (input dan output).
Yang dimaksud dengan pin pada Arduino adalah kontak elektrik yang terdapat pada modul Arduino. Kontak elektrik ini berfungsi untuk menyambungkan sinyal listrik dari modul Arduino ke perangkat lain di luar Arduino.
Berikut ini foto pin berbentuk batang-batang serupa jarum pada Arduino Nano
Arduino Nano tampak samping
Setiap pin pada Arduino tersebut memiliki fungsi tertentu yang berbeda-beda. Untuk mengetahui fungsinya kita mesti membaca datasheet dari modul Arduino tersebut.
Berikut ini adalah daftar fungsi setiap pin pada Arduino Nano
Kontak elektrik pada Arduino UNO menggunakan lubang-lubang, bukan berupa pin. Berikut ini foto Arduino UNO dengan kontak elektrik berupa plastik hitam yang di dalamnya terdapat kontak elektrik.
Internet of Things (IoT) adalah perangkat yang memiliki sensor, kemampuan pengolahan/komputasi, perangkat lunak dan teknologi lain untuk menyambungkan dan mengirimkan data ke perangkat lain dan sistem lain melalui internet atau jaringan komunikasi lainnya.
Bidang ilmu Internet of Things melingkupi elektronika, komunikasi dan ilmu komputer.
Tujuan
Tujuan dari Internet of Things adalah memungkinkan semua benda yang dipakai sehari-hari ke internet untuk melakukan pertukaran informasi.
Aplikasi
Contoh aplikasi Internet of Things:
lampu yang dapat dikendalikan dari jarak jauh melalui smartphone
Fabrikasi cerdas (smart manufacturing)
Memonitor aset-aset untuk dapat melakukan perawatan aset sebelum mengalami kerusakan (perawatan pencegahan dan perawatan terprediksi).
Jaringan distribusi elektrik cerdas
Kota cerdas
Logistik yang tersambung ke jaringan komunikasi
Rantai pasok cerdas
Pertanian cerdas
Kesehatan
Industri retail
Transportasi
Referensi
Internet of Things https://en.wikipedia.org/wiki/Internet_of_things
Sensor PIR (Passive Infra Red) hanya bereaksi pada tubuh manusia saja karena sensor tersebut dilengkapi filter radiasi yang dapat mendeteksi radiasi infra merah dari tubuh manusia.
Hewan peliharaan seperti kucing dan anjing memiliki temperatur antara 38,3 sampai dengan 39,2 derajat Celcius, sehingga dapat juga dideteksi oleh sensor PIR yang sama.
Jadi sebenarnya sensor PIR dapat mendeteksi tubuh manusia dan hewan yang memiliki temperatur di sekitar 37 derajat Celcius
Penjelasan
Setiap benda memancarkan radiasi tergantung temperaturnya. Manusia normal memiliki suhu tubuh normal sekitar 37 derajat Celcius. Panas dari tubuh manusia ini memancarkan radiasi infra merah dengan panjang gelombang tertentu. Manusia memancarkan radiasi inframerah dengan panjang gelombang antara 3 sampai 50 mikron.
Pada modul HC-SR501, modul LHI778 ini ditambah dengan lensa Fresnel plastik untuk memperbaiki arah deteksi dan rangkaian elektronik untuk memperkuat sinyal dari sensor tersebut. Output dari modul ini dapat langsung dihubungkan ke mikrokontroler seperti Arduino.
Kesimpulan
Jadi sensor PIR dapat mendeteksi manusia karena tubuh manusia dengan temperatur 37 derajat Celcius memancarkan radiasi infra merah di sekitar 9,5 mikron yang dapat dideteksi dengan sensor dengan filter khusus. Sensor ini dapat membedakan tubuh manusia dengan benda lain yang memiliki temperatur berbeda. Sensor ini tidak dapat membedakan tubuh manusia dengan benda lain yang memiliki temperatur sama.