Read more
Sebenarnya judul Sensor warna dengan output suara berbasis Arduino Uno dapat di ubah menjadi Sensor warna dengan output suara berbasis Mikrokontroler AVR, baik at mega 16, 8 ataupun at mega varian lain, bahkan at tiny pun dapat di gunakan sebagai otak pengolah informasi yang diberikan oleh sensor warna untuk kemudian menghasilkan output suara
sensor warna nya memiliki skematik sebagai berikut :
Modul Hardware yang dipergunakan dalam tulisan ini adalah :
1. modul Arduino UNO, boleh versi aseli italy ataupun versi abal abal china (arduino uno rev clone),
2. modul serial ttl to play wave (hehehehe membingungkan?) cara kerjanya kirim perintah serial ke mdul tersebut , selanjutnya file wav yang ada di MMC yang terkoneksi pada modul akan di play oleh modul
3. penguat suara (modul mini amplifier)
4. speaker
5. power supplya
6. rangkaian sensor warna,
gambar alat Sensor warna dengan output suara berbasis Arduino Uno
source kode untuk Sensor warna dengan output suara berbasis Arduino Uno adalah sebagai berikut :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
const int analogInRed = A0;
const int analogInGreen = A1;
const int analogInBlue = A2;
int sensorValueRed = 0;
int sensorValueGreen = 0;
int sensorValueBlue = 0;
int k=15;
const int buttonPin = 3; // the number of the pushbutton pin
const int buzzerPin = 2; // the number of the buzzer pin
int buttonState = 0;
void setup() {
mySerial.begin(19200);
mySerial.write(13);
mySerial.write(13);
mySerial.write(13);
delay(100);
//kirim stop
mySerial.print ("g") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
//'seting single step
mySerial.print ("t") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buttonPin,HIGH);
delay(500);
Serial.begin(19200);
}
void loop() {
// read the analog in value:
buttonState = digitalRead(buttonPin);
if (buttonState==LOW) {
sensorValueRed = analogRead(analogInRed);
sensorValueGreen = analogRead(analogInGreen);
sensorValueBlue = analogRead(analogInBlue);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
if(abs(sensorValueRed-606)<k && abs(sensorValueGreen-172)<k && abs(sensorValueBlue-428)<k){
Serial.println("HITAM");
mySerial.print ("lxhitam") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-239)<k && abs(sensorValueGreen-57)<k && abs(sensorValueBlue-154)<k){
Serial.println("PUTIH");
mySerial.print ("lxputih") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-338)<k && abs(sensorValueGreen-135)<k && abs(sensorValueBlue-342)<k){
Serial.println("MERAH");
mySerial.print ("lxmerah") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-455)<k && abs(sensorValueGreen-86)<k && abs(sensorValueBlue-273)<k){
Serial.println("HIJAU");
mySerial.print ("lxhijau") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-488)<k && abs(sensorValueGreen-97)<k && abs(sensorValueBlue-226)<k){
Serial.println("BIRU");
mySerial.print ("lxbiru") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-255)<k && abs(sensorValueGreen-67)<k && abs(sensorValueBlue-222)<k){
Serial.println("KUNING");
mySerial.print ("lxkuning") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-392)<k && abs(sensorValueGreen-77)<k && abs(sensorValueBlue-249)<k){
Serial.println("HIJAU MUDA");
mySerial.print ("lxhijau1") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-489)<k && abs(sensorValueGreen-101)<k && abs(sensorValueBlue-311)<k){
Serial.println("HIJAU TUA");
mySerial.print ("lxhijau2") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-403)<k && abs(sensorValueGreen-78)<k && abs(sensorValueBlue-198)<k){
Serial.println("BIRU MUDA");
mySerial.print ("lxbiru1") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-506)<k && abs(sensorValueGreen-104)<k && abs(sensorValueBlue-234)<k){
Serial.println("BIRU TUA");
mySerial.print ("lxbiru2") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-462)<k && abs(sensorValueGreen-150)<k && abs(sensorValueBlue-372)<k){
Serial.println("COKLAT");
mySerial.print ("lxcoklat") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
}else
if(abs(sensorValueRed-302)<k && abs(sensorValueGreen-122)<k && abs(sensorValueBlue-346)<k){
Serial.println("ORANYE");
mySerial.print ("lxoranye") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-402)<k && abs(sensorValueGreen-93)<k && abs(sensorValueBlue-221)<k){
Serial.println("ABU ABU");
mySerial.print ("lxabu") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-562)<k && abs(sensorValueGreen-145)<k && abs(sensorValueBlue-304)<k){
Serial.println("UNGU");
mySerial.print ("lxungu") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-287)<k && abs(sensorValueGreen-87)<k && abs(sensorValueBlue-289)<k){
Serial.println("KUNING TUA");
mySerial.print ("lxkuning2") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-426)<k && abs(sensorValueGreen-134)<k && abs(sensorValueBlue-291)<k){
Serial.println("PINK");
mySerial.print ("lxpink") ;
//mySerial.print Chr(13) ;
mySerial.write(13);}
Serial.println(sensorValueRed);
Serial.println(sensorValueGreen);
Serial.println(sensorValueBlue);
Serial.println("=====================");
delay(1000);
}
}
panjang ya ? ah enggak, itu kosing nya bentar aja, apalagi kopast nya
sensor warna dipasang di pin A0, A1, A2 yang merupakan keluaran dari sensor LDR yang di hadapkan dengna LED Merah, Hijau dan Biru .
beikut ini adalah video uji coba nya :
sensor warna nya memiliki skematik sebagai berikut :
Modul Hardware yang dipergunakan dalam tulisan ini adalah :
1. modul Arduino UNO, boleh versi aseli italy ataupun versi abal abal china (arduino uno rev clone),
2. modul serial ttl to play wave (hehehehe membingungkan?) cara kerjanya kirim perintah serial ke mdul tersebut , selanjutnya file wav yang ada di MMC yang terkoneksi pada modul akan di play oleh modul
3. penguat suara (modul mini amplifier)
4. speaker
5. power supplya
6. rangkaian sensor warna,
gambar alat Sensor warna dengan output suara berbasis Arduino Uno
source kode untuk Sensor warna dengan output suara berbasis Arduino Uno adalah sebagai berikut :
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
const int analogInRed = A0;
const int analogInGreen = A1;
const int analogInBlue = A2;
int sensorValueRed = 0;
int sensorValueGreen = 0;
int sensorValueBlue = 0;
int k=15;
const int buttonPin = 3; // the number of the pushbutton pin
const int buzzerPin = 2; // the number of the buzzer pin
int buttonState = 0;
void setup() {
mySerial.begin(19200);
mySerial.write(13);
mySerial.write(13);
mySerial.write(13);
delay(100);
//kirim stop
mySerial.print ("g") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
//'seting single step
mySerial.print ("t") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
pinMode(buzzerPin, OUTPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buttonPin,HIGH);
delay(500);
Serial.begin(19200);
}
void loop() {
// read the analog in value:
buttonState = digitalRead(buttonPin);
if (buttonState==LOW) {
sensorValueRed = analogRead(analogInRed);
sensorValueGreen = analogRead(analogInGreen);
sensorValueBlue = analogRead(analogInBlue);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
digitalWrite(buzzerPin,HIGH);
delay(500);
digitalWrite(buzzerPin,LOW);
delay(500);
if(abs(sensorValueRed-606)<k && abs(sensorValueGreen-172)<k && abs(sensorValueBlue-428)<k){
Serial.println("HITAM");
mySerial.print ("lxhitam") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-239)<k && abs(sensorValueGreen-57)<k && abs(sensorValueBlue-154)<k){
Serial.println("PUTIH");
mySerial.print ("lxputih") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-338)<k && abs(sensorValueGreen-135)<k && abs(sensorValueBlue-342)<k){
Serial.println("MERAH");
mySerial.print ("lxmerah") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-455)<k && abs(sensorValueGreen-86)<k && abs(sensorValueBlue-273)<k){
Serial.println("HIJAU");
mySerial.print ("lxhijau") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-488)<k && abs(sensorValueGreen-97)<k && abs(sensorValueBlue-226)<k){
Serial.println("BIRU");
mySerial.print ("lxbiru") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-255)<k && abs(sensorValueGreen-67)<k && abs(sensorValueBlue-222)<k){
Serial.println("KUNING");
mySerial.print ("lxkuning") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-392)<k && abs(sensorValueGreen-77)<k && abs(sensorValueBlue-249)<k){
Serial.println("HIJAU MUDA");
mySerial.print ("lxhijau1") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-489)<k && abs(sensorValueGreen-101)<k && abs(sensorValueBlue-311)<k){
Serial.println("HIJAU TUA");
mySerial.print ("lxhijau2") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-403)<k && abs(sensorValueGreen-78)<k && abs(sensorValueBlue-198)<k){
Serial.println("BIRU MUDA");
mySerial.print ("lxbiru1") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-506)<k && abs(sensorValueGreen-104)<k && abs(sensorValueBlue-234)<k){
Serial.println("BIRU TUA");
mySerial.print ("lxbiru2") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-462)<k && abs(sensorValueGreen-150)<k && abs(sensorValueBlue-372)<k){
Serial.println("COKLAT");
mySerial.print ("lxcoklat") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
}else
if(abs(sensorValueRed-302)<k && abs(sensorValueGreen-122)<k && abs(sensorValueBlue-346)<k){
Serial.println("ORANYE");
mySerial.print ("lxoranye") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-402)<k && abs(sensorValueGreen-93)<k && abs(sensorValueBlue-221)<k){
Serial.println("ABU ABU");
mySerial.print ("lxabu") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-562)<k && abs(sensorValueGreen-145)<k && abs(sensorValueBlue-304)<k){
Serial.println("UNGU");
mySerial.print ("lxungu") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-287)<k && abs(sensorValueGreen-87)<k && abs(sensorValueBlue-289)<k){
Serial.println("KUNING TUA");
mySerial.print ("lxkuning2") ;
//mySerial.print Chr(13) ;
mySerial.write(13);
} else
if(abs(sensorValueRed-426)<k && abs(sensorValueGreen-134)<k && abs(sensorValueBlue-291)<k){
Serial.println("PINK");
mySerial.print ("lxpink") ;
//mySerial.print Chr(13) ;
mySerial.write(13);}
Serial.println(sensorValueRed);
Serial.println(sensorValueGreen);
Serial.println(sensorValueBlue);
Serial.println("=====================");
delay(1000);
}
}
panjang ya ? ah enggak, itu kosing nya bentar aja, apalagi kopast nya
sensor warna dipasang di pin A0, A1, A2 yang merupakan keluaran dari sensor LDR yang di hadapkan dengna LED Merah, Hijau dan Biru .
beikut ini adalah video uji coba nya :
Contact Person : Taufik Adi Sanjaya
No HP / Whats App : 0823 2613 3990
PIN BBM 5983E244
PIN BBM 5983E244
Alamat : Jalan Imogiri Timur KM 11,
Blawong 1 , RT 01, Trimulyo,
Jetis, Bantul 55781.
Anda membutuhkan komponen elektronik , Arduino, Sensor, Tutorial(paket belajar), jasa pembuatan alat berbasis mikrokontroler, kendali lampu via jaringan LAN, dan sebagainya ? anda dapat membelinya di www.kedaiarduino.com
5 Reviews
Om modul no 2 tuuh modul apaan yaa ?? Belum ngerti ni
ReplyDeletekomponen LDR LED Resistor
Deletesama arduino tentunya
DeleteBisa jelaskan semua om apa" aj komponen utama dan komponen tambahan untuk alat ink
DeleteKalau ditambah lcd bisa gak om??
DeleteSilakan dikomentari