icar pelo menos 2 linhas do código.
Esta linha : LiquidCrystal_I2C lcd(0x3F, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
para : LiquidCrystal_I2C lcd(0x3F,16,2);
e a linha : lcd.begin(16,2);
para : lcd.init();
RV mineirin …
Adicionado por mineirin RV ao 11:13 em 1 fevereiro 2022
d;
// just added my own array for the raw signalunsigned int powerOn[60] = {8450,4250,550,1700,550,550,550,550,550,550,550,1700,550,550,550,600,550,550,550,550,550,600,550,550,550,550,550,550,550,550,600,550,550,550,550,550,600,550,550,1650,600,1650,550,550,550,1700,550,550,550,550,550,600,550,1650,550,1700,550,1650,550,};unsigned int powerOff[60] = {8450,4200,550,1700,550,550,550,600,550,550,550,1700,550,550,550,550,550,600,550,1650,550,1650,600,550,550,550,550,550,600,550,550,550,550,550,600,550,550,550,550,550,600,500,550,600,550,1650,550,600,550,1650,550,600,550,550,550,550,550,1650,600,}; void setup(){ Serial.begin(9600);}
void loop() { char valorlido = Serial.read(); Serial.println(valorlido); if (valorlido == '1') irsend.sendNEC(0xE17A7887,32); if (valorlido == '2') irsend.sendNEC(0xE17A50AF,32); if (valorlido == '3') irsend.sendNEC(0x20DF40BF,32); if (valorlido == '4') irsend.sendNEC(0x20DF807F,32); if (valorlido == '5') irsend.sendNEC(0x20DF10EF,32); if (valorlido == '6') irsend.sendRaw(powerOn,60,38); if (valorlido == '7') irsend.sendRaw(powerOff,60,38);}…
Adicionado por Psuporte ao 16:00 em 24 novembro 2013
por fim ler os 2 últimos bits. e gostaria de guardar em variáveis inteiras separadas.
mais ou menos assim.
int teste = 255;
255 em binário é 111 111 11.
int a = 3 primeiros bits já transformados em inteiro que é o numero 7;
int b = bits 4, 5, 6 que transformados fica 7;
int c = 2 últimos bits que transformados fica 3;
tem com eu fazer esta operação ai?
obrigado
…
adaptei o código para mais 1, no total de 3 LEDS. Sendo que está dando esse erro " strcontains was not declared " nesta seguinte parte :
// LED 2 (pin 7) if ( StrContains(HTTP_req, "LED2=1")) { LED_state[1] = 1; // save LED state
digitalWrite(7, HIGH);
}
Anexei o código alterado, e original, e a pagina intex alterada. Se alguém poder ajudar.. agradeço !
…
Adicionado por Luiz Sena ao 10:42 em 22 fevereiro 2017
; // define comando para sentido anti-horário#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor int velocidade = 0; // Variável que informa a velocidade do motor // 0 = motor parado e 1024 = velocidade máxima; int habilita = 0; //Variável que guarda o resultado dos comando dos botões de liga e desliga // Se 0 = Para Motor // Se 1 = Roda o Motor int sentido = 1; // Variável que informa o sentido de giro do motor // se 1 = Sentido Horário // Se 2 = Sentido anti-horário int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer#define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor int velocidade = 0; // Variável que informa a velocidade do motor // 0 = motor parado e 1024 = velocidade máxima; int habilita = 0; //Variável que guarda o resultado dos comando #define sentido_horario digitalWrite(5, HIGH); // define comando para sentido horário#define sentido_antihorario digitalWrite(5, LOW); // define comando para sentido anti-horário#define habilita_motor digitalWrite(7, LOW); // define comando para habilitar motor#define inibe_motor digitalWrite(7, HIGH); // define comando para desligar motor int velocidade = 0; // Variável que informa a velocidade do motor // 0 = motor parado e 1024 = velocidade máxima; int habilita = 0; //Variável que guarda o resultado dos comando dos botões de liga e desliga // Se 0 = Para Motor // Se 1 = Roda o Motor int sentido = 1; // Variável que informa o sentido de giro do motor // se 1 = Sentido Horário // Se 2 = Sentido anti-horário int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer // Essa variável pode ter 3 valores // 0 -> desliga motor // 1 -> Liga o Motor no Sentido Horário // 2 -> Liga o Motor no sentido Anti-horáriovoid setup() { pinMode(5,OUTPUT); pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais pinMode(7,OUTPUT);} void loop() { if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves // e geramos 3 possíveis combinações: // 2 x 1 = 2 \ // 1 x 1 = 1 \ Os resultados podem ser // 1 x 0 = 0 / 0, ou 2 // 2 x 0 = 0 / switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao { case 0: // Se for 0 inibe_motor // Para o motor digitalWrite(6, LOW); // Para de enviar pulsos para o Driver break; case 1: // Se for 1 habilita_motor // Liga o motor sentido_horario // Liga o sentido horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; case 2: // Se for 2 habilita_motor // Liga o motor sentido_antihorario // Liga o sentido anti-horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; } }dos botões de liga e desliga // Se 0 = Para Motor // Se 1 = Roda o Motor int sentido = 1; // Variável que informa o sentido de giro do motor // se 1 = Sentido Horário // Se 2 = Sentido anti-horário int modo_de_operacao = 0; // Variável que guarda a combinação dos botões para o programa saber o que fazer // Essa variável pode ter 3 valores // 0 -> desliga motor // 1 -> Liga o Motor no Sentido Horário // 2 -> Liga o Motor no sentido Anti-horáriovoid setup() { pinMode(5,OUTPUT); pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais pinMode(7,OUTPUT);} void loop() { if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves // e geramos 3 possíveis combinações: // 2 x 1 = 2 \ // 1 x 1 = 1 \ Os resultados podem ser // 1 x 0 = 0 / 0, ou 2 // 2 x 0 = 0 / switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao { case 0: // Se for 0 inibe_motor // Para o motor digitalWrite(6, LOW); // Para de enviar pulsos para o Driver break; case 1: // Se for 1 habilita_motor // Liga o motor sentido_horario // Liga o sentido horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; case 2: // Se for 2 habilita_motor // Liga o motor sentido_antihorario // Liga o sentido anti-horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; } } // Essa variável pode ter 3 valores // 0 -> desliga motor // 1 -> Liga o Motor no Sentido Horário // 2 -> Liga o Motor no sentido Anti-horáriovoid setup() { pinMode(5,OUTPUT); pinMode(6,OUTPUT); // Configura pinos 5, 6 e 7 como saídas digitais pinMode(7,OUTPUT);} void loop() { if (digitalRead(8)==1) // Verifica se o botão liga (primeiro botão) foi pressionado habilita = 1; // Se sim altera a variável habilita para 1 = Liga motor if( digitalRead(9) == 1) // Verifica se o botão desliga (segundo botão) foi pressionado habilita = 0; // Se sim altera a variável habilita para 0 = Desliga motor if (digitalRead(10)==1) // Verifica se o botão Horário (terceiro botão) foi pressionado sentido = 1; // Se sim altera a variável sentido para 1 = Sentido Horário if( digitalRead(11) == 1) // Verifica se o botão anti-Horário (quarto botão) foi pressionado sentido = 2; // Se sim altera a variável sentido para 2 = Sentido anti-horário modo_de_operacao = sentido * habilita; // Neste ponto cruzamos as informações das chaves // e geramos 3 possíveis combinações: // 2 x 1 = 2 \ // 1 x 1 = 1 \ Os resultados podem ser // 1 x 0 = 0 / 0, ou 2 // 2 x 0 = 0 / switch (modo_de_operacao) //Verifica o valor da variável modo_de_operacao { case 0: // Se for 0 inibe_motor // Para o motor digitalWrite(6, LOW); // Para de enviar pulsos para o Driver break; case 1: // Se for 1 habilita_motor // Liga o motor sentido_horario // Liga o sentido horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; case 2: // Se for 2 habilita_motor // Liga o motor sentido_antihorario // Liga o sentido anti-horário velocidade = analogRead(A0); // Lê o valor do potenciômetro tone(6, velocidade); // Envia o valor do potenciômetro em forma de frequencia para o driver break; } }…
Adicionado por almir locks ao 10:19 em 4 janeiro 2019