Plugduino - baserade Arduino 120 Volt outlet controller (12 / 15 steg)
Steg 12: låg effekt test
1. Anslut Arduino till din PC via en standard USB-platta till D-kabel. Inte ansluta nätsladden 120V ännu! Om du är ny på genom att använda Arduinoen, bör du först besöka Arduino officiella webbplats ( http://www.arduino.cc/ ) för att få gå och komma tillbaka hit när du har fått IDE kör.
2. ladda koden till Arduino IDE genom att helt enkelt göra en klippa/klistra på avsnittet koden nedan i en ny fil i IDE. Innan du bygga och köra kod, se till att nätsladden inte är inkopplad och det finns inga enheter anslutna till någon av avsättningsmöjligheter. Vi testar bara låg strömkretsen nu. Helt enkelt sammanställa / ladda koden med hjälp av pilknappen i IDE, och din plugduino ska börja driva.
// --------------------------------------------------------------------------
Plugduino_1 - låg effekt funktionstest
// --------------------------------------------------------------------------
Arduino stift används av Plugduino
#define A_OUT_PIN 4 / / relä sköld kontroll en
#define B_OUT_PIN 5 / / relä sköld kontroll B
#define C_OUT_PIN 6 / / relä sköld kontroll C
#define D_OUT_PIN 7 / / relä sköld source () D
#define A_IN_PIN A0 / / Sensor ingång A
#define B_IN_PIN A1 / / Sensor ingång B
#define C_IN_PIN A2 / / Sensor ingång C
#define D_IN_PIN A3 / / Sensor ingång D
#define A_IN_STATUS_PIN 3 / / Sensor status pin-A
#define B_IN_STATUS_PIN 9 / / Sensor status pin B
#define C_IN_STATUS_PIN 10 / / Sensor status pin C
#define D_IN_STATUS_PIN 11 / / Sensor status pin D
// --------------------------------------------------------------------------
setup - initiera Plugduino
// --------------------------------------------------------------------------
void setup() {
Konfigurera utgångsstift
pinMode (A_OUT_PIN, OUTPUT);
pinMode (B_OUT_PIN, OUTPUT);
pinMode (C_OUT_PIN, OUTPUT);
pinMode (D_OUT_PIN, OUTPUT);
Konfigurera status pins
pinMode (A_IN_STATUS_PIN, OUTPUT);
pinMode (B_IN_STATUS_PIN, OUTPUT);
pinMode (C_IN_STATUS_PIN, OUTPUT);
pinMode (D_IN_STATUS_PIN, OUTPUT);
initiera pullup reistors i ingångar
pinMode (A_IN_PIN, indata); digitalWrite (A_IN_PIN, hög);
pinMode (B_IN_PIN, indata); digitalWrite (B_IN_PIN, hög);
pinMode (C_IN_PIN, indata); digitalWrite (C_IN_PIN, hög);
pinMode (D_IN_PIN, indata); digitalWrite (D_IN_PIN, hög);
}
// --------------------------------------------------------------------------
Realtime loop
// --------------------------------------------------------------------------
void loop()
{
statisk int testOut = 0;
statiska osignerade långa timeWait = 0;
Läs aktuell tid i millisekunder
osignerade långa tid = millis();
Läs ingångar
int in1 = analogRead (A_IN_PIN);
int in2 = analogRead (B_IN_PIN);
int in3 = analogRead (C_IN_PIN);
int in4 = analogRead (D_IN_PIN);
uppdatera input Visa status
analogWrite (A_IN_STATUS_PIN, in1 >> 2);
analogWrite (B_IN_STATUS_PIN, in2 >> 2);
analogWrite (C_IN_STATUS_PIN, i3 >> 2);
analogWrite (D_IN_STATUS_PIN, in4 >> 2);
växla mellan utgångarna
om (tid - timeWait > = 1000) {
timeWait = tid;
digitalWrite (testOut, låg);
om (testOut < D_OUT_PIN) testOut ++;
annat testOut = A_OUT_PIN;
digitalWrite (testOut, hög);
}
}
3. dess alive! bör vara din direkta observation, men om råkar vara något annat du kanske vill gå tillbaka och kontrollera ledningarna igen. Vad du bör se är att var och en av utlopp statusindikatorer tänds och släcks i sekvens för en sekund tillsammans med de trevliga klickande ljudet av reläer på Relay skölden.
4. code review. Om du tar en titt på källkoden, bör du kunna räkna ut vad som händer.
På början av kodendeklareras konstanter som motsvarar stiften på Arduino där dina headers är anslutna. Dessa Stifttilldelningar används i koden som symboler för att göra det lättare att förstå.I setup() vi konfigurerar riktningarna av indata- och stiften. Observera att som standard sensor in stiften sätts högt, och därför bör tändas som visas i bilden när du kör koden.
loop() vi läsa sensoringångar, skriver värden värdet tillbaka ut till indikatorerna som sensorn, och sedan sekvens genom varje kontroll utgångar en i taget, vrida på den, vänta en sekund (1000 millisekunder) och sedan stänga av och flyttar till nästa.