PELATIHAN GURU ELEKTRONIKA
DAERAH ISTIMEWA YOGYAKARTA
MASHOEDAH, MT
ARDUINO
Apa itu Microcontroller
www.mikroe.com/chapters/view/1
• Komputer mini dengan single chip
• Berisi processor, memory, dan input/output
• Biaasanya tertanam didalamnya beberapa peralatan yang mereka kendalikan.
• Mikrokontroler seringnya berukuran kecil dan murah
• Contoh???
Apa itu Papan Pengembangan
(Development Board)
• papan sirkuit dirancang untuk
memfasilitasi bekerja dengan
microcontroller tertentu. ~
• Biasanya termasuk komponen:
• power circuit
• Antarmuka pemrograman (programming
interface)
• basic input; biasanya tombol dan LED
• I/O pins
Apa itu Arduino?
Adalah sebuah hardware dengan plat form open source
berbasis pada Atmel AVR 8-bit microcontroller dan IDE
berbasis C++.
Lebih dari 300000 boards telah di produksi.
Arduino Due is based on a 32-bit ARM Cortex
Apa itu Arduino ?
Papan Pengembangan Arduino
(Arduino Development Board)
Tipe –tipe Arduino
Banyak versi-versi yang berbeda
• Jumlah pin input/output
• Faktor bentuk
• Processor
TIPE
Leonardo
Due
Micro
LilyPad
Esplora
Uno
Leonardo
Dibandingkan dengan tipe UNO, adalaha sedikit upgrade dari
UNO
Built in USB compatibility
Presents to PC as
a mouse or
keyboard
Due
Prosessor lebih cepat, lebih banyak pin I/O
Beroperasi pada tegangan 3.3 volts
Serupa dengan tipe Mega
Micro
Jika ukuran menjadi pertimbangan maka tipe Micro, Nano,
Mini menjadi pilihan
Termasuk seluruh fungsi yang ada pada tipe Leonardo
Mudah digunakan pada breadboard
LilyPad
Bentuk yang bulat tipe lili popular digunakan pada proyek2
yang terkait dengan pakaian.
Esplora
Untuk Game controller
Termasuk joystick, empat buttons, linear potentiometer
(slider), microphone, light sensor, temperature sensor, three-
axis accelerometer.
Tidak memiliki set standart IO PIN.
Arduino Uno
Tiga grup pin I/O (Power, analog, Digital):
Ditemukan thn 2010
14 digital pins
6 analog pins
power
Microcontroller pada Arduino : Atmel
AVR Atmega 328
Specification
Memulai pemrograman dengan
Atduino.
• Check out: http://arduino.cc/en/Guide/HomePage
1. Download & install the Arduino environment (IDE)
2. Connect the board to your computer via the USB cable
3. If needed, install the drivers (not needed in lab)
4. Launch the Arduino IDE
5. Select your board
6. Select your serial port
7. Open the blink example
8. Upload the program
Terminology
Sketch : program yg ditulis dan dijalankan di arduino
Pin : input/Output utk dihubungkan ke peralatan
lain
Digital : nilai HIGH atau LOW
Analog : range nilai biasanya dari 0-255
Cari istilah2 yang berkaitan dengan arduino lainnya !!!
Shield : ???
Arduino IDE
See: http://arduino.cc/en/Guide/Environment for more information
Coba: Hubungkan Kabel USB
Preference IDE Arduino
Select Serial Port and Board
Status Messages
Add an External LED to pin 13
• File > Examples > Digital > Blink
• LED’s have polarity
– Negative indicated by flat side of the housing
and a short leg
www.instructables.com
Pengembangan Program Arduino
Berbasis pada C++ tanpa 80% menuliskan instruksi2.
A handful of new commands.
Programs dinamakan 'sketches'.
Sketches membutuhkan dua functions:
void setup( )
void loop( )
setup( ) dijalankan pertama kali dan hanya sekali.
loop( ) dijalankan terus menerus, sampai power pada arduino
dilepas atau sketch baru di loaded pada arduino.
Program pada Arduino
• Code adalah case sensitive
(huruf besar dan kecil
berpengaruh)
• Perintah Pernyataan perintah
dan harus diakhir dengan
tanda semi-colon
• Baris Komentar diawali
dengan // atau dimulai
dengan /* dan diakhiri
dengan */
• loop and setup
Fitur Kompiler
Banyak sekalai contoh
sketch yang disertakan pada
kompiler.
Lokasinya ada pada menu
File, Examples
Once a sketch is written, it
is uploaded by clicking on
File, Upload, or by pressing
<Ctrl> U
Program PertamaKu
Fungsi-fungsi Penting
Serial.println(value);
Menampilkan nilai pada monitor serial di layar komputer.
pinMode(pin, mode);
Mengatur Pin Digital untuk membaca (input) atau menulis
(output) sebuah nilai digital.
digitalRead(pin);
Membaca nilai digital (HIGH atau LOW) pada sebuah Pin
sebagai input.
digitalWrite(pin, value);
Menulis(mengeluarkan) nilai digital (HIGH atau LOW) pada
sebuah pin sebagai output.
void setup() {
Digital I/0 // initialize the LED pin as an
output:
pinMode(13, OUTPUT);
// initialize the pushbutton
pinMode(NomorPin, mode) pin as an input:
Mengatur pin I/O sebagai INPUT atau pinMode(2, INPUT);
OUTPUT. }
digitalRead(pin)
Reads HIGH or LOW from a pin
digitalWrite(pin, value)
Writes HIGH or LOW to a pin
Serial.println(value);
Menampilkan nilai pada monitor serial
di layar komputer.
Delay (tunda) pada Arduino
• delay(ms)
– Menunda eksekusi program untuk beberapa
milliseconds
• delayMicroseconds(us)
– Menunda eksekusi program untuk beberapa
microseconds
• Perintah lainnya dapat dilihat di:
arduino.cc/en/Reference/HomePage
Shields
Shields are circuit boards that plug into the top of an
Arduino.
They extend the capabilities of an Arduino.
Examples:
Ethernet
GPS
Motor
Prototype
shieldlist.org
Analog to Digital Coversion (ADC)
Apa itu analog ?
Adalah sebuah range yang kontinnyu dari nilai tegangan
(tidak hanya 0 atau 5V, tapi 0 volt s/d 5 Volt)
Kenapa harus diubah ke digital ?
Sebab mikrokontroler hanya mengerti nilai digital.
Digital? Analog?
• Digital has two values: on and off
• Analog has many (infinite) values
• Computers don’t really do analog, they quantize
• Remember the 6 analog input pins---here’s how
they work
todbot.com/blog/bionicarduino
ADC Arduino Uno
Mengubah Nilai Analog ke Digital
ADC di Arduino
Arduino Uno board memiliki 6 pins untuk ADC
10-bit analog to digital converter
Ini berarti akan memetakan tegangan input antara 0 sd 5 volt
ke nilai integer antara nol sampai dengan 1023.
Reading/Writing Analog Values
analogRead(A0); // digunakan untuk membaca nilai analog
dari pin A0
analogWrite(2,128);
ADC dengan input Potensiometer
1. Siapkan potensio 10K
2. Hubungkan kaki potensiometer ke Pin 5 VCC dan Ground
pada Arduino menggunakan kabel jumper.
3. Hubungkan kaki tengah potensiometer ke pin A0 Arduino
menggunakan kabel jumper.
4. Hubungkan board Arduino Uno dengan Komputer
menggunakan kabel USB.
5. Bukalah IDE Arduino, kemudian ketikkan kode
program/sketch.
6. Compile menggunakan verify button (tanda ceklist pada IDE
arduino) untuk mengecek ada atau tidaknya error/kesalahan
dalam pengetikan.
7. Upload program ke arduino dengan cara, pilih File > Upload
to I/O board, atau tekan tombol tanda panah pada jendela
IDE arduino.
Ketik program berikut ini
/* memonitor nilai tegangan yang diatur oleh potensio */
const int sensorPin = A0;
int nilaiSebelum= 0;
void setup() {
// mengatur kecepatan pengiriman dan penerimaan data
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
int nilaiSekarang = analogRead (sensorPin);
if (abs(nilaiSebelum - nilaiSekarang) >2 )
{
Serial.println(nilaiSekarang);
nilaiSebelum = nilaiSekarang;
}
delay(20);
}
Int sensorPin=A0; //select the input pin for the potentiometer
Int ledPin=13; //select the pin for the LED
Int sensorValue=0; //variable to store the value coming from the sensor
void setup(){
//declare the ledPin as an OUTPUT:
pinMode(ledPin,OUTPUT);
}
void loop(){
//read the value from the sensor:
sensorValue=analogRead(sensorPin);
//turn the ledpin on
digitalWrite(ledPin,HIGH);
//stop the program for <sensorValue> milliseconds:
delay(sensorValue);
//turn the ledPin off:
digitalWrite(ledPin,LOW);
//stop the program for <sensorValue> milliseconds:
delay(sensorValue);
}
LETS DO IT..
Bits and Bytes
Variables
www3.ntu.edu.sg
Putting It Together
• Complete the sketch
(program) below.
• What output will be
generated by this program?
• What if the schematic were
changed?
www.ladyada.net/learn/arduino
Good References
www.arduino.cc
www.ladyada.net/learn/arduino
www.EarthshineElectronics.com