Akvarium automatisk påfyllning med Arduino (3 / 5 steg)
Steg 3: Ladda din kod på Arduino
Du kan hämta kod skissen här: https://github.com/robotgeek/aquariumPumpDemo/archive/master.zip
/***********************************************************************************
* Aquarium Pump Refil Demo
* _______________
* | ___________ |
* _____________________| |____ | |
* | U <> < |||
* | | | |
* | > <> <> < | _|_|_
* | <> < |||
* |__________________________| |___|
*
* Denna demo visar dig hur man styr en RobotGeek Pumping Station (eller någon annan
* motor/pump via relä) baserat på input från en flottör. Detta gör att du kan
* bygga en automatiserad Aqurium refil pump, påfyllning din akvarium när det blir
* till låg.
*
* Ledningar
* Stift 2 - flottör
* Stift 4 - RobotGeek tryckknapp relä/pumpstation 1
* Pin 7 - RobotGeek LED
*
* Kontroll beteende:
* Om flottör inte flytande (dvs Tom tank) sedan slå på pumpen och ledde
* Om flottör är flytande (dvs full tank) Stäng av pumpen och LED
*
* Externa resurser
*
***********************************************************************************/
Definiera indata/utdata stiften
#define FLOAT_SWITCH_PIN 2
#define PUMP_1_PIN 4
#define LED_PIN 7
installationsprogrammet körs en gång
void setup()
{
setup input stift för flottör
Också använda en bare switch med inga externa pullup motstånd, Ställ in PIN-kod till INPUT_PULLUP att använda inbyggt motstånd. Detta kommer att Invertera standardbeteendet hög/låg
pinMode (FLOAT_SWITCH_PIN, INPUT_PULLUP);
setup produktionen stift för reläer/pumpstation och LED styrelsen
pinMode (PUMP_1_PIN, OUTPUT);
pinMode (LED_PIN, OUTPUT);
}
loop() löper på obestämd tid
void loop()
{
Kontrollera tillståndet för flottör. Dessa stater antar PIN-koden använder en inre pullup motstånd.
LÅGA corresdponds till den flyta switch är på sin lägsta punkt (dvs låg vatten)
IF(digitalRead(FLOAT_SWITCH_PIN) == låg)
{
digitalWrite (PUMP_1_PIN, hög); slå på pumpen
digitalWrite (LED_PIN, hög); slå på lampan
}
annars är flottör hög
HÖG motsvarar flottör som på dess högsta punkt (dvs full vatten)
annat
{
digitalWrite (PUMP_1_PIN, låg); Stäng av pumpen
digitalWrite (LED_PIN, låg); stänga av lampan
}
}