Projek #4 Melodi

Posted on September 25, 2009. Filed under: Melodi, Projek & Tutorial | Tag: |

Setelah membuat 3 projek menggunakan LED anda tentu sekali ingin mencuba sesuatu yang lain.

Kali ini anda akan mencuba pula untuk menghasilkan melodi dengan Arduino.

Anda cuma perlukan papan pembagunan Arduino dan pembesar suara piezo. Sambungkan seperti gambarajah dibawah. Positif dari piezo ke Pin 9 dan Negatif dari piezo ke GND Arduino.

Melody

Data dibawah adalah frekuansi yang digunakan untuk menghasilkan melodi.

note   frequency        period       timeHigh
* c        261 Hz         3830           1915
* d        294 Hz         3400          1700
* e        329 Hz         3038           1519
* f         349 Hz         2864           1432
* g        392 Hz         2550           1275
* a        440 Hz         2272           1136
* b        493 Hz         2028           1014
* C        523 Hz         1912            956

Taipkan Kod dibawah pada Sketch dan muatnaik ke Arduino.

/* http://www.arduino.cc/en/Tutorial/Melody
*/

int speakerPin = 9;

int length = 15; // the number of notes
char notes[] = “ccggaagffeeddc “; // a space represents a rest
int beats[] = { 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 2, 4 };
int tempo = 300;

void playTone(int tone, int duration) {
for (long i = 0; i < duration * 1000L; i += tone * 2) {
digitalWrite(speakerPin, HIGH);
delayMicroseconds(tone);
digitalWrite(speakerPin, LOW);
delayMicroseconds(tone);
}
}

void playNote(char note, int duration) {
char names[] = { ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘a’, ‘b’, ‘C’ };
int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

// play the tone corresponding to the note name
for (int i = 0; i < 8; i++) {
if (names[i] == note) {
playTone(tones[i], duration);
}
}
}

void setup() {
pinMode(speakerPin, OUTPUT);
}

Cuba hasilkan melodi anda sendiri dengan mengubah suai kod diatas.
Selamat mencuba.

Advertisements
Read Full Post | Make a Comment ( None so far )

Projek #3 Menggunakan Suis (Input)

Posted on September 15, 2009. Filed under: Led, Projek & Tutorial | Tag: |

Anda telahpun belajar bagaimana menyalakan Led di projek #1 dan #2.
Kali ini anda akan belajar menggunakan suis butang tekan sebagai masukan (input) untuk menyalakan Led.

Pasangkan litar mengikut gambarajah dibawah.

digital-input-button_Button_1

Komponen yang diperlukan:

1. Suis butang tekan

2.Perintang 10Kohm  (cokelat,hitam,jingga)

3.Led

4.Wayar penyambung.

Cara memasang Led sama seperti Projek #1. Kemudian sambungkan wayar penyambung antara 5v dan salah satu kaki suis. Satu lagi wayar dari kaki suis yang satu lagi ke pin 2 pada Arduino. Sambungkan perintang 10Kohm (Perintang menarik turun) antara pin 2 ke negatif (-).

Masukkan kod dibawah pada Sketch dan muat naik ke Arduino.

/*
* Button
* by DojoDave <http://www.0j0.org&gt;
*
* Turns on and off a light emitting diode(LED) connected to digital
* pin 13, when pressing a pushbutton attached to pin 7.
*
*/
int ledPin = 13;                // choose the pin for the LED
int inputPin = 2;               // choose the input pin (for a pushbutton)
int val = 0;                    // variable for reading the pin status
void setup() {
pinMode(ledPin, OUTPUT);      // declare LED as output
pinMode(inputPin, INPUT);     // declare pushbutton as input
}
void loop(){
val = digitalRead(inputPin);  // read input value
if (val == HIGH) {            // check if the input is HIGH
digitalWrite(ledPin, LOW);  // turn LED OFF
} else {
digitalWrite(ledPin, HIGH); // turn LED ON
}
}
/*
* Projek #3 menggunakan suis
*
* Menyalakan Led pada pin 13 apabila suis di tekan pada pin 2 .
*
*
*/
int ledPin = 13;                // Pin untuk Led
int inputPin = 2;               // Pin untuk suis
int val = 0;                    // pemboleh ubah untuk suis (digital 0 atau 1)
void setup() {
pinMode(ledPin, OUTPUT);      // LedPin sebagai keluaran (Output)
pinMode(inputPin, INPUT);     // suis sebagai masukan (Input)
}
void loop(){
val = digitalRead(inputPin);  // baca nilai masukan (0 atau 1)
if (val == HIGH) {            // semak nilai masukan (jika 1)
digitalWrite(ledPin, LOW);  // matikan Led
} else {
digitalWrite(ledPin, HIGH); // nyalakan Led (jika masukan 0)
}
}
Anda boleh mencuba untuk mengubah kod yang diberi.  Cuba buat Led menyala selama 10 saat kemudian padam setiap kali suis di tekan.
” Selamat mencuba”
Read Full Post | Make a Comment ( None so far )

