tone(pin, toonhoogte);
of tone(pin, toonhoogte, toonDuur);
. Ik ben er recent achter gekomen dat de functie met de toonduur vaak niet goed werkt. Je kunt dit als volgt ondervangen: tone(pin, toonhoogte); delay(toonDuur); noTone(pin);
Het is ook mogelijk een grote luidspreker aan te sluiten, maar dan moet je een versterker gebruiken met minimaal één transistor.
Er zijn ook mogelijkheden om geluidssamples af te spelen, maar dat heb ik nog niet getest.#include "toonhoogtes.h" #define pin 2 // Sluit hier je luidspreker op aan int melodie[] = { _C4, _G3, _G3, _A3, _G3, 0, _B3, _C4 }; int toonLengte[] = { 4, 8, 8, 4, 4, 4, 4, 4 }; void setup() { for (int Noot = 0; Noot < 8; Noot++) { int toonDuur = 1000 / toonLengte[Noot]; tone(pin, melodie[Noot], toonDuur); // speel de toon int pauzeTussenTonen = toonDuur * 1.30; delay(pauzeTussenTonen); noTone(pin); // stop de toon } } void loop() {} // Druk op reset om de melodie nog een keer te horenKlik hier met de rechter muisknop en kies "Doel opslaan als" om toonhoogtes.h te downloaden. Zet deze in dezelfde map als je sketch.
Dit document is het laatst bijgewerkt op 29 juli 2023