Arduino kontrollerade Solar fontän (9 / 11 steg)
Steg 9: Spänning batterisensorn
Du kan enkelt använda funktionen AnalogRead för att mäta en spänning. Tyvärr kan det bara mäta spänningar upp till 5V. Så måste du göra en spänningsavdelare att minska spänningen till något som kan mätas. För att göra en, behöver du två resistorer. En av dem bör vara två gånger värdet av den andra. Anslut en bly av det större motståndet 12V + line från batteriet. Anslut andra av större motståndet till en av analoga stiften i inmatningsläge. Även ansluta en av leder för mindre motståndet till detta samma analoga stift. Anslut sedan andra ledningen av det mindre motståndet till den negativa terminalen av batteriet eller GND PIN-koden för Arduino. Du kan sedan använda funktionen AnalogRead för att mäta en spänning som ett heltal mellan 0 och 1023. För att omvandla detta till volt kan du använda formeln: V = AnalogRead * 0.0049 * Rstörre/rmindre. Här är ett exempel på hur du kan använda den här inställningen att övervaka batteriets spänning och stänga av fontänen när batteriet blir låg. Valda motstånden är 10K och 4.7K.
int RelayPin = 13. relä-drivrutinen ansluten till digital stift 13
int analogPin = 3; Centrera av spänning delat ansluten till analoga stift 3
int val = 0; variabel för att lagra värdet läsa
void setup()
{
pinMode (RelayPin, OUTPUT); Anger den digitala pin som utdata
}
void loop()
{
Val = analogRead(analogPin); Läs ingångsstiftet
om (val < 720) //if batteriets spänning är mindre än 11
med de valda motstånd 10K och 4.7K blir spänningsavdelaren 11V till 3.5167V
Detta läses av funktionen analogRead som 720
{
digitalWrite (RelayPin, låg); stängs fontänen av om batteriets spänning är lägre än 11V
}
om (val > 785) //if batteriets spänning är större än 12
med de valda motstånd 10K och 4.7K blir spänningsavdelaren 12V till 3.8364V
Detta läses av funktionen analogRead som 785
{
digitalWrite (RelayPin, hög); vänder fontänen på om batteriets spänning är större än 12V
}
Delay(60000); väntar på en minut
}