Projek #2 Menyalakan 6 Led secara berturut.

Posted on September 8, 2009. Filed under: Led, Projek & Tutorial | Tag: |

Dalam Projek pertama anda telah pun belajar bagaimana menyala dan mematikan kan led. Dalam projek ini pula anda akan belajar bagaimana menyalakan 6 led secara berturut ala “Knight Rider”.

digital-output-loop_Loop_1

Komponen yang diperlukan:

Papan pembagunan Arduino
Perintang 220ohm X 6
Led merah (atau warna lain kegemaran anda) X 6
Wayar penyambung.

Pasangkan komponen mengikut gambarajah diatas. Anda boleh menggunakan pin 2 hingga 7.

Contoh:-Sambugkan perintang 220 ohm antara Pin 2 dan anod (+) kemudian sambungkan wayar pada bahagian katod (-) ke breadboard anda.

Taipkan kod dibawah menggunakan Sketch dan muatnaik ke Arduino Anda.

/*
* Projek #2 Menyalakan 6 Led secara berturut.
*
*
* http://www.arduino.cc/en/Tutorial/Loop
*/

int timer = 100; // masa untuk turutan
int pins[] = { 2, 3, 4, 5, 6, 7 }; // turutan no pin
int num_pins = 6; // jumlah pin yang digunakan

void setup()
{
int i;

for (i = 0; i < num_pins; i++) //
pinMode(pins[i], OUTPUT); // semua pin diset sebagai output
}

void loop()
{
int i;
for (i = 0; i < num_pins; i++) { // loop through each pin…
digitalWrite(pins[i], HIGH);   // turning it on,
delay(timer);                  // pausing,
digitalWrite(pins[i], LOW);    // and turning it off.
}
for (i = num_pins – 1; i >= 0; i–) {
digitalWrite(pins[i], HIGH);
delay(timer);
digitalWrite(pins[i], LOW);
}
void loop()
{
int i;
for (i = 0; i < num_pins; i++) {
digitalWrite(pins[i], HIGH);
delay(timer);
digitalWrite(pins[i], LOW);
}
for (i = num_pins – 1; i >= 0; i–) {
digitalWrite(pins[i], HIGH);
delay(timer);
digitalWrite(pins[i], LOW);
}

Cuba fikir apakah fungsi kod seterusnya setelah turutan bermula.Untuk mengetahuinya anda kenalah mencuba, mudah kan..

Read Full Post | Make a Comment ( 3 so far )

Projek #1 Menyalakan Led

Posted on September 8, 2009. Filed under: Led, Projek & Tutorial | Tag: |

Dalam projek ini anda akan belajar bagaimana menyalakan Led selama satu saat dan mematikan selama satu saat dan berterusan.

Led

Pasangkan Led seperti gambarajah litar diatas. Anod (+) pada pin 13 dan
Katod (-) pada pin ground (-).

Komponen yang diperlukan:

1.Papan pembagunan Arduino
2.Led

Taipkan kod seperti dibawah dan muatnaik ke Arduino anda.

/*
* Projek #1 Menyalakan dan mematikan Led
* selama satu saat dan berterusan
*
* http://www.arduino.cc/en/Tutorial/Blink
*/

int ledPin = 13; // LED dipasang pada pin 13

void setup() //
{
pinMode(ledPin, OUTPUT); // pin 13 sebagai output
}

void loop() // ulang semula
{
digitalWrite(ledPin, HIGH); // nyalakan LED
delay(1000); // tunggu selama satu saat (1000ms)
digitalWrite(ledPin, LOW); // matikan LED
delay(1000); // tunggu selama satu saat (1000ms)
}

Cuba ubah angka 1000 kepada angka lain contoh 5000 untuk 5 saat.

Read Full Post | Make a Comment ( 1 so far )

Liked it here?
Why not try sites on the blogroll...