Kinderen leren rekenen

Arduino specifieke Software
Berichten: 14
Geregistreerd: 05 Apr 2016, 12:34

Kinderen leren rekenen

Berichtdoor Koemi » 05 Apr 2016, 13:13

Mijn eerste post op dit forum! ;)

Inmiddels al een en ander kunnen maken aan protoyping (actie & reactie spul) mbv de geweldige Arduino.

Nu heb ik een andere uitdaging liggen, waar ik wat extra hulp kan gebruiken. Ik heb flink gezocht op het internet, maar ik kan het antwoord (nog) niet vinden. Wellicht dat hier iemand is die meer weet?!

Ik ben op zoek naar een manier om de Arduino rekensommen te laten tonen op een lcd. Input via toetsenbordje. Hier is wel uit te komen, maar nu die rekensommen produceren en bepaalde restricties aanbrengen...

Even een paar voorbeelden wat ik graag op het LCD zou willen zien:

1 + 2 = ? -> wacht op Input
? - 5 = 3 -> wacht op Input
3 x ? = 6 -> wacht op Input
3 ? 3 = 9 -> wacht op Input

Restricties:
- Geen negatieve antwoorden mogelijk (maw, de uitkomst van de som is altijd positief).
- Het te geven antwoord is altijd 0 t/m 9. Dus geen tientallen (de opgave kan dus wél tientallen bevatten).
- Als het niet nodig is, gebruik ik liever geen lijsten met sommen met alle mogelijkheden. Dit is waarschijnlijker eenvoudiger om te maken, maar ik vind de (wiskundige en programmatechnische) uitdaging interessant.

Misschien dat bovenstaande al eens eerder is gemaakt, maar ik ben het nog niet tegengekomen...

Advertisement

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

Re: Kinderen leren rekenen

Berichtdoor nicoverduin » 05 Apr 2016, 13:45

Of je neemt een apart toetsenbordje of je kiest voor bijvoorbeeld een nextion schermpje.

Vwb. de rekensommen....Random + - / of * nemen (tabel met random 0-3 verwijzend naar soort som
2 random getallen nemen die van 0-10 lopen bijvoorbeeld.
En klaar.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 14
Geregistreerd: 05 Apr 2016, 12:34

Re: Kinderen leren rekenen

Berichtdoor Koemi » 05 Apr 2016, 14:34

nicoverduin schreef:Of je neemt een apart toetsenbordje of je kiest voor bijvoorbeeld een nextion schermpje.

Vwb. de rekensommen....Random + - / of * nemen (tabel met random 0-3 verwijzend naar soort som
2 random getallen nemen die van 0-10 lopen bijvoorbeeld.
En klaar.


En klaar zegt ie :shock:

Bedankt Nico voor je snelle reactie!
Die Nextion kende ik nog niet en ziet er zeker interessant uit, bedankt! Ben nog op zoek naar een waterdicht touchscreen alternatief (voor in een stoomcabine). Dat is een ander verhaal, maar als je wat weet...?

Je brengt mij wel al aardig op de goede weg, moet ik zeggen, zo had ik er nog niet aan gedacht. Maar heb je de rekenvoorbeelden goed gezien? Zoals je het (kort en krachtig) uitlegt, denk ik dat sommen waarvan het antwoord ná het "=" teken programmatechnisch redelijk eenvoudig te maken zijn, maar hoe zit het met de sommen waarvan het te geven antwoord vóór het "=" teken staat?

De Arduino moet allereerst de som produceren en op de achtergrond uiteraard het antwoord al weten, zodat de Arduino in het vervolg (dus na het gegeven antwoord) kan reageren met "Goed" of "Fout".

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

Re: Kinderen leren rekenen

Berichtdoor nicoverduin » 05 Apr 2016, 16:00

Je kan in de vergelijking ook weer een randomizer gebruiken. In feite kijk je bij de eenvoudige vergelijkingen naar 4 dingen:
a) getal1
b) getal2
c) operatie
d) resultaat

Als een van a,b,d een vraagteken is (de random) kun je de vergelijking oplossen (immers een vergelijking met 1 onbekende :)).
En als je handig bent, los je het eerst gewoon op via de terminal. Kun je later een andere user interface op maken.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 14
Geregistreerd: 05 Apr 2016, 12:34

Re: Kinderen leren rekenen

Berichtdoor Koemi » 05 Apr 2016, 18:17

nicoverduin schreef:Je kan in de vergelijking ook weer een randomizer gebruiken. In feite kijk je bij de eenvoudige vergelijkingen naar 4 dingen:
a) getal1
b) getal2
c) operatie
d) resultaat

Als een van a,b,d een vraagteken is (de random) kun je de vergelijking oplossen (immers een vergelijking met 1 onbekende :)).
En als je handig bent, los je het eerst gewoon op via de terminal. Kun je later een andere user interface op maken.


Ok. Ik ga het proberen. Ik zie het nog niet helemaal voor me, maar eerst maar eens wat code produceren. Inderdaad was ik van plan om eerst de serial monitor te gebruiken om de sw te testen. 8-)

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

Re: Kinderen leren rekenen

Berichtdoor shooter » 05 Apr 2016, 18:48

random is prima begin zoals nico voorstelt, maar denk aan de problemen waar je tegen aan loopt:
allereerst de uitkomst van de som moet < 9 zo niet nog een keer random pakken.
dan je probleem van voor het = teken, je kunt alle sommen omdraaien a+b=c is gelijk aan c-b=a of c-a=b, zelfde voor - en * en / (delen zou ik niet gebruiken trouwens)
je hebt nu wel 4*3 = 12 mogelijkheden, maar is goed op te vangen met een case.

