Cuprins:

Mașină de zgomot Arduino: 4 pași
Mașină de zgomot Arduino: 4 pași

Video: Mașină de zgomot Arduino: 4 pași

Video: Mașină de zgomot Arduino: 4 pași
Video: Arduino curs în limba română. Cum folosim un potențiometru la Arduino. analogRead 2024, Iulie
Anonim
Mașină de zgomot Arduino
Mașină de zgomot Arduino
Mașină de zgomot Arduino
Mașină de zgomot Arduino
Mașină de zgomot Arduino
Mașină de zgomot Arduino

Am găsit un difuzor mic în timp ce dărâmam un P. C. pentru reciclare și m-am gândit să văd cum sună folosind funcția Arduino Tone (). Am început cu un potențiometru de 10Ω pentru a controla tonul și am început să fac ceva zgomot. Funcția Tone () utilizează un model de impuls simplu. Activează și dezactivează sunetul la diferite frecvențe într-un model de undă pătrat. Aveam alți doi potențiometri întinși, așa că i-am adăugat și i-am folosit pentru a controla durata tonului. Unul pentru a controla lungimea tonului și unul pentru a controla spațiul silențios dintre tonuri. Practic folosește un alt model de undă pătrat, dar la o frecvență mult mai mică. Puteți obține o bună varietate de zgomot cu acest circuit. Funcționează bine și cu un buzzer piezo, dar nu are răspunsul la bas al unui difuzor.

Pasul 1: părți de care veți avea nevoie

Arduino Uno

Firele de panou și jumper

1 Difuzor mic sau buzzer Piezo

1 Comutator cu buton

3 10Ω Potențiometre

1 rezistor de 22Ω

1 rezistor de 10kΩ

Pasul 2: Construiți circuitul

Construiește circuitul
Construiește circuitul

Conectați panoul de verificare la pinul dvs. Arduino 5V și GND. Așezați comutatorul cu buton în extrema dreaptă sau stânga a panoului și conectați-l la 5V și la masă folosind rezistorul de 10kΩ. Conectați un fir de la circuitul de comutare la pinul 2 de pe Arduino.

Pe cealaltă parte a panoului de configurare, configurați difuzorul / circuitul piezo la 5v și împământați folosind rezistorul de 220Ω. Acest rezistor controlează curentul controlând astfel volumul; puteți încerca diferite rezistențe aici pentru un volum mai mare sau mai mic.

Aranjați-vă potențiometrele în centrul panoului, oferind suficient spațiu pentru a lăsa cu butoanele. Fiecare pot trebuie conectat la 5V și la masă și pinii centrali de pe fiecare conectați la pinii analogici A0, A1 și A2

Pasul 3: Codul

Un potențiometru sau oală este un rezistor variabil care, atunci când este conectat la un Arduino, va returna o valoare cuprinsă între 0 și 1023. Vom folosi funcția map () pentru a modifica aceste valori pentru a ne potrivi propriilor nevoi. Funcția map () ia cinci argumente și, în cazul nostru, trebuie să re-mapăm intervalul între 220 și 2200 pentru a produce un sunet rezonabil.

Funcția arată cam așa:

hartă (pot, 0, 1023, 220, 2200);

Puteți juca cu ultimele două valori pentru tonuri de frecvență mai ridicate și mai mici, aveți grijă să nu vă supărați câinele.

Noise_Machine.ino

/ * Mașină de zgomot care utilizează trei potențiometre conectate la intrări analogice
și un difuzor piezo sau mic. Un buton activează zgomotul, potențiometrele
controlați tonul utilizând funcția Arduino tone () și două întârzieri
valori care controlează lungimea fiecărui ton și lungimea dintre
fiecare ton. Potențiometrele dau valori analogice care sunt schimbate
folosind funcția map () în intervale mai mari sau mai mici pentru a se potrivi cu dvs.
gusturi muzicale.
Acest cod este în domeniul public.
Matt Thomas 2019-04-05
*/
butonul constint Pin = 2; // Butonul pin 2
difuzor constint = 9; // Difuzor sau piezo în pinul 9
int buttonState = 0; // Variabile pentru buton
int potZero; // și potențiometre
int potOne;
int potTwo;
voidsetup () {
pinMode (9, OUTPUT); // Difuzor / pin de ieșire piezo
}
voidloop () {
buttonState = digitalRead (buttonPin); // Citiți starea butonului
potZero = analogRead (A0); // Variabile pentru citirea valorilor analogice
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = hartă (potZero, 0, 1023, 0, 8800); // Mapează citirile analogice în
int high = hartă (potOne, 0, 1023, 0, 100); // noi intervale de numere și creați
int low = hartă (potTwo, 0, 1023, 0, 100); // variabile noi
if (buttonState == HIGH) {// Dacă butonul este apăsat …
ton (difuzor, htz); // Sunet pornit
întârziere (mare); // Lungimea tonului
noTone (difuzor); // Fara sunet
întârziere (scăzută); // Timp până la următorul ton
} altceva {
noTone (difuzor); // Niciun ton dacă butonul este eliberat
}
}

vizualizați rawNoise_Machine.ino găzduit cu ❤ de GitHub

Pasul 4: Sfârșitul

Deci, asta e tot ce trebuie. Jucați-vă cu valorile din cod, adăugați mai multe pot-uri / butoane și vedeți ce altceva puteți controla. Spuneți-mi dacă am făcut greșeli și sper să vă bucurați de muzică.

Recomandat: