Professional Documents
Culture Documents
Abstak
Arduino merupakan sebuah alat "multi-fungsi" yang mengarahkan kita untuk mengenal teknologi Mikrokontroler AVR. Disini akan dijelaskan secara detail
dari awal tentang: Apa itu Arduino, kenapa Arduino, bagaimana cara menggunakannya, dan contoh-contoh kode. Hasil dari artikel ini, pembaca dapat lebih
mengenal Arduino cara kerja dan cara penggunaannya.
Keyword: Arduino, Mikrokontroler AVR, Kode program Arduino
Daftar Isi
1. Pengantar Arduino
2. Mengapa Arduino?
3. Produk Arduino
4. Download
5. Instalasi
6. Lingkungan dan Cara Penggunaan
7. Referensi Bahasa yang Digunakan
8. Library dan Instalasinya
9. Contoh Kode Program dan Simulasi
10. Bantuan (Saat ini belum adan masalah dari Pembaca)
Referensi
Hampir keseluruhan artikel termasuk link di dalamnya mengacu pada situs resmi Arduino yang beralamat di http://arduino.cc/. Penulis hanya
menterjemahkan dan menambah beberapa tulisan tentang permasalahan yang dihadapi Pembaca.
Daftar Isi
Ringkasan Spesifikasi
Skema dan Referensi Desain
Sumber Daya / Power
Memori
Input dan Output
Komunikasi
Pemrograman
Perlindungan Arus USB
Karakteristik Fisik
Ringkasan Spesifikasi
Mikrokontroler
Operasi tegangan
Input tegangan
Input tegangan batas
Pin I/O digital
Pin Analog
Arus DC tiap pin I/O
Arus DC ketika 3.3V
Memori flash
SRAM
ATmega328
5Volt
disarankan 7-11Volt
6-20Volt
14 (6 bisa untuk PWM)
6
50mA
50mA
32 KB (ATmega328) dan 0,5 KB digunakan oleh bootloader
2 KB (ATmega328)
EEPROM
Kecepatan clock
1 KB (ATmega328)
16 MHz
Memori
ATmega328 memiliki 32 KB (dengan 0,5 KB digunakan untuk bootloader). ATmega328 juga memiliki 2 KB dari SRAM dan 1 KB EEPROM (yang dapat
dibaca dan ditulis dengan perpustakaan / library EEPROM).
Masing-masing dari 14 pin digital Uno dapat digunakan sebagai input atau output, menggunakan fungsi pinMode(), digitalWrite(), dan digitalRead().
Mereka beroperasi pada tegangan 5 volt. Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki resistor pull-up internal (terputus
secara default) dari 20-50 kOhms. Selain itu, beberapa pin memiliki fungsi spesial:
Serial: pin 0 (RX) dan 1 (TX) Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL. Pin ini terhubung dengan pin ATmega8U2
USB-to-Serial TTL.
Eksternal Interupsi: Pin 2 dan 3 dapat dikonfigurasi untuk memicu interrupt pada nilai yang rendah (low value), rising atau falling edge, atau
perubahan nilai. Lihat fungsi attachInterrupt() untuk rinciannya.
PWM: Pin 3, 5, 6, 9, 10, dan 11 Menyediakan 8-bit PWM dengan fungsi analogWrite()
SPI: pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) mendukung komunikasi SPI dengan menggunakan perpustakaan SPI
LED: pin 13. Built-in LED terhubung ke pin digital 13. LED akan menyala ketika diberi nilai HIGH
Arduino Uno memiliki 6 input analog, berlabel A0 sampai A5, yang masing-masing menyediakan resolusi 10 bit (yaitu 1024 nilai yang berbeda). Secara
default mereka mengukur dari ground sampai 5 volt, perubahan tegangan maksimal menggunakan pin AREF dan fungsi analogReference(). Selain itu,
beberapa pin tersebut memiliki spesialisasi fungsi, yaitu TWI: pin A4 atau SDA dan A5 atau SCL mendukung komunikasi TWI menggunakan perpustakaan
Wire.
Ada beberapa pin lainnya yang tertulis di board:
AREF. Tegangan referensi untuk input analog. Dapat digunakan dengan fungsi analogReference().
Reset. Gunakan LOW untuk me-reset mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset.
Komunikasi
Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino lain, atau mikrokontroler lainnya. ATmega328 menyediakan
UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Pada ATmega16U2 saluran komunikasi serial melalui USB dan
muncul sebagai com port virtual untuk perangkat lunak pada komputer. Firmware 16U2 menggunakan standar driver USB COM, dan tidak ada driver
eksternal diperlukan. Namun, pada Windows, diperlukan file .inf. Perangkat lunak Arduino termasuk monitor serial yang memungkinkan data tekstual
sederhana akan dikirim ke dan dari papan Arduino. RX dan TX LED di papan akan berkedip ketika data sedang dikirim melalui chip USB-to-serial dan
koneksi USB komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1).
The ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Perangkat lunak Arduino termasuk perpustakaan Wire berfungsi menyederhanakan
penggunaan bus I2C. Untuk komunikasi SPI, menggunakan perpustakaan SPI.
Pemrograman
Arduino Uno dapat diprogram dengan software Arduino baca: Download Software Arduino untuk Berbagai OS. Pilih "Arduino Uno dari menu Tools >
Board (sesuai dengan mikrokontroler pada papan). Untuk rincian, silahkan baca: Mengenal Arduino dari Pemula Sampai Mahir.
Arduino Uno memiliki polyfuse reset yang melindungi port USB komputer Anda dari arus pendek atau berlebih. Meskipun kebanyakan komputer
memberikan perlindungan internal sendiri, sekering menyediakan lapisan perlindungan tambahan. Jika lebih dari 500 mA, sekering otomatis bekerja.
Karakteristik Fisik
Panjang maksimum dan lebar PCB Uno masing-masing adalah 2,7 dan 2,1 inci, dengan konektor USB dan colokan listrik yang melampaui dimensi
tersebut. Empat lubang sekrup memungkinkan board harus terpasang ke permukaan. Perhatikan bahwa jarak antara pin digital 7 dan 8 adalah 0,16", tidak
seperti pin lainnya.
2. Arduino Leonardo
3. Arduino Due
4. Arduino Yun
5. Arduino Tre
6. Arduino Micro
7. Arduino Robot
8. Arduino Esplora
9. Arduino Mega ADK
10. Arduino Ethernet
11. Arduino Pro Mini
12. Arduino Pro
13. Arduino Mega 2560
14. Arduino Mega
15. Arduino Duemilanove
16. Arduino Fio
17. Arduino Diecimila
18. Lilypad Arduino
19. Arduino NG (Nuova Generazione)
20. Arduino Extreme
21. Arduino USB
22. Arduino Nano
23. Arduino Serial
24. Arduino Mini
25. Arduino Singel Side Serial
26. Arduino Shields
Arduino adalah software open source yang memudahkan anda untuk menulis kode program dan meng-upload-nya ke board Arduino. Software Arduino
dapat berjalan pada Windows, Mac OS X, dan Linux. Software ini ditulis dalam bentuk Java dan berbasis processing, avr-gcc, dan perangkat lunak open
source lainnya.
Sebelum download software Arduino, harap diperhatikan beberapa persyaratan berikut:
"THE ARDUINO SOFTWARE IS PROVIDED TO YOU "AS IS," AND WE MAKE NO EXPRESS OR IMPLIED WARRANTIES WHATSOEVER
WITH RESPECT TO ITS FUNCTIONALITY, OPERABILITY, OR USE, INCLUDING, WITHOUT LIMITATION, ANY IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR INFRINGEMENT. WE EXPRESSLY DISCLAIM ANY LIABILITY
WHATSOEVER FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR SPECIAL DAMAGES, INCLUDING, WITHOUT
LIMITATION, LOST REVENUES, LOST PROFITS, LOSSES RESULTING FROM BUSINESS INTERRUPTION OR LOSS OF DATA,
REGARDLESS OF THE FORM OF ACTION OR LEGAL THEORY UNDER WHICH THE LIABILITY MAY BE ASSERTED, EVEN IF ADVISED OF
THE POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES."
"PERANGKAT LUNAK ARDUINO DISEDIAKAN UNTUK ANDA "SEBAGAIMANA ADANYA," DAN KAMI TIDAK MEMBUAT JAMINAN
TERSURAT ATAU TERSIRAT APA PUN YANG BERKAITAN DENGAN FUNGSI TERSEBUT, PENGOPERASIAN, ATAU PENGGUNAAN,
TERMASUK, TIDAK TERBATAS , JAMINAN TERSIRAT DIPERDAGANGKAN, KESESUAIAN UNTUK TUJUAN TERTENTU, ATAU
PELANGGARAN. KAMI SECARA TEGAS MENOLAK TANGGUNG JAWAB APAPUN ATAS KERUSAKAN LANGSUNG, TIDAK LANGSUNG,
SEBAGAI AKIBAT, INSIDENTAL ATAU KHUSUS, TERMASUK, TIDAK TERBATAS, PENDAPATAN HILANG, KEHILANGAN KEUNTUNGAN,
KERUGIAN AKIBAT GANGGUAN USAHA ATAU HILANGNYA DATA, TANPA BENTUK TINDAKAN ATAU TEORI HUKUM YANG
BERTANGGUNG JAWAB, BAHKAN JIKA DIBERITAHU TENTANG KEMUNGKINAN KERUSAKAN TERSEBUT."
Dengan men-download perangkat lunak dari halaman ini, Anda setuju dengan persyaratan yang ditentukan.
Halaman ini berisi link download ke-terbaru software Arduino (IDE), catatan rilis, dan perangkat lunak tambahan yang tidak disertakan dengan IDE seperti
sistem untuk Yun.
1. Arduino 1.0.5
o Windows Installer
o Windows dengan file tipe .zip
o Mac OS X
o Linux: 32 bit
o Linux: 64 bit
o Source
2. Arduino 1.5.6-r2 BETA (dengan dukungan untuk Arduino Yun dan Arduino Due)
Jika memiliki Arduino Yun, Anda harus men-download versi 1.5.6. Versi 1.5.6 dapat menyebabkan masalah dengan monitor serial, namun dalam
versi 1.5.6-r2 masalah tersebut telah teratasi.
o Windows Installer
o Windows dengan file tipe .zip
o Mac OS X
o Linux: 32 bit
o Linux: 64 bit
o Source
3. Nightly Builds
o Windows
o Mac OS X
o Linux: 32 bit
o Linux: 64 bit
Untuk rilis Arduino sebelumnya dan beberapa software pendukung lain, silahkan kunjungi situs resmi Arduino (kembali ke Daftar isi dan lihat di Referensi
kami).
Daftar Isi
Instal driver
Membuka Software Arduino
Buka contoh blink
Pilih board yang anda pakai
Pilih Port Serial
Upload Program
Instal Driver
Untuk menginstal driver Arduino di Windows 7, Vista, dan XP, silahkan baca: Cara Manual Instal Driver di Windows Lewat Device Manager.
Pilih perangkat serial Arduino dari menu Tools | Serial Port. Biasanya Port akan otomatis terdeteksi, jika masih bingung untuk mengetahuinya, Anda dapat
memutuskan papan Arduino dan buka kembali menu Tools | Serial Port. Entri yang hilang merupakan papan Arduino. Hubungkan kembali papan dan pilih
port serialnya.
Upload Program
Sekarang, cukup klik tombol "Upload". Tunggu beberapa detik - Anda akan melihat led RX dan TX pada papan berkedip.
Gambar 5: Upload
Jika proses upload berhasil, akan muncul pesan "Selesai meng-upload". Beberapa detik setelah selesai upload, Anda akan melihat pin 13 (L) LED di papan
mulai berkedip (oranye). Selamat! Anda sudah sukses menjalankan Arduino.
NB: Versi IDE sebelum 1.0, sketsa disimpan dengan ekstensi .pde, tetapi jika ingin membuka file tersebut dengan Versi 1.0, Anda akan diminta menyimpan
ulang dalam format .ino.
Berikut pengenalan area kerja Arduino (disajikan dalam bentuk Tabel):
No Icon
Nama
1
Verify
2
3
4
5
6
Fungsi
Mengecek kode yang dibuat apakah error atau tidak
Upload
Mengkompilasi kode dan upload ke papan Arduino I / O.
New
Membuat sketsa baru
Open
Membuka sketsa yang telah dibuat
Save
Menyimpan sketsa yang dibuat/ diedit
Serial Monitor Membuka monitor serial
Disamping fungsi di atas, di Software Arduino terdapat menu yang memiliki kelebihan tertentu.
Edit
1. Copy untuk Forum
Salinan kode sketsa Anda ke clipboard dalam bentuk yang sesuai untuk posting ke forum , lengkap dengan pewarnaan sintaks.
2. Copy sebagai HTML
Salinan kode sketsa Anda ke clipboard sebagai HTML , cocok untuk embedding dalam halaman web.
Sketch
1. Show Sketch Folder
Membuka folder sketsa saat ini.
2. Add File
Menambahkan file sumber ke sketsa (akan disalin dari lokasi saat ini) . File baru akan muncul di tab baru di jendela sketsa . File dapat dihapus dari
sketsa dengan menggunakan menu tab.
3. Import Library
Menambahkan sebuah perpustakaan untuk sketsa Anda dengan memasukkan # include pada awal kode Anda.
Tool
1. Auto Format
Memformat kode Anda dengan baik : yaitu indentasi dalam membuka dan menutup kurung kurawal, dan pernyataan di dalam kurung kurawal akan
lebih menjorok.
2. Archive Sketch
Arsip salinan sketsa saat ini dalam format .zip. Arsip akan ditempatkan di direktori yang sama seperti sketsa.
3. Board
Pilih board yang Anda gunakan.
4. Serial Port
Menu ini berisi semua perangkat serial (nyata atau virtual) pada komputer Anda. Serial port ini akan me-refresh secara otomatis setiap kali Anda
membuka menu tools
5. Programmer
Memilih programmer hardware yang akan digunakan untuk meng-upload kode program, sehingga Anda tidak menggunakan koneksi onboard USB
- serial.
6. Burn Bootloader
Item dalam menu ini memungkinkan Anda untuk mem-burning bootloader ke mikrokontroler pada papan Arduino .
Strktur
Setup()
Loop()
Kontrol Struktur
if
if... else
for
while
do... while
break
continue
return
goto
Further Syntax
; (titik koma)
{} (kurung kurawal)
// (komentar satu baris)
/**/ (komentar banyak baris)
#define
#include
Operator Aritmatika
= (penugasan)
+ (penambahan)
- (pengurangan)
* (perkalian)
/ (pembagian)
% (modulo)
Operator Pembanding
== (sama dengan)
!= (tidak sama dengan)
< (kurang dari)
> (lebih besar dari)
<= (kurang dari / sama dengan)
>= (lebih dari / sama dengan)
Operator Boolean
&& (dan)
|| (atau)
! (tidak)
Operator Bitwise
& (dan)
| (atau)
^ (xor)
~ (tidak)
<< (bitshift kiri)
>> (bitshift kanan)
Operator Compound
++ (increment)
-- (decrement)
+= (addition)
-= (subtraction)
*= (multiplication)
/= (division)
&= (bitwise and)
|= (bitwise or)
Variabel
Constants
HIGH | LOW
INPUT | OUTPUT | INPUT_PULLUP
LED_BUILTIN
true | false
integer constants
floating point constants
Tipe Data
void
boolean
char
unsigned char
byte
int
unsigned int
word
long
unsigned long
short
float
double
string - char array
string - object
array
Konversi
char()
byte()
int()
word()
long()
float()
Utility
sizeof()
Fungsi
Digital I/O
pinMode()
digitalWrite()
digitalRead()
Analog I/O
analogReference()
analogRead()
analogWrite() - PWM
Due Only
analogReadResolution()
analogWriteResolution()
Advanced I/O
tone()
noTone()
shiftOut()
shiftIn()
pulseIn()
Waktu
millis()
micros()
delay()
delayMicroseconds()
Matematika
min()
max()
abs()
constrain()
map()
pow()
sqrt()
Trigonometri
sin()
cos()
tan()
Bilangan Acak
randomseed()
random()
Interupsi Eksternal
attachInterrupt()
detachInterrupt()
Interupsi
interrupts()
noInterrupts()
Komunikasi
Serial
Stream
Restart aplikasi Arduino. Pastikan perpustakaan baru muncul di menu Sketch->Import Library. Itu saja! Anda telah selesai menginstal perpustakaan!
Daftar Isi
1. Dasar
o
o
o
o
o
o
2. Digital
o
o
o
o
o
o
o
o
o
3. Analog
Input Analog, mapping dan kontrol cahaya LED
Potensio mengontrol blink LED
Kontrol 12 LED dengan Arduino Mega
Menentukan nilai minimum dan maksimum sensor
Menggunakan PWM untuk mengontrol LED
Membaca analog input lebih halus
Komunikasi
o Membaca String ASCII
o Tabel ASCII
o Mouse dan LED
o Grafik
o Menyalakan dan mematikan LED
Kontrol Struktur
o pernyataan if
o Perulangan for
o Array
o Perulangan while
o switch case
Sensor
o ADXL3xx accelerometer
o Piezo
o Memsic2125
o Ping Ultrasonic
o SR04 Ultrasonic
Antarmuka / Display
o LED Bar Graph
o
o
o
o
o
o
4.
5.
6.
7.
8. String
o Mengenal lebih dalam tentang string dan akan di update jika ada permintaan dari pembaca
9. USB (Leonardo, Micro, dan Due)
o Kontrol Keyboard dan Mouse
o Mengirim string dengan keyboard
o Kursor dengan tombol
10. Bantuan (saat ini belum ada masalah dari pembaca)
Daftar Isi
1. Pendahuluan
o Visual Basic 6
o Arduino
o Servo
2. Metode Pembuatan
3. Persiapan
4. Proses Pembuatan
o Membuat Kode Sumber Visual Basic
o Membuat Kode Sumber Arduino
5. Analisis dan Pembahasan
6. Download File Pendukung
7. Bantuan
application development (RAD) dari) aplikasi graphical user interface (GUI, akses ke database menggunakan Akses Data Objects , remote Data Objects ,
atau ActiveX Data Objects , serta penciptaan ActiveX kontrol dan objek.
Daftar Isi
1.
2.
3.
4.
5.
6.
7.
8.
Fitur Bahasa
Karakteristik
Sejarah
Bahasa Derivatif
Deskripsi Timeline
Kinerja dan Isu-isu lain
Pengembangan dan Dukungan
Contoh Kode
Referensi
Keseluruh referensi ini ditujukan ke Wikipedia bahasa inggris yang bisa anda kunjungi di http://en.wikipedia.org/wiki/Visual_Basic. Kami hanya
menterjemahkan konten yang ada disana. Jika anda menginginkan lebih banyak referensi, silahkan kunjungi referensi kami.
VB mendefinisikan atribut default dan tindakan untuk komponen, programmer dapat mengembangkan program sederhana tanpa menulis banyak kode.
Meskipun program VB dapat dikompilasi ke dalam kode executable asli dari versi 5, tetap saja masih membutuhkan kehadiran sekitar 1 MB runtime
library. Runtime library disertakan secara default di Windows 2000 ke atas. Versi sebelumnya dari Windows (95/98/NT), mengharuskan perpustakaan
runtime didistribusikan dengan eksekusi. Kebanyakan pengguna saat ini menggunakan windows XP ke atas, jadi tidak masalah.
1. Awal dan akhir statement/pernyataan menggunakan bahasa bukan simbol, Contoh If ... Then ... End If. Berbeda dengan bahasa C yang
menggunakan kurung {}.
2. Tidak bisa memasukan data ke variabel yang banyak. Misalkan A = B = C = D, tidak bisa dilakukan sehingga nilai A, B, C, dan D tidak bisa
dipastikan sama.
3. Konstanta dengan tipe data boolean dalam kondisi true memiliki nilai numerik -1. Hal ini terjadi karena tipe data boolean disimpan dalam 16-bit
integer.
4. Operator logika dan bitwise menyatu, ini merupakan fitur tradisional dari Basic.
5. Array dideklarasikan dengan menentukan batas atas dan bawah, cara ini mirip dengan Pascal dan Fortran.
6. Relatif kuat berintegrasi dengan sistem operasi Windows dan Component Object Model.
7. Banker Rounding dilakukan secara default untuk mengkonversi bilangan real ke dalam bilangan bulat (metode round).Contoh: Round (2.5, 0)
hasilnya adalah 2, sedangkan Round (3.5,0) hasilnya 4.
8. Secara default jika ada variabel yang belum dideklarasikan tipe datanya, maka otomatis variabel tersebut adalah varian. Namun hal ini dapat diubah
dengan pernyataan Deftype seperti DefInt, DefBool, DefVar, DefObj, DefStr. Ada 12 Deftype yang ditawarkan oleh Visual Basic 6.0. Default dapat
diganti untuk mendeklarasikan jenis tertentu dengan menggunakan karakter akhiran khusus pada nama variabel (# untuk ganda, ! Untuk Single, &
untuk Long, % untuk Integer, $ untuk String, dan @ untuk currency). VB juga dapat diatur denga mode hanya variabel secara eksplisit yang
dinyatakan dengan perintah Option Explicit.
Antarmuka Ruby Generator menyediakan "visual" (bagian dari Visual Basic) dan ini dikombinasikan dengan "EB" mesin DASAR Tertanam dan dirancang
untuk meninggalkan "Omega" sebagai sistem database Microsoft. Ruby juga memberikan kemampuan untuk memuat link dinamis perpustakaan yang
berisi kontrol tambahan (kemudian disebut "gizmos"), yang kemudian menjadi antarmuka VBX.
Versi sebelumnya dari Visual Basic (sebelum versi 5) kompilasi kodenya menggunakan P-Code saja. P-Code ditafsirkan oleh runtime. Manfaat dari P-Code
adalah portabilitas dan ukuran file biner yang lebih kecil, tapi biasanya memperlambat eksekusi, karena memiliki runtime sehingga menambahkan lapisan
interpretasi. Namun, sejumlah kecil kode dan algoritma dapat dibangun sehingga dapat berjalan lebih cepat.
Aplikasi Visual Basic memerlukan Microsoft Basic runtime MSVBVMxx.DLL, di mana xx adalah nomor versi yang relevan, baik 50 atau 60.
MSVBVM60.DLL datang sebagai standar Windows di semua edisi setelah Windows 98 sedangkan MSVBVM50.dll untuk semua edisi setelah Windows
95. Namun Windows 95 akan memerlukan inklusi dengan installer dari dll yang dibutuhkan oleh program.
Visual Basic 5 dan 6 dapat mengkompilasi baik kode asli atau P-Code tetapi dalam kedua kasus runtime masih diperlukan untuk fungsi dan bentuk
manajemen.
Kritik ditujukan pada Visual Basic edisi sebelum VB.NET meliputi:
Masalah versioning terkait dengan berbagai runtime DLL, dikenal sebagai "DLL Hell"
Kurang dukungan untuk pemrograman berorientasi obyek
Ketidakmampuan membuat aplikasi multi- threaded, tanpa menggunakan Windows API
Ketidakmampuan untuk membuat layanan Windows
Jenis varian memiliki kinerja dan penyimpanan yang lebih besar daripada bahasa pemrograman "yang diketik"
Lingkungan pengembangan tidak lagi didukung oleh Microsoft
Potongan ini membuat counter yang bergerak naik 1 setiap detik (label dan kontrol waktu perlu ditambahkan ke form agar dapat bekerja bekerja):
Option Explicit
Dim Count As Integer
Private Sub Form_Load()
Count = 0
Timer1.Interval = 1000 ' units of milliseconds
End Sub
Private Sub Timer1_Timer()
Count = Count + 1
Label1.Caption = Count
End Sub
Skema Sirkuit
Kode Program
Inisialisasi komunikasi serial dengan baudrate 9600:
Serial.begin(9600);
Membaca input analog dari pin A0 dan menyimpannya dalam variabel sensorValue:
int sensorValue = analogRead(A0);
Untuk mengubah nilai 0-1023 ke kisaran yang sesuai dengan tegangan 0-5, Anda harus membuat variabel lain, yang bertipe float, dan menggunakan sedikit
persamaan matematika. Untuk skala angka antara 0,0 dan 5,0, cukup emmbagi 5,0 dengan 1.023,0 dan mengalikannya dengan variabel sensorValue:
float voltage = sensorValue * (5.0 / 1023.0);
Terakhir mengirim data voltage ke komputer:
Serial.println(voltage);
Perubahan nilai terlihat pada Gambar 2.
1. Board Arduino
2. Potensiometer 10 KOhm
Skema Sirkuit
Kode Program
Memulai komunikasi serial, dengan 9600 bit data per detik:
Serial.begin(9600);
Selanjutnya di loop utama, Anda perlu membuat variabel untuk menyimpan nilai resistansi (yang akan berada di antara 0 dan 1023, menggunakan tipe data
int):
int sensorValue = analogRead(A0);
Terakhir, tulis kode untuk mengirim data tersebut ke komputer dalam bentuk desimal:
Serial.println(sensorValue)
Hasilnya, ketika jendela komunikasi COM dibuka, akan terlihat nilai dari 0 - 1023 tergantung putaran potensiometer.
Skema Sirkuit
Hubungkan Anoda LED (kaki positif yang panjang) ke salah satu kaki Resistor dan kaki Resistor yang lain dihubungkan ke D9 pada Arduino. Kaki Katoda
LED dihubungkan ke Ground.
Fade LED
Kode Program
Inisial variabel tidak harus dilakukan (optional), tetapi akan berguna jika Anda mau merubah pin sehingga tidak banyak kode yang harus diganti:
int led = 9;
int brightness = 0;
int fadeAmount = 5;
Pada fungsi setup() hanya mendeklasarikan pin D9 sebagai output (untuk menyalakan LED).
pinMode(led, OUTPUT);
Pada fungsi loop() yang pertamal dilakukan adalah mengatur tegangan keluaran untuk pin D9 (LED) yang disimpan dalam variabel brightness dengan
menggunakan fungsi analogWrite():
analogWrite(led, brightness);
Kemudian nilai variable brightness diatur agar terjadi perubahan pada LED:
brightness = brightness + fadeAmount;
Agar gelap terang LED terlihat, dibutuhkan kode yang dapat mengurangi nilai variabel brightness ketika sudah terang maksimal:
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
Hasil akhir kode program
int led = 9;
// Pin untuk LED
int brightness = 0; // Kecerahan LED
int fadeAmount = 5; // Banyaknya fade
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
analogWrite(led, brightness);
// Mengubah kecerahan
brightness = brightness + fadeAmount;
// Setelah maksimal, LED redup kembali
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
// Tunggu 30 ms
delay(30);
}
Board Arduino
Tombol / Switch / Toggle
Resistor 10 KOhm
Papan penyimpan komponen seperti Protoboard / Proyekboard (optional)
Kabel penghubung (optional)
Sirkuit
Kode
Dalam program di bawah ini, hal pertama yang dilakukan dalam fungsi setup adalah memulai komunikasi serial, dengan 9600 bit data per detik:
Serial.begin(9600);
Selanjutnya, menginisialisasi pin digital 2, pin yang akan membaca output dari tombol, sebagai masukan (input):
pinMode(2,INPUT);
Sekarang setup Anda telah selesai, tinggal mengisi kode loop utama. Ketika tombol ditekan, tegangan 5 volt akan mengalir melalui sirkuit, dan jika tidak
ditekan, pin input akan terhubung ke Ground melalui resistor 10 KOhm. Ini adalah input digital, yang berarti bahwa saklar hanya bisa ON (dilihat oleh
Arduino sebagai "1", atau TINGGI) atau keadaan OFF (dilihat oleh Arduino sebagai "0", atau LOW).
Hal pertama yang perlu dilakukan dalam loop utama adalah menetapkan variabel untuk menyimpan informasi dari tombol. Karena informasi dari saklar
akan "1" atau "0", Anda dapat menggunakan tipe data int dengan nama variabel sensorValue yang akan diisi oleh nilai pin 2 Arduino:
int sensorValue = digitalRead(2);
Setelah Arduino telah membaca input, data akan dikirim ke komputer sebagai nilai desimal melalui serial komunikasi USB. Anda dapat melakukan ini
dengan perintah Serial.println():
Serial.println(sensorValue);
Sekarang, ketika Anda membuka Serial COM dalam lingkungan Arduino, akan terlihat aliran data "0" jika saklar tidak ditekan, atau "1" jika saklar ditekan.
Hardware Diperlukan
Sirkuit
Untuk membangun sirkuit, diharuskan menambahkan resistor 330 Ohm ke pin-13. Lalu pasang kaki LED yang lebih panjang (kaki positif, yang disebut
anoda) ke resistor. Pasang kaki pendek (kaki negatif, disebut katoda) ke Ground. Kemudian pasang papan Arduino ke komputer Anda, mulailah
memprogram Arduino, dan masukkan kode di bawah.
Kebanyakan papan Arduino sudah memiliki LED yang terpasang ke pin 13 di papan itu sendiri, ehingga jika tidak memiliki hardware yang disebutkan
diatas, tetap Anda akan melihat bahwa LED berkedip.
Skema
Kode
Dalam program di bawah ini, hal pertama yang Anda lakukan adalah menginisialisasi pin 13 sebagai pin output
pinMode(13, OUTPUT);
Dalam loop() utama, Anda dapat menghidupkan LED dengan kode:
digitalWrite(13, HIGH);
Kode tersebut akan memberikan tegangan 5 volt ke pin 13, yang akan menciptakan perbedaan tegangan pin LED. Kemudian Anda mematikan LED
tersebut dengan baris:
digitalWrite(13, LOW);
Ketika LED ON dan OFF, kita tidak akan bisa melihat reaksinya terhadap LED karena terlalu cepat, sehingga dibutuhkan perintah delay(). Bila Anda
menggunakan perintah delay(), kita dapat mengatur kapan LED itu ON dan kapan OFF.
Hasil akhir kode program:
int led = 13;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(1000); // Tunggu selama 1 Detik
digitalWrite(led, LOW);
delay(1000); // Tunggu selama 1 Detik
}
Sirkuit
Hanya board Arduino yang anda butuhkan untuk contoh ini.
Board Arduino
Kode
Fungsi setup() dipanggil ketika sketsa dimulai. Baca: Struktur Fungsi setup() dan loop() pada Arduino.
Kode di bawah ini tidak akan melakukan apa-apa, tapi akan berguna untuk copy dan paste ketika memulai sketsa. Hal ini juga menunjukkan bagaimana
membuat komentar dalam kode Arduino.
Setiap baris yang dimulai dengan dua garis miring (//) tidak akan dibaca oleh kompilator, sehingga Anda dapat menulis apapun yang diinginkan.
Mengomentari kode Anda seperti ini dapat membantu dalam menjelaskan, baik untuk diri sendiri dan orang lain, tentang bagaimana fungsi program anda
langkah demi langkah.
void setup() {
// Tulis kode setup disini, akan berjalan sekali:
}
void loop() {
// Tulis kode utama disini, akan berjalan berulang-ulang:
}
Ketika memulai pembuatan sketsa baru, kita pasti melihat ada kode struktur setup() dan loop(). Disini akan dibahas apa fungsi setup() dan loop() dalam
Arduino, dan bagaimana cara menggunakannya.
Logo Arduino
setup()
Fungsi setup() dipanggil ketika sketsa dimulai. Struktur ini berguna untuk menginisialisasi variabel, mode pin, memulai menggunakan library, dll. Fungsi
pengaturan hanya akan berjalan sekali, yaitu setiap powerup atau restart board Arduino.
Contoh
int buttonPin = 3;
void setup()
{
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}
void loop()
{
// ...
}
loop()
Setelah menggunakan fungsi setup() yang menginisialisasi dan menetapkan nilai awal, fungsi loop() berguna untuk melaksanakan / mengeksekusi perintah
program yang telah dibuat. Fungi ini akan secara aktif mengontrol board Arduino baik membaca input atau merubah output.
Contoh
delay(1000);
}
pinMode()
Berfungsi untuk mengkonfigurasi pin tertentu agar berperilaku sebagai input atau output. Lihat deskripsi pin digital untuk rincianya.
Pada Arduino 1.0.1, dimungkinkan untuk mengaktifkan resistor pullup internal dengan mode INPUT_PULLUP. Selain itu, mode INPUT eksplisit
menonaktifkan pullups intern.
Sintaksis
pinMode(pin, mode)
Parameter
pin: Pin yang ingin anda atur
Modus: INPUT , OUTPUT , atau INPUT_PULLUP (baca: Definisi dan Fungsi Konstanta Bawaan Arduino).
Contoh
int ledPin = 13; // LED terkoneksi dengan digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT); // mengatur digital pin sebagai output
}
void loop()
{
digitalWrite(ledPin, HIGH); // mengatur LED agar menyala
delay(1000); // tunggu satu detik
digitalWrite(ledPin, LOW); // mengatur LED agar mati
delay(1000); // tunggu selama satu detik
}
digitalWrite()
Berfungsi untuk memberi nilai HIGH atau LOW ke pin digital. Jika pin telah dikonfigurasi sebagai OUTPUT dengan pinMode(), tegangan akan diatur ke
nilai yang sesuai: 5V (atau 3.3V) untuk HIGH, 0V (ground) untuk LOW.
Jika pin dikonfigurasi sebagai INPUT, digitalWrite() akan mengaktifkan (HIGH) atau menonaktifkan (LOW) dengan pullup internal pada pin input.
Disarankan dalam mengatur pinMode() INPUT_PULLUP untuk mengaktifkan resistor pull-up internal.
CATATAN: Jika Anda tidak mengatur pinMode() ke OUTPUT, dan menghubungkan LED ke pin, saat memanggil fungsi digitalWrite(HIGH), LED
mungkin akan tampak redup.
Sintaksis
digitalWrite (pin, value)
Parameter
pin: nomor pin
Nilai: HIGH atau LOW
Contoh
int ledPin = 13; // LED terkoneksi dengan digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT); // mengatur digital pin sebagai output
}
void loop()
{
digitalWrite(ledPin, HIGH); // mengatur LED agar menyala
delay(1000); // tunggu satu detik
digitalWrite(ledPin, LOW); // mengatur LED agar mati
delay(1000); // tunggu satu detik
}
digitalRead()
Membaca nilai dari pin digital tertentu, baik HIGH atau LOW.
Sintaksis
digitalRead(pin)
Parameter
pin: Nomor pin yang ingin dibaca (int)
Contoh
int ledPin = 13; // LED terkoneksi dengan digital pin 13
int inPin = 7; // pushbutton terkoneksi dengan digital pin 7
int val = 0; // variabel untuk menyimpan nilai
void setup()
{
pinMode(ledPin, OUTPUT); // mengatur digital pin sebagai output
pinMode(inPin, INPUT); // mengatur digital pin sebagai input
}
void loop()
{
val = digitalRead(inPin); // membaca pin input
digitalWrite(ledPin, val); // mengatur hidup dan mati LED dengan pushbutton
}
Konstanta Arduino
false
false lebih mudah ditentukan, karena didefinisikan sebagai 0 (nol).
true
true sering didefinisikan sebagai 1. Tetapi benar memiliki definisi yang lebih luas. Setiap bilangan bulat yang bukan nol adalah benar, dalam arti Boolean.
Jadi -1, 2 dan -200 semua didefinisikan sebagai true, juga, dalam arti Boolean.
Perhatikan bahwa konstanta true dan false yang diketik dalam huruf kecil tidak seperti HIGH, LOW, INPUT, dan OUTPUT.
HIGH
Makna TINGGI (dalam referensi untuk pin) agak berbeda tergantung pada apakah pin diatur ke INPUT atau OUTPUT. Ketika pin dikonfigurasi sebagai
INPUT dengan pinMode, dan membaca dengan digitalRead, mikrokontroler akan mendeteksi HIGH jika tegangan input adalah 3 volt atau lebih.
Pin juga dikonfigurasi sebagai INPUT dengan pinMode, dan kemudian membuat HIGH dengan digitalWrite, ini akan mengaktifkan internal 20K resistor
pullup, yang akan mengarahkan input pin untuk membaca HIGHT kecuali dihubungkan ke ground (LOW) oleh sirkuit eksternal.
LOW
Makna LOW juga memiliki arti yang berbeda tergantung pada apakah pin diatur ke INPUT atau OUTPUT. Ketika pin dikonfigurasi sebagai INPUT dengan
pinMode, dan membaca dengan digitalRead, mikrokontroler akan mendeteksi LOW jika tegangannya 2 volt atau kurang.
Ketika pin dikonfigurasi untuk OUTPUT dengan pinMode, dan set ke LOW dengan digitalWrite, pin berada pada 0 volt.
sensor. Pin dikonfigurasi sebagai OUTPUT dapat rusak atau hancur jika terjadi hubungan singkat antara positif dan negatif. Jumlah arus yang disediakan
oleh pin Atmega tidak cukup untuk menggerakan relay atau motor, sehingga diperlukan beberapa sirkuit lain seperti motor driver dll.
LED_BUILTIN
Kebanyakan board Arduino memiliki pin yang terhubung ke LED on-board yang di seri dengan resistor. LED_BUILTIN adalah pengganti drop-in yang
secara manual menyatakan bahwa pin ini sebagai variabel. Kebanyakan board Arduino yang memiliki LED ini terhubung ke pin digital 13.
Daftar Isi
1. Pendahuluan
o Pengantar ATmega32
o Pengenalan Komponen Lain
o Pengantar Pembuatan PCB dengan Eagle
o Pengantar Pembuatan Program dengan CodeVision AVR
o Pengantar Pembuatan Program dengan AVR / Atmel Studio
o Simulasi dengan ISIS Proteus
o Pembuatan PCB dengan ARES Proteus
o Mengenal Downloader / Uploader USBTiny
o Pengantar Download / Upload Program dengan AVRDude
2. Desain Skematik dan Layout PCB
o Sismin ATmega32 Versi 1
o Sismin ATmega32 Versi 2
o Sismin ATmega32 Versi 3
3. Penggunaan Produk
o Memasukan Program ke Sismin ATmega32
4. Contoh Program
o Menyalakan LED
o Blink LED
5. Bantuan (saat ini belum ada masalah dari pembaca)
Mikrokontroler AVR memiliki fitur tambahan yang sangat membantu kita untuk melakukan penelitian yang lebih baik, seperti terdapat ADC, PWM
dan Timer.
6. Memiliki Fitur Tambahan
Mikrokontroler ini memiliki fitur menarik yang patut dicoba seperti 5 mode Sleep, eksternal dan internal interupsi, dan kalibrasi RC Oscillator
internal.
7. Mempunyai 32 jalur Program I/O
ATmega32 mempunyai 32 jalur Program sehingga memungkinkan kita untuk mengontrol lebih banyak device/ perangkat, seperti Tombol/ switch,
LED, buzzer dan LCD.
8. Memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt
ATmega32 memiliki operasi tegangan dari 2,7 Volt sampai 5,5 Volt. Ini sangat membantu kita untuk menghemat listrik. Kecepatan maksimal bisa
mencapai 16 MHz (tanpa overclock).
9. Daya yang dibutuhkan ketika aktif hanya 1,1 mA
ATmega32 membutuhkan arus yang sangat kecil dibanding komponen analog yang biasa kita pakai. Hal ini dibuktikan dengan konsumsi daya yang
dibutuhkan ketika aktif saja hanya 1,1 mA, bahkan bisa mencapai 1 uA ketika mode power-down.
Disini dibahas tentang komponen yang digunakan untuk membuat USBTiny ISP Versi 1. Ada beberapa komp...
Lanjutkan membaca di tab baru
Sensor Aen terdiri dari komponen dasar elektronik yang banyak tersedia dipasaran sehingga kita tidak...
Lanjutkan membaca di tab baru
Aktuator Rij disusun dari bahan yang sederhana dan sangat banyak dipasaran. Aktuator ini merupakan g...
Lanjutkan membaca di tab baru
Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (...
Lanjutkan membaca di tab baru
Gambar 1: LED bening bagus untuk sumber cahaya LF. (Sumber: san-eshop.com. Diakses: 21/02/2014) ...
Lanjutkan membaca di tab baru
Pernahkah kalian memperhatikan sistem distribusi suatu produk dari produsen hingga sampai ke tangan ...
Sumber daya listrik memiliki tegangan dan arus yang sangat tinggi, seperti halnya Pembangkit Listrik...
Lanjutkan membaca di tab baru
Skematik Editor
1.
2.
3.
4.
Layout Editor
1. Ukuran layout bisa mencapai 4 x 4 meter (sekitar 150 x 150 inci)
2. Dukungan penuh komponen SMD
3. Mendukung Blind dan Buried vias
4. Memutar objek / komponen dengan ketelitian 0,1 derajat
5. Komponen dapat dikunci agar tidak bergerak
6. Teks dapat ditempatkan dalam setiap orientasi
7. Perhitungan Dinamis garis sinyal ketika routing
8. Memiliki fungsi Magnetic pads
9. Trek dapat ditarik dengan sudut bulat di radius apapun
10. Pemeriksaan aturan desain layout
11. Copper pouring (untuk grounding)
12. Dll
Autorouter
1.
2.
3.
4.
5.
6.
7.
8.
9.
Versi Evaluasi
Software ini hanya dapat dijalankan di OS windows saja, sementara pada OS lain belum bisa, mungkin kedepannya CVAVR mampu bekerja di OS lain
selain windows. CVAVR juga dapat digunakan versi trial / evaluasi, dengan beberapa syarat.
Daftar Isi
1. Pengantar
2. Apa yang Menarik dari Downloader USBTiny?
o Mudah dalam Pembuatan
o Mudah dalam Penggunaan
Referensi
Referensi artikel ini tertuju pada Adafruit yang beralamat di URL (learn.adafruit.com/usbtinyisp) yang diposting oleh Jeff Donaldson, kami hanya
menterjemahkan bahasa atas permintaan pembaca.
5. Tahap akhir berfungsi untuk menstabilkan sirkuit dari noise. Walaupun sebenarnya ini kurang berpengaruh karena sumber listrik sirkuit ini langsung
dari USB komputer, tetapi akan sangat berguna dikemudian hari.
Menstabilkan Regulator
Bisa ditambah beberapa Kapasitor seperti 10u, 1u, 100n dll. Hal ini sangat berguna meskipun kebanyakan power supply sekarang sudah memiliki penstabil internal.