Anda di halaman 1dari 18

Arduino Seven Segment | Tutorial Arduino Dasar

tutorial arduino | Halo sobat AWI'ers.... ketemu lagi di akhir pekan. Kali ini kami akan sedikit bermain
main dasar tentang bagaimana bertatap muka antara arduino dengan seven segment.

Sudah pada tau seven segment kan. itu loh yang biasa dipakai ditampilan-tampilan jam digital yang
bentuknya kayak kotak - kotak ada angkanya 0 - 9

Seven Segment 0 - 9 (*)

Sebelum kita belajar lebih jauh alangkah baiknya kita mengenal apa itu seven segment, bagaimana
konfigurasinya yang ada di seven segment.

Pada Umumnya seven segment terdiri 7 batang led yang disusun membentuk angka 8 (*seperti pada
gambar diatas), dimana setiap segmentnya terdiri dari LED yang salah satu kaki terminal lednya di
jadikan satu atau yang disebut dengan common.

skema dari 7 batang led tadi biasanya di tandai dengan huruf a - g, sebagai berikut

skema seven segment (*)

Kaki yang dijadikan satu / common sendiri dibagi menjadi 2 yaitu kaki common anoda dan kaki common
cathoda.
Penjelasan common anoda dan common katoda

Common Anoda
common Anoda merupakan bagian kaki dari anoda (+) yang dijadikan satu dan dihubungkan dengan arus
positif tegangan. sedangkan untuk mengaktifkan kaki yang lainnya harus di beri tegangan negatif. atau
led akan menyala jika dalam kondisi aktif low (diberi logika 0).
Misalkan ingin menampilkan angka 1, maka yang harus di lakukan adalah. kaki common di beri tegangan
+, sedangkan kaki b dan c di beri tegangan -

Common Katoda
Common katoda ini kebalikannya dari common anoda, jadi kaki common yang disatukan adalah kaki
katoda (-), sehingga untuk mengaktifkan kaki yang lain di beri tegangan (+) atau diberi logik high (1).

Berikut ini adalah gambar dari seven segment common anoda dan katoda

kaki kaki common (*)

Sekarang langsung ke percobaan arduino dengan seven segment,


yang perlu disiapkan
projectboard
arduino uno
seven segment (boleh anoda maupun katoda)
kabel jumper
tegangan (power supply)
Langkah langkah tutorial arduino seven segment
pasang seven segment pada project board
atur kabel jumper dengan susunan sebagai berikut

Arduino 7 Segment Pin


Pin Connection
2 7 (A)
3 6 (B)
4 4 (C)
5 2 (D)
6 1 (E)
7 9 (F)
8 10 (G)
9 5 (DP)
pada percobaan kali ini kami menggunakan seven segment common katoda, maka kaki common
dihubungkan dengan ground (-).
masukkan program berikut di arduino software
// www.arduino.web.id
// urut dari 0 - 9
// untuk 7segment common katoda, jika menggunakan common Anoda, silahkan dganti "1" dengan "0"

void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
digitalWrite(9, 0); // start with the "dot" off
}

void loop() {
// write '0'
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 0);
delay(500);
// write '1'
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(500);
// write '2'
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 0);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 0);
digitalWrite(8, 1);
delay(500);
// write '3'
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
delay(500);
// write '4'
digitalWrite(2, 0);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(500);
// write '5'
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(500);
// write '6'
digitalWrite(2, 1);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(500);
// write '7'
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 0);
delay(500);
// write '8'
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 1);
digitalWrite(6, 1);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(500);
// write '9'
digitalWrite(2, 1);
digitalWrite(3, 1);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 1);
delay(2000);

}
beginilah bentuk hasilnya

Selamat bermain-main dengan seven segment anda. semoga tutorial arduino ini membantu

(*) gambar di dapat dari internet image google


