0% found this document useful (0 votes)
33 views5 pages

#Include SoftwareSerial

Programação

Uploaded by

liviaraujo041006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views5 pages

#Include SoftwareSerial

Programação

Uploaded by

liviaraujo041006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

#include <SoftwareSerial.

h>
#include <VoiceRecognitionV3.h>

SoftwareSerial mySerial(10, 11); // RX, TX


VR myVR(mySerial);

#define LED1 2 // Sala


#define LED2 3 // Sala
#define LED3 4 // Cozinha
#define LED4 5 // Cozinha
#define LED5 6 // Corredor
#define LED6 7 // Corredor
#define LED7 8 // Quarto
#define LED8 9 // Quarto
#define LED9 10 // Banheiro
#define LED10 11 // Banheiro

#define BUTTON1 A0 // Sala


#define BUTTON2 A1 // Cozinha
#define BUTTON3 A2 // Corredor
#define BUTTON4 A3 // Quarto
#define BUTTON5 A4 // Banheiro

#define LDR1 A5 // Sala


#define LDR2 A6 // Cozinha
#define LDR3 A7 // Corredor
#define LDR4 A8 // Quarto
#define LDR5 A9 // Banheiro

// Comandos de voz específicos por cômodo


#define CMD_TURN_ON_LIVING ROOM 0
#define CMD_TURN_OFF_LIVING ROOM 1
#define CMD_TURN_ON_KITCHEN 2
#define CMD_TURN_OFF_KITCHEN 3
#define CMD_TURN_ON_HALLWAY 4
#define CMD_TURN_OFF_HALLWAY 5
#define CMD_TURN_ON_BEDROOM 6
#define CMD_TURN_OFF_BEDROOM 7
#define CMD_TURN_ON_BATHROOM 8
#define CMD_TURN_OFF_BATHROOM 9
#define CMD_AUTOMATIC_MODE 10
#define CMD_MANUAL_MODE 11

bool manualMode = false;


bool ledStates[10] = {false, false, false, false, false, false, false, false, false, false};

void setup() {
[Link](9600);
[Link](9600);
if ([Link]()) {
[Link]("VR Module ready.");
} else {
[Link]("VR Module not detected.");
while (1);
}

for (int i = 2; i <= 11; i++) {


pinMode(i, OUTPUT);
digitalWrite(i, LOW);
}

for (int i = A0; i <= A4; i++) {


pinMode(i, INPUT_PULLUP);
}

for (int i = A5; i <= A9; i++) {


pinMode(i, INPUT);
}

[Link]((uint8_t)0);
}

void loop() {
uint8_t records[7];
uint8_t buf[64];

if ([Link](buf, 50) > 0) {


switch (buf[1]) {
case CMD_TURN_ON_LIVINGROOM:
if (manualMode) {
[Link]("Turn on lights in living room");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
ledStates[0] = true;
ledStates[1] = true;
}
break;
case CMD_TURN_OFF_LIVINGROOM:
if (manualMode) {
[Link]("Turn off lights in living room");
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
ledStates[0] = false;
ledStates[1] = false;
}
break;
case CMD_TURN_ON_KITCHEN:
if (manualMode) {
[Link]("Turn on lights in kitchen");
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
ledStates[2] = true;
ledStates[3] = true;
}
break;
case CMD_TURN_OFF_KITCHEN:
if (manualMode) {
[Link]("Turn off lights in kitchen");
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
ledStates[2] = false;
ledStates[3] = false;
}
break;
case CMD_TURN_ON_HALLWAY:
if (manualMode) {
[Link]("Turn on lights in hallway");
digitalWrite(LED5, HIGH);
digitalWrite(LED6, HIGH);
ledStates[4] = true;
ledStates[5] = true;
}
break;
case CMD_TURN_OFF_HALLWAY:
if (manualMode) {
[Link]("Turn off lights in hallway");
digitalWrite(LED5, LOW);
digitalWrite(LED6, LOW);
ledStates[4] = false;
ledStates[5] = false;
}
break;
case CMD_TURN_ON_BEDROOM:
if (manualMode) {
[Link]("Turn on lights in bedroom");
digitalWrite(LED7, HIGH);
digitalWrite(LED8, HIGH);
ledStates[6] = true;
ledStates[7] = true;
}
break;
case CMD_TURN_OFF_BEDROOM:
if (manualMode) {
[Link]("Turn off lights in bedroom");
digitalWrite(LED7, LOW);
digitalWrite(LED8, LOW);
ledStates[6] = false;
ledStates[7] = false;
}
break;
case CMD_TURN_ON_BATHROOM:
if (manualMode) {
[Link]("Turn on lights in bathroom");
digitalWrite(LED9, HIGH);
digitalWrite(LED10, HIGH);
ledStates[8] = true;
ledStates[9] = true;
}
break;
case CMD_TURN_OFF_BATHROOM:
if (manualMode) {
[Link]("Turn off lights in bathroom");
digitalWrite(LED9, LOW);
digitalWrite(LED10, LOW);
ledStates[8] = false;
ledStates[9] = false;
}
break;
case CMD_AUTOMATIC_MODE:
[Link]("Automatic mode");
manualMode = false;
break;
case CMD_MANUAL_MODE:
[Link]("Manual mode");
manualMode = true;
break;
default:
[Link]("Command not recognized");
break;
}
}

if (!manualMode) {

int sensorValues[5];
sensorValues[0] = analogRead(LDR1);
sensorValues[1] = analogRead(LDR2);
sensorValues[2] = analogRead(LDR3);
sensorValues[3] = analogRead(LDR4);
sensorValues[4] = analogRead(LDR5);

for (int i = 0; i < 5; i++) {


int ledPin1 = 2 + (i * 2);
int ledPin2 = 3 + (i * 2);
if (sensorValues[i] < 500) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
} else {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
}
}
} else {

for (int i = 0; i < 5; i++) {


int buttonState = digitalRead(A0 + i);
if (buttonState == LOW) {
ledStates[i * 2] = !ledStates[i * 2];
ledStates[i * 2 + 1] = !ledStates[i * 2 + 1];
delay(200);
}
digitalWrite(2 + (i * 2), ledStates[i * 2]);
digitalWrite(3 + (i * 2), ledStates[i * 2 + 1]);
}
}
}

You might also like