Dimmer de luzes múltiplas de Arduino

Tempo de leitura: 2 minutes

Este projeto de dimmer de luzes do Arduino é baseado em um artigo similar “Preciso ter um dimmer de lâmpada que possa” cascata de uma lâmpada para um seguinte (até 4 lâmpadas). Basicamente, quando você faz um intervalo, uma primeira vez que um homem acende 100%. Quando uma lâmpada no 1 com 100%, é uma ação ou circuito mais escuro no 2 e uma lâmpada no 2, uma passagem de fraca para brilhante. Isso é repetido até quatro luzes. Como cascata de circuitos mais escuros? Obviamente, quando o compromisso é aberto, o dimmer no 4 passa para zero, o dimmer no 3, exceto para zero, o parágrafo 2 e, finalmente, para o circuito no 1.

Como uma placa UNO do Arduino e algumas LEDs, este projeto não foi testado como o uso completo dos acopladores ópticos LDR e como lâmpadas, mas também o uso de acessórios com isso circuito automático de dimmer da lâmpada.

Esquema do circuito de Dimmer das luzes do Arduino

Você deve ter 4 circuitos idênticos para cada lâmpada conectada aos pinos 3, 5, 6 e 9 no Conselho da ONU do Arduino. Esteja ciente de que este projeto é muito perigoso porque está conectado a 220V e essa tensão está disponível em todos os componentes, exceto na placa Arduino (é por isso que usamos o acoplador óptico).

Arduino Lights Dimmer Sketch

int LampsPin[] = {3,5,6,9}; // os pinos onde as lâmpadas estão conectadas
int sizeof(LampsPin)/2;
int SwPin = 2; // o pino onde o interruptor está conectado
int dimm = 20; // aumentar para um intervalo de escurecimento mais longo
int state = 0;

void setup () {
  for(int thisLamp = 0; thisLamp < Lamps; thisLamp++) {
     pinMode(LampsPin[thisLamp], OUTPUT);
  }
  pinMode(SwPin, INPUT);
}

void loop() {
  int SwState = digitalRead(SwPin);// leia o estado do switch
  if(SwState == HIGH && state == 0) { // se o botão for pressionado
      for(int thisLamp = 0; thisLamp < Lamps; thisLamp++) {
        for(int i = 0; i < 255; i++) {
          analogWrite(LampsPin[thisLamp], i);
          delay(dimm);
        }
      }
      state = 1;      
   } 
   if(state == 1 && SwState == LOW)  {
       for(int thisLamp = Lamps - 1; thisLamp >= 0; thisLamp--) {
          for(int i = 255; i >= 0; i--) {           
             analogWrite(LampsPin[thisLamp], i); 
             delay(dimm);
          }
       }
       state = 0;
   }   
}

Lembre-se de que você pode usar apenas os pinos marcados com sinal de tilda (3, 5, 6, 9, 10 e 11) na placa Arduino UNO. Além disso, o valor R depende do tipo de acoplador óptico que você escolhe usar. Deve ser um acoplador óptico com saída de fotorresistor ou LDR.