Paso 4: Controlar la flexión de neón del LED con Arduino y presencia el sensor.
El interactivo de la pieza fue hecho usando Arduino, un sensor de presencia máximo Botix (1 x Distanciómetro ultrasónico – Maxbotix LV-EZ0) y NEON LED flexibles
1. control de la flexión de neón del LED 12v con Arduino: la flexión de neón del LED puede ser controlada utilizando cualquier potencia NPN o MOSFET del canal N, asegúrese de que el transistor está preparada para poder pasar tanta corriente como usted necesita. Por ejemplo, ya que sobre 0.2Amps por canal metro, si tienes una tira de 5 metros necesitará pasar hasta 1 amperio por transistor. Obtener los paquetes de "TO-220" fornidos, no los chicos poco dinky. Asegúrese de que se parecen a esto: para uso básico y de bajo costo, sugerimos usar MOSFETs de canal N, como STP16NF06 - son muy populares y baratas. Si no puede conseguirlos, TIP120 también son buenos pero hay más pérdida de tensión en un transistor que en un MOSFET, razón por la cual sugerimos esos primeros (menos pérdida de calor, más luz!). En este proyecto utilicé 1 TIP120 para cada color. El proyecto tenía 6 colores. Por lo tanto, utilicé 6 TIP120 en un circuito.
2. el sensor de presencia fueron conectados en la patilla número 8.
Siga el código:
#include "Maxbotix.h"
int led = 13;
int led1 = 11;
led2 int = 10;
led3 int = 9;
led4 int = 5;
led5 int = 3;
int ledPins [] = {}
13, 11, 10, 9, 5, 3};
pinCount int = 5;
int contador = 60;
RangeSensorPW de MaxBotix (8, Maxbotix::PW, Maxbotix::LV);
Float distancia = 40;
void setup() {}
Serial.Begin(9600);
pinMode (led, salida);
pinMode (led1, salida);
pinMode (led2, salida);
pinMode (led3, salida);
pinMode (led4, salida);
pinMode (led5, salida);
}
una y otra vez funciona para siempre la rutina bucle:
void loop() {}
distancia=rangeSensorPW.getRange();
Serial.Print ("cm -");
Serial.println(distancia);
Si (distancia < 80) {}
/ * para (int i = 0; i < pinCount; i ++) {}
digitalWrite (ledPins [i], HIGH);
Delay(TIMER);
digitalWrite (ledPins [i], LOW); */
digitalWrite (led, alto);
digitalWrite (LED 1, HIGH);
digitalWrite (led2, HIGH);
digitalWrite (LED 3, alto);
digitalWrite (led4, HIGH);
digitalWrite (led5, HIGH);
Delay(50);
digitalWrite (led, baja);
digitalWrite (LED 1, bajo);
digitalWrite (led2, LOW);
digitalWrite (LED 3, bajo);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
Delay(30);
digitalWrite (led, alto); Encienda el LED (alto es el nivel de voltaje)
Delay(50); Espere un segundo
digitalWrite (led, baja); Apagar el LED por lo que la tensión baja
Delay(30); Espere un segundo
digitalWrite (LED 1, HIGH); Encienda el LED (alto es el nivel de voltaje)
Delay(50); Espere un segundo
digitalWrite (LED 1, bajo); Apagar el LED por lo que la tensión baja
Delay(30); Espere un segundo
digitalWrite (led2, HIGH); Encienda el LED (alto es el nivel de voltaje)
Delay(50); Espere un segundo
digitalWrite (led2, LOW); Apagar el LED por lo que la tensión baja
Delay(30); Espere un segundo
digitalWrite (led, alto);
digitalWrite (LED 1, HIGH);
digitalWrite (led2, HIGH);
digitalWrite (LED 3, alto);
digitalWrite (led4, HIGH);
digitalWrite (led5, HIGH);
Delay(50);
digitalWrite (led, baja);
digitalWrite (LED 1, bajo);
digitalWrite (led2, LOW);
digitalWrite (LED 3, bajo);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
Delay(30);
digitalWrite (led5, HIGH); Encienda el LED (alto es el nivel de voltaje)
Delay(50); Espere un segundo
digitalWrite (led5, LOW); Apagar el LED por lo que la tensión baja
Delay(30); Espere un segundo
digitalWrite (LED 3, alto); Encienda el LED (alto es el nivel de voltaje)
Delay(50); Espere un segundo
digitalWrite (LED 3, bajo); Apagar el LED por lo que la tensión baja
Delay(30); Espere un segundo
digitalWrite (led4, HIGH); Encienda el LED (alto es el nivel de voltaje)
Delay(50); Espere un segundo
digitalWrite (led4, LOW); Apagar el LED por lo que la tensión baja
Delay(30); Espere un segundo
Serial.println("encendido");
Delay(1000);
digitalWrite(MotorControl,LOW); / / NO3 y desconectar COM3;
Delay(100);
}
otra cosa
{
digitalWrite (led, baja);
digitalWrite (LED 1, bajo);
digitalWrite (led2, LOW);
digitalWrite (LED 3, bajo);
digitalWrite (led4, LOW);
digitalWrite (led5, LOW);
Serial.println("apagado");
Delay(100);
}
}