Stap 5: Schrijven van de Software
Ik ben niet veel van een software-goeroe, hebben gelukkig anderen onvermoeibaar gewerkt om te grote services te verstrekken aan ons knutselaars!
Om mij te controleren is dit project vanaf mijn mobiele telefoon er een grote service genaamd Blynk.
Dit app kan worden gedownload voor zowel IOS als Android.
Ook kan ik elk relais controle en geeft feedback om te laten zien dat de huidige status van elk relais (dit is belangrijk als u overschakelen van spullen wilt, wanneer u ergens anders, zijn zodat u ervan overtuigd bent dat wat u overgeschakeld hebben via de app daadwerkelijk is fysiek overgeschakeld).
Ik zal niet ingaan op de benodigde stappen voor het toevoegen van de bibliotheken van de Blynk, dit kan over worden gevonden op de website van de Blynk, maar mijn code te controleren en feedback te krijgen is als volgt:-
#define BLYNK_PRINT Serial // Comment this out to disable prints and save space#include <SPI.h> #include <Ethernet.h> #include <BlynkSimpleEthernet.h> #include <SimpleTimer.h> #define RELAY1 2 #define RELAY2 3 #define RELAY3 4 #define RELAY4 5 #define RELAY5 6 #define RELAY6 7 #define RELAY7 8 #define RELAY8 9 char auth[] = "Your Auth Token"; WidgetLED led1(V1); // set up LED widgets WidgetLED led2(V2); WidgetLED led3(V3); WidgetLED led4(V4); WidgetLED led5(V5); WidgetLED led6(V6); WidgetLED led7(V7); WidgetLED led8(V8); byte relay1State; byte relay2State; byte relay3State; byte relay4State; byte relay5State; byte relay6State; byte relay7State; byte relay8State; SimpleTimer timer; void setup() { Serial.begin(9600); Blynk.begin(auth); timer.setInterval(1000L, setVirtualLeds); // every 1 second check relays and set } // virtual LEDs to indicate on or off. void setVirtualLeds() { relay1State = digitalRead(RELAY1); relay2State = digitalRead(RELAY2); relay3State = digitalRead(RELAY3); relay4State = digitalRead(RELAY4); relay5State = digitalRead(RELAY5); relay6State = digitalRead(RELAY6); relay7State = digitalRead(RELAY7); relay8State = digitalRead(RELAY8); if (relay1State == LOW) { led1.on(); }else{led1.off();} if (relay2State == LOW) { led2.on(); }else{led2.off();} if (relay3State == LOW) { led3.on(); }else{led3.off();} if (relay4State == LOW) { led4.on(); }else{led4.off();} if (relay5State == LOW) { led5.on(); }else{led5.off();} if (relay6State == LOW) { led6.on(); }else{led6.off();} if (relay7State == LOW) { led7.on(); }else{led7.off();} if (relay8State == LOW) { led8.on(); }else{led8.off();} } void loop() { Blynk.run(); timer.run(); }
Hopelijk kunt u gemakkelijk repliceren van dit project door het volgen van dit Instructable, veel plezier!