een andere toon toevoegen in een workout sketch

Hallo iedereen

dank voor jullie tijd om dit te lezen.

Ik ben qua Arduino een behoorlijke leek maar doe mijn best om toch mijn probleem op te lossen.

Mijn wens is een kastje te maken die gebruikt kan worden voor een bokstraining.

Bofkont die ik ben want een kant en klare sketch was te vinden op het web.
Het is mij gelukt om de sketch dusdanig aan te passen dat het werkt zoals ik wil.

Standaard start de sketch op met een 3 minuten training schema.
Wanneer de 3 minuten om zijn geeft hij een geluidssignaal dat de break van 1 minuut is begonnen.
Na 1 minuut komt weer het signaal dat de training van 3 minuten is begonnen.
En zo gaat het eeuwig door en dat is perfect.

De sketch geeft ook nog de mogelijkheid om voordat de tijd om is ook een geluidswaarschuwing te geven. Dit is in te stellen door het aantal seconden in de sketch in te vullen. Maar dat gebruik ik niet.

Al met al een prachtige sketch dus, maar ik heb 1 wens en mijn kennis reikt niet zover om dat voor mekaar te krijgen.

Het geluidssignaal voor de start van de training en voor de start van de break zijn hetzelfde, NOTE_CS6
Ik zou zo graag daar voor de start van de training en de start van de break aparte geluidssignalen hebben.

Echter zie ik daar zo gauw geen slimme oplossing voor.

Ik hoop dat iemand me een stapje verder kan helpen. Liefst in jip en janneke taal :slight_smile:

Mijn aangepaste code vind je in de bijlage met de benodigde bibliotheken.
Het origineel vindt je hier BoxingTimer

Bij voorbaat dank

Alanso

alantest.ino (7.69 KB)

notes.h (1.96 KB)

ScrollableMenu.cpp (1.62 KB)

ScrollableMenu.h (675 Bytes)

Ik hou hoop :slight_smile:

Hoi alanso.

Ik was eerder deze week al een heel antwoord aan het typen, maar dat was, net als vandaag, op een erg laat moment (laat thuis door drukte op het werk).
Daardoor loop ik het risico dat mijn antwoord niet duidelijk genoeg is of gewoon fouten zal bevatten.
Dus dan antwoord ik beter even niet.

Je geeft wel aan dat je er niet in slaagt om per event een andere toon te laten horen.
Maar je vertelt niet wat dan het probleem is.

Is het dat je niet weet hoe je een andere toon kunt genereren ? (ik denk van niet, want je schijnt notes.h gewijzigd te hebben)
Of is het dat je niet weet welk event er op dat moment geldig is ?
Is het misschien een combinatie van die twee, of misschien geen daarvan ?

Overigens moet ik ook wel even kwijt dat ik je sketch een hopeloos ingewikkeld ding vind voor een nogal simpel timertje.
Alsof het hier op de 1/1000e seconde aankomt wanneer je training start of stopt.
En ook met verschrikkelijk veel lagen waardoor het overzicht heel snel verloren gaat.

Maar goed, jij wil hier graag mee verder werken dus dan is dat waar naar gekeken moet worden.
Vertel daarom dus nog eens wat uitgebreider waar je vast loopt en je hulp mee nodig hebt.

Hoi Mas3,

laat me allereerst even mijn dank en waardering uitspreken voor je uitgebreide antwoord.
Als oud satelliet forum moderator weet ik dat het veel tijd en energie kost.

Sorry dat ik onduidelijk ben op op een paar vlakken.

De eerlijkheid gebiedt me te zeggen dat het grootste probleem is dat ik gewoon heel weinig weet van de programmeertaal maar wel deze sketch nodig heb voor een project. Ik ben al bezig met leren van Fusion360 voor 3d printen en de tijd ontbreekt mij om deze programmeertaal ook nog volledig tot mij te nemen.

Om je vraag te beantwoorden, ja ik weet wel hoe je de tone kunt veranderen maar niet hoe ik twee verschillende tonen kan krijgen voor wanneer de training start en wanneer de break start.

In dit script wordt daar dezelfde tone voor gebruikt.
Als ik die tone verander dan verandert hij dus bij de start van de training en bij de break.
En deze wil ik graag een verschillende tone laten hebben.

Voor de rest doet het display wat ik wil en de keuzeknop om te kiezen voor 3,4 of 5 minuten training.
Dus de sketch is qua functioneren eigenlijk perfect voor mij maar dezelfde toon is enorm onhandig want iemand die net gaat beginnen en de toon hoort weet niet of dat nou de toon is van pauzeren of starten met trainen.

Ik beantwoord graag elke andere vraag.

Groet Alanso

Ok.

Je hebt nu eigenlijk niet veel meer verteld dan in je 1e vraag.
Maar je probleem lijkt me dat je niet weet in welke stage je sketch verkeert, net als die gebruiker die zojuist binnen kwam lopen.
Dan ligt de sleutel dus in het vaststellen en onthouden in welke stage je bent.
Daarmee kun je dan ook de keuze voor je toon bepalen.
Jouw sketch houdt ook bij waar 'ie mee bezig is, want anders kan ie helemaal niet iets verschillends doen bij trainen of pauzeren.
Maar die vele lagen waarmee gewerkt word, maakt dit best lastig terug te vinden.
Trouwwens, die lagen heten eigenlijk classes.
Ik kan je niet vertellen hoe je dit hier uit gaat halen, want ik vind dat hele gedoe met die classes hier maar erg ingewikkeld en ondoorzichtig (en het is alweer te laat om het eens even goed te bekijken).

Overigens is het heel eenvoudig om meerdere tonen te laten klinken.
Zo kun je dan laag - hoog doen bij starten van de training, en hoog - laag bij het beƫindigen.
Vergelijk dat met het inpluggen en weer verwijderen van een USB device in je Windows PC, daar klinkt ook een dergelijke weergave.

We kunnen elkaar de hand schudden over voormalige online activiteiten.

Hoi MAS3,

bedankt weer voor je antwoord.

Ik heb het vermoeden dat de training en de break hetzelfde programma afloopt alleen met een andere tijdschema, de ene 3 minuten de ander 1 minuut.

En door dat ze in datzelfde programma zitten is het geluid wat in dat programma gebruikt wordt hetzelfde bij training en break.

Ik weet alleen mijn god niet hoe ik dat veranderen moet.

Als het voor jou al een moeilijke sketch is dan kan je wel nagaan wat het voor een leek als ik een onmogelijke opgave is.

gr. Alanso