Pages: [1]   Go Down
Author Topic: Turning on a light bulb with Arduino and XBee  (Read 1117 times)
0 Members and 1 Guest are viewing this topic.
Honduras
Offline Offline
Newbie
*
Karma: 0
Posts: 17
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi
I am building a small circuit for turning on a lightbulb with my computer. Besides this the light bulb can be turn on manually by a switch.
For building this, I am using a switch bai ben (Interruptions from two points.) for doing this.

The problems is the following.
The application is working fine, when I send the sign for turning on the lightbulb turnos on, and when I send the sign for turning of, it goes of. But if I manually turn on the switch, and send the sign of turning of from the application, it doesn't work.

This is my arduino code. I have a transformer (converts 110V to 5V) connected to the PIN 12. This way I know when the lightbulb is ON or OFF.

Code:


int LED = 11;               
int debugLED = 13;           
int packet;                 
int analogValue;
int PIN=12;

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(PIN, OUTPUT);
  pinMode(debugLED, OUTPUT);
  Serial.begin(9600);

}

void loop() {
 
 if(Serial.available() >= 16){       
   
   if(Serial.read() == 0x7E){         //Look for starting byte
   
     digitalWrite(debugLED, HIGH);   
     delay(1000);                         
     digitalWrite(debugLED, LOW);
     
     for(int i = 0; i <15; i++){     
       byte discard = Serial.read();
     }
     packet = Serial.read();         
   }
 }
 
 if(packet == 0x01){                  //If a '1' is pressed on keyboard side
   if(digitalRead(PIN)==LOW){
     digitalWrite(LED, HIGH);              //turn on red LED
     Serial.println("Recibi 1 voy a encender");
   }
   else{
     digitalWrite(debugLED, LOW);
   }
 }
 else if(packet == 0x00){            //If a '0' was pressed on keyboard side
   if((digitalRead(PIN)==HIGH)){
     digitalWrite(LED, LOW);      //turn off red LED
     Serial.println("Recibi 0 voy apagar");
   }
   else{
     digitalWrite(debugLED, HIGH);
   }
 }
 else{   //Little debug flashing incase something other than
   Serial.println("Recibi otra cosa: "+packet);
   for(int i = 0; i < 10; i++)           //'1' or '0' is rx'd.
   {
     digitalWrite(LED, HIGH);
     delay(500);
     digitalWrite(LED, LOW);
   }
 }
}




Any idea of this problem?
Thanks
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola, me paso porque me intereso... Me gustaria saber si sirve la arduino para conectar cosas de 220v o 110v
Logged

New Jersey
Offline Offline
Faraday Member
**
Karma: 72
Posts: 3761
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

How is the switch and light wired up?
Logged

Pages: [1]   Go Up
Jump to: