Strobe animerad konst - Desktop Edition (7 / 8 steg)
Steg 7: Arduino kod
Arduinoen hanterar kontrollera av lysdioder stroboskopeffekt frekvensen. Man använder analog pin A0 och PWM stift 12 för att göra detta.
Detta program använder inte ett bibliotek, så det är en ganska enkel kod att röra runt med.
I koden, jag kunde skriva ut värdet 8-bitars (0-1023) som A0 läser med hjälp av "Serial.println();" funktion. Detta är praktiskt att kontrollera att Arduino verkligen får en spänning på "ingång" eller A0.
"Produktionen" av Arduino är PWM stift 12 och detta stift är inställd att Visa 5V (hög) och också 0V (låg) på olika instanser i koden. Värdet från 0-1023 kommer att lagras i en variabel som kallas "sensorValue". Denna variabel kan sedan användas som en värde plats innehavaren inom funktionen "delay()". Detta kommer att skapa en tidsinställd (från 0-1023ms) fördröjning mellan de OFF och ON tiderna led varje gång koden loopar. Jag hittade den "delay(5);" verkade vara en stor fördröjning mellan att på bort av lysdioden.
KOD:
int sensorPin = A0; Välj input PIN-koden för potentiometer
int ledPin = 12; Välj PIN-koden för basen av transistorn som kommer att kontrollera den 3W led.
int sensorValue = 0; variabel för att lagra värdet kommer från sensorn
void setup() {/ / förklara ledPin som en utgång:
pinMode (ledPin, produktionen); tilldela ledPin som en utgång
Serial.BEGIN(9600); Ange baudvärde på 9600 för seriell port}
void loop() {
sensorValue = analogRead(sensorPin); Läs värdet från sensorn:
Serial.println(sensorValue); skriva ut sensorn värdet till skärmen serieport kan du kontrollera att ADC
arbetar
digitalWrite (ledPin, hög); Aktivera ledPin, vara ansluts till basen på NPN-transistor
Delay(5); stoppa programmet för millisekunder: detta skapar frekvens variationer när du slår på
Pot
digitalWrite (ledPin, låg); Inaktivera ledPin:
Delay(sensorValue); stoppa programmet för för millisekunder:}