Uppladdningsbara cykel ljus med automatisk switch av energikälla (3 / 5 steg)
Steg 3: programmering
int transistorLine = 0; int voltageSens = 3;
booleska dynamoOn = false;
byte testruns = 15; int hövs = 680; void setup() {.
pinMode (transistorLine, produktionen);
pinMode (voltageSens, ingång);} void loop() {om (dynamoOn = IsDynamoRunning()) digitalWrite (transistorLine, låg), annan digitalWrite (transistorLine, hög);}
booleska IsDynamoRunning() {
byte test = 0; för (byte jag = 0; jag < testruns; i++){if(analogRead(voltageSens) > = hövs) test ++;
Delay(1);} IF(test == testruns) {return true;} ElseIf(test ==0) {return false;} elsereturn dynamoOn;}
Programmeringen är relativt enkelt, vi bara använda en PIN-kod som analog inmatning man mäter spänning kommer från generatorn. På ett visst tröskelvärde (jag valde 680 som bör vara ca 3 V) växla vi från batteri till generator eller generator till batteri. Vi mäter spänningen flera gånger och bara ändra villkoret om alla mätning prover var över eller under plasttransistorn respektive. Detta görs för att undvika eventuella flimmer och fatta beslut om byte till batteri eller dynamo stabilare. Batterianslutningen är påslagen genom att ange transistor kontroll stiftet till hög och därmed stänga "switch" från batteri till LED. Naturligt, motsatt effekt kan uppnås genom att byta till låg.
För ledningar av Attiny85 och en handbok om hur man programmerar det genom att använda Arduino styrelsen ta en titt på denna länk: http://highlowtech.org/?p=1695 eller google "attiny85 arduino"