Na veel testen met componenten die ik op voorraad had, ben ik op een kleine modificatie gekomen en kan mijn versie nu ook met korte pulsen overweg. In plaats van een interrupt gebruiken, laad ik een condensator van 1uF of via een weerstand van 4k7 op. De trigger ontlaad deze condensator via een weerstand van 150 ohm. De condensator fungeert vervolgens als een soort 'tussengeheugen'. Het duurt even voordat de condensator wordt opgeladen (20ms). De software leest met een interval van theoretisch 1ms (in de praktijk lijkt dit zo'n 5-10ms) de ADC-poort uit waar de condensator op aangesloten is. Als de waarde lager is dan een vastgestelde waarde - net onder het maximum - wordt dat gezien als een triggerpuls en wordt de buzzer geactiveerd.

Om maar eens het verschil te tonen van in programmeertaal... zie bijlage.
Al die kleurtjes in dat programma is heel mooi om naar te kijken ;)
Zoiets programmeren is hooguit 15min werk inclusief simulatie.

Let wel, ik doe zeker geen afbraak aan andere programmeertalen en het resultaat ervan, mogelijks beter dan mijn voorbeeld.

Onderstaand programma in LDmicro is voor het schema dat ik eerder heb gepost.

Ik denk dat hier niet zo zeer het verschil in programmeertaal zit, maar (1) de opzet van de hardware en (2) de functionaliteit.

Jouw schema is veel eenvoudiger van opzet dan die van mij. 4 schakelaars uitlezen kan tijdens de trigger-puls. 1/3 tot de helft van mijn code is alleen al voor de buzzer-instelling. Met 1 drukknop ontkom je niet aan wat meer software.