Diposkan oleh sekolahrobot di 10.44 6 komentar
Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest
Label: belajar arduino, belajar seven segment, seven segment arduino, tutorial arduino

JUMAT, 31 AGUSTUS 2012

test midi to usb


Halo sobat AWI'ers (arduino.web.id)... lama tak bersua ya,..
sudah lama tidak bermain-main dengan my arduino. OK di project akhir pekan ini saya akan mulai
membahas sedikit demi sedikit tentang bagaimana bermain-main dengan midi. dan nanti project akhirnya
akan membuat drum elektronik sendiri secara sederhana dan murah tentunya.

Oke Perlengkapan yang dibutuhkan adalah sebagai berikut


1. arduino uno + kabel data
2. midi to usb
buat yang belum tau midi to usb berikut gambarnya
interface ini mudah didapat di toko komputer ataupun toko musik, biasanya sering di pakai di keyboad
piano yang di hubungkan ke pc untuk aransemen lagu. Oh ya fitur dari kabel midi to usb ini adalah
sebagai berikut :
Connector Computer: USB A male
Connector Midi In: 5-Pin DIN male
Connector Midi Out: 5-Pin DIN male
LED for power and data direction
USB powered and true plug & play
No driver installation necessary
harga midi to usb ini ada yang mahal ada yang murah, yang saya pakai sekitar 200 ribuan. kalau mau
nitip monggo :)

Pertama-tama yang harus di pelajari adalah conector midi In yang berisi 5 pin, ini nanti akan terhubung
dengan supply 5 v sama output (tx) dari arduino .

berikut gambar susunan pin nya

susunan dari midi connector


Rangkaian midi controller
Untuk driver dari midi cable sendiri langsung plug and play. Setelah semuanya terpasang. bisa di install
terlebih dahulu aplikasi Native instrument battery 3 .

Jika sudah semua, mari kita coba midi to usb.

download program berikut pada arduino anda

void setup() {
// Set MIDI baud rate:
Serial.begin(31250);
}

void loop() {
// play notes from F#-0 (0x1E) to F#-5 (0x5A):
for (int note = 0x24; note < 0x3C; note ++) {
//Note on channel 1 (0x90), some note value (note), middle velocity (0x45):
noteOn(0x90, note, 0x45);
delay(500);
//Note on channel 1 (0x90), some note value (note), silent velocity (0x00):
noteOn(0x90, note, 0x00);
delay(500);
}
}
// plays a MIDI note. Doesn't check to see that
// cmd is greater than 127, or that data values are less than 127:
void noteOn(int cmd, int pitch, int velocity) {
Serial.write(cmd);
Serial.write(pitch);
Serial.write(velocity);
}

Sambil di buka aplikasi battery3 coba jalankan.


kalau berbunyi secara gantian maka midi usb anda berhasil. Selamat mencoba
Diposkan oleh sekolahrobot di 14.08 1 komentar
Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest
Label: arduino midi, belajar arduino

SENIN, 30 APRIL 2012

unknown Device pada arduino


Beberapa hari yang lalu setelah install ulang notebook dan mencoba belajar arduino kembali ternyata ada
kendala pada arduino. Arduino Uno yang saya miliki tidak bisa terdetect dengan baik, com / port arduino
tidak bisa terbaca dan muncul tulisan "unknown device" pada device manager

setelah update sana update sini ternyata juga tidak bisa menyelesaikan masalah tersebut. tetapi berkat
bantuan dari si empu google akhirnya masalah ini bisa terselesaikan. adapun caranya adalah sebagai
berikut :

Klik kanan pada unknown device, pilih update driver software


Setelah itu pilih browse my computer for driver software

pilih let me pick from a list from a list ....


Pilih ports (COM & LPT)

Klik next dan klik arduino LLC jika ada

Jika belum ada klik have disk dan arah kan ke driver arduino yang sudah ada, pilih sesuai
dengan boar arduino. setelah itu baru muncul arduino yang di maksud.
Pilih arduino LLC kemuduan arduino Uno dan klik yes
arduino akan succesfully dan terinstal / muncul pada com
Arduino siap digunakan kembali

