Master voor een slave stationsklok.

algemene C code
Gebruikers-avatar
Berichten: 66
Geregistreerd: 02 Okt 2015, 22:31

Master voor een slave stationsklok.

Berichtdoor bossie » 02 Okt 2015, 22:44

Hallo, ik heb een vraag.

Zou iemand mij willen helpen met een opzetje om een impulsgenerator te maken die iedere minuut een impuls geeft.
Maar dan is er een voorwaarde aan de impuls, het moet een impuls zijn waar de oneven impulsen op een uitgang verschijnen en de even impulsen op een tweede uitgang.

Het is nl zo dat deze slave klok
Afbeelding
Een 24 volts impuls moet krijgen die per minuut van polaritet verandert en maar 2 seconden mag duren.
Het is mijn bedoeling deze klok in mij huiskamer te gaan hangen.

Nu is mijn kennis van C(++) en Arduino te klein om dit een beetje vlot in elkaar te zetten.
Ik wilde een Arduino Uno voor deze taak gaan gebruiken.

Elke hulp wordt gewaardeerd.

grt Piet.

Advertisement

Gebruikers-avatar
Berichten: 4892
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Master voor een slave stationsklok.

Berichtdoor nicoverduin » 03 Okt 2015, 09:27

Ik zou zeggen:
a) beschrijf (schematisch) wat je wilt doen
b) bestudeer her "blink without delay" programma omdat jouw programma vrijwel een uitbreiding daarop is.
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 66
Geregistreerd: 02 Okt 2015, 22:31

Re: Master voor een slave stationsklok.

Berichtdoor bossie » 03 Okt 2015, 12:13

nicoverduin schreef:Ik zou zeggen:
a) beschrijf (schematisch) wat je wilt doen

Ik dacht dat mijn verhaal hier boven redelijk duidelijk was.

nicoverduin schreef:b) bestudeer her "blink without delay" programma omdat jouw programma vrijwel een uitbreiding daarop is.

Op het internet circuleren diverse 'blink without delay' programma's, maar die sturen uitgangen aan met verschillende intervallen.
Nu zijn die aan te passen dat weet ik.
Maar wat ik nodig heb is één uitgang die laag wordt op de oneven minuten en één uitgang die laag wordt op de oneven minuten.

grt Piet.

Gebruikers-avatar
Berichten: 4892
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Master voor een slave stationsklok.

Berichtdoor nicoverduin » 03 Okt 2015, 13:11

bossie schreef:
nicoverduin schreef:Ik zou zeggen:
a) beschrijf (schematisch) wat je wilt doen

Ik dacht dat mijn verhaal hier boven redelijk duidelijk was.

nicoverduin schreef:b) bestudeer her "blink without delay" programma omdat jouw programma vrijwel een uitbreiding daarop is.

Op het internet circuleren diverse 'blink without delay' programma's, maar die sturen uitgangen aan met verschillende intervallen.
Nu zijn die aan te passen dat weet ik.
Maar wat ik nodig heb is één uitgang die laag wordt op de oneven minuten en één uitgang die laag wordt op de oneven minuten.

grt Piet.


Het was niet voor mij bedoeld, maar juist voor je zelf om je denken te ordenen.....
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 66
Geregistreerd: 02 Okt 2015, 22:31

Re: Master voor een slave stationsklok.

Berichtdoor bossie » 03 Okt 2015, 13:17

OK duidelijk, enige concrete hulp hoef ik dus niet van je te verwachten.

Gebruikers-avatar
Berichten: 4892
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Master voor een slave stationsklok.

Berichtdoor nicoverduin » 03 Okt 2015, 14:43

Als je zo reageert zeker niet.
Docent HBO Software Engineering, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 66
Geregistreerd: 02 Okt 2015, 22:31

Re: Master voor een slave stationsklok.

Berichtdoor bossie » 03 Okt 2015, 18:10

Het is alleen maar een constatering Nico.
Als jij denkt dat ik chaotisch denk, dan kan ik dat nauwelijks een positive grondhouding noemen, toch?
Maar doe alsjeblieft geen moeite wat mij betreft.

Berichten: 30
Geregistreerd: 22 Jun 2013, 00:04

Re: Master voor een slave stationsklok.

Berichtdoor Duiker » 04 Okt 2015, 09:35

Sorry bossy, maar je gedraagt je behoorlijk onbeschoft hier.
Het gegeven antwoord was behoorlijk duidelijk. Wel moet je zelf nog enige moeite doen. En dat is ook precies de bedoeling.

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

Re: Master voor een slave stationsklok.

Berichtdoor shooter » 04 Okt 2015, 13:06

Er zitten dus twee spoelen in die om en om LOW moeten worden:

digitalWrite(spoel1,LOW);
delay 2000
digitalWrite(spoel1,HIGH);
delay 58000
digitalWrite(spoel2,LOW);
delay 2000
digitalWrite(spoel2,HIGH);
delay 58000
dat is eigenlijk alles.
ik ben het overigens wel eens met de anderen dat het beter is om niet met delay te werken, maar een begin heb je nu.
de stroom is wel beperkt tot 40 mA dus ik denk dat er nog wat meer nodig is aan elektronica

(en bossy klinkt ook niet echt vriendelijk, geintje)
paul deelen
shooter@home.nl

Berichten: 150
Geregistreerd: 15 Dec 2012, 21:02
Woonplaats: Delfzijl

Re: Master voor een slave stationsklok.

Berichtdoor FPCUser » 06 Okt 2015, 12:31

Ik dacht aan een minutenteller die gaat van 0 naar 59.
Je kijkt dan als, de waarde veranderd is, of het een even of oneven getal is.
Is dat het getal even dan geef je een impuls op de ene uitgang,
bij een oneven getal een impuls op een andere uitgang.

Even/oneven kan je mooi in een functie zetten met als argument het aantal minuten en als
return waarde true of false als even of oneven.
We hebben op school geleerd dat een getal even is als het gedeeld kan worden door 2.
Ze vergaten daarbij te vertellen dat de rest dan 0 is.
Ook een oneven getal is bij een integer deling deelbaar door 2, maar heeft als rest 1.
Kijk je dus alleen naar de rest dan is bij 0 het een even getal, bij 1 is het een oneven getal.
Arduino = C heeft daar een operator voor, n.l. % (modulus).

Dus cpp code
if (minuten % 2 == 0)


hier een kleine test, dan snap je wel wat ik bedoel.

cpp code
void setup() {
Serial.begin(9600);
}

void loop() {
for (int n = 0; n < 59; n++) {
if (isEven(n)) {
Serial.print(n);
Serial.print("\t");
Serial.println("Even");
}
else {
Serial.print(n);
Serial.print("\t");
Serial.println("Oneven");
}
delay(1000);
}
}

boolean isEven(int minuten) {
if (minuten % 2 == 0)
return true;
else
return false;
}


Tenslotte: hoe maak je nu een minuten teller?
Zie het antwoord van Nico...

Volgende

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast