verlichting huisjes aansturen met Arduino op eenvoudige manier...

Gestart door Dirky, 06 maart 2021, 11:37:22 AM

Dirky

Arduino, iets waar veel over gepraat wordt maar waar duidelijk ook veel mee "gespeeld" wordt.

Voor zij die er nog aan twijfelen, de instap is zeer simpel, en als voorbeeld geef ik het volgende programma'tje dat maar 2 commando's gebruikt :

Ik ben er steevast van overtuigd dat de "kenners" direct een oplossing zullen vinden om een ander programma te schrijven dat net hetzelfde doet.

Je koopt een Arduino en je installeert de gratis Arduino-software op je PC. Je doet dan de moeite om de "beginselen" van het Arduino-gebeuren te lezen zodat je beseft dat er wel enkele regeltjes zijn zoals bijvoorbeeld het gebruik van verschillende tekens.

Je opent de file die ik als voorbeeld geef en je kan die uploaden naar je Arduino.

Wat zegt die file:

In een eerste lijst wordt bepaald wat je met de "poorten" wil doen en je geeft hier eenvoudig aan dat je elke pin wil beschouwen als digitale uitgang. Aan of uit dus. Meer niet...

void setup() {  // initialize digital pins as an output.
   pinMode(1, OUTPUT);
   pinMode(2, OUTPUT);
   pinMode(3, OUTPUT);
   pinMode(4, OUTPUT);
   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(7, OUTPUT);
   pinMode(8, OUTPUT);
   pinMode(9, OUTPUT);
   pinMode(10, OUTPUT);
   pinMode(11, OUTPUT);
   pinMode(12, OUTPUT);

}

// the loop function runs over and over again forever

En nu begint het spelleke: Je geeft aan wat je verwacht van die "outputs".
Eerste lijn zegt: Zet uitgang 1 hoog (aan)
Tweede lijn zegt: wacht 10000 millisekonden (10 seconden)
Enz...
En als ie op 't einde komt, herbegint die gewoon weer.

Voor alle duidelijkheid; als je het programma er in pomp hangt de Arduino aan je PC (+5V). Als je hem op je baan gebruikt geef je hem een aparte voeding van 7-12V. Van zodra er spanning opkomt begint de cyclus

void loop() {
   digitalWrite(1, HIGH);
   delay(10000);
   digitalWrite(2, HIGH);
   delay(10000);
   digitalWrite(8, HIGH);
   delay(5000);
   digitalWrite(4, HIGH);
   delay(10000);
   digitalWrite(7, HIGH);
   delay(10000);
   digitalWrite(10, HIGH);
   delay(8000);
   digitalWrite(3, HIGH);
   delay(12000);
   digitalWrite(2, LOW);
   delay(15000);
   digitalWrite(9, HIGH);
   delay(15000);
   digitalWrite(8, LOW);
   delay(18000);
   digitalWrite(5, HIGH);
   delay(10000);
   digitalWrite(4, LOW);
   delay(15000);
   digitalWrite(11, HIGH);
   delay(18000);
   digitalWrite(10, LOW);
   delay(18000);
   digitalWrite(4, HIGH);
   delay(15000);
   digitalWrite(10, HIGH);
   delay(12000);
   digitalWrite(3, LOW);
   delay(15500);
   digitalWrite(9, LOW);
   delay(18000);
   digitalWrite(5, LOW);
   delay(10000);
   digitalWrite(11, LOW);
   delay(12000);
   digitalWrite(4, LOW);
   delay(15000);
   digitalWrite(10, LOW);
   delay(18000);
   digitalWrite(2, HIGH);
   delay(12000);
   digitalWrite(5, HIGH);
   delay(15000);
   digitalWrite(11, HIGH);
   delay(5000);
   digitalWrite(2, LOW);
   delay(15000);
   digitalWrite(8, HIGH);
   delay(18000);
   digitalWrite(1, LOW);
   delay(15000);
   digitalWrite(5, LOW);
   delay(5000);
   digitalWrite(11, LOW);
   delay(16000);
   digitalWrite(8, LOW);
   delay(20000);
   digitalWrite(7, LOW);
   delay(12000);
   digitalWrite(6, HIGH);
   delay(12000);
   digitalWrite(12, HIGH);
   delay(18000);
   digitalWrite(6, LOW);
   delay(5000);
   digitalWrite(12, LOW);
   delay(20000);

}

Ik heb me dus in Excel een grafiekje gemaakt om de sequences in beeld te brengen.

sequences by Dirky dyniMo, on Flickr

Het leuke is dat je meteen een werkende toepassing hebt voor het ding dat onbekend was. Nu kan je jezelf verder verdiepen en zaken aanpassen, uitbreiden,...

Het printje dat bijna de naam print niet waardig is:

IMG_20210304_140932_resized_20210304_020953931 (002) by Dirky dyniMo, on Flickr

IMG_20210304_141024_resized_20210304_021044341 (002) by Dirky dyniMo, on Flickr

Ik gebruik 3K9 weerstanden omdat naar mijn mening, de meeste huisjes die verlicht worden op modelbanen, de indruk geven dat de eigenaar met een supertrooper aan 't verlichten is.

De bovenste rij van de header waar ik de LED's in plug is de gemeenschappelijke GND.

Is hier dus idd een UNO.

5910

Voor diegene die echt interesse hebben in arduino, kan volgende You-Tube reeks van pas komen.
Het is wel in het Engels, maar ik heb er persoonlijk veel van geleerd .

https://www.youtube.com/playlist?list=PLGs0VKk2DiYw-L-RibttcvK-WBZm8WLEP

svvander

Of neem is een kijkje op de website van VMSC De Locloods  ;D Het is nog een groeiende reeks, we vullen regelmatig aan... maar we proberen in eenvoudige taal de geïnteresseerden aan de waggel te krijgen. Maar Dirk zijn uitleg zou er niet misstaan.
Sven Vandersmissen HO - AC - Belgisch (en al wat op het Belgische net verschijnt) - Tijdperk IV - V -VI
Voorzitter MSC De Locloods VZW (https://www.de-locloods.be/) - info@de-locloods.be

wilgo

Dank U voor uitleg Dirky,
er wordt altijd over gesproken maar voor iemand die er niets van afweet is het latijn
groeten
willy

Dirky

Citaat van: svvander op 08 maart 2021, 18:15:47 PM
Of neem is een kijkje op de website van VMSC De Locloods  ;D Het is nog een groeiende reeks, we vullen regelmatig aan... maar we proberen in eenvoudige taal de geïnteresseerden aan de waggel te krijgen. Maar Dirk zijn uitleg zou er niet misstaan.

copier maar als ge wilt... heb er geen probleem mee!

svvander

Sven Vandersmissen HO - AC - Belgisch (en al wat op het Belgische net verschijnt) - Tijdperk IV - V -VI
Voorzitter MSC De Locloods VZW (https://www.de-locloods.be/) - info@de-locloods.be

renstimpie

Awel!  een dikke merci om zoiets te posten!!  Good practices delen..  altijd leren.. :)

Tim

Geert

Mooi initiatief dat de code hier geplaatst wordt, het verlaagd voor velen de drempel.

Bedankt,

Geert
Schaal HO - digitaal zelfbouw - Favoriete Lok: V200 DB
Huidig project: LocoNet 16 poorten ingangen/uitgangen

Alberke

is dat item over die schakeling van modelbouwled ergens terug te vinden?
Ja, ik ben de plezantste thuis, als de vuilbak buiten staat! ;D