Stap 3: De meters
De bibliotheek van de arduino heeft een handige functie genaamd analogWrite die een PWM blokgolf op elk gewenst aantal pinnen afhankelijk van welke arduino u gebruikt uitgangen. De PWM is een 8-bit waarde zodat je theoretisch 256 waarden (0-255) te gebruiken. Omdat ik was het maken van een klok, koos ik een gunstige waarde van 240 voor mijn PWM-schaal, omdat het is deelbaar is door 60. Ik heb dus voor mijn minuten en seconden meters 60 divisies en een totaal van 240 PWM waarden of 4 PWM per minuut of seconde. Als ik de PWM-uitgang instelt op 20 zou ik 5 minuten of 5 seconden. Aangezien er 24 uren in de dag, elke 10 PWM graven is een uur.
Ik liep in een klein addertje onder het gras dat ik nog steeds niet volledig begrijpen (zei toch dat ik ben een hack!). Om welke reden als alle drie meters verbinding met PWMs op de arduino, de uitgangsspanning van de PWM daalde aanzienlijk. Uiteindelijk heb ik slechts een kleine veld effect transistor gebruiken om te rijden elke meter. Dit werkte heel goed.
ST Micro 2N7000 gegevensblad:http://www.datasheetcatalog.org/datasheet2/c/0h0r7l0sywjlwayppi1u7lwyr33y.pdf
Sluit het PWM-lijn van de Arduino aan de poort van de MOSFET. Sluit de negatieve aansluitklem van de meter aan op de afvoer van de MOSFET. De bron van de MOSFET verbinden met de grond van de Arduino. Verbinding maken met de positieve aansluitklem van de maaswijdtemeter naar de + 5V van de Arduino levering. (Zie het schema hieronder)
Hier is een super eenvoudige Arduino programma dat PWM output zal:
PWM-codefragment
#define pwmpin 3
#define pwmval 128 //change deze waarde als u wilt wijzigen de taakcyclus van de PWM
VOID Setup {}
}
void loop {}
analogWrite (pwmpin, pwmval);
}