Stap 12: energiebesparende test
1. aansluiten van de Arduino op uw PC met behulp van een standaard USB plat naar D-kabel. Sluit het netsnoer 120V nog niet! Als u nieuw bent bij met behulp van de Arduino, moet u eerst bezoek de officiële website van de Arduino ( http://www.arduino.cc/ ) om te gaan en kom terug zodra u hebt gekregen van de IDE uitgevoerd.
2. Laad de code in de Arduino IDE door te doen gewoon een knippen/plakken op het gedeelte van de code hieronder in een nieuw bestand in de IDE. Voordat u bouwen en uitvoeren van de code, zorg ervoor dat het netsnoer niet is aangesloten en er zijn geen apparaten aangesloten op een van de verkooppunten; Wij zijn nu alleen het energiebesparende circuit testen. Gewoon compileren / laad de code met behulp van de knop met de pijl in de IDE, en uw plugduino moet beginnen werken.
// -------------------------------------------------------------------------- // Plugduino_1 - low power functional test // -------------------------------------------------------------------------- // Arduino pins used by Plugduino #define A_OUT_PIN 4 // Relay Shield control A #define B_OUT_PIN 5 // Relay Shield control B #define C_OUT_PIN 6 // Relay Shield control C #define D_OUT_PIN 7 // Relay Shield contorl D #define A_IN_PIN A0 // Sensor input A #define B_IN_PIN A1 // Sensor input B #define C_IN_PIN A2 // Sensor input C #define D_IN_PIN A3 // Sensor input 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 - initialize the Plugduino // -------------------------------------------------------------------------- void setup() { // configure output pins pinMode ( A_OUT_PIN , OUTPUT ); pinMode ( B_OUT_PIN , OUTPUT ); pinMode ( C_OUT_PIN , OUTPUT ); pinMode ( D_OUT_PIN , OUTPUT ); // configure 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 ); // initialize pullup reistors in inputs pinMode ( A_IN_PIN , INPUT ); digitalWrite ( A_IN_PIN , HIGH ); pinMode ( B_IN_PIN , INPUT ); digitalWrite ( B_IN_PIN , HIGH ); pinMode ( C_IN_PIN , INPUT ); digitalWrite ( C_IN_PIN , HIGH ); pinMode ( D_IN_PIN , INPUT ); digitalWrite ( D_IN_PIN , HIGH ); } // -------------------------------------------------------------------------- // realtime loop // -------------------------------------------------------------------------- void loop() { static int testOut = 0; static unsigned long timeWait = 0; // read the current time in milliseconds unsigned long time = millis(); // read inputs int in1 = analogRead ( A_IN_PIN ); int in2 = analogRead ( B_IN_PIN ); int in3 = analogRead ( C_IN_PIN ); int in4 = analogRead ( D_IN_PIN ); // update input display status analogWrite ( A_IN_STATUS_PIN , in1 >> 2 ); analogWrite ( B_IN_STATUS_PIN , in2 >> 2 ); analogWrite ( C_IN_STATUS_PIN , in3 >> 2 ); analogWrite ( D_IN_STATUS_PIN , in4 >> 2 ); // cycle through the outputs if ( time - timeWait >= 1000 ) { timeWait = time; digitalWrite ( testOut , LOW ); if ( testOut < D_OUT_PIN ) testOut++; else testOut = A_OUT_PIN; digitalWrite ( testOut , HIGH ); } }
3. haar levend! moet uw directe observatie, maar als toevallig iets anders wilt mogelijk ga terug en controleer de bedrading weer. Wat je ziet is dat elk van de outlet statusindicatoren schakelt in en uit in de juiste volgorde gedurende één seconde samen met de aangename klikkend geluid van de relais op het Relais schild.
4. code review. Als u een kijkje nemen op de broncode, moet u zitten kundig voor erachter te komen wat gaande is er.
Bij de start van het Wetboek, zijn constanten gedefinieerd die overeenkomen met de pinnen op de Arduino waar uw kopteksten worden gekoppeld. Deze pin-toewijzingen worden gebruikt in de code als symbolen om het gemakkelijker te begrijpen.In Setup configureren we de richtingen van de input- en output pinnen. Merk op dat standaard de sensor input pinnen zijn hoog, en daarom moeten worden verlicht zoals in de afbeelding als u de programmacode uitvoert.
in de loop de sensor-ingangen, lezen we de waarden waarde terug naar de sensor-indicatoren, en vervolgens volgorde door elk van het besturingselement uitgangen tegelijkertijd, schrijven draaien op, wacht een seconde (1000 milliseconden) en vervolgens het uitschakelen en verplaatsen naar de volgende.