Saturday, January 25, 2014

Bluetooth Controlled Lamp with ATtiny85

Bluetooth Controlled Lamp

ATtiny85 with Bluetooth




 
/*
  Software serial multple serial test
 
 Receives from the hardware serial, sends to software serial.
 Receives from software serial, sends to hardware serial.
 
 The circuit: 
 * RX is digital pin 10 (connect to TX of other device)
 * TX is digital pin 11 (connect to RX of other device)
 
 Note:
 Not all pins on the Mega and Mega 2560 support change interrupts, 
 so only the following can be used for RX: 
 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69
 
 Not all pins on the Leonardo support change interrupts, 
 so only the following can be used for RX: 
 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
 
 created back in the mists of time
 modified 25 May 2012
 by Tom Igoe
 based on Mikal Hart's example
 
 This example code is in the public domain.
 
 */
#include 

SoftwareSerial mySerial(3,4); // RX, TX

String instring;
void setup()  
{
  pinMode(0,OUTPUT);
  // Open serial communications and wait for port to open:
  mySerial.begin(4800);
  delay(500);
  //while (!mySerial) {
    //; // wait for serial port to connect. Needed for Leonardo only
  //}


  //mySerial.println("Goodnight moon!");

  // set the data rate for the SoftwareSerial port
  //mySerial.begin(14400);
  //mySerial.println("Hello, world?");
}

void loop() // run over and over
{
  /*
  if (mySerial.available())
    mySerial.write(mySerial.read());
  if (mySerial.available())
    mySerial.write(mySerial.read());
    */
    //mySerial.listen();
        char ser = mySerial.read();
    instring += ser;
    delay(500);
    
     // if (mySerial.available()){
  //mySerial.read();
  if(ser == 'A'){
   mySerial.println((char)ser);
   digitalWrite(0, HIGH);
     }
   //delay(100);
   
     if(ser == 'B'){
   mySerial.println((char)ser);
   digitalWrite(0,LOW);}
   //mySerial.println();
   //   }
}

1 comment: