Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "SoftwareSerial.h"
- SoftwareSerial bluetooth(2, 3); // TX, RX ( of the Bluetooth, respectively)
- String inData = "";
- void setup() {
- bluetooth.begin(9600);
- Serial.begin(9600);
- }
- void loop() {
- while(bluetooth.available() > 0)
- {
- //Recebe um caractére
- char receivedChar = bluetooth.read();
- // Adiciona caracteres a string até receber o terminador
- inData += receivedChar;
- // Verifica se tem o tamanho máximo de um comando
- if(inData.length() > 11)
- {
- Serial.println("Erro: maior que 11 caracteres.");
- Serial.println(inData);
- inData = "";
- break;
- }
- //Verifica se possui o terminador \n
- if(receivedChar == '\n')
- {
- //Verifica se tem o tamanho mínimo
- if(inData.length() < 11)
- {
- Serial.println("Erro: número de caracteres menor que 11.");
- Serial.println(inData);
- inData = "";
- break;
- }
- //Serial.println(inData.length());
- /****MAIN LOOP****/
- setBrightness();
- inData = "";
- /*****************/
- }
- }
- }
- void setBrightness()
- {
- while(true)
- {
- String command = inData.substring(0, 2);
- if(command != "SB") {
- Serial.println("Erro: não é SB.");
- Serial.println(inData);
- inData = "";
- break;
- }
- String ledNumber = inData.substring(3, 5);
- int _ledNumber = ledNumber.toInt();
- if (_ledNumber == 0) {
- Serial.println("Erro: número do led retornou zero.");
- Serial.println(ledNumber);
- inData = "";
- break;
- }
- /****Testes****/
- switch (_ledNumber)
- {
- case 2 :
- _ledNumber = 5;
- break;
- case 3 :
- _ledNumber = 6;
- break;
- case 4 :
- _ledNumber = 9;
- break;
- case 5 :
- _ledNumber = 10;
- break;
- default :
- return;
- }
- /**************/
- String pwmValue = inData.substring(6, 9);
- int _pwmValue = pwmValue.toInt();
- if (_pwmValue > 255) {
- Serial.print("Erro: PWM maior que 255.");
- Serial.println(pwmValue);
- inData = "";
- break;
- }
- pinMode(_ledNumber, OUTPUT);
- analogWrite(_ledNumber, _pwmValue);
- break;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement