Table des matières:

Arduino - Piano Piezo à trois boutons : 4 étapes
Arduino - Piano Piezo à trois boutons : 4 étapes

Vidéo: Arduino - Piano Piezo à trois boutons : 4 étapes

Vidéo: Arduino - Piano Piezo à trois boutons : 4 étapes
Vidéo: Как правильно намотать импульсный трансформатор? Обучение. 2024, Novembre
Anonim
Image
Image

Le piano à trois boutons est un projet pour les débutants ayant une certaine expérience de l'utilisation de l'Arduino.

J'ai été entraîné par inadvertance à essayer de créer cela en jouant avec le buzzer piézo pour la première fois. C'était SI fort ! En essayant de trouver différentes méthodes pour rendre le buzzer plus silencieux et en essayant différentes fréquences à l'aide des fonctions tone() et noTone(), j'ai réalisé qu'il pourrait être amusant d'essayer de mélanger le buzzer piézo avec mes autres composants préférés de mon Arduino kit: les boutons et le potentiomètre.

Les matériaux nécessaires comprennent:

  • 1 Arduino
  • 1 planche à pain
  • 1 câble USB
  • Fils de cavalier (différentes couleurs)
  • 1 résistance de 330 kilo-ohms
  • 1 buzzer piézo
  • 3 boutons poussoirs
  • 1 potentiomètre

Étape 1: Buzzer piézo

Avertisseur piézo
Avertisseur piézo

Pour commencer, installez le piezo sur la maquette de l'Arduino. Un côté de celui-ci (le côté de la jambe la plus courte) doit courir jusqu'au sol. L'autre côté (le côté de la jambe le plus long) doit être connecté à une broche d'entrée numérique. J'ai choisi de le connecter à 8.

Étape 2: Boutons poussoirs

Boutons poussoir
Boutons poussoir
Boutons poussoir
Boutons poussoir

Ensuite, il est temps de configurer les boutons poussoirs. Comme le piézo, les boutons poussoirs doivent se connecter à la terre et à une broche d'entrée numérique.

Étape 3: Potentiomètre

Potentiomètre
Potentiomètre
Potentiomètre
Potentiomètre

La dernière étape de la construction physique est le potentiomètre. Les potentiomètres se présentent sous différentes formes. Nous utiliserons le potentiomètre comme diviseur de tension, donc ses trois pattes doivent être connectées.

Jambe droite: barre négative (sol)

Jambe du milieu: broche analogique 0

Jambe gauche: barre positive

Étape 4: Codez

Lors de l'écriture du code pour ce projet, j'ai référencé des informations sur quelques types spécifiques de fonctions:

Ton()

noTone() (Je n'ai pas fini par utiliser celui-ci. J'ai plutôt réglé la fréquence sur "0".)

carte()

Une autre référence merveilleuse pour les utilisateurs novices des Piezo Buzzers peut être trouvée ici. Bien que l'idée de changer le son du buzzer piézo semble simple, cela peut être un peu écrasant au début !

La fonction tone() peut être décomposée en trois parties:

  1. Broche (la broche à laquelle le buzzer piézo est connecté)
  2. Fréquence (la fréquence du son en hertz)
  3. Durée (la durée du son donnée en millisecondes)

Fondamentalement, cela ressemble à ceci: tonalité (pin, fréquence, durée). La troisième composante (durée) est facultative, tandis que les deux autres sont nécessaires au fonctionnement du buzzer. La composante "fréquence" de la fonction de tonalité est ce que l'on peut considérer comme "le son" produit par le buzzer.

Vous remarquerez également que le code comporte deux autres morceaux de code. Il existe des instructions if/else configurées pour indiquer à l'Arduino ce qu'il doit faire si différents boutons sont enfoncés, ainsi que pour le configurer avec "fréquence = 0" dans les situations où aucun des boutons n'est enfoncé. Dans les instructions if/else, les fonctions map() sont utilisées pour mapper l'échelle du potentiomètre sur un ensemble de fréquences. Ceux-ci peuvent être modifiés ! Jouez avec différentes valeurs de fréquence pour voir quels sons différents vous pouvez obtenir du piézo.

Découvrez le code que j'ai utilisé pour créer le piano à trois boutons ici ou vérifiez ci-dessous.

int piezoPin = 8; // Configurer la broche connectée à Piezo.

int capteurPin = 0; //Configurer la broche connectée au capteur (le potentiomètre). int sensorValue = 0;

int bouton1 = 5; // Configurez les broches d'entrée connectées aux boutons.

int bouton2 = 4; int bouton3 = 3;

int fréquence = 0;

const int delayTime = 500; //Configurez une constante pour la variable de temps de retard dans la fonction tone().

void setup() {

pinMode(bouton1, INPUT_PULLUP); pinMode(bouton2, INPUT_PULLUP); pinMode(bouton3, INPUT_PULLUP); }

boucle vide() {

sensorValue = analogRead(sensorPin); //Lire le capteur. //Mappez les différentes valeurs du potentiomètre à un ensemble de fréquences pour chacun des trois boutons. if (digitalRead(button1) == LOW) { fréquence = map(sensorValue, 0, 1023, 400, 499); } else if (digitalRead(button2) == LOW) { fréquence = map(sensorValue, 0, 1023, 500, 599); } else if (digitalRead(button3) == LOW) { Frequency = map(sensorValue, 0, 1023, 600, 699); } else { fréquence = 0; } tone(piezoPin, fréquence, delayTime); // Configurez les fonctions tone() avec des variables. }

Conseillé: