-
Conteúdo Similar
-
Por ivanjrx
bom pessoal estou montando um projeto em Arduíno mais não entendo quase nada de php, eu queria fazer um botão on-off no mesmo botão, para quando pressionar ligar e para quando soltar desligar parecido com botão de voz do whatsApp quando solta para de gravar nesse caso eu quero pra quando soltar desligar. no projeto já adicionei um botão submit mais queria que esse mesmo botão fizesse essa as duas funções igual descrevo acima.
<html> <head> <title>Arduino Controlled Based PHP</title> </head> <body> <?php echo "<p>Control Page</p><p>"; $port = fopen("COM7", "w+"); sleep(0); ?> <br> <form action="index.php" method="POST"> <input type="hidden" name="turn" value="on" /> <input type="Submit" value="on"> </form> <form action="index.php" method="POST"> <input type="hidden" name="turn" value="off" /> <input type="Submit" value="off"> </form> <?php if ($_POST['turn']=="on") { echo "Turned on"; fwrite($port, "n"); } if ($_POST['turn']=="off") { echo "Turned off"; fwrite($port, "f"); } fclose($port); ?> </body> </html>
-
Por Leidsman217
Ola a todos, tenho uma duvida quanto a programação de Arduíno. Gostaria de saber se o seguinte código foi escrito de forma correta ? Agradeço desde já a atenção de todos !
-
Por JPMOFARDINI
Boa noite,
Fiz um código no Arduíno está funcionando tudo normalmente só gostaria de saber como eu faço um comando para desligar e um para ligar todos os reles
#include <IRremote.h>
const int RECV_PIN = 2; // INCUI O PINO QUE SERÁ USADO NO LED RECEPTOR
IRrecv irrecv(RECV_PIN);
decode_results results;
const int RelayIn1Pin = 3; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN1
const int RelayIn2Pin = 4; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN2
const int RelayIn3Pin = 5; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN3
const int RelayIn4Pin = 6; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN4
const int RelayIn5Pin = 7; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN5
const int RelayIn6Pin = 8; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN6
const int RelayIn7Pin = 9; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN7
const int RelayIn8Pin = 10; // INCUI O PINO QUE SERÁ USADO NO RELÉ IN8
int statusRelayIn1Pin = 0;
int statusRelayIn2Pin = 0;
int statusRelayIn3Pin = 0;
int statusRelayIn4Pin = 0;
int statusRelayIn5Pin = 0;
int statusRelayIn6Pin = 0;
int statusRelayIn7Pin = 0;
int statusRelayIn8Pin = 0;
void setup() {
irrecv.enableIRIn();
irrecv.blink13(true);
pinMode(RelayIn1Pin, OUTPUT); //DEFINE O PINO COMO SAÍDA
pinMode(RelayIn1Pin, INPUT_PULLUP); //DEFINE O PINO COMO ENTRADA / "_PULLUP" É PARA ATIVAR O RESISTOR INTERNO
//DO ARDUINO PARA GARANTIR QUE NÃO EXISTA FLUTUAÇÃO ENTRE 0 (LOW) E 1 (HIGH)
pinMode(RelayIn1Pin, HIGH); //MÓDULO RELÉ INICIA DESLIGADO
pinMode(RelayIn2Pin, OUTPUT);
pinMode(RelayIn2Pin, INPUT_PULLUP);
pinMode(RelayIn2Pin, HIGH);
pinMode(RelayIn3Pin, OUTPUT);
pinMode(RelayIn3Pin, INPUT_PULLUP);
pinMode(RelayIn3Pin, HIGH);
pinMode(RelayIn4Pin, OUTPUT);
pinMode(RelayIn4Pin, INPUT_PULLUP);
pinMode(RelayIn4Pin, HIGH);
pinMode(RelayIn5Pin, OUTPUT);
pinMode(RelayIn5Pin, INPUT_PULLUP);
pinMode(RelayIn5Pin, HIGH);
pinMode(RelayIn6Pin, OUTPUT);
pinMode(RelayIn6Pin, INPUT_PULLUP);
pinMode(RelayIn6Pin, HIGH);
pinMode(RelayIn7Pin, OUTPUT);
pinMode(RelayIn7Pin, INPUT_PULLUP);
pinMode(RelayIn7Pin, HIGH);
pinMode(RelayIn8Pin, OUTPUT);
pinMode(RelayIn8Pin, INPUT_PULLUP);
pinMode(RelayIn8Pin, HIGH);
}
void loop() {
if (irrecv.decode(&results)) {
switch (results.value) {
case 0x807F728D: //Keypad button "1"
if ((digitalRead(RelayIn1Pin) == HIGH) && (statusRelayIn1Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn1Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn1Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn1Pin) == LOW) && (statusRelayIn1Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn1Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn1Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807FB04F: //Keypad button "2"
if ((digitalRead(RelayIn2Pin) == HIGH) && (statusRelayIn2Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn2Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn2Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn2Pin) == LOW) && (statusRelayIn2Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn2Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn2Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807F30CF: //Keypad button "3"
if ((digitalRead(RelayIn3Pin) == HIGH) && (statusRelayIn3Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn3Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn3Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn3Pin) == LOW) && (statusRelayIn3Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn3Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn3Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807F52AD: //Keypad button "4"
if ((digitalRead(RelayIn4Pin) == HIGH) && (statusRelayIn4Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn4Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn4Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn4Pin) == LOW) && (statusRelayIn4Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn4Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn4Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807F906F: //Keypad button "5"
if ((digitalRead(RelayIn5Pin) == HIGH) && (statusRelayIn5Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn5Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn5Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn5Pin) == LOW) && (statusRelayIn5Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn5Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn5Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807F10EF: //Keypad button "6"
if ((digitalRead(RelayIn6Pin) == HIGH) && (statusRelayIn6Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn6Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn6Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn6Pin) == LOW) && (statusRelayIn6Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn6Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn6Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807F629D: //Keypad button "7"
if ((digitalRead(RelayIn7Pin) == HIGH) && (statusRelayIn7Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn7Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn7Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn7Pin) == LOW) && (statusRelayIn7Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn7Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn7Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
switch (results.value) {
case 0x807FA05F: //Keypad button "8"
if ((digitalRead(RelayIn8Pin) == HIGH) && (statusRelayIn8Pin == 0)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 0, FAZ
digitalWrite(RelayIn8Pin, LOW); //LIGA O MÓDULO RELÉ (LÂMPADA ACENDE)
statusRelayIn8Pin = 1; //VARIÁVEL RECEBE O VALOR 1
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
} else { //SENÃO, FAZ
if ((digitalRead(RelayIn8Pin) == LOW) && (statusRelayIn8Pin == 1)) { //SE A LEITURA DO PINO FOR IGUAL A LOW E
//VARIÁVEL statusLamp FOR IGUAL A 1, FAZ
digitalWrite(RelayIn8Pin, HIGH); //DESLIGA O MÓDULO RELÉ (LÂMPADA APAGA)
statusRelayIn8Pin = 0; //VARIÁVEL RECEBE O VALOR 0
delay(200); //INTERVALO DE 200 MILISSEGUNDOS
}
}
}
irrecv.resume();
}
}
Se alguém puder me ajudar agradeço desde já!
-
Por arduinoeletro
Pessoal, boa tarde.
Sou iniciante em projetos de Arduino e comprei um kit para iniciantes Kit de Arduino para iniciantes ( coloquei o link aqui para vocês me ajudarem), mas não achei tão fácil quanto havia lido anteriormente. Vocês tem alguma dica para um iniciante bem iniciante mesmo?
Me interesso bastante pela área de robótica e inovação, mas ainda não estou nem engatinhando no Arduino.
-
Por Mateusrosa1939
Toda hora faço esse programa para arduino e coloco a variável para ler o. Valor e imprimir a operação mas está dando erro será quem alguém poderia me auxiliar? Arquivo está em Word
-
int inputs[6] = {48,49,50,51,52,53};
int outputs[12] = {0,1,2,3,4,5,6,7,8,9,10,11};
int x;
void setup() {
for (x = 0; x <= 5; x = x + 1); {
pinMode(inputs[x], INPUT_PULLUP);
}
for (x = 0; x <= 11; x = x + 1); {
pinMode(outputs[x], OUTPUT);
}
}
O trecho de programação acima era suposto que definisse as portas do primeiro array como entradas, e a do segundo array, como saída. Porém além de não acontecer, portas erradas são selecionadas. Gostaria de saber onde eu errei, grato desde já.
Compartilhar este post
Link para o post
Compartilhar em outros sites