Semoga membantu

Diposkan oleh sekolahrobot di 08.19 2 komentar


Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest
Label: arduino, belajar arduino, install driver arduino

SABTU, 14 APRIL 2012

Menampilkan Data Rotary Encoder di LCD dengan Arduino


hallo AWI'ers....
postingan kali ini merupakan lanjutan dari postingan rotary encoder kemarin. Kalau kemarin data yang di
tampilkan di serial monitor, yg sudah terintegrasi dengan software Arduino. pada kali ini akan di tampilkan
pada LCD 16x2

settingan port pada LCD sama dengan postingan LCD sebelumnya


Konfigurasi pin2nya adalah sebagai berikut :

Pin RS (kaki 4) di sambungkan dengan pin arduino digital pin 12


Pin E (kaki 6) di sambungkan dengan pin arduino digital pin 11
Pin D4 (kaki 11) di sambungkan dengan pin arduino digital pin 5
Pin D5 (kaki 12) di sambungkan dengan pin arduino digital pin 4
Pin D6 (kaki 13) di sambungkan dengan pin arduino digital pin 3
Pin D7 (kaki 14) di sambungkan dengan pin arduino digital pin 2
sambungkan potensio 10 KOhm ke +5v dan GND , dan Pin LCD 3 ke potensio
Pin 5 (R/W) ke Ground
output Rotary (kabel kuning) disambungkan dengan pin arduino digital pin 7
setelah semua konfigurasi selesai,buka halaman editor untuk arduino silahkan coding seperti di bawah ini

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value
int counter = 0;
int encoderLast = LOW;

