Color Changing nattlampa - Arduino Microcontroller (2 / 2 steg)
Steg 2: programmering
Här är programmet om den används, kan du behöva förändringar ibland att anpassa det till din mikrokontroller./*
Nattlampa
*/
int sensorValue = 0; Variabel för att lagra värdet kommer från fotomotstånd
int ledPin1 = 0; Anslut en LED till PWM stift 0
int ledPin2 = 1; '' stift 1
int ledPin3 = 2; '' stift 2
int fadeValue2 = 0; Variabel för blekning 2 färger på en gång
int tröskel = 850; Tröskelvärde för fotomotstånd
void lightup(void);
void setup() {
pinMode (20, INPUT_ANALOG); Setup stift 20 att läsa en spänning
pinMode (ledPin1, PWM); ställa in PIN-koden som PWM
pinMode (ledPin2, PWM);
pinMode (ledPin3, PWM);
}
void loop() {
sensorValue = analogRead(20); Läs det analoga värdet
IF(sensorValue < Threshold) {
lightup(); Om mindre än tröskelvärdet kalla lightup
}
IF(sensorValue > Threshold) {
pwmWrite (ledPin1, 0); Om inte mindre än tröskelvärdet stänga av LED
pwmWrite (ledPin2, 0);
pwmWrite (ledPin3, 0);
}
Delay(10);
}
void lightup(void) {
pwmWrite (ledPin1, 65535);
för (int fadeValue = 0; fadeValue < = 65535; fadeValue += 1280) {
Anger värdet (varierar från 0 till 65535): gul
pwmWrite (ledPin2, fadeValue);
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
}
för (int fadeValue = 0; fadeValue < = 65535; fadeValue += 1280) {
Anger värdet (varierar från 0 till 65535): vit
pwmWrite (ledPin3, fadeValue);
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
}
för (int fadeValue = 65535; fadeValue > = 0; fadeValue-= 1280) {
Anger värdet (varierar från 0 till 1280): violett
pwmWrite (ledPin2, fadeValue);
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
}
för (int fadeValue = 65535; fadeValue > = 0; fadeValue-= 1280) {
Anger värdet (varierar från 0 till 1280): blå
pwmWrite (ledPin1, fadeValue);
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
}
för (int fadeValue = 65535; fadeValue > = 0; fadeValue-= 1280) {
Anger värdet (varierar från 0 till 1280): grön
pwmWrite (ledPin3, fadeValue);
pwmWrite (ledPin2, fadeValue2);
fadeValue2 += 1280;
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
sensorValue = analogRead(20);
}
för (int fadeValue = 0; fadeValue < = 65535; fadeValue += 1280) {
Anger värdet (varierar från 0 till 65535): lt blå
pwmWrite (ledPin3, fadeValue);
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
sensorValue = analogRead(20);
}
fadeValue2 = 65535;
för (int fadeValue = 0; fadeValue < = 65535; fadeValue += 1280) {
Anger värdet (varierar från 0 till 65535): röd
pwmWrite (ledPin1, fadeValue);
pwmWrite (ledPin2, fadeValue2);
pwmWrite (ledPin3, fadeValue2);
fadeValue2-= 1280;
Vänta 30 millisekunder att se ljusreglering effekten:
Delay(1000);
}
}
Justera värdet för tröskelvärde ändras känsligheten till omgivande ljus.