Zonnescherm project

Arduino specifieke Software
Berichten: 1
Geregistreerd: 22 Dec 2019, 14:14

Zonnescherm project

Berichtdoor KoelewijnEngineering » 22 Dec 2019, 14:25

Hallo beste mensen, ik ben bezig met een project voor mijn zonnescherm.
Deze heeft een wifi schakelaar met 2 polen. Wanneer er op de ene pool 1 staat en de andere 0, gaat ie omhoog. Wanneer er op de ene pool 0 staat en de andere 1, gaat ie omlaag.

Dit is een normale drukschakelaar en dit wil ik nu gaan automatiseren met een arduino. Ik heb hiervoor een printplaat ontworpen in Eagle met een arduino nano en 2 relais. Wanneer relais 1 aanstaat en relais 2 uit, gaat het zonnescherm omhoog en wanneer relais 1 uitstaat en relais 2 aan, gaat het zonnescherm omlaag. Het is een wifischakelaar dus het is de bedoeling dat de arduino 1 seconde een stand doorgeeft aan de relais en daarna allebei de relais weer op ruststand zet. Dus de wifischakelaar ziet het dan als een tijdelijke druk op de knop waardoor het zonnescherm omhoog/omlaag gaat en daarna op rust.

De printplaat geeft de relais een bepaalde stand afhankelijk van de waarde van een ldr en van een regensensor.
Wanneer er zon is en geen regen, moet het zonnescherm omhoog en moet relais 1 hoog zijn en relais 2 laag voor 1 seconde.

Wanneer er geen zon is en regen, moet het zonnescherm omlaag en moet relais 1 laag zijn en relais 2 hoog voor 1 seconde.

Dus:
Wanneer waarde LDR >(?) && wanneer waarde RAIN <(?);
{

digitalWrite(relais1, 0);
digitalWrite(relais2, 1);
delay(1000);
}

Wanneer waarde LDR <(?) && wanneer waarde RAIN >(?);
{

digitalWrite(relais1, 1);
digitalWrite(relais2, 0);
delay(1000);
}

helaas werkt deze code niet. Er wordt mij verteld dat ik een timestamp moet gebruiken maar ik weet niet precies hoe dat werkt en hoe ik dat in mijn project kan toepassen.

Weet iemand hier hoe ik dit moet aanpakken of kan iemand mij helpen de code te schrijven zodat ik dit project kan laten werken?

met vriendelijke groeten,

Sven

Advertisement

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Zonnescherm project

Berichtdoor shooter » 23 Dec 2019, 13:27

In het zonnescherm zit een motor die door twee relais bedient wordt.
Als er een relais aanstaat dan gaat het scherm een bepaalde kant op, maar dat relais moet dan wel aanblijven want anders stopt de motor.

het programmeren van een tijd is vrij simpel als je weet dat er een interne klok in een arduino zit millis() geheten. dat is een onafhankelijke teller die elke milliseconde een bijtelt ingeacht wat je doet.
als je dus die waarde opslaat in een variabele (oudetijd) en dan telkens kijkt of die oude tijd kleiner is dan de vertraging
millis()-oudetijd >vertraging dan kun je op de milliseconde iets timen.
dit is blink without delay (les 2 )
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: ooladixih en 18 gasten