Setiap orang pasti punya mood yang berbeda-beda kali ini saya akan membagikan resep dan tentunya bukan resep kue..:D , resep kali ini adalah tentang suasana hati masing masing yang mungkin bisa di jinakan dengan warna, gak kepikiran kan kalo misal nya punya lampu tidur atau lampu kamar yang bisa di rubah warna nya sesuai keinginan dan suasana hati kita.., apa lagi kalo lagi berdua sama pasangan warna yang romantic pasti di perlukan mungkin resep ini bisa membantu, jaman sekarang siapa sih yang ngga punya ponsel pintar atau smart phone tentunya hampir semua masyarakt punya apa lagi dengan lahir nya sistem operasi ponsel berbasis linux ya itu android yang sudah menginstal banyak ponsel murah besutan cina tentunya sudah kaya kerupuk kan ada di mana-mana apalagi berbasis open source, ya kaya arduino juga yang mudah untuk di kembangkan seperti resep kali ini yang masih menggunakan arduino dan bluetooth, untuk bahan dari resep ini kita siapkan :
1.arduino board
2.RGB led
3.modul bluetooth HC-05
untuk pengaturan warna menggunakan aplikasi android yang di instal pada smarphone dengan bantuan koneksi serial dari bluetooth yang akan berkomunikasi dengan arduino untuk wiringnya seperti ini:
#include <SoftwareSerial.h> #include <Wire.h>//Include libraries: SoftwareSerial & Wire SoftwareSerial BT(11,12); //Define PIN11 & PIN12 as RX and TX pins //RGB LED Pins int PIN_RED = 3; int PIN_GREEN = 5; int PIN_BLUE = 6; //RED LED at Pin 13 int RED_LED = 13; String RGB = ""; //store RGB code from BT String RGB_Previous = "255.255.255)"; //preserve previous RGB color for LED switch on/off, default White String ON = "ON"; //Check if ON command is received String OFF = "OFF"; //Check if OFF command is received boolean RGB_Completed = false; void setup() { Serial.begin(9600); //Arduino serial port baud rate:9600 BT.begin(9600);//My HC-05 module default baud rate is 9600 RGB.reserve(30); pinMode(RED_LED, OUTPUT); //Set pin13 as output for LED, // this LED is on Arduino mini pro, not the RGB LED } void loop() { // put your main code here, to run repeatedly: //Read each character from Serial Port(Bluetooth) while(BT.available()){ char ReadChar = (char)BT.read(); // Right parentheses ) indicates complet of the string if(ReadChar == ')'){ RGB_Completed = true; }else{ RGB += ReadChar; } } //When a command code is received completely with ')' ending character if(RGB_Completed){ //Print out debug info at Serial output window Serial.print("RGB:"); Serial.print(RGB); Serial.print(" PreRGB:"); Serial.println(RGB_Previous); if(RGB==ON){ digitalWrite(13,HIGH); RGB = RGB_Previous; //We only receive 'ON', so get previous RGB color back to turn LED on Light_RGB_LED(); }else if(RGB==OFF){ digitalWrite(13,LOW); RGB = "0.0.0)"; //Send OFF string to turn light off Light_RGB_LED(); }else{ //Turn the color according the color code from Bluetooth Serial Port Light_RGB_LED(); RGB_Previous = RGB; } //Reset RGB String RGB = ""; RGB_Completed = false; } //end if of check if RGB completed } // end of loop void Light_RGB_LED(){ int SP1 = RGB.indexOf('.'); int SP2 = RGB.indexOf('.', SP1+1); int SP3 = RGB.indexOf('.', SP2+1); String R = RGB.substring(0, SP1); String G = RGB.substring(SP1+1, SP2); String B = RGB.substring(SP2+1, SP3); //Print out debug info at Serial output window Serial.print("R="); Serial.println( constrain(R.toInt(),0,255)); Serial.print("G="); Serial.println(constrain(G.toInt(),0,255)); Serial.print("B="); Serial.println( constrain(B.toInt(),0,255)); //Light up the LED with color code //**2014-09-21 //Because these RGB LED are common anode (Common positive) //So we need to take 255 to minus R,G,B value to get correct RGB color code analogWrite(PIN_RED, (R.toInt())); analogWrite(PIN_GREEN, (G.toInt())); analogWrite(PIN_BLUE, (B.toInt()));
2 komentar
Gan mau nanya ini kalau bluetoothnya di matiin apakah lampu yang kita set akan kembali lagi ke awal??
Kan gak di simpan di EEPROm
Gan mau nanya ini kalau bluetoothnya di matiin apakah lampu yang kita set akan kembali lagi ke awal??
Kan gak di simpan di EEPROm