ofwel iets in de trant van if c=? & methode = + dan case is 1.
if c=? & methode =- dan is het 2 enz.

maar je kunt ook direct daaronder de berekening maken en checken of de uitkomst goed is, zo ja dan op scherm zetten, wachten op antwoord, controlleer antwoord en dan terug naar random. zo nee terug naar random.

een lcd is wel handig en je hebt maar 4 pinnen nodig voor je toetsenbord. (dan heb je al 15 mogelijkheden, dus genoeg.
paul deelen
shooter@home.nl

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

Re: Kinderen leren rekenen

Berichtdoor shooter » 06 Apr 2016, 10:00

als aanvulling: mijn zoon is bezig op stage om een gelijkaardig ding te maken, en als ingangen gebruikt hij een touch sensor. dat maakt het leuker. Op de school maakt iemand van folie cijfers en daar komt dan een draadje aan om naar de arduino te gaan.
voeding komt uit batterij.
paul deelen
shooter@home.nl

Berichten: 14
Geregistreerd: 05 Apr 2016, 12:34

Re: Kinderen leren rekenen

Berichtdoor Koemi » 06 Apr 2016, 14:02

Ik zit al wat te puzzelen, maar er is meer hulp gewenst.

Ik probeer de lijn van Shooter aan te houden, maar wellicht kan het anders...? Onderstaande (mits mogelijk, uiteraard) zou het aantal cases verkleinen, want met 12 ben je er nog niet. je hebt nog controle van de uitkomst nodig of deze waarde niet <0 of >9 is (of ik begrijp het verkeerd, dat kan natuurlijk ook)...

1. mbv random uit lijsten waarden oppikken;
Zeg dat je bijvoorbeeld een som opbouwt uit: aa bb cc = dd, waarbij aa en cc dus '0 t/m 9' kan zijn, bb '+ of -'. ('*' en '/' laat ik vrl even zitten 8-) ).
2. Arduino rekent de som uit en waarde dd wordt derhalve bekend.
3. Nu random de Arduino een van de waarden (aa, cc of dd) onthouden en omzetten naar "??".
4. Als ?? bij dd terechtkomt, is extra analyse nodig om te kijken of de waarde niet <0 of >9 is, anders terug naar stap 1.
5. De omgezette waarde (voordat het wijzigde in "??") is het te verwachten antwoord.
6. Som projecteren, antwoord afwachten etc.

De problemen die ik tegenkom zijn bijvoorbeeld het omzetten van een byte (of int) die ineens in een char ("??") moeten wijzigen. Het is 'rommelen' met variabelen...
Wat is een '+' of een '-' eigenlijk? Een char? Nog niet veel info over kunnen vinden...
Een ander probleem is het projecteren van de som; hoe laat ik de Arduino rekenen. Als bijv aa=2 en bb=+ en cc=3:

dd = aa && bb && cc; (dd zou mijns insziens een unsigned int moeten zijn, daar het antwoord negatief zou kunnen worden).

Ik merk wel, dat als je gaat zoeken aangaande Arduino, dat een robot ontwikkelen interessanter is dan rekenwerk (als je de hoeveelheid info tussen beiden op het internet vergelijkt... :| )

Begrijp mij goed; ik probeer niet ideeën van anderen te 'overrulen'; ik vind de diverse mogelijkheden aftasten erg interessant en een prima oefening, omdat ik hier nog maar erg weinig ervaring mee heb.

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

Re: Kinderen leren rekenen

Berichtdoor nicoverduin » 06 Apr 2016, 14:26

Je moet ook eerst het hele concept uitwerken en dan pas deze uitwerken in een taal. Technisch is het allemaal oplosbaar. Maar zodra je heen en weer begint te flippen tussen de uitvoering en het concept wordt het vrijwel zeker een zooitje.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 14
Geregistreerd: 05 Apr 2016, 12:34

Re: Kinderen leren rekenen

Berichtdoor Koemi » 06 Apr 2016, 15:46

nicoverduin schreef:Je moet ook eerst het hele concept uitwerken en dan pas deze uitwerken in een taal. Technisch is het allemaal oplosbaar. Maar zodra je heen en weer begint te flippen tussen de uitvoering en het concept wordt het vrijwel zeker een zooitje.


Je hebt helemaal gelijk, Nico.

Maar als je nog niet zoveel programmeerervaring hebt als ik, moet je aftasten en proberen. Totdat je vastloopt. En dan kan je twee dingen doen:
1. Stug doorgaan.
2. Andere wegen zoeken om tot hetzelfde resultaat te komen.

Normaliter red ik mij prima met voorbeelden vanuit het internet (en hoef ik dus niets te vragen op dit forum), maar wb deze materie is er niet veel over te vinden, helaas.

Anyway; deze vragen blijven openstaan, welke keuze ik ook zal maken aangaande 'het concept' 8-)

De problemen die ik tegenkom zijn bijvoorbeeld het omzetten van een byte (of int) die ineens in een char ("??") moeten wijzigen. Het is 'rommelen' met variabelen...
Wat is een '+' of een '-' eigenlijk? Een char? Nog niet veel info over kunnen vinden...
Een ander probleem is het projecteren van de som; hoe laat ik de Arduino rekenen. Als bijv aa=2 en bb=+ en cc=3:

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: oilohahiguv en 6 gasten