Eerste probeersel. Werkt niet zoals verwacht. Waar ga ik fout

MAS3:
Het gaat daar nog steeds fout.
Jij wil aangeven dat je pin 17 wil gebruiken, omdat daar een LED op is aangesloten.
Dat doe je eerst (met je aangepaste code) hier:

const bool RXLED = 17;

Je maakt hier de term RXLED gelijk aan de boolean die overeenkomt met de waarde 17.
Zoals septilion al aangaf (en ik ook in een antwoord dat ik uiteindelijk maar niet heb geplaatst), werkt het bij booleans iets anders als je mogelijk zou verwachten.
Want daar is een nul een nul (das nog niet zo verrassend).
Maar alles wat niet een nul is, is een 1.

Dat wist ik. Ik had ook geen problemen met het feit dat het een 1 of 0 was. Ik verwachtte een on/off situatie te maken. Daar heb ik de fout gemaakt door een (ik meende dat dat alias heette) verwijzing naar een pin, te behandelen als de status van de pin.
Nu realiseer ik me ook dat dat de reden is dat ik niks meer zag knipperen.

Dus als je een stukje verderop in je code dit doet:

  pinMode(RXLED, OUTPUT);

Dan is dat gelijk aan dit:

  pinMode(1, OUTPUT);

En vertel je dus jouw code dat je pin 1 wil gebruiken als een uitgang om weer iets verderop een LEDje mee te laten knipperen.

Inderdaad... Zo fout dit... :frowning:
Het stomme was dat ik dit achteraf wel wist en het ook zou aanpassen (nav een eerdere reactie van jullie).

Dat jij uiteindelijk op pin 17 waar je LEDje in werkelijkheid wel aan zit, een 1 of een nul (dus de keuzes die booleans je bieden) wil zetten heeft daar dus verder weinig mee te maken,

Idd. Ik wijs op een andere manier een pin toe, snap ik nu.

Wat de functie van die pin 1 versus pun 17 betreft, maakt dat voor het projectie niet zoveel uit.
Het is slechts een indicatie ledje om te zien waar een programma zich bevindt.

Even terug naar de ProMicro in zijn hoedanigheid als HID.
Dat stukje code heb ik uitgeschakeld omdat ik eerst de voorwaarden/condities wil creeeren waaronder de ProMicro zijn waardes als toetsenbord moet gaan "typen".

Ik zou dus verwachten dat de ProMicro USB poort constant een verbinding heeft met mijn laptop.
Of is het zo dat seriele data naar de serial-monitor conflicteert met het proggen van de code in de ProMicro?

En daarbij blijf ik het lastig vinden dat het apparaatje het niet lijkt te doen zónder aangesloten te zijn op mijn laptop. (wacht even... Ik bedoel dit anders, maar ik weet niet meer hoe. Zonder USB geen spanning op de print. Dat was het niet...)

Je moet even opletten met de Leonardo varianten wanneer je een seriële verbinding initialiseert.
Ik kan je nu niet direct een link geven, maar ik weet wel (ook weer niet van de hoed en de rand) dat daar een specifieke stap voor gezet moet worden (serial.available, zo even uit het hoofd), anders blokkeert de hele boel.

Waarvan Akte, MAS3,

Ik doe nog niet zoveel met het uiteindelijke plan om een stukje tekst te genereren, afhankelijk van berekende waardes.
Ik wil me eerst maar eens vastbijten in hoe die formules binnen schappelijke loopjes kunnen blijven en ik geen Goto of Gosub acties nodig heb.

Als ik dat in de vingers heb, kan ik de HID funktie aanroepen om de stukjes tekst op het beeld te krijgen.
Voor nu (gebaseerd op jullie adviezen) laat ik dat seriële achterwege.
Tenzij het meekijken met de seriële monitor daar ook onder valt. Want die zal nodig zijn tijdens het programmeren om te zien of alles naar wenst verloopt. Uiteindelijk kan ik die regeltjes wel laten vervallen.

Ja, het meekijken via de seriële poort valt daar ook onder.
Want om dat te faciliteren, moet je eerst de verbinding opzetten en vervolgens iets naar die verbinding sturen, zodat je ook wat hebt on mee te kijken met de seriële monitor.

Wat dat aangaat was ik zo nu en dan te haastig met het starten van het programma.
Terwijl de dataupload nog niet leek te zijn voltooid.

Ik maak een keuze tussen het gebruik van de seriële poort, of van een tijdelijk toegevoegd display.
Het gaat mij er daarbij dan om wat voor mij op dat moment het beste uitkomt.
Wanneer ik iets maak waar een display bij hoort, dan probeer ik slechts een gedeelte van het display te gebruiken voor het debuggen.

Soms is het ook mogelijk meerdere displays te gebruiken.
Ik kan me wel voorstellen dat wanneer je geen pins over hebt, dat dat dan allemaal wat lastig is.

Houd er rekening mee dat bij de meeste Arduinos het opzetten van een seriële verbinding met de PC, de Arduino een reset krijgt.
Je kunt dat meestal wel voorkomen, maar dan word het uploaden van nieuwe code weer lastig (want daarvoor is een reset noodzakelijk).

Dat verklaart wel de nodige bugs in het seriele deel.
Om dit moment gebruik ik de seriele monitor ook om te debuggen.
Toen ik nog mijn projecten in PICbasic schreef, had ik ook (vaak) een 2x20 display om zaken te monitoren.
Ik vond het juist zo makkelijk dat het bij Arduino met een monitor gaat zodat ik niet meer hele bouwwerken, op een plankje geschroefd, mee moest zeulen als ik weer ging programmeren.
Toegegeven, er zaten toen ook nog proggers bij, en een USB HUB...

Bestaat er ook een online omgeving met een virtuele Arduino?
Zodat je gedragingen kunt monitoren zonder daadwerkelijk een Arduino aan te sluiten?
Leek me zo nu en dan wel handig.

Uiteindelijk zal ik natuurlijk niets meer bij hoeven houden met de seriele monitor, en is mijn Arduino een soort van keyboard. Ik hoop alleen wel dat deze meteen als zodanig start, en ook herkend wordt door de betreffende PC, zodat hij meteen zijn taak kan uitvoeren.

Tot zover ben ik flink vooruit geholpen!

FTMZ:
Bestaat er ook een online omgeving met een virtuele Arduino?

Ja, maar ver weg van blijven :wink: Werken leuk om wat standaard ledjes te laten knipperen maar daarna is het een ramp.

FTMZ:
Ik hoop alleen wel dat deze meteen als zodanig start, en ook herkend wordt door de betreffende PC, zodat hij meteen zijn taak kan uitvoeren.

Hij zal zich altijd eerst even aanmelden als Arduino om te controleren of je hem niet wilt programmeren. Gebeurd dat niet dan verdwijnt hij als Arduino en verschijnt hij als HID.

Dank voor deze toevoeging. Had ik nog even gemist.
Geen simulatiesofteware dus. :slight_smile: