VENHO SOLICITAR AOS AMIGOS DESTE FORUM, AJUDA PARA ADAPTAÇÃO DO CODIGO DA VIDEO AULA Curso Arduino Advanced - Aula 14 (TRIAC)
https://www.youtube.com/watch?v=CmU2u2kHH1U&list=PL05085BAC19CB...
OBS a explicação sobre o codigo, começa em 34:25
O CODIGO ESTA ABAIXO.
NESTA PARTE DO CODIGO - int dimmer[7] = { 1, 105, 100, 75, 50, 25, 10 };
PRECISO ACRESCENTAR UMA VENTOINHA E AO INVEZ DE LIGAR A UMA LAMPADA, EU LIGARIA A UMA RESISTÊNCIA DE FIO CROME DE 400V E A VENTOINHA, E PRECISO LIGAR UM SENSOR PIR, QUANDO EU ME APROXIMAR, A RESISTÊNCIA E A VENTOINHA, QUE ESTARIAM LIGADAS AO MAXIMO, AI ENTRA O SENSOR PIR, QUE PERCEBERIA A MINHA PRESENÇA E DIMINUIRIA A POTENCIA DOS DOIS, DA RESISTENCIA E DA VENTOINHA E QUANDO EU ME AFASTASSE, VOLTARIA TUDO AO NORMAL, OU SEJA, O FUNCIONAMENTO MAXIMO.
PENSO EM AQUI, MUDAR PARA: int dimmer = { 105, 25, }; se aproximando, cai de 105 para 25. e a ventoinha também.
SE afastando, volta ao normal int dimmer[7] = { 25, 105, }; aumenta novamente tudo.
agradeço a ajuda de todos. Obs, todo o codigo abaixo e no meu caso, não será preciso dos botões, pois será tudo feito pelo sensor.
int UP = 7;
int DOWN = 8;
int LAMP = 3;
int dimming = 128;
int counts = 7;
int dimmer[7] = { 1, 105, 100, 75, 50, 25, 10 }; EM 44:00 – CONFORME APERTA O BOTÃO UP, ELE VAI DECREMENTANDO, APAGANDO A LUZ - OBS
int i = 0;
void setup()
{
//Serial.begin(9600);
//delay(1000);
pinMode(UP, INPUT);
pinMode(DOWN, INPUT);
pinMode(LAMP, OUTPUT);
digitalWrite(UP, HIGH);
digitalWrite(DOWN, HIGH);
attachInterrupt(0, zero_crosss_int, RISING);
}
void loop()
{
if (!digitalRead(UP) || !digitalRead(DOWN))
{
if (verifica_botao(UP))
{
if (i < (counts - 1)) i++;
//Serial.print("UP: ");
//Serial.println(i, DEC);
}
else if (verifica_botao(DOWN))
{
if (i > 0) i--;
//Serial.print("DOWN: ");
//Serial.println(i, DEC);
}
}
//Serial.print("VALOR: ");
// Serial.println(i, DEC);
dimming = dimmer[i];
delay(100);
}
void zero_crosss_int()
{
int dimtime = (65 * dimming);
delayMicroseconds(dimtime);
digitalWrite(LAMP, HIGH);
delayMicroseconds(8.33);
digitalWrite(LAMP, LOW);
}
byte verifica_botao(byte botao)
{
if (!digitalRead(botao))
{
unsigned long tempo = millis() + (150 - dimming);
while(tempo > millis())
{
if (digitalRead(botao)) return LOW;
}
return HIGH;
}
else
return LOW;
}
Tags:
Chefe no se caso como são apenas dois casos eu faria um if simples tipo :
se (valor porta sensor = alto)
valordimming = dimmer(1) ;
se não
valordimming = dimmer(0) ;
Dai só adequar ai o funcionamento do sensor, se não me engano ele é comum fechado, ou seja se você se aproximar ele abre. Mais ai é só achismo.
OK, obrigado e um abraço
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por