void setup() {
digitalWrite(inPin,HIGH);
// set up the LCD's number of columns and rows:
lcd.begin(16, 2);
lcd.setCursor(0, 0);
lcd.print("Rotary : ");
lcd.setCursor(0, 1);
lcd.print(" Arduino.web.id");

void loop() {
val = digitalRead(inPin); // read the input pin
lcd.setCursor(8, 0);
if((encoderLast == LOW)&&(val==HIGH))
{
counter++;
lcd.print(counter);
}
encoderLast = val;
}
gambar hasil percobaan

Diposkan oleh sekolahrobot di 06.56 0 komentar


Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest
Label: Percobaan LCD, percobaan Rotary encoder arduino, tutorial arduino

KAMIS, 12 APRIL 2012

Mengendalikan motor DC dengan arduino


Postingan pada kali ini adalah lanjutan dari Rangkaian Driver Motor yang sempat beberapa hari
terlupakan, gara-gara asik dengan beberapa postingan baru.

Setelah rangkaian driver yang kemarin yang menggunakan relay selesai. tiba saatnya untuk
menggabungkan dengan arduino tentunya dengan sedikit program untuk pemanasan.

pada percobaan kali ini yang perlu di persiapkan adalah


Driver Motor DC (Rangkaian driver motor dc relay)
board arduino
power supply
kabel

sambungkan port input pada driver motor dc ke port digital (pin 3, pin 4, pin 5 dan pin 6). cobalah buat
program seperti dibawah ini

#define ka1 3 //pin 3


#define ka2 4 //pin 4
#define ki1 5 //pin 5
#define ki2 6 //pin 6
void setup() {
// set the digital pin as output:
pinMode(ka1, OUTPUT);
pinMode(ka2, OUTPUT);
pinMode(ki1, OUTPUT);
pinMode(ki2, OUTPUT);

digitalWrite(ka2, HIGH);
digitalWrite(ka1, HIGH);
digitalWrite(ki2, HIGH);
digitalWrite(ki1, HIGH);
}
void loop()
{
digitalWrite(ka1, HIGH);
digitalWrite(ka2, LOW);
digitalWrite(ki1, HIGH);
digitalWrite(ki2, LOW);
delay(1000);
digitalWrite(ka1, LOW);
digitalWrite(ka2, HIGH);
digitalWrite(ki1, LOW);
digitalWrite(ki2, HIGH);
delay(1000);
}

relay akan aktif jika di beri kondisi 0 (low)

selamat mencoba
Diposkan oleh sekolahrobot di 11.09 3 komentar
Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest
Label: arduino driver motor, belajar arduino, tutorial arduino

RABU, 11 APRIL 2012

Motor DC dengan Speed Encoder


Gara-gara kemarin ada yang order motor dc dengan speed encoder, akhirnya project driver motor
kemarin masih terbelengkalai. Banting stir untuk nyobain baca data dari rotary encoderyang sudah built
in motor ini dengan arduino.

ada yang penasaran dengan bentuk motor yg murah meriah ini, dan inilah penampakannya
spesifikasi dari motor dc rotary encoder ini bisa di lihat di empunya toko robot

Okeh lanjut, kita perhatikan datasheet dari motor dc yg di lengkapi dg encoder ini

Spesifikasi Warna Kabel


Motor
+5 to +12 VDC Merah
Input
Ground Biru
Speed Encoder
+5 VDC Orange
Input
Ground Hitam
Open Collector
Output Kuning
116 pulsa

setelah diamati data output Encoder adalah open collector, berarti agar bisa langsung masuk ke port dari
arduino, harus di kasih pull up. pull up bisa external atau bisa dari internal arduino. mungkin bisa di baca
disini untuk tipe2 output dari encoder

untuk pull up sendiri sebagai referensi bisa di lihat di website resminya arduino
kita konfigurasi pin2 sebagai berikut
Langsung dari output (open collector) atau kabel kuning yang ada di rotary encoder tersebut masuk ke
pin 2 digital. Untuk pull upnya ikut di programnya.

oh ya motor dengan speed encoder ini outputnya hanya berupa 1 data jadi tidak bisa mendeteksi motor
itu cw/ccw

setelah terpasang semuanya, saatnya kita melakukan program di arduino, buka editor arduino masing-
masing, berikan program seperti dibawah ini

int ledPin = 13; // LED connected to digital pin 13


int inPin = 2; // encoder output connected to digital pin 2
int val = 0; // variable to store the read value
int counter = 0;
int encoderLast = LOW;

void setup() {
digitalWrite(inPin,HIGH); // pul up arduino
pinMode(ledPin, OUTPUT); //pin 13set to output
pinMode (inPin,INPUT); //pin 2 set to input
Serial.begin(9600); //to serial monitor
}

void loop() {
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED when encoder works
if((encoderLast == LOW)&&(val==HIGH))
{
counter++;
Serial.println(counter); //write in serial monitor
}
encoderLast = val;

setelah selesai silahkan compile dan program.


percobaan rotary encoder dengan arduino ini adalah langsung di baca di serial monitor. nextime akan
dicoba untuk di baca di LCD
Selamat mencoba
Diposkan oleh sekolahrobot di 23.52 0 komentar
Kirimkan Ini lewat EmailBlogThis!Berbagi ke TwitterBerbagi ke FacebookBagikan ke Pinterest
Label: percobaan Rotary encoder arduino

SELASA, 10 APRIL 2012

Belajar melody dengan arduino


Sebelum melanjutkan project kemaren, hari ini AWI akan mencoba menggunakan fungsi tone() untuk
menghasilkan nada lagu

syntax :
tone(pin, frequency, duration)

untuk memulai percobaan kali ini yang perlu disiapkan adalah


board Arduino
speaker (speaker telpon)
kabel

Susunanlah seperti gambar berikut ini

pin satu ke ground, dan pin satunya lagi ke pin 8 board arduino (pin boleh bebas)
Buka aplikasi editor arduino
Simpan dengan nama tertentu
percobaan kali ini membuat doremi
#include "pitches.h"
//do = NOTE_C4
//re = NOTE_D4
//mi = NOTE_E4
//fa = NOTE_F4
//sol = NOTE_G4
//la = NOTE_A4
//si = NOTE_B4

int melody[] = {
NOTE_C4,NOTE_D4,NOTE_E4,NOTE_F4,NOTE_G4,NOTE_A4,NOTE_B4,NOTE_C5};

// durasi tone
int noteDurations[] = {
2,2,2,2,2,2,2,2};

void setup() {

for (int thisNote = 0; thisNote < 8; thisNote++) {


// to calculate the note duration, take one second
// divided by the note type.
//e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
int noteDuration = 1000/noteDurations[thisNote];
tone(8, melody[thisNote],noteDuration);

// to distinguish the notes, set a minimum time between them.


// the note's duration + 30% seems to work well:
int pauseBetweenNotes = noteDuration * 1.30;
delay(pauseBetweenNotes);
// stop the tone playing:
//noTone(8);
}
}

void loop() {
// no need to repeat the melody.
}

untuk include pitches.h, merupakan library frequency note. bisa di buatkan terlebih dulu, klik new tab
pada sisi kanan beri nama file dengan pitches.h. dan isikan sebagai berikut :

/*************************************************
* Public Constants
*************************************************/

#define NOTE_B0 31
#define NOTE_C1 33
#define NOTE_CS1 35
#define NOTE_D1 37
#define NOTE_DS1 39
#define NOTE_E1 41
#define NOTE_F1 44
#define NOTE_FS1 46
#define NOTE_G1 49
#define NOTE_GS1 52
#define NOTE_A1 55
#define NOTE_AS1 58
#define NOTE_B1 62
#define NOTE_C2 65
#define NOTE_CS2 69
#define NOTE_D2 73
#define NOTE_DS2 78
#define NOTE_E2 82
#define NOTE_F2 87
#define NOTE_FS2 93
#define NOTE_G2 98
#define NOTE_GS2 104
#define NOTE_A2 110
#define NOTE_AS2 117
#define NOTE_B2 123
#define NOTE_C3 131
#define NOTE_CS3 139
#define NOTE_D3 147
#define NOTE_DS3 156
#define NOTE_E3 165
#define NOTE_F3 175
#define NOTE_FS3 185
#define NOTE_G3 196
#define NOTE_GS3 208
#define NOTE_A3 220
#define NOTE_AS3 233
#define NOTE_B3 247
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define NOTE_C5 523
#define NOTE_CS5 554
#define NOTE_D5 587
#define NOTE_DS5 622
#define NOTE_E5 659
#define NOTE_F5 698
#define NOTE_FS5 740
#define NOTE_G5 784
#define NOTE_GS5 831
#define NOTE_A5 880
#define NOTE_AS5 932
#define NOTE_B5 988
#define NOTE_C6 1047
#define NOTE_CS6 1109
#define NOTE_D6 1175
#define NOTE_DS6 1245
#define NOTE_E6 1319
#define NOTE_F6 1397
#define NOTE_FS6 1480
#define NOTE_G6 1568
#define NOTE_GS6 1661
#define NOTE_A6 1760
#define NOTE_AS6 1865
#define NOTE_B6 1976
#define NOTE_C7 2093
#define NOTE_CS7 2217
#define NOTE_D7 2349
#define NOTE_DS7 2489
#define NOTE_E7 2637
#define NOTE_F7 2794
#define NOTE_FS7 2960
#define NOTE_G7 3136
#define NOTE_GS7 3322
#define NOTE_A7 3520
#define NOTE_AS7 3729
#define NOTE_B7 3951
#define NOTE_C8 4186
#define NOTE_CS8 4435
#define NOTE_D8 4699
#define NOTE_DS8 4978

Anda mungkin juga menyukai