-
-
Save esperienzeelettroniche/cc550b138c867e0aa3e546c2c1a8f41f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/****************************************** | |
* Control 3 LEDs using bluetooth * | |
* EsperienzeElettroniche 2022 * | |
******************************************/ | |
#include <SoftwareSerial.h> | |
/* Pins used for software serial connection */ | |
#define rxPin 2 | |
#define txPin 3 | |
/* Pins used for LEDs */ | |
#define ledA 4 | |
#define ledB 5 | |
#define ledC 6 | |
/* Bluetooth / Serial connection speed */ | |
#define baudrate 57600 | |
/* Initalize software-emulated serial port (Bluetooth module) */ | |
SoftwareSerial bt(rxPin, txPin); | |
char data; | |
void setup() { | |
pinMode(ledA, OUTPUT); | |
pinMode(ledB, OUTPUT); | |
pinMode(ledC, OUTPUT); | |
bt.begin(baudrate); | |
Serial.begin(baudrate); | |
} | |
void loop() { | |
/* Wait for Bluetooth or serial data */ | |
while(!bt.available() && !Serial.available()) | |
; | |
if(bt.available()) | |
data=bt.read(); | |
else | |
data=Serial.read(); | |
/* Use received character to turn corresponding LED on or off */ | |
switch(data){ | |
case 'A': | |
digitalWrite(ledA, 1); | |
break; | |
case 'a': | |
digitalWrite(ledA, 0); | |
break; | |
case 'B': | |
digitalWrite(ledB, 1); | |
break; | |
case 'b': | |
digitalWrite(ledB, 0); | |
break; | |
case 'C': | |
digitalWrite(ledC, 1); | |
break; | |
case 'c': | |
digitalWrite(ledC, 0); | |
break; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment