Devices & Components
Arduino Uno Rev3
Breadboard (generic)
LED (generic)
Resistor 1k ohm
HC-06 Bluetooth Module
Jumper wires (generic)
Software & Tools
MIT App Inventor 2
Project description
Code
FSM with HC-06
c_cpp
1#include <SoftwareSerial.h> 2 3SoftwareSerial BTserial(13, 12); // RX | TX 4 5#define BLUE 2 6#define GREEN 4 7#define RED 7 8 9int command; 10 11void setup() { 12 BTserial.begin(9600); 13 pinMode(GREEN,OUTPUT); 14 pinMode(RED,OUTPUT); 15 pinMode(BLUE,OUTPUT); 16 digitalWrite(RED,HIGH); 17} 18 19void loop() { 20 21 while(BTserial.available()){ 22 command=BTserial.read(); 23 switch(command){ 24 case 82: //ASCII code for R 25 digitalWrite(RED,HIGH); 26 digitalWrite(GREEN,LOW); 27 digitalWrite(BLUE,LOW); 28 break; 29 30 case 71: //ASCII code for G 31 digitalWrite(RED,LOW); 32 digitalWrite(GREEN,HIGH); 33 digitalWrite(BLUE,LOW); 34 break; 35 36 case 66: //ASCII code for B 37 digitalWrite(RED,LOW); 38 digitalWrite(GREEN,LOW); 39 digitalWrite(BLUE,HIGH); 40 break; 41 42 default: 43 //Nothing happens 44 } 45 delay(100); 46 } 47} 48
FSM with HC-06
c_cpp
1#include <SoftwareSerial.h> 2 3SoftwareSerial BTserial(13, 12); // RX | TX 4 5#define BLUE 2 6#define GREEN 4 7#define RED 7 8 9int command; 10 11void setup() { 12 BTserial.begin(9600); 13 pinMode(GREEN,OUTPUT); 14 pinMode(RED,OUTPUT); 15 pinMode(BLUE,OUTPUT); 16 digitalWrite(RED,HIGH); 17} 18 19void loop() { 20 21 while(BTserial.available()){ 22 command=BTserial.read(); 23 switch(command){ 24 case 82: //ASCII code for R 25 digitalWrite(RED,HIGH); 26 digitalWrite(GREEN,LOW); 27 digitalWrite(BLUE,LOW); 28 break; 29 30 case 71: //ASCII code for G 31 digitalWrite(RED,LOW); 32 digitalWrite(GREEN,HIGH); 33 digitalWrite(BLUE,LOW); 34 break; 35 36 case 66: //ASCII code for B 37 digitalWrite(RED,LOW); 38 digitalWrite(GREEN,LOW); 39 digitalWrite(BLUE,HIGH); 40 break; 41 42 default: 43 //Nothing happens 44 } 45 delay(100); 46 } 47} 48
Downloadable files
Whole circuit
Whole circuit
Comments
Only logged in users can leave comments