Taula de continguts:

Màquina de soroll Arduino: 4 passos
Màquina de soroll Arduino: 4 passos

Vídeo: Màquina de soroll Arduino: 4 passos

Vídeo: Màquina de soroll Arduino: 4 passos
Vídeo: Motor de passo de 4, 5, 6 e 8 fios 2024, Juliol
Anonim
Màquina de soroll Arduino
Màquina de soroll Arduino
Màquina de soroll Arduino
Màquina de soroll Arduino
Màquina de soroll Arduino
Màquina de soroll Arduino

Vaig trobar un petit altaveu mentre tirava endavant un vell P. C. per al reciclatge i vaig pensar que veuria com sonava fent servir la funció Arduino Tone (). Vaig començar amb un potenciòmetre de 10Ω per controlar el to i vaig començar a fer soroll. La funció Tone () utilitza un patró de pols senzill. Activa i desactiva el so a diferents freqüències en un patró d’ona quadrat. Tenia altres dos potenciòmetres estirats, així que els vaig afegir i els vaig utilitzar per controlar la durada del to. Un per controlar la longitud del to i un per controlar l’espai silenciós entre els tons. Bàsicament s’utilitza un altre patró d’ona quadrat però amb una freqüència molt inferior. Podeu aconseguir una bona varietat de soroll amb aquest circuit. També funciona bé amb un brunzidor piezoelèctric, però no té la resposta dels baixos d’un altaveu.

Pas 1: parts que necessitareu

Arduino Uno

Taulers de pa i cables de pont

1 altaveu petit o zumbador piezoelèctric

1 polsador

3 Potenciòmetres de 10Ω

1 resistència de 22Ω

1 resistència de 10kΩ

Pas 2: Construeix el circuit

Construeix el circuit
Construeix el circuit

Connecteu la taula de proves al vostre pin Arduino 5V i GND. Col·loqueu l'interruptor de polsador a l'extrem dret o esquerre de la placa de connexió i connecteu-lo a 5V i a terra mitjançant la resistència de 10kΩ. Connecteu un cable del circuit de commutació al pin 2 del vostre Arduino.

A l'altre costat de la placa de configuració, configureu el circuit d'altaveus / piezoelèctric a 5 V i connecteu-lo a terra mitjançant la resistència de 220Ω. Aquesta resistència controla el corrent controlant així el volum; aquí podeu provar diferents resistències per obtenir un volum superior o inferior.

Col·loqueu els potenciòmetres al centre de la taula de treball donant prou espai per jugar amb els poms. Cada pot haurà d’estar connectat a 5V i a terra i els pins centrals de cada un connectats als pins analògics A0, A1 i A2

Pas 3: el codi

Un potenciòmetre o pot és una resistència variable que quan es connecta a un Arduino retornarà un valor entre 0 i 1023. Utilitzarem la funció map () per canviar aquests valors segons les nostres pròpies necessitats. La funció map () té cinc arguments i, en el nostre cas, hem de tornar a assignar l'interval entre 220 i 2200 per produir un so audible raonable.

La funció té aquest aspecte:

mapa (pot, 0, 1023, 220, 2200);

Podeu jugar amb els dos últims valors per als tons de freqüència més alta i més baixa, només tingueu cura de no molestar el vostre gos.

Noise_Machine.ino

/ * Màquina de soroll que utilitza tres potenciòmetres connectats a entrades analògiques
i un altaveu piezo o petit. Un polsador activa el soroll, els potenciòmetres
controleu el to mitjançant la funció Arduino tone () i dos retards
valors que controlen la longitud de cada to i la longitud entre
cada to. Els potenciòmetres donen valors analògics que es canvien
utilitzant la funció map () en intervals més grans o més petits segons el vostre
gustos musicals.
Aquest codi és de domini públic.
Matt Thomas 2019-04-05
*/
botó de constricció Pin = 2; // Polsador 2
altaveu constint = 9; // Altaveu o piezo al pin 9
int buttonState = 0; // Variables del botó
int potZero; // i potenciòmetres
int potOne;
int potTwo;
voidsetup () {
pinMode (9, OUTPUT); // Altaveu / pin de sortida piezoelèctric
}
voidloop () {
buttonState = digitalRead (buttonPin); // Llegiu l'estat del polsador
potZero = analogRead (A0); // Variables per llegir els valors analògics
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = mapa (potZero, 0, 1023, 0, 8800); // Mapeu les lectures analògiques a
int high = mapa (potOne, 0, 1023, 0, 100); // nous intervals de números i creeu
int low = mapa (potTwo, 0, 1023, 0, 100); // variables noves
if (buttonState == HIGH) {// Si es prem el botó …
to (altaveu, htz); // Sona activat
retard (alt); // Longitud del to
noTone (altaveu); // Sona apagat
retard (baix); // Temps fins al següent to
} més {
noTone (altaveu); // Sense to si es deixa anar el botó
}
}

visualitza rawNoise_Machine.ino allotjat amb ❤ per GitHub

Pas 4: el final

Per tant, això és tot el que hi ha. Juga amb els valors del codi, afegeix més botons / botons i mira què més pots controlar. Feu-me saber si he comès algun error i espero que gaudiu de la música.

Recomanat: