Tutorial Arduino – Multiple LEDs kali ini akan
memberikan kesempatan pada anda untuk ber-eksperimen menulis kode
pemrograman untuk Arduino. Catatan: Tutorial dan kode yang digunakan di
sini disadur dari kode yang tercantum pada link berikut: http://ardx.org/CODE02
Sejalan dengan pengaturan LED kita akan mencoba untuk membuat kode pemrograman lebih sederhana dengan beberapa metode.
for () loops – digunakan ketika kita ingin menjalankan sejumlah baris kode berulang-ulang.
arrays[] – digunakan untuk mengatur penggunaan variabel dengan lebih mudah (array = grup dari variabel).
Rangkaian
Komponen yang diperlukan:
- 8 buah LED
- 8 buah resistor 330 ohm
- Kabel jumper
Skema rangkaian dapat dilihat pada gambar berikut:
Berikut ini adalah gambar simulasi penempatan komponen pada
breadboard dan board Arduino. Gambar simulasi ini menggunakan software
Fritzing yang bisa didapat di sini.
Kode Pemrograman
Di bawah ini adalah kode pemrograman yang digunakan untuk Multiple LED. Untuk dapat memahami dengan baik program diberi warna biru dan komentar diberi warna merah.
1. Menghidupkan LED satupersatu dari PIN 2 ke 9 dan mematikan dari PIN 9 ke 2
//LED Pin Variables int ledPins[] = {2,3,4,5,6,7,8,9}; //An array to hold the pin each LED is connected to //i.e. LED #0 is connected to pin 2, LED #1, 3 and so on //to address an array use ledPins[0] this would equal 2 //and ledPins[7] would equal 9 /* * setup() - this function runs once when you turn your Arduino on * We the three control pins to outputs */ void setup() { //Set each pin connected to an LED to output mode (pulling high (on) or low (off) for(int i = 0; i < 8; i++){ //this is a loop and will repeat eight times pinMode(ledPins[i],OUTPUT); //we use this to set each LED pin to output } //the code this replaces is below /* (commented code will not run) * these are the lines replaced by the for loop above they do exactly the * same thing the one above just uses less typing pinMode(ledPins[0],OUTPUT); pinMode(ledPins[1],OUTPUT); pinMode(ledPins[2],OUTPUT); pinMode(ledPins[3],OUTPUT); pinMode(ledPins[4],OUTPUT); pinMode(ledPins[5],OUTPUT); pinMode(ledPins[6],OUTPUT); pinMode(ledPins[7],OUTPUT); (end of commented code)*/ } /* * loop() - this function will start after setup finishes and then repeat * we call a function called oneAfterAnother(). if you would like a different behaviour * uncomment (delete the two slashes) one of the other lines */ void loop() // run over and over again { oneAfterAnotherNoLoop(); //this will turn on each LED one by one then turn each off } /* * oneAfterAnotherNoLoop() - Will light one LED then delay for delayTime then light * the next LED until all LEDs are on it will then turn them off one after another * * this does it without using a loop which makes for a lot of typing. * oneOnAtATimeLoop() does exactly the same thing with less typing */ void oneAfterAnotherNoLoop(){ int delayTime = 100; //the time (in milliseconds) to pause between LEDs //make smaller for quicker switching and larger for slower digitalWrite(ledPins[0], HIGH); //Turns on LED #0 (connected to pin 2 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[1], HIGH); //Turns on LED #1 (connected to pin 3 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[2], HIGH); //Turns on LED #2 (connected to pin 4 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[3], HIGH); //Turns on LED #3 (connected to pin 5 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[4], HIGH); //Turns on LED #4 (connected to pin 6 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[5], HIGH); //Turns on LED #5 (connected to pin 7 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[6], HIGH); //Turns on LED #6 (connected to pin 8 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[7], HIGH); //Turns on LED #7 (connected to pin 9 ) delay(delayTime); //waits delayTime milliseconds //Turns Each LED Off digitalWrite(ledPins[7], LOW); //Turns off LED #7 (connected to pin 9 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[6], LOW); //Turns off LED #6 (connected to pin 8 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[5], LOW); //Turns off LED #5 (connected to pin 7 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[4], LOW); //Turns off LED #4 (connected to pin 6 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[3], LOW); //Turns off LED #3 (connected to pin 5 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[2], LOW); //Turns off LED #2 (connected to pin 4 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[1], LOW); //Turns off LED #1 (connected to pin 3 ) delay(delayTime); //waits delayTime milliseconds digitalWrite(ledPins[0], LOW); //Turns off LED #0 (connected to pin 2 ) delay(delayTime); //waits delayTime milliseconds }
2. Menghidupkan LED satupersatu dari PIN 2 ke 9 dan mematikan dari PIN 9 ke 2 dengan kode yang lebih sederhana. Ganti program nomer 1 diatas mulai dari void loop() dengan program dibawah ini
void loop() // run over and over again { oneAfterAnotherLoop(); //does the same as oneAfterAnotherNoLoop but with //much less typing }/* * oneAfterAnotherLoop() - Will light one LED then delay for delayTime then light * the next LED until all LEDs are on it will then turn them off one after another * * this does it using a loop which makes for a lot less typing. * than oneOnAtATimeNoLoop() does exactly the same thing with less typing */ void oneAfterAnotherLoop(){ int delayTime = 100; //the time (in milliseconds) to pause between LEDs //make smaller for quicker switching and larger for slower //Turn Each LED on one after another for(int i = 0; i <= 7; i++){ digitalWrite(ledPins[i], HIGH); //Turns on LED #i each time this runs i delay(delayTime); //gets one added to it so this will repeat } //8 times the first time i will = 0 the final //time i will equal 7; //Turn Each LED off one after another for(int i = 7; i >= 0; i--){ //same as above but rather than starting at 0 and counting up //we start at seven and count down digitalWrite(ledPins[i], LOW); //Turns off LED #i each time this runs i delay(delayTime); //gets one subtracted from it so this will repeat } //8 times the first time i will = 7 the final //time it will equal }
3. Menghidupkan LED satupersatu dari PIN 2 ke 9 dan mematikan LED sebelum berpindah ke LED yang lain. Ganti program nomer 1 diatas mulai dari void loop() dengan program dibawah ini
void loop() // run over and over again { oneOnAtATime(); //this will turn one LED on then turn the next one //on turning the //former off (one LED will look like it is scrolling }
/*
* oneOnAtATime() - Will light one LED then the next turning off all the others
*/
void oneOnAtATime(){
int delayTime = 100; //the time (in milliseconds) to pause between LEDs
//make smaller for quicker switching and larger for slower
for(int i = 0; i <= 7; i++){
int offLED = i - 1; //Calculate which LED was turned on last time through
if(i == 0) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
offLED = 7; //turn on LED 2 and off LED 1)
} //however if i = 0 we don't want to turn of led -1 (doesn't exist)
//instead we turn off LED 7, (looping around)
digitalWrite(ledPins[i], HIGH); //turn on LED #i
digitalWrite(ledPins[offLED], LOW); //turn off the LED we turned on last time
delay(delayTime);
}
}
4 Menghidupkan LED dari tengah ke ujung dari PIN 3,4 ke 2,9 kemudian mengidupkan dari PIN 2,9 ke 3,4 dengan mematikan LED sebelum berpindah ke LED yang lain. Ganti program nomer 1 diatas mulai dari void loop() dengan program dibawah ini
void loop() // run over and over again { inAndOut(); //lights the two middle LEDs then moves them out then back //in again }
/*
* inAndOut() - This will turn on the two middle LEDs then the next two out
* making an in and out look
*/
void inAndOut(){
int delayTime = 100; //the time (in milliseconds) to pause between LEDs
//make smaller for quicker switching and larger for slower
//runs the LEDs out from the middle
for(int i = 0; i <= 3; i++){
int offLED = i - 1; //Calculate which LED was turned on last time through
if(i == 0) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
offLED = 3; //turn on LED 2 and off LED 1)
} //however if i = 0 we don't want to turn of led -1 (doesn't exist)
//instead we turn off LED 7, (looping around)
int onLED1 = 3 - i; //this is the first LED to go on ie. LED #3 when i = 0 and LED
//#0 when i = 3
int onLED2 = 4 + i; //this is the first LED to go on ie. LED #4 when i = 0 and LED
//#7 when i = 3
int offLED1 = 3 - offLED; //turns off the LED we turned on last time
int offLED2 = 4 + offLED; //turns off the LED we turned on last time
digitalWrite(ledPins[onLED1], HIGH);
digitalWrite(ledPins[onLED2], HIGH);
digitalWrite(ledPins[offLED1], LOW);
digitalWrite(ledPins[offLED2], LOW);
delay(delayTime);
}
//runs the LEDs into the middle
for(int i = 3; i >= 0; i--){
int offLED = i + 1; //Calculate which LED was turned on last time through
if(i == 3) { //for i = 1 to 7 this is i minus 1 (i.e. if i = 2 we will
offLED = 0; //turn on LED 2 and off LED 1)
} //however if i = 0 we don't want to turn of led -1 (doesn't exist)
//instead we turn off LED 7, (looping around)
int onLED1 = 3 - i; //this is the first LED to go on ie. LED #3 when i = 0 and LED
//#0 when i = 3
int onLED2 = 4 + i; //this is the first LED to go on ie. LED #4 when i = 0 and LED
//#7 when i = 3
int offLED1 = 3 - offLED; //turns off the LED we turned on last time
int offLED2 = 4 + offLED; //turns off the LED we turned on last time
digitalWrite(ledPins[onLED1], HIGH);
digitalWrite(ledPins[onLED2], HIGH);
digitalWrite(ledPins[offLED1], LOW);
digitalWrite(ledPins[offLED2], LOW);
delay(delayTime);
}
}
Jangan khawatir, pengetikkan kode program yang salah tidak akan mengakibatkan kerusakan.Selamat mencoba dan berkreasi!
SOURCE:
- http://www.instructables.com/id/Arduino-Expermentation-Kit-How-to-get-Started-wi/step4/8-LED-Fun-Multiple-LEDs-CIRC02/
- http://ardx.org/src/circ/CIRC02-code.txt
- http://blog.famosastudio.com/2011/07/tutorial/tutorial-arduino-multiple-leds/119
ada contoh videonya gk?
BalasHapusInformasi yang sangat bagus dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSelamat Datang di Intanqq
Intanqq menyediakan 7 permainan dalam 1 ID
Berikut permainannya :
- BandarQ
- AduQ
- Bandar poker
- Bandar sakong
- Domino
- Poker
- Capsa
Berikut keuntungan bermain di Agent Poker Intanqq :
- Bonus Turnover 0.3% dibagikan setiap hari
- Bonus Extra turnover setiap minggu
- Bonus referal sampai 20% dan berlaku seumur hidup
- Proses depo dan wd HANYA 1 menit
- Minimal depo dan wd HANYA Rp.15.000
- Win Rate 98%
Ayo tunggu apalagi? segera bergabung bersama kami dan kunjungi website kami bosku ^^. menangkan hadiah nya bosku ^^
Informasi yang sangat bagus dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSelamat Datang di Intanqq
Intanqq menyediakan 7 permainan dalam 1 ID
Berikut permainannya :
- BandarQ
- AduQ
- Bandar poker
- Bandar sakong
- Domino
- Poker
- Capsa
Berikut keuntungan bermain di Agent Poker Intanqq :
- Bonus Turnover 0.3% dibagikan setiap hari
- Bonus Extra turnover setiap minggu
- Bonus referal sampai 20% dan berlaku seumur hidup
- Proses depo dan wd HANYA 1 menit
- Minimal depo dan wd HANYA Rp.15.000
- Win Rate 98%
Ayo tunggu apalagi? segera bergabung bersama kami dan kunjungi website kami bosku ^^. menangkan hadiah nya bosku ^^
Hallo kepada semua pecinta judi online
BalasHapusAgen terpercaya 100% di indonesia
kristalpoker menyediakan 7 game
Game yang di sediakan oleh kristalpoker :
- Sakong (New Game)
- Bandar Poker (New Game)
- BandarQ (Hot Game)
- Poker
- Domino
- Capsa Online
- AduQ
1. deposit dan withdraw hanya rp.15.000
2. Bonus Turnover 0,3% Setiap minggunya
3. Extra Bonus Cashback Setiap Minggunya
4. Bonus Referral 10%+10% Seumur Hidup
5. Bisa dimainkan di Smartphone Versi Android dan Iphone.
6. MIN DEPO IDR 15.000 dan Proses cepat 1 menit
silakan bergabung ya bagi yang belum terdaftar jadi member kristalpoker
jika ada kendala dalam pendaftaran atau kendala lainnya ,silakan hubungi CS kami langsung ya.
Informasi yang sangat bagus dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSelamat Datang di Intanqq
Intanqq menyediakan 7 permainan dalam 1 ID
Berikut permainannya :
- BandarQ
- AduQ
- Bandar poker
- Bandar sakong
- Domino
- Poker
- Capsa
Berikut keuntungan bermain di Agent Poker Intanqq :
- Bonus Turnover 0.3% dibagikan setiap hari
- Bonus Extra turnover setiap minggu
- Bonus referal sampai 20% dan berlaku seumur hidup
- Proses depo dan wd HANYA 1 menit
- Minimal depo dan wd HANYA Rp.15.000
- Win Rate 98%
Ayo tunggu apalagi? segera bergabung bersama kami dan kunjungi website kami bosku ^^. menangkan hadiah nya bosku ^^
Informasi yang sangat bagus dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSelamat Datang di Intanqq
Intanqq menyediakan 7 permainan dalam 1 ID
Berikut permainannya :
- BandarQ
- AduQ
- Bandar poker
- Bandar sakong
- Domino
- Poker
- Capsa
Berikut keuntungan bermain di Agent Poker Intanqq :
- Bonus Turnover 0.3% dibagikan setiap hari
- Bonus Extra turnover setiap minggu
- Bonus referal sampai 20% dan berlaku seumur hidup
- Proses depo dan wd HANYA 1 menit
- Minimal depo dan wd HANYA Rp.15.000
- Win Rate 98%
Ayo tunggu apalagi? segera bergabung bersama kami dan kunjungi website kami bosku ^^. menangkan hadiah nya bosku ^^
Info yang sangat baik dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSekedar Informasi Buat Guys :)
Buat Para Pecinta Poker Sejati yang ingin mencari web yang terpercaya di Indonesia.
Silahkan kunjungi web Intanqq,com
Disini saya sudah mencoba bermain dan hasilnya kekalahan saya di agent lain semua nya terbayarkan di agent Intanqq,com
Disini semua nya transparan Guys , bonus ,proses depo dan wd serba cepat , dan pelayanannya membuat saya jatuh cinta , sangat ramah dan sopan Guys!
No Tipu Guyss !!! Silahkan search Intanqq,com karena saya sudah mencoba sendiri.
Segera daftar guys, saya yakin keberuntungan anda juga berada di Intanqq,com
Dijamin 100% player vs play guys
Info yang sangat baik dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSekedar Informasi Buat Guys :)
Buat Para Pecinta Poker Sejati yang ingin mencari web yang terpercaya di Indonesia.
Silahkan kunjungi web Intanqq,com
Disini saya sudah mencoba bermain dan hasilnya kekalahan saya di agent lain semua nya terbayarkan di agent Intanqq,com
Disini semua nya transparan Guys , bonus ,proses depo dan wd serba cepat , dan pelayanannya membuat saya jatuh cinta , sangat ramah dan sopan Guys!
No Tipu Guyss !!! Silahkan search Intanqq,com karena saya sudah mencoba sendiri.
Segera daftar guys, saya yakin keberuntungan anda juga berada di Intanqq,com
Dijamin 100% player vs play guys
Info yang sangat baik dan bermanfaat gan. ditunggu informasi nya selanjutnya gan:) terima kasih ^^
BalasHapusSekedar Informasi Buat Guys :)
Buat Para Pecinta Poker Sejati yang ingin mencari web yang terpercaya di Indonesia.
Silahkan kunjungi web Intanqq,com
Disini saya sudah mencoba bermain dan hasilnya kekalahan saya di agent lain semua nya terbayarkan di agent Intanqq,com
Disini semua nya transparan Guys , bonus ,proses depo dan wd serba cepat , dan pelayanannya membuat saya jatuh cinta , sangat ramah dan sopan Guys!
No Tipu Guyss !!! Silahkan search Intanqq,com karena saya sudah mencoba sendiri.
Segera daftar guys, saya yakin keberuntungan anda juga berada di Intanqq,com
Dijamin 100% player vs play guys