Hi peterzoetermeer,
Het eerste wat je zal moeten leren is een aantal zaken weg te laten en daar geen denkprocessen aan besteden
En nu denk jij: maar wat dan allemaal!
Opmerkingen in de code
Een van de eerste dingen die ik doe, als ik een library of een voorbeeld stukje code gebruik is alle Blah, Blah er uit editen,
eindelijk rust voor mijn oogies en brein!
Kijk daar later maar eens naar als je een stuk verder bent, voor nu, weg er mee.
Dit betekend een regel met een opmerking en dat gaat niet naar de Microcontroler.
// Wat je hier ook schrijft, is alleen ter verduidelijking voor de code lezers en worden tijdens het omzetten van de code genegeert.
Heb je veel te zeggen dan doen ze het op de onderstaande manier, om de twee "//" caracters per regel te besparen.
Ik vind het echter hierdoor minder leesbaar worden, als ik door de code scroll.
/*
Deze regels beginnen allemaal zonder de twee // en worden tijdens het omzetten van de code genegeert,
net als wat ik hierboven heb aangegeven met de regels die beginen met //
Je kan zo uren doorgaan maar er wordt echt geen bitje in de microcontoler omgezet.
Je zet hier opmerkingen in voor jezelf of anderen die de code gaan lezen.
*/
Vreemde manier omschrijving van een doel van de code
Waar ik tegen aan liep is b.v. deze twee die je in bijna ieder stukje Arduino code tegenkomt: void setup() en void loop()
Wat nou "lege" loop en "lege" setup, dit ging er in mijn brein echt niet in, dus de enige manier is dan te accepteren dat men het op deze manier heeft vormgegeven.
Dit heb ik als volg begrepen, dat het een label is en dat het label zelf verder niets doet, dus geen data in of uit.
(Heren, als het anders is corect me!)
Arduino type
De beste manier om te beginnen is denk ik toch een Arduino Uno, lekker groot, geen gedonder met comm poort instellingen,
makkelijk de experimenteer draadjes op aan te sluiten en er is zeer veel info over te vinden.
En start met de knipperende L.E.D. code, om deze aan te passen zodat je direct feedback krijgt van je acties.
Grote en kleine letters
Oja dan deze nog even =>
c code:
adc->setReference(ADC_REFERENCE::REF_EXT, ADC_0);
Met opset wordt er in dit stukje voorbeeldcode hoofd en kleine letters gebruikt.
Maak ik hier allemaal kleine letters van, dan gaat het echt net werken.
Variabelen
Zelfs bij de eerste code worden al variabelen gebruikt...
Zie het stukje code van de knipperende L.E.D.
Als je goed kijkt passen ze hier twee manieren toe, voor het maken van opmerkingen in de code, precies zoasl ik het beschreven heb.
Maar terug naar de variabelen, dat zijn geheugenplekjes met verschillende grote en eigenschappen om vaste en/of tijdelijk data in op te slaan.
Dit is een plaatje geleend van deze website: https://www.tweaking4all.nl/hardware/arduino/arduino-programmeer-cursu…
Waarom niet gewoon "1" variabelen voor alles toepassen? dat zou te veel ruimte in nemen in de code.
De microcontrolers zijn geen gewone computers waar je even 8GB memory bij prikt...
Dus je zal vooral bij wat langere code zuinig moeten omgaan met de beschikbare ruimte hiervoor.
Print het lijstje uit als je met de Arduino gaat werken, hou het bij de hand totdat je het kan dromen
c code:
/*
Blink
Turns on an LED on for one second, then off for one second, repeatedly.
This example code is in the public domain.
*/
// Pin 13 has an LED connected on most Arduino boards.
// Pin 11 has the LED on Teensy 2.0
// Pin 6 has the LED on Teensy++ 2.0
// Pin 13 has the LED on Teensy 3.0
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
Je kan als je dat wilt alle opmerkingen uit de code halen als dit je teveel afleid, doe ik regelmatig nadat ik ze eenmaal heb gelezen.
In bovenstaande code is het heel duidelijk wat er allemaal gedaan wordt,
juist voor de beginner staat er wat extra opmerkingen in.
c code:
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
Alles wat achter de twee // staat hoef ik nu niet meer te weten omdat de code die er voor staat voor mij nu duidelijk is.
Kleine stapjes tegelijk, laat je niet te snel ontmoedigen.
Ga er mee spelen als je fris bent en een open mindset hebt.
Lambiek
Ik ga hier geen PIC, Arduino of de TI Microcontroler oorlog starten.
Mijn brein voelt zich iets beter thuis in de Arduino omgeving, heeft te maken met hoeveel tijd ik beschikbaar heb voor coderen.
Ik gebruik Teensy's als ik meer geheugenruimte, snelheid of een betere ADC nodig heb.
Ieder mag voor zichzelf uitzoeken wat hij prettig vind in de hobby omgeving.
Doe je het voor je werk, dan kies je meestal voor andere controlers en programmeer omgevingen, maar voor hobby mag iedereen van mij met Prof spul werken, jullie feestje.
Groet,
Bram