Sommario:
- Autore John Day [email protected].
- Public 2024-01-30 10:00.
- Ultima modifica 2025-01-23 14:49.
Ho trovato un minuscolo altoparlante mentre smontavo un vecchio P. C. per il riciclaggio e ho pensato di vedere come suonava usando la funzione Arduino Tone(). Ho iniziato con un potenziometro da 10Ω per controllare il tono e ho iniziato a fare un po' di rumore. La funzione Tone() utilizza un semplice pattern di impulsi. Attiva e disattiva il suono a frequenze diverse in uno schema a onde quadre. Avevo altri due potenziometri in giro, quindi li ho aggiunti e li ho usati per controllare la durata del tono. Uno per controllare la lunghezza del tono e uno per controllare lo spazio silenzioso tra i toni. Fondamentalmente utilizza un altro modello di onda quadra ma a una frequenza molto più bassa. È possibile ottenere una buona varietà di rumore con questo circuito. Funziona bene anche con un cicalino piezoelettrico, ma manca della risposta dei bassi di un altoparlante.
Passaggio 1: parti di cui avrai bisogno
Arduino Uno
Breadboard e cavi jumper
1 Altoparlante piccolo o cicalino piezo
1 Interruttore a pulsante
3 10Ω Potenziometri
1 resistore da 22Ω
1 resistore da 10kΩ
Passaggio 2: costruisci il circuito
Collega la breadboard al tuo pin Arduino 5V e GND. Posiziona l'interruttore a pulsante all'estrema destra o sinistra della breadboard e collegalo a 5 V e a terra usando il resistore da 10 k. Collega un filo dal circuito dell'interruttore al pin 2 del tuo Arduino.
Dall'altro lato della breadboard, imposta il circuito altoparlante/piezo su 5 V e massa utilizzando il resistore da 220. Questo resistore controlla la corrente controllando così il volume; puoi provare diversi resistori qui per un volume più alto o più basso.
Disporre i potenziometri al centro della breadboard, lasciando spazio sufficiente per armeggiare con le manopole. Ogni potenziometro dovrà essere collegato a 5V e terra e i pin centrali di ciascuno collegati ai pin analogici A0, A1 e A2
Passaggio 3: il codice
Un potenziometro o un potenziometro è un resistore variabile che, quando collegato a un Arduino, restituirà un valore compreso tra 0 e 1023. Useremo la funzione map() per modificare questi valori in base alle nostre esigenze. La funzione map() accetta cinque argomenti e nel nostro caso dobbiamo rimappare l'intervallo tra 220 e 2200 per produrre un suono udibile ragionevole.
La funzione è simile a questa:
map(pentola, 0, 1023, 220, 2200);
Puoi giocare con gli ultimi due valori per i toni di frequenza più alti e più bassi, fai solo attenzione a non turbare il tuo cane.
Noise_Machine.ino
| /* Macchina del rumore che utilizza tre potenziometri collegati a ingressi analogici |
| e un piezo o un piccolo altoparlante. Un pulsante accende il rumore, i potenziometri |
| controlla il tono usando la funzione Arduino tone() e due delay |
| valori che controllano la lunghezza di ogni tono e la lunghezza tra |
| ogni tono. I potenziometri danno valori analogici che vengono modificati |
| usando la funzione map() in intervalli più grandi o più piccoli in base alle tue esigenze |
| gusti musicali. |
| Questo codice è di dominio pubblico. |
| Matt Thomas 2019-04-05 |
| */ |
| pulsante costantePin = 2; // Perno pulsante 2 |
| parlante costante = 9; // Altoparlante o piezo nel pin 9 |
| int buttonState = 0; // Variabili per il pulsante |
| int potZero; // e potenziometri |
| int potOne; |
| int potDue; |
| voidsetup() { |
| pinMode(9, USCITA); // Pin di uscita altoparlante/piezo |
| } |
| voidloop() { |
| buttonState = digitalRead(buttonPin); // Legge lo stato del pulsante |
| potZero = analogRead(A0); //Variabili per la lettura dei valori analogici |
| potUno = analogRead(A1); |
| potDue = analogRead(A2); |
| int htz = map(potZero, 0, 1023, 0, 8800); // Mappa le letture analogiche in |
| int high = map(potOne, 0, 1023, 0, 100); // nuovi intervalli di numeri e crea |
| int low = map(potTwo, 0, 1023, 0, 100); // nuove variabili |
| if (buttonState == HIGH) { // Se il pulsante viene premuto… |
| tono (altoparlante, htz); // Suono acceso |
| ritardo (alto); // Lunghezza del tono |
| noTone(altoparlante); // Audio Disattivato |
| ritardo (basso); // Tempo fino al tono successivo |
| } altro { |
| noTone(altoparlante); // Nessun tono se il pulsante viene rilasciato |
| } |
| } |
visualizza rawNoise_Machine.ino ospitato con ❤ da GitHub
Passaggio 4: la fine
Quindi questo è tutto. Gioca con i valori nel codice, aggiungi più pentole/pulsanti e vedi cos'altro puoi controllare. Fatemi sapere se ho commesso errori e spero che la musica vi piaccia.
Consigliato:
Drum Machine semplice con Arduino Uno e Mozzi: 4 passaggi
Semplice Drum Machine con Arduino Uno e Mozzi: Vivere in Argentina significa che la posta internazionale verrà rubata o rimarrà bloccata in dogana. Aggiungi la quarantena del Coronavirus e il tuo prossimo progetto sarà limitato a una vecchia scheda Arduino Uno. Buone notizie? Come dice il grande poeta dei Rolling Stones “Time is on m
Noise~Rompler / Cicala ~: 6 passaggi
Rumore~Rompler / Cicala ~:
Slot machine tascabile Arduino: 4 passaggi
Arduino Pocket Slot Machine: Sarò onesto in anticipo e dirò che questo progetto non sarebbe mai successo se non che mi sto riparando sul posto durante l'epidemia di coronavirus, mi è capitato di vedere che Instructables sta organizzando un concorso "Striscia LED" e Ho delle strisce LED in un
The Task Giving Arduino Machine (alias: Crea il tuo Bop-it!): 5 passaggi
The Task Giving Arduino Machine (aka: Making Your Own Bop-it!): Per lo studio che sto seguendo attualmente ho avuto l'incarico di realizzare qualcosa con un Arduino. Mi ero procurato un assemblaggio standard di materiali dalla scuola e ho pensato a qualcosa che avrebbe funzionato intorno a quelli, con un tappetino esterno minimo
Oceania Midi Controller (per Make Noise 0-Coast e altri sintetizzatori): 6 passaggi (con immagini)
Oceania Midi Controller (per Make Noise 0-Coast e altri sintetizzatori): negli ultimi anni, un certo numero di produttori di sintetizzatori hanno rilasciato "desktop semi-modulare" strumenti. In genere assumono lo stesso fattore di forma del formato di sintetizzatore modulare Eurorack e la maggior parte è probabilmente intesa come un g
