-
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
-
Faço biologia e não entendo quase NADA de programação. Pela primeira vez estou tentando montar um sensor de CO e umidade para uma projeto. E meu sketch está dando VÁRIOS erros ao qual não estou conseguindo resolver para poder compilar. Alguém poderia me ajudar? Sei que é muita coisa mas é que sou bem leiga em programação, mesmo.
SKETCH:
#include <dht.h>
#include <SPI.h>
#include <SD.h>
const int PINO_SENSOR = 1;
const int PINO_CARTAO_SD = 4;
#define PINODHT 2 // qual pino usaremos para comunicação com DHT
#define TIPODHT DHT22 // qual DHT vamos usar. Nocaso, um DHT22(AM2302/ AM2321)
const char FILENAME[] = "test4.txt";
void setup() {
Serial.begin(9600);
dht.begin ();
Serial.print("Initializing SD card...");
if (!SD.begin(PINO_CARTAO_SD)) {
Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");
}
void readFile() {
File myFile = SD.open(FILENAME);
if (!myFile) {
Serial.println("error opening test.txt");
return;
}
Serial.println(FILENAME);
while (myFile.available()) {
Serial.write(myFile.read());
}
myFile.close();
}
void writeSensorDataToFile() {
int quantidadeCO = analogRead(PINO_SENSOR);
File myFile = SD.open(FILENAME, FILE_WRITE);
if (!myFile) {
Serial.println("error opening test.txt");
return;
}
Serial.print("Writing to test.txt...");
myFile.println("quantidadeCo: ");
myFile.println(quantidadeCO);
myFile.close();
Serial.println("done.");
}
void loop() {
writeSensorDataToFile();
readFile();
delay(60000);
}
delay(60000);
// Ler a temperatura ou humidade
float h = dht.readHumidity();
// Lê a temperatura em Celsius (padrão)
float t = dht.readTemperature();
}
if (isnan(h) || isnan(t)
DHT.print("Failed to read from DHT sensor!");
return;
DHT.print("Humidity: ");
DHT.print(h);
DHT.print(" %");
DHT.print("Temperature: ");
DHT.print(t);
DHT.print(" *C ");
}
ERRO:
Arduino: 1.6.13 (Windows XP), Board: "Arduino/Genuino Uno"
C:\Documents and Settings\Vitoria\My Documents\Arduino\SKETCK_OWNER\SKETCK_OWNER.ino: In function 'void setup()':
SKETCK_OWNER:18: error: expected unqualified-id before '.' token
dht.begin ();
^
C:\Documents and Settings\Vitoria\My Documents\Arduino\SKETCK_OWNER\SKETCK_OWNER.ino: At global scope:
SKETCK_OWNER:77: error: expected constructor, destructor, or type conversion before '(' token
delay(60000);
^
SKETCK_OWNER:80: error: expected primary-expression before '.' token
float h = dht.readHumidity();
^
SKETCK_OWNER:82: error: expected primary-expression before '.' token
float t = dht.readTemperature();
^
SKETCK_OWNER:84: error: expected unqualified-id before 'if'
if (isnan(h) || isnan(t)
^
SKETCK_OWNER:86: error: expected unqualified-id before 'return'
return;
^
SKETCK_OWNER:88: error: expected declaration before '}' token
}
^
exit status 1
expected unqualified-id before '.' token
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
Compartilhar este post
Link para o post
Compartilhar em outros sites