Styra en magnetventil med Arduino (3 / 5 steg)
Steg 3: Demonstrationen koden 1
Du kan hitta här demonstrationen koden i RobotGeek bibliotek och verktyg enligt:
RobotGeekSketches -> Demos -> magnetventil -> directControlSolenoid -> directControlSolenoid.ino
Denna kod aktiverar helt enkelt en magnetventil medan en knapp är pressas, och inaktiverar det när knappen släpps. Detta är bra för att snabbt testa din magnetventil, men har inte mycket verkliga världen programmet det okända som. Ladda denna kod till din arduino med makt att solenoider unplugged. Under uppladdningen, kan överföringen av uppgifter ibland orsaka reläer till brand, som kan vara farlig om makten att nödsänkningssolenoiden är ansluten. När koden är uppladdad, Anslut nätanslutningen 6V till arduino och 12V strömförsörjning till fat-uttagen mellan reläer och solenoider.
/*
Kontrollera en magnetventil med Arduino
Denna demo visar hur man styr en magnetventil med tryckknappar och ett relä med
handkontrollen Arduino compatable.
Krets:
* RobotGeek tryckknapp - Digital stift 2
* RobotGeek tryckknapp - Digital Pin 4
* RobotGeek tryckknapp - Digital stift 7
* RobotGeek Relay - Digital stift 8
* RobotGeek Relay - Digital Pin 12
* RobotGeek Relay - Digital stift 13
*/
konstanter ändras inte. De används här att ange pin-koder:
CONST int button1Pin = 2; antalet pushbutton1 PIN-koden
CONST int button2Pin = 4; antalet pushbutton2 PIN-koden
CONST int button3Pin = 7. antalet pushbutton3 PIN-koden
CONST int relay1Pin = 8; antalet Relay1 PIN-koden
CONST int relay2Pin = 12; antalet Relay2 PIN-koden
CONST int relay3Pin = 13. antalet Relay3 PIN-koden
variabler som ändras:
int button1State = 0; variabel för att läsa tryckknapp status
int button2State = 0; variabel för att läsa tryckknapp status
int button3State = 0; variabel för att läsa tryckknapp status
void setup() {
initiera tryckknapp PIN-koden som indata:
pinMode (button1Pin, ingång);
pinMode (button2Pin, ingång);
pinMode (button3Pin, ingång);
initiera stafett pinnen som en utgång:
pinMode (relay1Pin, produktionen);
pinMode (relay2Pin, produktionen);
pinMode (relay3Pin, produktionen);
}
void loop() {
Läs statligt av tryckknapp värden:
button1State = digitalRead(button1Pin);
button2State = digitalRead(button2Pin);
button3State = digitalRead(button3Pin);
Kontrollera om pushbutton1 trycks.
om det är vända vi på den lilla relä/magnetventilen
om (button1State == hög) {
Aktivera relä:
digitalWrite (relay1Pin, hög);
}
När vi släpper knappen, stänga av reläet
annars om ((button1State == LOW) & & (digitalRead(relay1Pin) == hög)) {
Inaktivera relay
digitalWrite (relay1Pin, låg);
}
Kontrollera om pushbutton2 trycks.
om det är vända vi på den lilla relä/magnetventilen
om (button2State == hög) {
Aktivera relä:
digitalWrite (relay2Pin, hög);
}
När vi släpper knappen, stänga av reläet
annars om ((button2State == LOW) & & (digitalRead(relay2Pin) == hög)) {
Inaktivera relay
digitalWrite (relay2Pin, låg);
}
Kontrollera om pushbutton3 trycks.
om det är vända vi på den lilla relä/magnetventilen
om (button3State == hög) {
Aktivera relä:
digitalWrite (relay3Pin, hög);
}
När vi släpper knappen, stänga av reläet
annars om ((button3State == LOW) & & (digitalRead(relay3Pin) == hög)) {
Inaktivera relay
digitalWrite (relay3Pin, låg);
}
}