Projek & Tutorial

Robot CD

Posted on November 1, 2009. Filed under: Projek & Tutorial, Robot Cd | Tag: |

Salam semua.

Kali ini saya akan membuat projek dan tutorial untuk membuat sebuah robot kecil menggunakan Cakera padat (Cd). Ya Cd yang anda selalu gunakan untuk mendegar lagu, simpan data dan macam-macam lagi. Jangan buat cetak rompak sudah. he he..

Tutorial ni akan dibuat secara berperingkat supaya senang difahami dan diikuti oleh mereka yang baru nak belajar.

Bahagian pertama.

Dalam bahagian pertama saya akan menunjukkan bagaimana membuat dasar (base) menggunakan Cd dan motor servo. Anda boleh menggunakan PVC, Papan lapis atau bahan lain jika mahu.

Peralatan yang diperlukan:

4 Led
2 keping Cd
Pita pelekat 2 belah.
4 batang besi pendiri “Stand off” (20mm)
2 motor servo pusingan 360 darjah.
2 roda yang dibuat khas untuk motor servo .
1 roda pengimbang. (untuk bahagian depan)

 

28109-M

 

 

 

 

 

 

 

 

 

 

 

Peralatan Tambahan:

Gerudi (Drill)

Mula-mula lekatkan motor servo pada Cd yang pertama dengan menggunakan pita pelekat 2 belah seperti gambar di bawah.

Photo-0037

Kemudian tebukkan lubang disebelah motor servo dan pasangkan besi pendiri. Sebelum itu anda perlu menebuk lubang untuk roda pengimbang seperti yang dapat dilihat pada sebelah atas Cd.

Pada Cd kedua tebukkan lubang yang sama untuk besi pendiri.

Bersambung……

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

Alat Penggera Mudah Alih

Posted on Oktober 27, 2009. Filed under: Alat Penggera, Projek & Tutorial, Sensor | Tag: |

Baru-baru ini rumah rakan saya telah dimasuki pencuri dan beberapa peralatan seperti laptop dan kamera telah dicuri. Saya rasa banyak lagi perkara seumpama ini berlaku jadi kali ini saya akan menunjukan cara membuat alat penggera mudah alih yang mudah dan murah.

Perlatan yang diperlukan ialah:

1. PIR Sensor (RM40)

PirSensor2. Hon penggera kereta (RM10. beli di kedai barang-barang terpakai)

Horn_Alarm

3. Led

Cara memasang peralatan.

1. Pasangkan PIR sensor pada Arduino seperti gambarajah di bawah.

PirSensortoArduino

2. Pasangkan Hon penggera pada Arduino. Biasanya terdapat 4 wayar pada hon penggera merah,hitam,putih dan biru. Sambungkan wayar merah pada Vin,wayar hitam pada Gnd dan wayar putih ke Pin 11. Abaikan wayar biru.

3. Pasangkan Led, Anod(+) ke Pin13 dan Katod(-) ke Gnd.

Taip kod di bawah ke “Sketch” dan muatnaik ke Arduino.

/* PIR sensor tester*/
int alarmPin = 11;
int ledPin = 13; // choose the pin for the LED
int inputPin = 2; // choose the input pin (for PIR sensor)
int pirState = LOW; // we start, assuming no motion detected
int val = 0; // variable for reading the pin status
void setup(){
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare sensor as input
pinMode(alarmPin, OUTPUT);
Serial.begin(9600);
//Blink Led for 10 times before activate alarm (20 second)
for (int i=0; i < 10; i++) {
digitalWrite(ledPin,HIGH);
delay(1000);
digitalWrite(ledPin, LOW);
delay(1000);
}
}
void loop(){     // Start detecting motion
val = digitalRead(inputPin); // read input value
if (val == HIGH) { // check if the input is HIGH
digitalWrite(alarmPin, HIGH); // turn LED ON
digitalWrite(ledPin, HIGH);
if (pirState == LOW) {
Serial.println(“Motion detected!”);
delay (60000);
pirState = HIGH;
}
} else {
digitalWrite(alarmPin, LOW); // turn LED OFF
digitalWrite(ledPin, LOW);
if (pirState == HIGH){
Serial.println(“Motion ended!”);
pirState = LOW;
}
}
}
Gambar dibawah ialah alat penggera mudah alih yang saya buat menggunakan kotak kasut. Pencuri yang masuk ke rumah pasti tidak akan menyangka bahawa kotak kasut ini adalah alat penggera. Alat penggera ini telah di program untuk berbunyi selama satu minit dengan bunyi yang agak kuat dan boleh membuat pencuri rasa panik dan lari.
Photo-0064
Photo-0062
Read Full Post | Make a Comment ( 8 so far )

