Inhoudsopgave:
Video: Arduino - piëzo piano met drie knoppen - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
De piano met drie knoppen is een project voor beginners met enige ervaring met het gebruik van de Arduino.
Ik werd per ongeluk meegesleept toen ik dit probeerde te maken terwijl ik voor het eerst met de piëzo-zoemer speelde. Het was ZO luid! Toen ik probeerde verschillende methoden te bedenken om de zoemer stiller te maken en verschillende frequenties uit te proberen met behulp van de tone() en noTone()-functie, realiseerde ik me dat het misschien leuk zou zijn om te proberen de piëzo-zoemer te mixen met mijn andere favoriete componenten van mijn Arduino kit: knoppen en de potmeter.
Benodigde materialen zijn onder meer:
- 1 Arduino
- 1 Breadboard
- 1 USB-kabel
- Jumper Draden (diverse kleuren)
- 1 330 Kilo-ohm weerstand
- 1 piëzo-zoemer
- 3 drukknoppen
- 1 Potentiometer
Stap 1: piëzo-zoemer
Zet om te beginnen de piëzo op het breadboard van de Arduino. Een kant ervan (de kortere beenzijde) moet naar de grond lopen. De andere kant (de kant met het langere been) moet worden aangesloten op een digitale ingangspin. Ik heb ervoor gekozen om het aan te sluiten op 8.
Stap 2: Drukknoppen
Vervolgens is het tijd om de drukknoppen in te stellen. Net als de piëzo moeten de drukknoppen worden aangesloten op aarde en op een digitale ingangspen.
Stap 3: Potentiometer
De laatste stap in de fysieke bouw is de potentiometer. Potentiometers zijn er in een paar verschillende vormen. We gebruiken de potentiometer als spanningsdeler, dus alle drie de poten moeten worden aangesloten.
Rechterbeen: negatieve balk (grond)
Middenbeen: analoge pin 0
Linkerbeen: Positieve balk
Stap 4: Codeer
Tijdens het schrijven van code voor dit project heb ik verwezen naar informatie over een paar specifieke soorten functies:
toon()
noTone() (Ik heb deze uiteindelijk niet gebruikt. Ik heb de frequentie in plaats daarvan op "0" gezet.)
kaart()
Een andere prachtige referentie voor nieuwe gebruikers van de Piezo Buzzers is hier te vinden. Hoewel het idee om het geluid van de piëzo-zoemer te veranderen eenvoudig lijkt, kan het in het begin een beetje overweldigend zijn!
De functie tone() kan in drie delen worden onderverdeeld:
- Pin (de pin waar de piëzozoemer op is aangesloten)
- Frequentie (de frequentie van het geluid in hertz)
- Duur (de duur van het geluid gegeven in milliseconden)
In principe ziet het er als volgt uit: toon (pin, frequentie, duur). De derde component (duur) is optioneel, terwijl de andere twee nodig zijn om de zoemer te laten functioneren. De "frequentie"-component van de toonfunctie is wat kan worden beschouwd als "het geluid" dat door de zoemer wordt geproduceerd.
Je zult ook merken dat de code twee andere stukjes code bevat. Er zijn enkele if/else-instructies ingesteld om de Arduino te vertellen wat hij moet doen als er verschillende knoppen worden ingedrukt en om hem in te stellen met "frequentie = 0" in situaties waarin geen van de knoppen wordt ingedrukt. Binnen de if/else-statements worden map()-functies gebruikt om de schaal van de potentiometer af te beelden op een reeks frequenties. Deze kunnen worden gewijzigd! Speel met verschillende frequentiewaarden om te zien welke verschillende geluiden je uit de piëzo kunt halen.
Bekijk hier de code die ik heb gebruikt om de piano met drie knoppen te maken of kijk hieronder.
int piëzoPin = 8; // Stel de pin in die is verbonden met Piezo.
int sensorPin = 0; // Stel de pin in die is aangesloten op de sensor (de potentiometer). int sensorWaarde = 0;
int-knop1 = 5; // Stel de invoerpinnen in die op de knoppen zijn aangesloten.
int-knop2 = 4; int-knop3 = 3;
int-frequentie = 0;
const int vertragingstijd = 500; // Stel een constante in voor de variabele vertragingstijd in de functie tone().
ongeldige setup() {
pinMode (knop1, INPUT_PULLUP); pinMode (knop2, INPUT_PULLUP); pinMode (knop3, INPUT_PULLUP); }
lege lus() {
sensorValue = analoog lezen (sensorPin); // Lees de sensor. // Wijs de verschillende waarden van de potentiometer toe aan een reeks frequenties voor elk van de drie knoppen. if (digitalRead (button1) == LAAG) {frequentie = kaart (sensorValue, 0, 1023, 400, 499); } else if (digitalRead (button2) == LAAG) { frequency = map (sensorValue, 0, 1023, 500, 599); } else if (digitalRead (button3) == LAAG) { frequency = map (sensorValue, 0, 1023, 600, 699); } anders { frequentie = 0; } toon (piezoPin, frequentie, vertragingstijd); // Stel de tone() functies in met variabelen. }
Aanbevolen:
Knoppen voor muis scrollen: 5 stappen
Knoppen voor muis-scroll: Ik heb in de loop der jaren verschillende computermuizen gehad en het scrollwiel is het enige dat constant niet werkt of onregelmatig werkt. Ik heb tot voor kort het gebruik van de scroll-optie meestal vermeden, toen ik besloot om het grafische pakket
Een menu in Arduino en het gebruik van knoppen: 10 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Een menu in Arduino en het gebruik van knoppen: in mijn Arduino 101-zelfstudie leert u hoe u uw omgeving in Tinkercad kunt instellen. Ik gebruik Tinkercad omdat het een behoorlijk krachtig online platform is waarmee ik een reeks vaardigheden aan studenten kan demonstreren voor het bouwen van circuits. Voel je vrij om
Meerdere knoppen aansluiten op een enkele pin op Arduino: 4 stappen
Meerdere knoppen aansluiten op een enkele pin op Arduino: Hallo allemaal, Als je Arduino-projecten knipperende LED's zijn ontgroeid, heb je misschien wat extra pinnen nodig. Ik zal je een truc laten zien die je kunt gebruiken waar je meerdere knoppen kunt hebben, allemaal aangesloten op dezelfde analoge pin
MESH: beoordelingssysteem met op internet aangesloten knoppen: 5 stappen (met afbeeldingen)
MESH: beoordelingssysteem met op internet aangesloten knoppen: wat als restaurants of andere bedrijven ter plekke feedback van klanten zouden kunnen verzamelen en deze onmiddellijk met een spreadsheet kunnen synchroniseren? Dit recept is een snelle en eenvoudige manier om uw eigen interactieve beoordelingssysteem te maken. Pak gewoon een set met internet verbonden b
Knoppen voor tv-afstandsbediening repareren: 5 stappen
Knoppen voor afstandsbediening van tv repareren: bepaalde knoppen op een afstandsbediening van een tv kunnen na verloop van tijd versleten raken. In mijn geval waren het de knoppen kanaal omhoog en kanaal omlaag. De contacten aan de onderkant van de knop zijn waarschijnlijk versleten. Zo heb ik de mijne gerepareerd