Boa noite, comprei uma maquina de gelo porem veio sem placa, pois o funcionamento é simples.
estou começando agora com o Arduíno não tenho muito conhecimento do código, queria saber se alguém pode dar uma luz...
Funcionamento é simples, segue o Código com descrição. Funciona até ligar o motor de inclinação depois ele não lê o interruptor 2
//Maquina de gelo
//porta de entrada interrupitor 1 do motor de inclinação
const int sq1 = 5;
//porta de entrada interrupitor 2 do motor de inclinação
const int sq2 = 6;
//Porta saida para rele ativa bomba dagua
const int m4 = 7;
//Porta de saida rele ativa motor de inclinação
const int m1 = 8;
//porta saida rele ativa vauvola selenoide
const int v1 = 9;
//Porta rele compresor e ventilador
const int m2 = 10;
int valor1 = 5;
int valor2 = 6;
void setup() {
//Define pinos para o rele como saida
pinMode(m4, OUTPUT);
pinMode(m1, OUTPUT);
pinMode(v1, OUTPUT);
pinMode(m2, OUTPUT);
//define pinos de entrada interruptor
pinMode(sq1, INPUT);
pinMode(sq2, INPUT);
delay (1000);
//Liga compressor e ventilador condensador
digitalWrite(m2, HIGH);
}
void loop() {
// verifica interruptor 1 e lida a bomba por 25 segundos
valor1=digitalRead(sq1);
if (valor1 == HIGH)
{
digitalWrite(m4, HIGH);
}
delay (2500);
{
digitalWrite(m4, LOW);
}
//aguarda 10 min para formar o gelo
delay (12000);
//liga motor de inclinacção
digitalWrite(m1, HIGH);
{
//verifica interruptpor 2 (motor ja virou)
valor2=digitalRead(sq2);
}
if (valor2 == HIGH)
{
//desliga motor de incli... e liga selenoide e aguarda 10s
digitalWrite(m1, LOW);
digitalWrite(v1, HIGH);
}
delay (10000);
{
//desliga selenoide e liga morot de incli...
digitalWrite(v1, LOW);
digitalWrite(m1, HIGH);
}
}
Tags:
Essa parte do seu código não faz sentido
//liga motor de inclinacção
digitalWrite(m1, HIGH);
{
//verifica interruptpor 2 (motor ja virou)
valor2=digitalRead(sq2);
}
Explique passo a passo o que o seu código deve fazer (como em um diagrama de blocos), assim poderemos te ajudar e corrigir e melhor esse código.
O código está "bagunçado"
Bom o seguinte vou explicar como ela deve funcionar.
Explicação entre parenteses
Na teoria é simples, mas não tive sucesso, não sei se seria assim mas foi a ideia que tive pelo pouco que sei do código posso fazer um vídeo de como ela funcionaria pra vcs entenderem melhor
//Maquina de gelo
//porta de entrada interruptor 1 do motor de inclinação
const int sq1 = 5;
//porta de entrada interruptor 2 do motor de inclinação
const int sq2 = 6;
//Porta saida para rele ativa bomba dagua
const int m4 = 7;
//Porta de saida rele ativa motor de inclinação
const int m1 = 9;
//porta saida rele ativa vauvola selenoide
const int v1 = 12;
//Porta rele compresor e ventilador
const int m2 = 10;
int valor1 = 5;
int valor2 = 6;
void setup() {
//Define pinos para o rele como saida
pinMode(m4, OUTPUT);
pinMode(m1, OUTPUT);
pinMode(v1, OUTPUT);
pinMode(m2, OUTPUT);
//define pinos de entrada interruptor
pinMode(sq1, INPUT);
pinMode(sq2, INPUT);
delay (1000);
//Liga compressor e ventilador condensador sempre ficara ligado
digitalWrite(m2, HIGH);
}
void loop() {
// verifica interruptor 1 e liga a bomba por 25 segundos (interruptor 1 é referente ao motor de inclinação ou a posição dele)
valor1=digitalRead(sq1);
if (valor1 == HIGH) (aqui seria para verificar o interruptor se esta fechado.se estiver)
{
digitalWrite(m4, HIGH); (Ele liga a bomba d agua)
}
delay (25000); (E aguarda 25s)
{
digitalWrite(m4, LOW); (Em seguida desliga)
}
//aguarda 10 min para formar o gelo
delay (6000); (Aqui a bandeja esta cheia de água compressor sempre ligado formando gelo. isso leva 10 min. Detalhe a bandeja nessa posição esta acionando o interruptor 1.)
//liga motor de inclinacção
digitalWrite(m1, HIGH); (Passado 10min ele liga o motor de inclinação virando a bandeja rumo ao interruptor 2 esvaziando a água.)
{
//verifica interruptpor 2 (motor ja virou)
valor2=digitalRead(sq2); (quando ele acionar o interruptor 2 )
}
if (valor2 == HIGH)
{
//desliga motor de incli... e liga selenoide e aguarda 10s
digitalWrite(m1, LOW); (desliga o motor de inclinação e fica parado)
digitalWrite(v1, HIGH); (Liga a solenoide para soltar os gelos isso leva 15s)
}
delay (15000);
{
//desliga selenoide e liga morot de incli...
digitalWrite(v1, LOW); (desliga a solenoide)
digitalWrite(m1, HIGH); (torna ligar o motor de inclinação para chegar no interruptor 1)
if (valor1 == HIGH) (ao tocar o interruptor 1 desligar e começar o processo novamente)
{
digitalWrite(m1, LOW);
}
}
}
Consegui
//Maquina de gelo
//porta de entrada interrupitor 1 do motor de inclinação
const int sq1 = A0;
//porta de entrada interrupitor 2 do motor de inclinação
const int sq2 = A2;
//Porta saida para rele ativa bomba dagua
const int m4 = 7;
//Porta de saida rele ativa motor de inclinação
const int m1 = 8;
//porta saida rele ativa vauvola selenoide
const int v1 = 12;
//Porta rele compresor e ventilador
const int m2 = 10;
void setup() {
Serial.begin(9600);
//Define pinos para o rele como saida
pinMode(m4, OUTPUT);
pinMode(m1, OUTPUT);
pinMode(v1, OUTPUT);
pinMode(m2, OUTPUT);
//define pinos de entrada interruptor
pinMode(sq1, INPUT);
pinMode(sq2, INPUT);
delay (1000);
//Liga compressor e ventilador condensador
digitalWrite(m2, HIGH);
}
void loop() {
digitalWrite(m1, HIGH);
if (analogRead(0)>0.500)
{
digitalWrite(m1, LOW);
digitalWrite(v1, LOW);
digitalWrite(m4, HIGH);
delay(25000);
digitalWrite(m4, LOW);
delay (600000);
}
{
digitalWrite(m1, HIGH);
delay(500);
}
if (analogRead(2)>0.500)
{
digitalWrite(m1, LOW);
digitalWrite(v1, HIGH);
delay (10000);
}
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por