Pengertian Dan Kelebihan Arduino
Pengertian Dan Kelebihan Arduino
ilham efendi
4 Comments
arduino, Hardware
Pada artikel sebelumnya membahas tentang 5 projek arduino terbaik,
namun masih banyak orang yang belum mengetahui apa itu arduino.
berikut ini sedikit penjelasan tentang apa itu arduino, apa saja yang dapat
dilakukan arduino, kelebihan dan juga pemrograman yang digunakan
arduino.
Arduino
Arduino adalah kit elektronik atau papan
Contoh yang sudah pernah dibuat adalah MP3 player, pengontrol motor,
mesin CNC, monitor kelembaban tanah, pengukur jarak, penggerak servo,
balon udara, pengontrol suhu, monitor energi, statiun cuaca, pembaca
RFID, drum elektronik, GPS logger, monitoring bensin dan masih banyak
lagi. Silahkan buka Google, Youtube atau lihat di
http://www.freeduino.org
Kelebihan Arduino
Arduino Uno sebenarnya adalah salah satu kit mikrokontroler yang berbasis pada ATmega28.
Modul ini sudah dilengkapi dengan berbagai hal yang dibutuhkan untuk mendukung
mikrokontroler untuk bekerja, tinggal colokkan ke power suply atau sambungkan melalui
kabel USB ke PCmu Arduino Uno ini sudah siap sedia. Arduino Uno ini memilki 14 pin
digital input/output, 6 analog input, sebuah resonator keramik 16MHz, koneksi USB, colokan
power input, ICSP header, dan sebuah tombol reset.
Arduino Uno R3 adalah seri terakhir dan terbaru dari seri Arduino USB.
Arduino Uno R3
Mikrokontroler ATmega328
Catu Daya 5V
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
- develop project mikrokontroler akan menjadi lebih dan menyenangkan. tinggal colok ke
USB, dan tidak perlu membuat downloader untuk mendownload program yang telah kita
buat.
- didukung oleh Arduino IDE, bahasa pemrograman yang sudah cukup lengkap librarynya.
- terdapat modul yang siap pakai/shield yang bisa langsung dipasang pada board Arduino
- dukungan dokumentasi yang bagus dan komunitas yang solid
Seperti yang sudah diutarakan sebelumnya, salah satu kelebihan dari arduino Uno ini adalah
didukung oleh software Arduino IDE (Integrated Development Enviroment) untuk
melakukan penulisan pemrograman. Bahasa pemrogramannya pun berdasarkan bahasa C
yang mudah untuk dpelajari dan sudah didukung oleh library yang lengkap.
Panduan lengkap pemrograman Arduino dan contoh contoh programnya dapat dipelajari
disini
http://arduino.cc/en/Reference/HomePage
http://ndoware.com/apa-itu-arduino-uno.html
Pertama adalah pinout: ada penambahan pin SDA dan SCL yang dekat
dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin
RESET, IOREF yang memungkinkan shield untuk beradaptasi dengan
tegangan yang disediakan dari papan / board. Di masa depan, shield akan
kompatibel dengan kedua papan yang menggunakan AVR, yang
beroperasi dengan 5V dan dengan Arduino yang beroperasi 3.3V. Kedua
adalah pin tidak terhubung, yang dicadangkan untuk tujuan masa depan.
"Uno" dalam bahasa Italia berarti satu, alasan diberi nama tersebut adalah untuk
menandai peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi
referensi dari Arduino, dan akan terus berkembang.
Daftar Isi
Ringkasan Spesifikasi
Memori
Komunikasi
Pemrograman
Karakteristik Fisik
Ringkasan Spesifikasi
Mikrokontroler
ATmega328
Operasi tegangan
5Volt
Input tegangan
disarankan 7-11Volt
Pin Analog
50mA
50mA
Memori flash
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
Kecepatan clock
16 MHz
Baterai dapat dimasukkan pada pin header Gnd dan Vin dari konektor DAYA.
Board dapat beroperasi pada pasokan eksternal dari 6 sampai 20 volt. Jika Anda
menggunakan tegangan kurang dari 6 volt mungkin tidak akan stabil. Jika
menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak
papan. Rentang yang dianjurkan adalah 7 sampai 12 volt.
Pin listrik yang tersedia adalah sebagai berikut:
5V. Pin ini merupakan output 5V yang telah diatur oleh regulator papan
Arduino. Board dapat diaktifkan dengan daya, baik dari colokan listrik DC
(7 - 12V), konektor USB (5V), atau pin VIN board (7-12V). Jika Anda
memasukan tegangan melalui pin 5V atau 3.3V secara langsung (tanpa
melewati regulator) dapat merusak papan Arduino. Penulis tidak
menyarankan itu.
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).
Input dan Output
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.
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 masingmasing 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:
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
Blink LED
2. Digital
o
Menggunakan INPUT_PULLUP
Multiple Speaker
3. Analog
o
4. Komunikasi
o
Tabel ASCII
Grafik
5. Kontrol Struktur
pernyataan if
Perulangan for
Array
Perulangan while
switch case
6. Sensor
o
ADXL3xx accelerometer
Piezo
Memsic2125
Ping Ultrasonic
SR04 Ultrasonic
7. Antarmuka / Display
o
8. String
o
Mengenal lebih dalam tentang string dan akan di update jika ada
permintaan dari pembaca
Pada kesempatan kali ini saya akan membagi cara menginstal program
arduino, dimana program arduino sangat berguna bagi anda yang suka
ngoprek peralatan elektronik seperti pemograman line follower, dll.
pokoknya semua yang berhubungan dengan arduino pasti untuk programnya
memakai program arduino.
Adapun cara menginstalnya sebagai berikut :
1. Hubungkan Arduino pada komputer menggunakan Kabel USB tipe B :
2. Pada bagian bawah kanan dekstop akan muncul Popup installing device
driver software seperti pada gambar di bawah ini .
4. Buka device manager, pada bagian search program and files ketikkan
"Device Manager" tanpa tanda kutip. Perhatikan gambar di bawah ini
pada bagian control panel akan muncul device manager, klik untuk
menjalankan programnya.
11.Perhatikan dan ingat nama COM Arduino, Karena nama COM tersebut
akan di pakai setelah anda memporgram pada arduino untuk di upload ke
arduinonya.
http://blog.famosastudio.com/2011/06/tutorial/memulai-menggunakanarduino/39
Pin Arduino
Pin 1 (GND)
GND
Pin 2 (VCC)
+5V
Pin 3 (VSS)
Potentio 50K
Pin 4 (RS)
PORT 12
Pin 5 (R/W)
GND
Pin 6 (E)
PORT 11
Pin 7
Pin 8
Pin 9
Pin 10
Pin 11 (D4)
PORT 5
Pin 12 (D5)
PORT 4
Pin 13 (D6)
PORT 3
Pin 14 (D7)
PORT 2
Pin 15 (LED +)
+5V
Pin 16 (LED -)
GND
Silahkan rangkaiakan LCD dan arduino sesuai gambar dan keterangan di atas.
Setelah selesai merangkai semua silahkan buka program Arduino anda. dan
tuliskan code berikut ini :
// panggil librarynya:
#include <LiquidCrystal.h>
// inisialisasi PORT yang akan digunakan
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// Setting LCD kolom dan baris:
lcd.begin(16, 2);
// Tulisan yang akan di tampilkan.
lcd.print("hello, world!");
}
void loop() {
// set kursor kolom 0, baris 1
// (note: menghitung baris dimulai dari 0):
lcd.setCursor(0, 1);
// menampilkan angka setiap 1000 milisecond:
lcd.print(millis()/1000);
}
Atau dapat buka langsung pada File --> Examples --> LiquidCrystal -->
HelloWorld.
Jangan lupa pilih jenis arduino yang di pakai. Dalam contoh ini saya
menggunakan Arduino Uno. Pilih Tools --> Board ---> Arduino Uno.
http://techno-apk.blogspot.com/2014/02/menggunakan-lcd-16-x-2-di-arduinouno.html
Link Teman
HOME
MANGA
EPISODE
Banner Exchange
TRICK
MOVIE
SOFTWARE, GAME
Home Unlabelled Cara Membuat Program Sederhana dan Simulasi Arduino pada ISIS
Cara Membuat Program Sederhana dan Simulasi Arduino pada ISIS
Posted by Herry Kurni Abri - Sep 1 comments
Cara Membuat Program Sederhana dan Simulasi Arduino pada ISIS
Berikut adalah Contoh Program Sederhana pada Arduino, kali ini saya akan
mengshare Program "Blink"
1. Buka Program Arduino
Klik kanan run as administrator atau bisa klik dua kali, tampilannya akan ada
seperti gambar dibawah ini :
Gambar1
int
void
led
=
setup()
pinMode(led,
13;
{
OUTPUT);
}
void
loop()
digitalWrite(led,
HIGH);
delay(1000);
digitalWrite(led,
LOW);
delay(1000);
Gambar 2
Gambar 3.1
Bila terjadi Kesalahan silahkan cek kembali Programnya , apabila tidak terjadi
kesalahan akan tampak seperti gambar dibawah :
Gambar 3.2
Gambar 4.1
Gambar 4.2
5.Setelah itu Klik menu Pick untuk mengambil komponen pada simulasi
Gambar 5.1
Gambar 5.2
Gambar 5.3
6. Pick semua Komponen yg dibutuhkan, kali ini kita hanya akan memerlukan
Arduino Uno, resistor 1 buah dan 1 buah led berwarna biru . setelah di pick maka
hubungkan (connect) masing2 komponen seperti gambar berikut ini :
Gambar 6
7. setelah komponen selesai di pick , agar simulasi pada ISIS bisa di jalankan klik
dua kali pada gambar simulai arduino diatas , lalu kita kembali pada skech
(software) pada arduino dan copykan satu baris diatas list paling bawah pada
software arduino dan paste pada softwar simulasi ISIS tadi (perhatikan Lingkaran
merah) Perhatikan gambar berikut :
Gambar 7.1
Gambar 7.2
8. Setelah itu Klik ok , lalu Play simulasi di pojok kanan bawah, apabila software
bekerja maka LED akan berwarna BIRU
Gambar 8
http://faizmechatronic.blogspot.com/2013/09/normal-0-false-false-false-en-us-xnone_16.html
Introduction
Ah yes, it is finally time to make your Arduino do something! We're going to start with the
classic hello world! of electronics, a blinking light.
This lesson will basically get you up and running using the Arduino software and uploading a
sketch to the Arduino board. Once you've completed this step we can continue to the really
exciting stuff, which is when we start writing our own sketches!
These instructions mostly show Windows software. Except when indicated, the software
(should be) identical on all platforms. Linux will be added once I figure out how to get it
working (yay)
Do you have everything you need?
Not much is needed for this lesson, just a USB cable and an Arduino. If you have an older
Arduino you may also need an LED. Any LED is fine as long as it looks sorta like the photo,
with a plastic bulb and two legs
Make sure you've gone through Lesson 0 first!
Assembled
Arduino board,
preferrably a
Diecimila (or
whatever the
latest version
is)
Adafruit
$3
5
Adafruit
USB Cable.
Standard A-B
cable is
required. Any
length is OK.
Or any
computer
supply
store
LED - Optional
Nearly any LED
is OK, as long
as it has two
wire legs. This
part is only
required for NG
rev c Arduinos
(and maybe
other older
ones).
Diecimila
Arduino's have
this part 'builtin'
Any
electroni
$1
cs supply
store
$5
Windows
Mac OS X
Windows
Mac OS X
Startup!
Windows
Mac OS X
To open up the workspace
I think I get the red error text shown because I already have Arduino installed. Either way, it
isn't a problem if you do or don't see it.
Select chip
The first step is to configure the Arduino software for the correct chip. Almost all Arduinos
use the ATmega168, but there's a chance you have an ATmega8. Look for the chip on the
Arduino that looks like this:
If the text says ATMEGA8-16P then you have an atmega8 chip. If the text says
ATMEGA168-20P then you have an atmega168 chip. If it says "ATMEGA328P-20P" you
have an atmega328p chip
Make sure the correct chip is selected (this picture is really old, will be fixed soon). This
preference is saved so you only have to set it once, the program will remember next time it's
run.
Select port
Next, its time to configure the Serial Port (also known as the COM Port). Go back to lesson 0
to remind yourself of which port it is. On a PC it will probably be something like COM3 or
COM4. On a Mac it will be something like tty.usbserial-xxxxx
Sketches are little scripts that you can send to the Arduino to tell it how to act. Let's open up
an Example Sketch. Go to the File menu -> Sketchbook -> Examples -> Digital -> Blink
The window should now look like this, with a bunch of text in the formerly empty white
space and the tab Blink above it
Verify / Compile
The first step to getting a Sketch ready for transfer over to the arduino is to Verify/Compile
it. That means check it over for mistakes (sort of like editing) and then translate it into an
application that is compatible with the Arduino hardware.
After a few seconds, you should see the message Done compiling. in the Status Bar and
Binary Sketch Size: in the Notification area. This means the sketch was well-written and is
ready for uploading to the Arduino board!
To tell the Arduino that it should prepare itself for a new Sketch upload, you must reset the
board. Diecimila Arduino's have built-in auto-reset capability, so you don't need to do
anything. Older Arduinos, such as NG, must be manually reset before uploading a sketch. To
do that simply press the black button on the right hand side of the board, shown here.
Upload
Now it's time to upload. Make sure the Arduino is plugged in, the green light is on and the
correct Serial Port is selected.
If you have an NG Arduino, press the Reset Button now, just before you select the Upload
menu item.
Select Upload to I/O Board from the File menu
After a few seconds you should get this screen, with the message Done uploading. in the
status bar.
If you get the following error message "avrdude: stk500_getsync(): not in sync:
resp=0x00" that means that the Arduino is not responding
If you have a NG Arduino, did you press reset just before selecting Upload
menu item?
Is the chip inserted into the Arduino properly? (If you built your own
arduino or have burned the bootloader on yourself)
Does the chip have the correct bootloader on it? (If you built your own
arduino or have burned the bootloader on yourself)
It means you dont have a serial port selected, go back and verify that the correct
driver is installed (lesson 0)
and that you have the correct serial port selected in the menu.
Then you have either the incorrect chip selected in the Tools menu or the wrong bootloader
burned onto the chip
If you get the following error: can't open device "COM10": The system cannot find the file
specified (under Windows, COM port value may vary)
It means that you have too many COM ports (maybe you've got 9 Arduinos?) You should
make sure that the port is numbered as low as possible. You can use a program like FTClean
to clear out old COM ports you aren't using anymore. Once you've cleaned out the ports,
you'll have to reinstall the driver again (see lesson 0).
Alternately, if you're sure that the ports are not used for something else but are left over from
other USB devices, you can simply change the COM port using the Device Manager. Select
the USB device in the Device Manager, right click and select Properties
Then click Advanced... and in the next window change the COM port to something like
COM4 or COM5. Don't forget to select the new port name in the Arduino software. The
lower port names may say (in use) but as long as the other USB devices aren't plugged in, it
shouldn't be a problem. This is a little riskier than just using FTClean...
Video of all steps
Here is a video showing the timing of the steps described so far.
Some older Arduinos don't have a built in LED, its easy to tell if yours does or not
If you have a Diecimila or other Arduino with a built in LED you will see a translucent part
as shown
If you have an NG rev C or other Arduino without an LED, the translucent part will not be
there, and instead you will see two silver dots
If you don't have an LED, you'll need to add your own. Any LED will do, as long as it has
two legs and kinda looks like the one shown here. LEDs are directional components. That
means if you put it in backwards it will not work! To help you put the LED in right, the LED
factory cuts the legs at different lengths. The longer leg goes in the hole marked 13 and the
shorter one goes in the hole marked GND
Watch!
If you have a Diecimila Arduino, the upload process is quite fast, just start the Upload from
the software. The board will automatically reset itself, transfer the sketch and start the sketch.
The little translucent LED will start blinking
Click To Play
If you have an NG arduino, make sure the LED is inserted as indicated before. Here is a
video of the entire uploading process. Right after I press the Reset Button I start the sketch
upload. There is a short wait while the software prepares to transfer the sketch. Then the two
small orange lights blink, indicating the sketch is being transfered. When its done, there is a 7
second delay until the sketch starts.
Click To Play
If you don't get a blinking LED, make sure you put the part in the right way, in
the correct holes, and perhaps try a different LED as it may be bad.
http://www.ladyada.net/learn/arduino/lesson1.html
Tulisan ini akan membahas tentang cara membuat program Arduino dengan menggunakan
Arduino IDE (Integrated Development Environment), yaitu tools yang akan kita gunakan
pada semua proyek Arduino kita. Tools ini juga meng-compile, debugging, dan sekaligus
untuk upload program kita ke Arduino board. Kalau baru mengenal Arduino, silakan dibaca
dulu artikel ini : http://www.rustamaji.net/arduino/dari-mana-mulai-belajar-arduino
Kalau belum punya, silakan download gratis di http://arduino.cc/en/Main/Software, tersedia
untuk Windows, Mac OS, dan Linux bahkan source code nya sehingga kalau perlu bikin
Arduino IDE untuk operating system lainnya bisa compile sendiri
Code Program Arduino biasa disebut sketch dan dibuat menggunakan bahasa pemrograman
C. Hey!, itu gampang lagi, dibanding jaman saya dulu harus pakai Assembler dan PALASM
untuk membuat program mikro kontroller. Belajar sebentar kita akan paham. Program atau
sketch yang sudah selesai ditulis di Arduino IDE bisa langsung dicompile dan diupload ke
Arduino Board. Tidak perlu lagi memprogram device seperti PAL pada jaman dahulu
Secara sederhana, sketch dalam Arduino dikelompokkan menjadi 3 blok (lihat gambar di
atas):
1. Header
2. Setup
3. Loop
Tentu saja, untuk program yang lebih kompleks akan ada blok lain berupa fungsi-fungsi
pendukung. Tetapi untuk kali ini kita fokus pada ketiga blok ini
Header
Pada bagian ini biasanya ditulis definisi-definisi penting yang akan digunakan selanjutnya
dalam program, misalnya penggunaan library dan pendefinisian variable. Code dalam blok
ini dijalankan hanya sekali pada waktu compile. Di bawah ini contoh code untuk
mendeklarasikan variable led (integer) dan sekaligus di isi dengan angka 13
int led = 13;
Setup
Di sinilah awal program Arduino berjalan, yaitu di saat awal, atau ketika power on Arduino
board. Biasanya di blok ini diisi penentuan apakah suatu pin digunakan sebagai input atau
output, menggunakan perintah pinMode. Initialisasi variable juga bisa dilakukan di blok ini
// the setup routine runs once when you press reset:
void setup() { // initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
OUTPUT adalah suatu makro yang sudah didefinisikan Arduino yang berarti = 1.
Suatu pin bisa difungsikan sebagai OUTPUT atau INPUT. JIka difungsikan sebagai output,
dia siap mengirimkan arus listrik (maksimum 100 mA) kepada beban yang
disambungkannya. Jika difungsikan sebagai INPUT, pin tersebut memiliki impedance yang
tinggi dan siap menerima arus yang dikirimkan kepadanya.
Loop
Blok ini akan dieksekusi secara terus menerus. Apabila program sudah sampai akhir blok,
maka akan dilanjutkan dengan mengulang eksekusi dari awal blok. Program akan berhenti
apabila tombol power Arduino di matikan. Di sinilah fungsi utama program Arduino kita
berada.
void loop() {
digitalWrite(led, HIGH); // nyalakan LED
delay(1000); // tunggu 1000 milidetik
BRANKAS ILMU
Beranda
About
PERALATAN :
1. Komputer
2. Arduino Uno
3. Kabel USB tipe B
1 set
1 pcs
1 pcs
4. Project Board
1 pcs
5. Kabel jumper
secukupnya
6. LED
1 pcs
7. Resistor 330
1 pcs
8. Switch pushbutton
1 pcs
9. LCD
1 pcs
10.Potensiometer 10K
1 pcs
PERCOBAAN :
6.1 Penggunaan Timer overflow Untuk LED Blinking
Pada percobaan kali ini akan dibuat program untuk membuat led berkedip per 500
miliseconds. Pada dasarnya LED akan toogle (berubah kondisinya) setiap terjadi interupsi
timer overflow. Nilai register timer di-set sedemikian rupa sehingga waktu overflow per 500
miliseconds.
Prosedur :
Buatlah rangkaian seperti Gambar 6.1.
Tuliskan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program ke
sistem minimum Arduino.
Buka Serial Monitor pada Arduino IDE, pastikan baudrate pada Serial Monitor adalah 9600.
Kemudian amati teks yang diutampilkan pada Serial Monitor. Amati juga kondisi nyala dan
mati LED pada pin 12.
Tugas dan Pertanyaan :
1. Jika dilakukan perhitungan konfigurasi register pada sintaks program
Percobaan 6.1, timer 1 akan overflow setiap berapa miliseconds ?
Tuliskan sintaks program berikut ini, lakukan kompilasi dan upload program.
#include<LiquidCrystal.h>
LiquidCrystal lcd(2,3,4,5,6,7);
unsigned int jam=21, menit=12, detik=03;
boolean led = 0;
ISR(TIMER1_OVF_vect) {
TCNT1H=0xC2;
TCNT1L=0xF7;
detik++;
if(detik>=60) {
detik = 0;
menit++;
if(menit>=60) {
menit = 0;
jam++;
if(jam>=24) {
jam = 0;
}
}
}
}
void initTimer1() {
TCCR1A=0x00;
TCCR1B=0x05;
TCNT1H=0xC2;
TCNT1L=0xF7;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
TIMSK1=0x01;
sei();
}
void setup() {
lcd.begin(16,2);
lcd.clear();
initTimer1();
}
void loop() {
lcd.clear();
lcd.setCursor(0,0);
lcd.print(Jam Digital);
lcd.setCursor(0,1);
lcd.print(jam,DEC);
lcd.print(:);
lcd.print(menit,DEC);
lcd.print(:);
lcd.print(detik,DEC);
delay(500);
}
if(jam>=24) {
Tuliskan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program ke
system minimum Arduino.
KOMUNIKASI SERIAL
Desember 2, 2013
mechatronicsdepartment Uncategorized Tinggalkan komentar
TUJUAN :
1. Memahami cara mengirimkan dan menerima data melalui periperal UART
Arduino.
2. Mampu membuat program untuk mengirimkan data berbasis teks dan
berbasis byte.
3. Mampu membuat program untuk menerima data secara pooling dan
secara interupsi serial.
PERALATAN :
1. Komputer
1 set
2. Arduino Uno
1 pcs
3. Project Board
1 pcs
4. LCD
1 pcs
5. Potensiometer 10K
1 pcs
6. Kabel Jumper
secukupnya
PERCOBAAN :
5.1 Mengirim Data Teks
Percobaan kali ini akan dibuat program untuk mengirimkan data teks ke komputer melalui
komunikasi serial. Pada percobaan ini contoh teks yang akan dikirimkan adalah Hello
World. Pengiriman data akan menggunakan baudrate 9600.
Prosedur :
Tuliskan sintaks program dibawah ini, kemudian lakukan kompilasi dan upload program ke
system minimum Arduino.
Pastikan data teks Hello Word yang dikirimkan Arduino diterima oleh Serial Monitor.
Tugas dan Pertanyaan :
1. Gantilah parameter input pada fungsi serial.print sesuai dengan Tabel 5.1.
Amati data yang diterima pada HTerm, kemudian isilah Tabel 5.1 di bawah
ini !
2. Gantilah fungsi Serial.print menjadi Serial.println, kemudian tuliskan amati data yang
diterima oleh komputer. Jelaskan perbedaan penggunaan fungsi Serial.print dan
Serial.println !
Perbedaan antara Serial.print dan Serial.printIn adalah pada bila menggunakan Serial.print,
pada tampilan teksnya akan terus muncul kesamping sedangkan bila menggunakan
Serial.printIn teksnya akan meng-enter kebawah.
1. Tambahkan karakter \r\n pada akhir baris teks pada Tabel 5.1. Amati data
yang ditampilkan pada komputer. Jelaskan fungsi karakter \r\n pada
komunikasi serial !
e.
Buka aplikasi HTerm pada komputer, pastikan konfigurasi pada HTerm seperti gambar di
bawah ini.
Klik tombol Connect, kemudian perhatikan data yang ditampilkan pada bagian Receive Data.
Pastikan data tersebut sama dengan data yang dikirmkan oleh Arduino.
Tugas dan Pertanyaan :
Gantilah parameter input untuk fungsi Serial.Write dengan data pada Tabel 5.2. Amati data
yang diterima pada HTerm, kemudian isilah Tabel 5.2!
Gantilah konfigurasi dari HTerm menjadi seperti dibawah ini, perhatikan yang diterima.
Kenapa data yang diterima berubah menjadi huruf ? jelaskan !
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 5.2 !
1. void setup() = berfungsi untuk settingan awal pada program.
2. Serial.begin(115200); = settingan baudrate nya adalah 115200 ,
baudrate adalah kecepatan pengirimana dalam 1 detik.
3. void loop() = = berfungsi untuk tempat peletakan coding yang akan
diproses atau dijalankan.
4. Serial.write(0x41); = untuk menulis angka 41.
5. Serial.write(0x42); = untuk menulis angka 42.
6. Serial.write(0x43); = untuk menulis angka 43.
7. Serial.write(0x44); = untuk menulis angka 44.
8. Serial.write(0x45); = untuk menulis angka 45.
i.
Tuliskan sintaks program berikut ini, kemudian lakukan kompilasi dan upload program.
Ketikkan sembarang kata untuk dikirimkan (kurang dari 16 karakter), kemudian tekan send.
Isilah Tabel 5.3 !
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 5.3 !
1. #include<LiquidCrystal.h> = berfungsi sebagai untuk pemanggilan
library untuk LCD.
2. LiquidCrystal lcd=(2,3,4,5,6,7); =berfungsi untuk pengisialisasian
pada pin LCD.
3. String textFromSerial = ; = berfungsi untuk mendeklarasikan
textFromSerial sebagai string.
4. void setup() = berfungsi untuk settingan awal pada program.
5. lcd.begin(16,2); = berfungsi untuk tampilan LCD (kolom , baris)
6. lcd.clear(); = berfungsi untuk menghapus tampilan pada LCD.
Ketikkan sembarang teks untuk dikirimkan, tekan send, Lengkapilah Tabel 5.4 !
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 5.4 !
1. #include <LiquidCrystal.h> = berfungsi untuk memanggil library
untuk LCD.
2. #define FOSC 16000000 = untuk menetapkan nilai FOSC bernilai
16000000.
3. LiquidCrystal lcd (2, 3, 4, 5, 6, 7); = berfungsi untuk menginisialisasi
pin pada LCD.
4. String dataSerial; = mendekelarasikan dataSerial sebagai string.
5. int ubrr = FOSC/16/baudrate-1; = Mengisi register UBRR0H dan
UBRR0L untuk menentukan baudrate.
6. UBRR0L |= ubrr; = Mengaktifkan saluran transmitter dan receiver.
7. UCSR0B |= (1<<RXEN0)|(1<<TXEN0); = Menggunakan format data
8 bit.
8. UCSR0C |= (0<<UCSZ02)|(1<<UCSZ01)|(1<<UCSZ00); =
Menggunakan 1 stop bit.
9. UCSR0C |= (0<<USBS0); = No Parity.
10.UCSR0C |= (0<<UPM01)|(0<<UPM00); = Mengaktifkan RX
interrupt.
11.UCSR0B |= (1<<RXCIE0); = Rutin yang akan dijalankan jika terjadi
interupsi.
12.lcd.clear(); = berfungsi untuk menghapus tampilan pada LCD.
13.lcd.setCursor(0,0); = berfungsi untuk menampilkan text pada baris
pertama LCD.
14.lcd.print(Incoming Data); = berfungsi untuk menampilkan text
Incoming Data pada baris pertama di LCD.
Interupsi adalah suatu kejadian yang akan menghentikan sementara jalan program saat itu.
Dengan interupsi, suatu alur program dapat dihentikan sementara untuk menjalankan suatu
subrutin, dan kemudian melanjutkan aliran program secara normal seperti tidak pernah ada
interupsi. Sedangkan sistem pooling adalah kondisi arduino menunggu pengiriman data
melalui serial.
INTERUPSI EKSTERNAL
Desember 2, 2013
mechatronicsdepartment Uncategorized Tinggalkan komentar
TUJUAN
1. Mampu membuat program untuk penggunaan fitur interupsi eksternal.
2. Memahami perbedaan mode interupsi eksternal ( falling, rising dan
change).
PERALATAN
1. Komputer
: 1 unit
2. Arduino Uno
: 1 pcs
3. Project Board
: 1 pcs
4. Kabel Jumper
: secukupnya
5. Switch pushbutton
: 2 pcs
6. LCD
: 1 pcs
7. Potensiometer 10K
: 1 pcs
PERCOBAAN :
4.1 Interupsi Eksternal dengan mode Falling
Pada percobaan kali ini akan dibuat program untuk memahami penggunaan interupsi
eksternal dengan mode falling. Dua buah switch akan dihubungkan pada pin interupsi
eksternal 0 (INT0) dan interupsi eksternal 1 (INT1). Penekanan switch akan menginterupsi
program utama (yang berada pada fungsi loop) dan memaksa untuk menjalankan rutin
interupsi yang telah dideskripsikan pada program.
Prosedur :
1. Rangkailah rangkaian pada gambar 4.1.
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countloop = 0;
void setup ()
{
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, FALLING);
attachInterrupt(1, rutinInterupsi1, FALLING);
}
void loop ()
{
lcd.setCursor(0,0); lcd.print(Main Program);
lcd.setCursor(0,1); lcd.print(CountLoop ); lcd.print(countloop);
countloop++;
delay(1000);
}
void rutinInterupsi0()
{
lcd.setCursor(0,0); lcd.print(int0 Program);
lcd.setCursor(0,1); lcd.print(Interrupt INT0);
delay(2000);
}
void rutinInterupsi1()
{
lcd.setCursor(0,0); lcd.print(Int1 Program);
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countloop = 0;
void setup ()
{
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, RISING);
attachInterrupt(1, rutinInterupsi1, RISING);
}
void loop ()
{
lcd.setCursor(0,0); lcd.print(Main Program);
lcd.setCursor(0,1); lcd.print(CountLoop ); lcd.print(countloop);
countloop++;
delay(1000);
}
void rutinInterupsi0()
{
lcd.setCursor(0,0); lcd.print(int0 Program);
lcd.setCursor(0,1); lcd.print(Interrupt INT0);
delay(2000);
}
void rutinInterupsi1()
{
lcd.setCursor(0,0); lcd.print(Int1 Program);
lcd.setCursor(0,1); lcd.print(Interrupt INT1);
delay(2000);
}
Tugas dan Pertanyaan :
1. Biarkan program berjalan sehingga pada LCD nilai count loop increment
sampai diatas 5. Kemudian tekan salah satu switch yang terhubung pada
INT0 atau INT1 selama 5 detik kemudian lepaskan. Amati teks yang
ditampilkan pada LCD. Apakah yang akan terjadi jika switch ditekan ?
apakah yang akan terjadi jika switch dilepas ?
#include <LiquidCrystal.h>
LiquidCrystal lcd(A0,A1,A2,A3,A4,A5);
unsigned int countloop = 0;
void setup ()
{
lcd.begin(16,2);
lcd.clear();
attachInterrupt(0, rutinInterupsi0, CHANGE);
attachInterrupt(1, rutinInterupsi1, CHANGE);
}
void loop ()
{
lcd.setCursor(0,0); lcd.print(Main Program);
lcd.setCursor(0,1); lcd.print(CountLoop ); lcd.print(countloop);
countloop++;
delay(1000);
}
void rutinInterupsi0()
{
lcd.setCursor(0,0); lcd.print(int0 Program);
lcd.setCursor(0,1); lcd.print(Interrupt INT0);
delay(2000);
}
void rutinInterupsi1()
{
lcd.setCursor(0,0); lcd.print(Int1 Program);
lcd.setCursor(0,1); lcd.print(Interrupt INT1);
delay(2000);
}
Desember 2, 2013
mechatronicsdepartment Uncategorized Tinggalkan komentar
TUJUAN :
1. Mampu membuat program untuk mengakses periperal masukan
analog dengan tegangan referensi internal, vcc, dan eksternal.
2. Mampu memahami pengaruh nilai tegangan referensi terhadap hasil
konversi Analog to Digital Converter (ADC).
3. Mampu membuat program untuk mengakses fitur analog komparator pada
mikrokontoler.
PERALATAN :
1. Komputer
2. Arduino Uno
3. Kabel USB tipe B
1 set
1 pcs
1 pcs
4. Project Board
1 pcs
secukupnya
6. Potensiometer 10K
1 pcs
7. LCD 216
1 pcs
PERCOBAAN
3.1 Analog Input dengan Tegangan Referensi Internal (1,1 Volt)
Pada percobaan kali ini akan dibuat program untuk mengkonversi nilai tegangan analog dari
potensiometer menjadi nilai digital. Data hasil konversi akan ditampilkan pada LCD 216.
Tegangan referensi ADC yang digunakan adalah tegangan refrensi internal yang besarnya
adalah 1,1 volt.
Prosedur :
1. Rangkaialah rangkaian pada Gambar 3.1.
Tabel 3.1 Perbandingan data hasil perhitungan dan data pada LCD
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.1 !
1. #include <LiquidCrystal.h> : sintaks disamping merupakan sintaks
untuk menggunakan LCD pada Arduino.
2. LiquidCrystal lcd( ) : sebagai untuk insialisasi pin LCD yang akan
digunakan.
3. void setup ( ) : sebagai untuk insialisasi.
4. lcd.begin (16,2); : tampilan LCD , 16 = kolom 2 = baris.
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.1
1. #include <LiquidCrystal.h> : sintaks disamping merupakan sintaks
untuk menggunakan LCD pada Arduino.
2. LiquidCrystal lcd(2,3,4,5,6,7); : sebagai penginisialisasi pin yang
akan digunakan.
3. void setup() : sebagai penginisialisasi.
4. lcd.begin(16,2); : tampilan lcd 16= kolom 2= baris.
5. lcd.clear(); : untuk menghapus pada kolom LCD.
6. lcd.setCursor(0,0); : letak kursor pada lcd.
7. lcd.print(ADC Example on A0); : lcd menampilkan ADC Example
on A0.
8. analogReference(DEFAULT); : parameter input default ( 5 volt).
9. void loop() : sebagai looping.
10.unsigned int dataADC = analogRead(A0); : inisialisasi input A0
11.lcd.clear(); : untuk menghapus pada kolom LCD.
12.lcd.setCursor(0,1); : letak kursor pada LCD.
13.lcd.print(Value = ); : untuk menampilkan tulisan value =pada
LCD.
Tabel 3.3 Perbandingan data hasil perhitungn dan data pada LCD
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.3 !
2. #include <LiquidCrystal.h> : memanggil library untuk LCD.
3. LiquidCrystal lcd(2,3,4,5,6,7); : inisialisasi pin LCD yang akan digunakan.
4. void setup() : sebagai Penginisalisasi.
5. lcd.begin(16,2); : tampilan LCD kolom = 16 , baris = 2.
6. lcd.clear(); : untuk menghapus tampilan program sebelumnya pada
program.
7. lcd.setCursor(0,0); : letak kursor pada LCD.
8. lcd.print(ADC Example on A0); : untuk menampilkan tulisan ADC
Example on A0 pada LCD.
9. analogReference(EKSTERNAL); : parameter input internal ( 4 volt).
10.void loop() : untuk looping.
11.unsigned int dataADC = analogRead(A0); : sebagai inisialisasi input A0.
12.lcd.clear(); : untuk menghapus pada tampilan LCD.
13.lcd.setCursor(0,1); : letak kursor pada LCD.
Karena tegangan yang ada pada pin 6 lebih besar daripada pin 7.
1. Apakah yang terjadi jika tegangan pada pin AIN0 lebih kecil dari tegangan
AIN1, jelaskan !
Yang terjadi adalah pada LCD akan muncul tulisan comparator low karena nilai pada pin 6
lebih kecil daripada pin 7.
1. Jelaskan prinsip kerja dari analog komparator pada sistem minimum
Arduino ! apakah prinsip kerja komparator pada mikrokontroler sama
dengan prinsip kerja komparator pada opamp ?
Sama , prinsip kerja dari analog komparator adalah sebagai pembanding , pada komparator
ADC sinyal dari analog dengan tegangan referensi dibandingakan kedalam bentuk besaran.
1. Jelaskan fungsi tiap baris dari sintaks program pada Percobaan 3.4 !
18.delay(1000); : penjedaan.
19.lcd.clear(); : untuk menghapus tampilan pada LCD.
2. tuliskan sintaks dibawah ini pada program arduino lalu kompilasi dan upload program ke
sistem minimum arduino.
perbedaan dari praktikum 2.1 dan 2.2 adalah pada praktikum 2.1 kita menggunakan program
arduino biasa sehingga kita harus membuat satu per satu dari sintaks tersebut , sedangkan
praktikum 2.2 kita menggunakan konfigurasi register .
2.3 penggunaan fungsi Delay
Pada percobaan kali ini akan dipraktekkan penggunaan fungsi delay pada program. Program
yang akan dibuat bertujuan untuk membuat buzzer menyala dan mati secara bergantian
dengan sela waktu tertentu. Konfigurasi nyala dan mati buzzer dengan sela waktu tertentu ini
akan membuat suara seperti alarm ataupun sirine.
prosedur :
1. Rangkailah rangkaian pada Gambar 2.2.
lalu tuliskan sintaks dibawah pada program arduino lalu compile dan upload pada sistem
minimum arduino.
Pin Mode (12, Output) adalah untuk mengkonfigurasi pin 12 sebagai output. Pada void loop ,
fungsi digitalWrite(12, HIGH) adalah mengeset pin 12 sebagai keluaran bernilai HIGH
(menyala pada buzzer) Delay(1000) adalah waktu pada buzzer pada kondisi high selama 1
detik. Fungsi digitalWrite(12, LOW) ; adalah mengeset pin 12 sebagai keluaran bernilain
LOW (Mati) Delay (1000) adalah waktu pada buzzer pada kondisi low selama 1 detik.
2.4 Pemrograman Digital Input Menggunakan Fungsi Arduino
pada percobaan kali ini akan mempraktekkan pemrograman untuk mengakses masukan dalam
bentuk digital. program ini bertujuan untuk menyalakan buzzer ketika tombol ditekan. Untuk
melakukan pengaksesan terhadap masukan digital akan digunakan fungsi Arduino.
prosedur :
2. tuliskan sintaks dibawah ini pada program arduino lalu compile dan upload pada sistem
minimum arduino.
akan menyala dan apabila pada saat tidak ditekan maka kondisi digitalWite(12, LOW);
buzzer tidak akan berbunyi (pada kondisi LOW).
2.5 Pemrograman Digital Input Menggunakan Konfigurasi Register
Pada percobaan kali ini akan dipraktekkan pemrograman untuk mengakses masukan
dalam bentuk digital sama seperti Percobaan 2.4. Pada percobaan kali ini pengkaksesan
terhadap masukan digital akan menggunakan konfigurasi register.
1. Gantilah sintaks program pada Percobaan 2.5 menjadi seperti di bawah ini, kemudian
lakukan kompilasi dan upload program.
Fungsi dari DDRC=0x00 adalah sebagai inputan data direct register pada port C dari arduino
,0x yaitu pin pada port c dijadikan input , 00 yaitu jika di konversikan ke biner maka didapat
bahwa semua pin A0 A5 pada port c bernilai low . Fungsi dari portc=0x01 adalah jika 01 di
konversikan ke bilangan binner yang dibaca dari kanan maka didapat bahwa pin A0 bernilai
1/high pada port c. Fungsi dari ddrb=0x10 adalah sebagai keluaran data direct register pada
port b dari arduino,0x yaitu pin pada port c dijadikan input,10 yaitu jika di konversikan ke
bilangan biner yang dibaca dari kanan maka A5 adalah bernilai 1/high. Fungsi dari
if(bit_is_clear(pinc,0)) adalah pada saat kondisi dimana Pinc yaitu A0 bernilai 0 ,maka pada
portb yaitu 10 yang diubah ke biner di hitung dari kanan yaitu 10000 dan pin 12 bernilai
1/menyala apabila switch ditekan maka buzzer akan berbunyi. Fungsi else(portb=0x00)
adalah pada saat kondisi selain kondisi pertama saat switch tidak ditekan maka buzzer mati
karena A0 bernilai high.
oke , kali ini saya akan memposting lanjutan dari postingan sebelumnya yaitu Simulasi
Arduino dengan menggunakan PROTEUS 7 , oke inilah langkah-langkahnya :
1. buka software arduino dan buat salah satu contoh program dasarnya.
2. lalu ikuti langkah ini : File >> preferences >> lalu centang compilation dan upload , itu
berfungsi untuk meng-upload dan mengkompilsai program tersebut ke ISIS (simulator).
4. cari component mode, berfungsi sebagai untuk mencari komponen yang kita butuhkan.
Setelah itu cari huruf P dan cari komponen yang diperlukan , bila telah didapat klik OK.
5. Terminal mode adalah untuk mencari komponen seperti power dan ground.
6. setelah itu buat rangkaian yang diinginkan , dibawah adalah contoh gambar rangkaian yang
akan saya simulasikan.
7. cara untuk meng-compile antara Arduino dan ISIS adalah : pada software Arduino klik
verify, setelah itu muncul command pada bagian bawah dan cari .HEX dan copy command
tersebut.
8. setelah di copy buka simulator ISIS dan double klik pada komponen ARDUINO tersebut,
lalu paste pada program file , setelah selesai kilik OK.
SELAMAT MENCOBA ^^
2. setelah itu copy file .IDX dan .ILB tersebut dan pindahkan ke library , contoh : data C >>
Program Files >> Labcenter Electronics >> Proteus 7 Professional >> Library.
3. setelah itu cari key licence nya dan setelah itu klik kanan , pilih run as administrator.
4. berikutnya , klik browse lalu cari dimana kita meletakkan licence key nya , setelah itu klik
OK. setelah selesai klik tulisan update , dan selesai.
oke bro saya rasa sekian untuk postingan kali ini , semoga bermanfaat ^^
Pencarian..
Pos-pos Terakhir
KOMUNIKASI SERIAL
INTERUPSI EKSTERNAL
210
Komentar Terakhir
Arsip
Desember 2013
Oktober 2013
September 2013
Kategori
Uncategorized
Meta
Mendaftar
Masuk log
RSS Entri
RSS Komentar
WordPress.com
BRANKAS ILMU
Buat situs web atau blog gratis di WordPress.com. The Notepad Theme.
Ikuti
Follow BRANKAS ILMU