Arduino Part 1
Arduino Part 1
www.mikroe.com/chapters/view/1
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
Shield : ???
Arduino IDE
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)
todbot.com/blog/bionicarduino
ADC Arduino Uno
Mengubah Nilai Analog ke Digital
ADC di Arduino
Arduino Uno board memiliki 6 pins untuk ADC
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