Paso 8: Muestra el código de Arduino
Aquí le damos algunos código de Arduino de muestra que puede utilizar.
Usted tendrá que ajustar algunos de los valores para calibrar a su configuración.
#include
Servo myservo; crear objeto servo para controlar un servo
int GreenLedPin = 8; Verde LED conectado al pin digital 8 int RedLedPin = 9; Rojo LED conectado al pin digital 9 int BlueLedPin = 10; Azul LED conectado al pin digital 10
int analogPin = 0; fotorresistencia conectada al pin analógico 0 int GreenVal = 0; variable para almacenar el valor de verde luz int RedVal = 0; variable para almacenar el valor de la luz roja reflejada int BlueVal = 0; variable para almacenar el valor de la luz azul reflejada
int GreenRedDifference = 0; int GreenBlueDifference = 0;
int GreenRedLockCode = -31; bloquear el valor int GreenBlueLockCode = 47; valor de bloqueo
sensibilidad de int = 5; Ajuste sensibilidad del sensor de color
void setup() {myservo.attach(6); / / conecta el servo en el pin 6 al objeto servo
Serial.Begin(9600); configuración serie pinMode (GreenLedPin, salida); pone el pin digital como salida pinMode (RedLedPin, salida); pone el pin digital como salida pinMode (BlueLedPin, salida); pone el pin digital como salida}} void loop() {delay(1000); digitalWrite (GreenLedPin, alto); / establece el indicador LED verde apagado digitalWrite (RedLedPin, alto); / establece el LED rojo apagado digitalWrite (BlueLedPin, alto); / establece el LED azul de delay(1000); / / espera que un segundo digitalWrite (GreenLedPin, LOW); / / pone el LED verde en delay(100); GreenVal = 1023 - analogRead(analogPin); leer la entrada de pin Serial.println(); Serial.Print ("verde"); Serial.println(GreenVal); delay(1000) de valor de depuración; espera un segundo digitalWrite (GreenLedPin, alto); establece el indicador LED verde apagado delay(1000); espera un segundo
digitalWrite (RedLedPin, bajo); el LED rojo se pone en delay(100); RedVal = 1023 - analogRead(analogPin); leer la entrada pin Serial.print ("rojo"); Serial.println(RedVal); delay(1000) de valor de depuración; espera un segundo digitalWrite (RedLedPin, alto); establece el LED rojo de delay(1000); espera un segundo
digitalWrite (BlueLedPin, bajo); el LED azul se pone en delay(100); BlueVal = 1023 - analogRead(analogPin); leer la entrada pin Serial.print ("azul"); Serial.println(BlueVal); delay(1000) de valor de depuración; espera un segundo digitalWrite (BlueLedPin, alto); sale el LED azul
GreenRedDifference = GreenVal - RedVal; Serial.Print ("diferencia de verde-rojo"); Serial.println(GreenRedDifference); depurar el valor GreenBlueDifference = GreenVal - BlueVal; Serial.Print ("diferencia de verde y azul"); Serial.println(GreenBlueDifference); valor de depuración
if((ABS(GreenRedLockCode-GreenRedDifference) < sensibilidad) & & (abs(GreenBlueLockCode-GreenBlueDifference) < sensibilidad)) //compare mide valor al valor de código de color {Serial.println("Unlock"); / / abre la caja myservo.write(45);} persona {Serial.println("Lock"); / / cerradura de la caja myservo.write(135);}
Delay(2000); }