Styra en magnetventil med Arduino (4 / 5 steg)
Steg 4: Demonstrationen koden 2
Du kan hitta här demonstrationen koden i RobotGeek bibliotek och verktyg enligt:
RobotGeekSketches -> Demos -> magnetventil -> delayControlSolenoid -> delayControlSolenoid.ino
Denna kod aktiverar varje relä för en annan tid. Detta är det vanligaste sättet att skapa en spärr eller låsmekanism för dörrar och behållare, eftersom det ger användaren en viss tid att reagera på spärren att vara olåst, och återgår sedan till låst läge. 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
Produkter som används i den här demon:
-http://www.robotgeek.com/solenoids
-http://www.robotgeek.com/robotgeek-geekduino-sensor-kit
-http://www.robotgeek.com/robotGeek-pushbutton
-http://www.robotgeek.com/robotgeek-relay
*/
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);
För den första knappen Aktivera vi bara magnetventil/reläet i två sekunder
om (button1State == hög) {
Aktivera relä
digitalWrite (relay1Pin, hög);
Delay(1000); väntar på 1 sekund
Inaktivera relay
digitalWrite (relay1Pin, låg);
}
För den andra knappen Aktivera vi bara magnetventil/reläet i två sekunder
om (button2State == hög) {
Aktivera relä
digitalWrite (relay2Pin, hög);
Delay(2000); väntar på 2 sekunder
Inaktivera relay
digitalWrite (relay2Pin, låg);
}
För den andra knappen Aktivera vi bara magnetventil/reläet i två sekunder
om (button3State == hög) {
Aktivera relä
digitalWrite (relay3Pin, hög);
Delay(3000); väntar på 3 sekunder
Inaktivera relay
digitalWrite (relay3Pin, låg);
}
}