Projek #5 Serial Monitor

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

Kita sudah pun sampai ke Projek dan Tutorial ke lima.Kali ini saya akan menerangkan fungsi “Serial Monitor” dan cara menggunakannya.

Apa yang anda perlukan ialah:

1. Papan Pembagunan Arduino.

2. 1 x Led.

3. Kabel USB.

Apakah “Serial Monitor” ?

“Serial Monitor” ialah salah satu fungsi yang terdapat dalam perisian Arduino.

Serial window

Gambarajah diatas  menunjukkan ikon “Serial Monitor” dalam perisian Arduino 0017 yang terbaru.

Fungsi  “Serial Monitor”  ialah untuk mempamirkan data yang di hantar oleh Papan Pembagunan Arduino anda.

Contohnya mungkin anda membuat projek jangkasuhu dimana anda ingin mengetahui atau melihat data suhu semasa. Dengan menghantar data ke “Seria lMonitor” anda akan dapat melihat data semasa dari  “Serial Monitor”.

Anda juga boleh menggunakan “Serial Monitor” untuk mengesan sama ada kod yang anda masukkan berjalan lancar.

Kita akan menggunakan litar yang sama seperti pada Projek #1

Led

Taipkan kod dibawah pada “Sketch” dan muatnaik ke Arduino. Setelah selesai klik pada ikon “Serial Monitor”.

// Kod anda bermula disini

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

// void setup()  – persediaan

void setup()   {

pinMode(ledPin, OUTPUT);  //Penetapan pin 13 sebagai keluaran

Serial.begin(9600);    // Perhubungan Serial bermula

}

// Kod ulangan bermula

void loop() {

ledState = digitalRead(ledPin); // arahan untuk membaca status Pin 13

if (ledState == LOW) {

Serial.println(“LED OFF”);   // mempamerkan data pada “Serial Monitor”

digitalWrite(ledPin,LOW); // matikan LED

}

else if (ledState == High ) {

Serial.println(“LED ON”);

digitalWrite(ledPin, HIGH);   // nyalakan LED

}

delay(1000);                  // tunggu 1 saat

}

// Kod sehingga di sini.

Anda akan melihat status Led pada “Serial Monitor” seperti dibawah secara berselang seli.

SerialWindowDisplay

Tahniah anda telah pun belajar cara menggunakan “Serial Monitor” .

Mudah saja kan?

Bagi mereka yang belum mempunyai Papan Pembagunan Arduino dapatkan sekarang dengan menghubungi saya. Tak rugi anda belanjakan wang anda untuk ilmu yang akan anda perolehi.

const int ledPin = 13;       // the pin that the LED is attached to
//int ledPin =  13;    // LED connected to digital pin 13
int ledState = 0;
// current state of the button
// The setup() method runs once, when the sketch starts
void setup()   {
// initialize the digital pin as an output:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
// the loop() method runs over and over again,
// as long as the Arduino has power
void loop() {
ledState = digitalRead(ledPin);
if (ledState == HIGH) {
Serial.println(“LED OFF”);
digitalWrite(ledPin,LOW); // set the LED off
}
else if (ledState == LOW ) {
Serial.println(“LED ON”);
digitalWrite(ledPin, HIGH);   // set the LED on
}
delay(1000);                  // wait for a second
}
Read Full Post | Make a Comment ( 2 so far )

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.

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...