Zonnetracker vollop benut
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Zonnetracker vollop benut
Een flag kan je zien als een boolean
Advertisement
Re: Zonnetracker vollop benut
Weer dagen aan het proberen, maar die zgn boolean / flag wil me niet lukken.
Het probleem blijft zitten op het moment dat de waarde(n) van een sensor onder de ingestelde waarde komt en direct weer naar boven de ingestelde waarde gaat.
Voorbeeld:
Motor zou naar de nachtstand moeten gaan op het moment dat de waarde bv 150 is.
Zon zakt dus de sensor krijgt minder licht - waarde bv 250 (motor down)
Zon krijgt weer iets meer kracht en de waarde gaat naar 260 (motor up)
Dit herhaalt zich totdat de sensor daadwerkelijk de bv 150 bereikt, maar in de tussen tijd gaan de motor heen en weer tot vervelens toe van de buurvrouw.
Kan iemand me eens duidelijk uitleggen hoe ik zo iets kan aanpakken ?
Dan bedoel ik niet met "je moet een flag gebruiken" of "zie het als een boolean" want daar ben ik nog steeds niet ver(der) mee gekomen.
Mvg, Rob
Het probleem blijft zitten op het moment dat de waarde(n) van een sensor onder de ingestelde waarde komt en direct weer naar boven de ingestelde waarde gaat.
Voorbeeld:
Motor zou naar de nachtstand moeten gaan op het moment dat de waarde bv 150 is.
Zon zakt dus de sensor krijgt minder licht - waarde bv 250 (motor down)
Zon krijgt weer iets meer kracht en de waarde gaat naar 260 (motor up)
Dit herhaalt zich totdat de sensor daadwerkelijk de bv 150 bereikt, maar in de tussen tijd gaan de motor heen en weer tot vervelens toe van de buurvrouw.
Kan iemand me eens duidelijk uitleggen hoe ik zo iets kan aanpakken ?
Dan bedoel ik niet met "je moet een flag gebruiken" of "zie het als een boolean" want daar ben ik nog steeds niet ver(der) mee gekomen.
Mvg, Rob
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Zonnetracker vollop benut
Een hysteresis inbouwen ,voorbeelden daarvan kun je vinden op het net en hier op het forum ook wel.
Op deze manier stel je een kantelpunt in voor inschakelen en een andere waarde om terug uit te schakelen ipv bv 150.
Op deze manier stel je een kantelpunt in voor inschakelen en een andere waarde om terug uit te schakelen ipv bv 150.
Re: Zonnetracker vollop benut
Gij Kieken schreef:Een hysteresis inbouwen ,voorbeelden daarvan kun je vinden op het net en hier op het forum ook wel.
Op deze manier stel je een kantelpunt in voor inschakelen en een andere waarde om terug uit te schakelen ipv bv 150.
Je bedoelt RTFM ?
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Zonnetracker vollop benut
Neen dit bedoel ik niet ,ben hier even heel druk bezig met huistaken vervullen vandaar....
Maar door toepassen van een hysteresis stel je bv inschakelen op 150 en terug uit als de waarde gezakt is tot bv 130...
vrij in te stellen ,voorbeelden kun je wel vinden of even zelf proberen met een potmeter en een led,wil wel een voorbeeldje geven maar heb nu andere taken...
https://www.hackster.io/pandhoit/arduin ... rol-397dad
Maar door toepassen van een hysteresis stel je bv inschakelen op 150 en terug uit als de waarde gezakt is tot bv 130...
vrij in te stellen ,voorbeelden kun je wel vinden of even zelf proberen met een potmeter en een led,wil wel een voorbeeldje geven maar heb nu andere taken...
https://www.hackster.io/pandhoit/arduin ... rol-397dad
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Zonnetracker vollop benut
Hier nog een voorbeeldje met wat uitleg erbij. https://courses.ideate.cmu.edu/99-355/s ... resis.html
Pas het aan naar je behoefte.
Pas het aan naar je behoefte.
Re: Zonnetracker vollop benut
Bedankt, deze link had ik ook al gevonden maar lost het probleem (nog) niet op.
Ik heb het vermoeden dat de plaats van de "night" opdracht in de sketch niet goed is.
Een klein deel heb ik al getackeld, maar het pendelen blijft en dat verwijt ik aan de plaats waar de "night" stand staat.
Persoonlijk denk ik dat de (IF / hysteresis) "night" hiervoor op de verkeerde plaats staat.
Mijn gedachte is dat er eerst naar de staat (te donker of nog licht genoeg) gekeken moet worden en dan pas naar de opdracht.
Nu wordt er eerst naar de opdrachten gekeken en dan pas naar de hysteresis en mijn gevoel zegt dat dat anders om moet (....).
Helaas heb ik (nog) te weinig kennis om daar over te oordelen en blijf daarom in kringetjes draaien (gelijk het zonnepaneel).
Toch een beetje vreemd dat er mensen op dit forum zijn met zoveel kennis dat ze dat niet zien of aan geven.
Nog één keer de volledig sketch voor degene die wel weten waar de oplossing ligt.
cpp code
Ik heb het vermoeden dat de plaats van de "night" opdracht in de sketch niet goed is.
Een klein deel heb ik al getackeld, maar het pendelen blijft en dat verwijt ik aan de plaats waar de "night" stand staat.
Persoonlijk denk ik dat de (IF / hysteresis) "night" hiervoor op de verkeerde plaats staat.
Mijn gedachte is dat er eerst naar de staat (te donker of nog licht genoeg) gekeken moet worden en dan pas naar de opdracht.
Nu wordt er eerst naar de opdrachten gekeken en dan pas naar de hysteresis en mijn gevoel zegt dat dat anders om moet (....).
Helaas heb ik (nog) te weinig kennis om daar over te oordelen en blijf daarom in kringetjes draaien (gelijk het zonnepaneel).
Toch een beetje vreemd dat er mensen op dit forum zijn met zoveel kennis dat ze dat niet zien of aan geven.
Nog één keer de volledig sketch voor degene die wel weten waar de oplossing ligt.
cpp code
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LiquidCrystal_I2C lcd(0x27,20,4); // LCD BLUE
LiquidCrystal_I2C lcd(0x3F,20,4); // LCD GREEN
// motor azimuth
int in1 = 9; // D9 output to in1 L298N module
int in2 = 10; // D10 output to in2 L298N module
// motor elevation
int in3 = 11; // D11 output to in3 L298N module
int in4 = 12; // D12 output to in4 L298N module
void setup()
{
Serial.begin(9600); // initialize the serial port
lcd.init(); // initialize the lcd
lcd.backlight(); // ON
}
void loop()
{
// LDR LIGHT SENSORS
int tr = analogRead(A0); // LDR top right
int br = analogRead(A1); // LDR bottom right
int tl = analogRead(A2); // LDR top left
int bl = analogRead(A3); // LDR bottom left
// control delay time in milliseconds of LIGHT SENSOR readings - Arduino LED indicate time
// Input A7 0 till 5 Volt
int delaytime = analogRead(A7)*29.326 ; // 30 seconds wait befor next_run
// set range for read time 30 sec display
int next_loop = map(analogRead(A7), 1023, 0, 30, 0);
// set range of tolerance between LIGHT SENSOR readings
// Input A6 0 till 5 Volt
int tolerance = analogRead(A6)/20.48; // difference 50 between sensors
// set average values LDR's
int avt = (tr + tl) / 2; // average value top
int avd = (bl + br) / 2; // average value down
int avl = (tl + bl) / 2; // average value left
int avr = (tr + br) / 2; // average value right
// average difference of top and bottom LIGHT SENSORS
int dv = avt - avd;
// average difference of left and right LIGHT SENSORS
int dh = avl - avr;
//print values to serial monitor for debugging
Serial.println("********************");
Serial.print("Top Left\t");
Serial.print(tl);
Serial.println();
Serial.print("Top Right\t");
Serial.print(tr);
Serial.println();
Serial.print("Bottom Left\t");
Serial.print(bl);
Serial.println();
Serial.print("Bottom Right\t");
Serial.print(br);
Serial.println();
Serial.println();
Serial.print("Delaytime sec\t");
Serial.print(next_loop);
Serial.println();
Serial.println();
Serial.print("Tolerance\t");
Serial.print(tolerance);
Serial.println();
Serial.println();
Serial.print("+UP<>DOWN-\t");
Serial.print(dv);
Serial.println();
Serial.print("AVT - up\t");
Serial.print(avt);
Serial.println();
Serial.print("AVD - down\t");
Serial.print(avd);
Serial.println();
Serial.println();
Serial.print("+WEST<>EAST-\t");
Serial.print(dh);
Serial.println();
Serial.print("AVL - west\t");
Serial.print(avl);
Serial.println();
Serial.print("AVR - east\t");
Serial.print(avr);
Serial.println();
Serial.println();
if (-1*tolerance > dv || dv > tolerance) // check difference in top/bottom LIGHT SENSORS is greater than tolerance
{
// change direction motor with < and >
if (avt < avd) // if average LIGHT SENSOR values on top side are smaller than on bottom side then elevation motor rotates CLOCKWISE
{
// set motor Elevation down
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR DOWN");
lcd.setCursor(0,0);
lcd.print("ELEVATION : DOWN "); // print lcd row 1
}
else // if average LIGHT SENSOR values on bottom side are greater than on top side then elevation motor rotates COUNTERCLOCKWISE
{
// set motor Elevation up
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
Serial.println("ELEVATION MOTOR UP");
lcd.setCursor(0,0);
lcd.print("ELEVATION : UP ");// print lcd row 1
}
}
else if (-1*tolerance < dv || dv < tolerance) // if difference is smaller than tolerance, STOP elevation motor
{
// stop Elevation motor
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR STOP");
lcd.setCursor(0,0);
lcd.print("ELEVATION : STOP "); // print lcd row 1
// Elevation moves down at night
if ((avt < 700) && (avd < 700)) // sensor value
{
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
Serial.println("ELEVATION MOTOR NIGHT");
lcd.setCursor(0,0);
lcd.print("ELEVATION : NIGHT"); // print lcd row 1
}
}
if (-1*tolerance > dh || dh > tolerance) // check difference in left and right LIGHT SENSORS is within tolerance range
{
// change direction motor with < and >
if (avr < avl) // if average LIGHT SENSOR values on left side are greater than right side, azimuth motor rotates CLOCKWISE
{
// set motor Azimuth west / left
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
Serial.println("AZIMUTH MOTOR WEST");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : WEST "); // print lcd row 2
}
else // if average LIGHT SENSOR values on right side are greater than on left side, azimuth motor rotates COUNTERCLOCKWISE
{
// set motor Azimuth east / right
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.println("AZIMUTH MOTOR EAST");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : EAST "); // print lcd row 2
}
}
else if (-1*tolerance < dh || dh < tolerance) //if difference is smaller than tolerance, STOP azimuth motor
{
// stop motor Azimuth
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
Serial.println("AZIMUTH MOTOR STOP");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : STOP "); // print lcd row 2
}
// Azimuth moves east at night / right
if ((avr < 700) && (avl < 700)) // sensorvalue
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
Serial.println("AZIMUTH MOTOR NIGHT");
lcd.setCursor(0,1);
lcd.print("AZIMUTH : NIGHT"); // print lcd row 2
}
// print lcd delaytime row 3
lcd.setCursor(0,2);
lcd.print("DELAY : ");
char temp[5]; // enough room for 4 numbers
snprintf(temp,6, "%4d", (delaytime/1000)); // %4d = 4 digits, right aligned
lcd.print(temp);
lcd.setCursor(18, 2); // original 18
lcd.print("s"); // time in seconds
{
// print lcd sensitive row 4
lcd.setCursor(0,3);
lcd.print("TOLERANCE : ");
char temp1[5]; // enough room for4 numbers
snprintf(temp1,6, "%5d", tolerance); // %4d = 4 digets, right aligned
lcd.print(temp1);
lcd.setCursor(18, 3);
lcd.print("+-");
delay(delaytime);
}
}
void print2digits(int number)
{
if (number >= 0 && number < 10)
{
Serial.write('0');
}
Serial.print(number);
}
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Zonnetracker vollop benut
Ga het vanavond bekijken,de volgend vraag was graag eerst de volledige meest recente sketch.
Bij deze is dit dus al gebeurd.
Bij deze is dit dus al gebeurd.
Re: Zonnetracker vollop benut
heb al een stukje gedaan, maar moet even weg
cpp code
cpp code
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
// LiquidCrystal_I2C lcd(0x27,20,4); // LCD BLUE weghalen als het niet nodig is
LiquidCrystal_I2C lcd(0x3F, 20, 4); // LCD GREEN
// motor azimuth
int PinMotorLinks = 9; // D9 output to in1 L298N module even gesteld dat dit links is verander dan overal in1 naar PinMotorLinks
int PinMotorRechts = 10; // D10 output to in2 L298N module // en de andere natuurlijk ook dus PinMotorRechts
// motor elevation
int PinMotorOmhoog = 11; // D11 output to in3 L298N module PinMotorOmhoog
int PinMotorOmlaag = 12; // D12 output to in4 L298N module PinMotorOmlaag
int PinSensorTopRechts = A0;
int PinSensorOnderRechts = A1;
int PinSensorTopLinks = A2;
int PinSensorOnderLinks = A3;// de rest even zelf doen
// dat maakt het allemaal leesbaar, en wij snappen het dan ook
int tl;
int tr;
int bl;
int br;
int next_loop;
int tolerance;
int dv;
int dh;
int avt;
int avl;
int avr;
int avd;
void setup()
{
Serial.begin(9600); // initialize the serial port
lcd.init(); // initialize the lcd
lcd.backlight(); // ON
// ik mis de pinMode voor de uitgangen
pinMode (PinMotorLinks, OUTPUT); //
pinMode (PinMotorRechts, OUTPUT);
pinMode (PinMotorOmhoog, OUTPUT);
pinMode (PinMotorOmlaag, OUTPUT);
pinMode (PinSensorTopLinks, INPUT);
pinMode (PinSensorTopRechts, INPUT);
pinMode (PinSensorOnderLinks, INPUT);
pinMode (PinSensorOnderRechts, INPUT);
// hier ook toevoegen
}
void loop()
{
// LDR LIGHT SENSORS de rest even zelf veranderen dus tr is TopRechts
int tr = analogRead(PinSensorTopRechts); // LDR top right
int br = analogRead(PinSensorOnderRechts); // LDR bottom right
int tl = analogRead(PinSensorTopLinks); // LDR top left
int bl = analogRead(PinSensorOnderLinks); // LDR bottom left
// control delay time in milliseconds of LIGHT SENSOR readings - Arduino LED indicate time
// Input A7 0 till 5 Volt
int delaytime = analogRead(A7) * 29.326 ; // 30 seconds wait befor next_run
// set range for read time 30 sec display
int next_loop = map(analogRead(A7), 1023, 0, 30, 0);
// set range of tolerance between LIGHT SENSOR readings
// Input A6 0 till 5 Volt
int tolerance = analogRead(A6) / 20.48; // difference 50 between sensors
// set average values LDR's
int avt = (tr + tl) / 2; // average value top
int avd = (bl + br) / 2; // average value down
int avl = (tl + bl) / 2; // average value left
int avr = (tr + br) / 2; // average value right
// average difference of top and bottom LIGHT SENSORS
int dv = avt - avd; // hier staat dus het verschil boven en onder prima
// average difference of left and right LIGHT SENSORS
int dh = avl - avr;
// hier een functie voor het printen
printen();
if ((avr < 700) && (avl < 700)) // sensorvalue
{
digitalWrite(PinMotorLinks, LOW);
digitalWrite(PinMotorRechts, HIGH);
Serial.println("AZIMUTH MOTOR NIGHT");
lcd.setCursor(0, 1);
lcd.print("AZIMUTH : NIGHT"); // print lcd row 2
}
if (-1 * tolerance > dv || dv > tolerance) // check difference in top/bottom LIGHT SENSORS is greater than tolerance
{
// change direction motor with < and >
if (avt < avd) // if average LIGHT SENSOR values on top side are smaller than on bottom side then elevation motor rotates CLOCKWISE
{
// set motor Elevation down
digitalWrite(PinMotorOmhoog, HIGH);
digitalWrite(PinMotorOmlaag, LOW);
Serial.println("ELEVATION MOTOR DOWN");
lcd.setCursor(0, 0);
lcd.print("ELEVATION : DOWN "); // print lcd row 1
}
else // if average LIGHT SENSOR values on bottom side are greater than on top side then elevation motor rotates COUNTERCLOCKWISE
{
// set motor Elevation up
digitalWrite(PinMotorOmhoog, LOW);
digitalWrite(PinMotorOmlaag, HIGH);
Serial.println("ELEVATION MOTOR UP");
lcd.setCursor(0, 0);
lcd.print("ELEVATION : UP ");// print lcd row 1
}
}
else if (-1 * tolerance < dv || dv < tolerance) // if difference is smaller than tolerance, STOP elevation motor
{
// stop Elevation motor
digitalWrite(PinMotorOmhoog, LOW);
digitalWrite(PinMotorOmlaag, LOW);
Serial.println("ELEVATION MOTOR STOP");
lcd.setCursor(0, 0);
lcd.print("ELEVATION : STOP "); // print lcd row 1
// Elevation moves down at night
if ((avt < 700) && (avd < 700)) // sensor value
{
digitalWrite(PinMotorOmhoog, HIGH);
digitalWrite(PinMotorOmlaag, LOW);
Serial.println("ELEVATION MOTOR NIGHT");
lcd.setCursor(0, 0);
lcd.print("ELEVATION : NIGHT"); // print lcd row 1
}
}
if (-1 * tolerance > dh || dh > tolerance) // check difference in left and right LIGHT SENSORS is within tolerance range
{
// change direction motor with < and >
if (avr < avl) // if average LIGHT SENSOR values on left side are greater than right side, azimuth motor rotates CLOCKWISE
{
// set motor Azimuth west / left
digitalWrite(PinMotorLinks, HIGH);
digitalWrite(PinMotorRechts, LOW);
Serial.println("AZIMUTH MOTOR WEST");
lcd.setCursor(0, 1);
lcd.print("AZIMUTH : WEST "); // print lcd row 2
}
else // if average LIGHT SENSOR values on right side are greater than on left side, azimuth motor rotates COUNTERCLOCKWISE
{
// set motor Azimuth east / right
digitalWrite(PinMotorLinks, LOW);
digitalWrite(PinMotorRechts, HIGH);
Serial.println("AZIMUTH MOTOR EAST");
lcd.setCursor(0, 1);
lcd.print("AZIMUTH : EAST "); // print lcd row 2
}
}
else if (-1 * tolerance < dh || dh < tolerance) //if difference is smaller than tolerance, STOP azimuth motor
{
// stop motor Azimuth
digitalWrite(PinMotorLinks, LOW);
digitalWrite(PinMotorRechts, LOW);
Serial.println("AZIMUTH MOTOR STOP");
lcd.setCursor(0, 1);
lcd.print("AZIMUTH : STOP "); // print lcd row 2
}
// Azimuth moves east at night / right
// print lcd delaytime row 3
lcd.setCursor(0, 2);
lcd.print("DELAY : ");
char temp[5]; // enough room for 4 numbers
snprintf(temp, 6, "%4d", (delaytime / 1000)); // %4d = 4 digits, right aligned
lcd.print(temp);
lcd.setCursor(18, 2); // original 18
lcd.print("s"); // time in seconds
{
// print lcd sensitive row 4
lcd.setCursor(0, 3);
lcd.print("TOLERANCE : ");
char temp1[5]; // enough room for4 numbers
snprintf(temp1, 6, "%5d", tolerance); // %4d = 4 digets, right aligned
lcd.print(temp1);
lcd.setCursor(18, 3);
lcd.print("+-");
delay(delaytime);
}
}
void print2digits(int number)
{
if (number >= 0 && number < 10)
{
Serial.write('0');
}
Serial.print(number);
}
void printen () { //print values to serial monitor for debugging
Serial.println("********************");
Serial.print("Top Left\t");
Serial.print(tl);
Serial.println();
Serial.print("Top Right\t");
Serial.print(tr);
Serial.println();
Serial.print("Bottom Left\t");
Serial.print(bl);
Serial.println();
Serial.print("Bottom Right\t");
Serial.print(br);
Serial.println();
Serial.println();
Serial.print("Delaytime sec\t");
Serial.print(next_loop);
Serial.println();
Serial.println();
Serial.print("Tolerance\t");
Serial.print(tolerance);
Serial.println();
Serial.println();
Serial.print("+UP<>DOWN-\t");
Serial.print(dv);
Serial.println();
Serial.print("AVT - up\t");
Serial.print(avt);
Serial.println();
Serial.print("AVD - down\t");
Serial.print(avd);
Serial.println();
Serial.println();
Serial.print("+WEST<>EAST-\t");
Serial.print(dh);
Serial.println();
Serial.print("AVL - west\t");
Serial.print(avl);
Serial.println();
Serial.print("AVR - east\t");
Serial.print(avr);
Serial.println();
Serial.println();
}
paul deelen
shooter@home.nl
shooter@home.nl
- Gij Kieken
- Berichten: 631
- Geregistreerd: 15 Nov 2015, 11:54
Re: Zonnetracker vollop benut
@Shooter ,dit is natuurlijk veel gemakkelijker lezen zo.
@Gompy,er zijn veel manieren om iets op te lossen, hier misschien een voorbeeldje wat je uit kan proberen en proberen te begrijpen;
Vervolgens combineren in jouw code,
@Gompy,er zijn veel manieren om iets op te lossen, hier misschien een voorbeeldje wat je uit kan proberen en proberen te begrijpen;
Vervolgens combineren in jouw code,
- Code: Alles selecteren
//Geschikt voor Arduino UNO,Nano, etc...
//Sluit een potmeter van 10Kohm aan
//een zijde aan +5volt
//de andere aan Gnd
//de loper op A0
const int INPUT_PIN = A0; //De ingang die we gebruiken
enum dayState { NACHT, DAG}; //Eigelijk zijn dit constant int,NACHT=0 en DAG=1
enum dayState myDayState = NACHT; //Declareer de status van de variabele
const int dag_drempel = 700; //Kantelpunt voor DAG modus
const int nacht_drempel = 300; //Kantelpunt voor NACHT modus
void setup() {
// put your setup code here, to run once:
//Initialiseer de Serial port
Serial.begin(9600);
//Configureer de I/O
pinMode(LED_BUILTIN, OUTPUT);
//We starten met de LED Aan
digitalWrite(LED_BUILTIN , HIGH);
}
void loop() {
// put your main code here, to run repeatedly:
//Lees de waarde van de potmeter
int potmeterWaarde = analogRead(INPUT_PIN);
/*Verander hier potmeterWaarde in een voor jouw beter geschikte naam
en stel die gelijk aan jouw gemiddelde LDR waardes
gebruik uiteraard jouw variabele naam verder in de sketch
De variabele myDayState kun je gebruiken als een reeds eerder
vermelde vlag
Verder in jouw sketch waar nodig zet je dan
if (myDayState == DAG) { //Is het Dag?
doe je code, zoals motors laten draaien etc...
}
en waar nodig als het Nacht is
if (myDayState == NACHT) { //Is het Nacht?
doe je code, zoals motors laten draaien etc...
}
*/
if (myDayState == DAG) { //Is het Dag?
if (potmeterWaarde < nacht_drempel) {
Serial.print("De Nacht is gevallen ");
Serial.println(potmeterWaarde);
Serial.println("Er is een overgang van Dag naar Nacht status.");
myDayState = NACHT;//Dit is een zogenaamde vlag die verder kunt gebruiken
digitalWrite(LED_BUILTIN, HIGH);//Het is Nacht de Led is Aan
}
} else { //Het moet nu Nacht zijn
if (potmeterWaarde > dag_drempel) {
Serial.print("De zon komt op ");
Serial.println(potmeterWaarde);
Serial.println("Er is een overgang van Nacht naar Dag status.");
myDayState = DAG;//Dit is een vlag die verder kunt gebruiken
digitalWrite(LED_BUILTIN , LOW);//Schakel de Led Uit het is Dag
}
}
}
Terug naar Afgeronde projecten
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 13 gasten