Friday, October 26, 2012
Wednesday, October 03, 2012
Workshop Computer Interfacing & Arduino
Laboratorium Teknologi Komputer Jurusan Teknik Elektro Universitas Kristen Maranatha, akan menyelenggarakan Workshop Computer interfacing & Arduino
Tanggal : 22-Okt-2012 s/d 25-Okt-2012
waktu :15.00-17.30 17.00 - 19.30 (Fixed)
Peserta terbatas 20 orang
Friday, May 25, 2012
Sensor warna ekonomis menggunakan Led RGB dan LDR
Dengan menggunakan LED RGB dan LDR, kita dapat membuat sensor warna yang cukup memadai, prinsip kerjanya adalah dengan melakukan pencatatan terhadap masing-masing pantulan sinar warna (Merah,Hijau dan Biru) terhadap kertas warna tertentu, kombinasi nilai pantulan tersebut digunakan sebagai nilai referensi warna tersebut.
Sketch Program:
---
Contoh hasilnya sbb:
Wiring dan skematik
Sketch Program:
---
/* Program sensor warna Oleh : Aan Darmawan web : valfa.blogspot.com update : 25 Mei 2012 */ #include <Servo.h> Servo myservo; int sensorPin = A0; int LedBiru =3; // Led warna biru digital pin 3 int LedHijau=4; // Led warna hijau digital pin 4 int LedMerah=5; // Led warna merah digital pin 5 int hasil,hasilb,hasilm,hasilh; int k=8; // toleransi warna void setup() { // declare the ledPin as an OUTPUT: pinMode(LedBiru,OUTPUT); pinMode(LedMerah,OUTPUT); pinMode(LedHijau,OUTPUT); digitalWrite(LedBiru,LOW); digitalWrite(LedMerah,LOW); digitalWrite(LedHijau,LOW); myservo.attach(9); // motor servo pin digital 9 myservo.write(90); delay(100); Serial.begin(9600); delay(1000); } void loop() { // nyalakan LedMerah digitalWrite(LedMerah,HIGH); //delay 150 ms agar LDR baca stabil delay(150); // baca data sensor hasil= analogRead(sensorPin); hasilm=map(hasil,0,1023,0,255); Serial.print("R,G,B = "); Serial.print(hasilm); digitalWrite(LedMerah,LOW); delay(150); // nyalakan LedHijau digitalWrite(LedHijau,HIGH); //delay 150 ms agar LDR baca stabil delay(150); // baca data sensor hasil= analogRead(sensorPin); hasilh=map(hasil,0,1023,0,255); Serial.print(","); Serial.print(hasilh); digitalWrite(LedHijau,LOW); delay(150); // nyalakan LedBiru digitalWrite(LedBiru,HIGH); //delay 150 ms agar LDR baca stabil delay(150); // baca data sensor hasil= analogRead(sensorPin); hasilb=map(hasil,0,1023,0,255); Serial.print(","); Serial.println(hasilb); digitalWrite(LedBiru,LOW); delay(150); // cek warna dibandingkan dengan nilai hasil kalibrasi if(abs(hasilm-208)<k && abs(hasilh-203)<k && abs(hasilb-177)<k){ Serial.println(" -> WARNA PUTIH!\n"); myservo.write(10); } else if(abs(hasilm-209)<k && abs(hasilh-165)<k && abs(hasilb-139)<k){ Serial.println(" -> WARNA MERAH !\n"); myservo.write(30); } else if(abs(hasilm-135)<k && abs(hasilh-182)<k && abs(hasilb-147)<k){ Serial.println(" -> WARNA HIJAU !\n"); myservo.write(50); } else if(abs(hasilm-138)<k && abs(hasilh-163)<k && abs(hasilb-166)<k){ Serial.println(" -> WARNA BIRU !\n"); myservo.write(70); } else if(abs(hasilm-156)<k && abs(hasilh-184)<k && abs(hasilb-172)<k){ Serial.println(" -> WARNA CYAN !\n"); myservo.write(90); } else if(abs(hasilm-199)<k && abs(hasilh-159)<k && abs(hasilb-170)<k){ Serial.println(" -> WARNA UNGU !\n"); myservo.write(110); } else if(abs(hasilm-209)<k && abs(hasilh-214)<k && abs(hasilb-223)<k){ Serial.println(" -> WARNA KUNING !\n"); myservo.write(130); } else if(abs(hasilm-210)<k && abs(hasilh-206)<k && abs(hasilb-211)<k){ Serial.println(" -> WARNA PINK !\n"); myservo.write(150); } else if(abs(hasilm-165)<k && abs(hasilh-197)<k && abs(hasilb-205)<k){ Serial.println(" -> WARNA HIJAU MUDA !\n"); myservo.write(170); } else // if(abs(hasilm-209)<k && abs(hasilh-204)<k && abs(hasilb-210)<k){ // Serial.println(" -> WARNA KUNING MUDA!\n"); // myservo.write(180); } else Serial.println(" -> ???\n"); delay (2000); }---
Saturday, March 31, 2012
Severino ElMarino
Severino ElMarino Ready......
Severino ElMarino, merupakan penyempurnaan dari Severino sebelumnya:
- Mikrokontroler menggunakan ATMEGA328
- Tersedia sumber tegangan 3.3V sehingga bisa digabungkan dengan Shield yang membutuhkan tegangan 3.3V (misalnya: Ethernetshield)
- Upload Sketch/program lebih cepat
- Kompatibel dengan Duemilanove / UNO
Wednesday, March 21, 2012
Motorshield 2x293D
Motorshield 2x293D dirangkai dengan menggunakan 2 buah IC 293D yang dapat mengendalikan 4 buah Motor DC, ditambahkan 1 buah IC 74HC595 (khusus) untuk pengendalian Steppermotor sehingga dapat dikendalikan dengan model SINGLE,DOUBLE ataupun INTERLEAVE. Motorshiled ini kompatibel dengan produk motorshield ladyada, library-nya dapat digunakan pada motorshield ini.
Library dan Demo penggunaan dapat di unduh disini ,berikut adalah demo hasil uji dengan sketch motor party
Motorshield 2x293D
Koneksi untuk uji Motor party
Library dan Demo penggunaan dapat di unduh disini ,berikut adalah demo hasil uji dengan sketch motor party
Tuesday, March 20, 2012
Motor Shield ElMarino mengendalikan Motor Stepper
Pada pembahasan sebelumnya telah dijelaskan penggunaan Motorshield ElMarino untuk Motor DC , pada pembahasan kali ini akan dijelaskan cara penggunaan Motorshield ElMarino untuk pengendalian Motor Stepper (dengan Arduino cukup dengan 3 pin saja)
Hubungkan stepper motor (Uni Polar) seperti pada foto berikut:
Contoh Pemrograman (Putar searah jarum jam selanjutnya putar berlawanan arah jarum jam)
Hubungkan stepper motor (Uni Polar) seperti pada foto berikut:
Contoh Pemrograman (Putar searah jarum jam selanjutnya putar berlawanan arah jarum jam)
/* Kendali Stepper-motor dengan Motorshield Elmarino Pin 9 HIGH=Enable, LOW=Disable Pin 10,11 kendali Stepper Motor searah jarum jam (pin10 pin11): HL,HH,LH,LL berlawanan arah jarum jam (pin10 pin11): LL,LH,HH,HL Oleh : Aan Darmawan Blog : http://valfa.blogspot.com Date : 20 Maret 2011 */ void setup() { //Serial.begin(9600); pinMode(10,OUTPUT); // pin 10,11 Kendali Stepper Motor pinMode(11,OUTPUT); pinMode(9,OUTPUT); // Enable/Disable Stepper Motor digitalWrite(9,LOW); delay(1000); } int i; // main program void loop() { // putar searah jarum jam for(i=1;i<=250;i++){ digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(9,HIGH); delay(10); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,HIGH); digitalWrite(9,HIGH); delay(10); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(9,HIGH); delay(10); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(9,HIGH); delay(10); } // putar berlawanan jarum jam for(i=1;i<=250;i++){ digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,LOW); digitalWrite(9,HIGH); delay(10); digitalWrite(9,LOW); digitalWrite(10,LOW); digitalWrite(11,HIGH); digitalWrite(9,HIGH); delay(10); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,HIGH); digitalWrite(9,HIGH); delay(10); digitalWrite(9,LOW); digitalWrite(10,HIGH); digitalWrite(11,LOW); digitalWrite(9,HIGH); delay(10); } }
Contoh Video Hasil uji coba:
Sunday, March 11, 2012
Motorshield ElMarino mengendalikan motor DC
Mengendalikan Motor DC pada Arduino/mikrokontroler diperlukan driver/penguat (karena maksimum beban arus yang dapat 'ditangani' oleh Arduino/mikrokontroler terbatas, yaitu sekitar 40mA), solusinya adalah menggunakan Motorshield.
Motorshield Elmarino dirangkai dengan menggunakan IC L298 yang dapat menangani beban maksimum 2A (Data sheet menunjukan Peak Current 4A), Motorshield ini dapat mengatur 2 motor DC (tiap motor dpt diatur fwd,backward,stop), pada Arduino hanya membutuhkan 3 pin kendali saja dan kecepatan bisa diatur dengan sinyal PWM, selain itu Motorshield ini dapat juga digunakan untuk mengatur gerakan stepper motor dan Servo Motor.
Satu hal lagi keunggulan Motorshield Elmarino sudah merupakan shield untuk Arduino (Severino/ Duemilanove/ UNO) pin-pin kaki (default) yang digunakan adalah 9,10,11.
6.Hubungkan Sumber tegangan ke Severino,Motorshield Elmarino dan Motor
7.Program Severino dengan IDE Arduino melalui komunikasi Serial (saat pemrograman,hubungan
sumber tegangan untuk Motor di LEPAS)
Contoh Program:
Motorshield Elmarino dirangkai dengan menggunakan IC L298 yang dapat menangani beban maksimum 2A (Data sheet menunjukan Peak Current 4A), Motorshield ini dapat mengatur 2 motor DC (tiap motor dpt diatur fwd,backward,stop), pada Arduino hanya membutuhkan 3 pin kendali saja dan kecepatan bisa diatur dengan sinyal PWM, selain itu Motorshield ini dapat juga digunakan untuk mengatur gerakan stepper motor dan Servo Motor.
Satu hal lagi keunggulan Motorshield Elmarino sudah merupakan shield untuk Arduino (Severino/ Duemilanove/ UNO) pin-pin kaki (default) yang digunakan adalah 9,10,11.
Motorshield Elmarino
Contoh Aplikasi Elmarino Motorshield untuk mengendalikan 2 motor DC dengan (Arduino) Severino:
1.Rakit 2 motor DC sebagai penggerak roda mobil/tank
2.Pasang Board (Arduino) Severino
3.Pasang MotorShield Elmarino ke Severino
4.Hasil Instalasi Motorshield pada (Arduino) Severino
5.Hubungkan terminal-terminal motor ke Terminal Block Motor A dan B pada Motorshield Elmarino6.Hubungkan Sumber tegangan ke Severino,Motorshield Elmarino dan Motor
7.Program Severino dengan IDE Arduino melalui komunikasi Serial (saat pemrograman,hubungan
sumber tegangan untuk Motor di LEPAS)
Contoh Program:
/* Kendali 2 motor DC dengan Motorshield Elmarino Pin 9 Enable/Disable sinyal PWM akan mengatur kecepatan putaran 0 Stop - 255 kecepatan maksimum Pin 10 Motor B -> HIGH=Forward, LOW=Backward Pin 11 Motor A -> HIGH=Forward, LOW=Backward Oleh : Aan Darmawan Blog : http://valfa.blogspot.com Date : 10 Maret 2011 */ void maju(int kecepatan){ digitalWrite(10,HIGH); digitalWrite(11,HIGH); analogWrite(9,kecepatan); } void mundur(int kecepatan){ digitalWrite(10,LOW); digitalWrite(11,LOW); analogWrite(9,kecepatan); } void henti(void){ analogWrite(9,0); } void putarkiri(int kecepatan){ digitalWrite(10,HIGH); digitalWrite(11,LOW); analogWrite(9,kecepatan); } void putarkanan(int kecepatan){ digitalWrite(10,LOW); digitalWrite(11,HIGH); analogWrite(9,kecepatan); } void setup() { //Serial.begin(9600); pinMode(10,OUTPUT); // Kendali Motor A pinMode(11,OUTPUT); // Kendali Motor B pinMode(9,OUTPUT); // Enable Motor (PWM ->Speed) delay(1000); } int n; // main program void loop() { // maju 2 detik maju(255); //kecepatan penuh delay(2000); henti(); delay(300); // mundur 2 detik mundur(255); //kecepatan penuh delay(2000); henti(); delay(300); // putar kiri putarkiri(155); //kecepatan ~60% delay(2000); henti(); delay(300); // putar kanan putarkanan(155); //kecepatan ~60% delay(2000); henti(); delay(300); }
Video Hasil Uji:
Wednesday, February 01, 2012
HASIL WORKSHOP
Subscribe to:
Posts (Atom)