Inhoudsopgave:

Arduino Noise Machine: 4 stappen
Arduino Noise Machine: 4 stappen

Video: Arduino Noise Machine: 4 stappen

Video: Arduino Noise Machine: 4 stappen
Video: learn Arduino programming in 20 seconds!! (Arduino projects) 2024, November
Anonim
Arduino Ruismachine
Arduino Ruismachine
Arduino Ruismachine
Arduino Ruismachine
Arduino Ruismachine
Arduino Ruismachine

Ik vond een kleine luidspreker tijdens het afbreken van een oude pc. voor recycling en dacht dat ik zou zien hoe het klonk met de Arduino Tone () -functie. Ik begon met een 10Ω potentiometer om de toonhoogte te regelen en begon wat lawaai te maken. De functie Toon() gebruikt een eenvoudig pulspatroon. Het zet het geluid aan en uit op verschillende frequenties in een blokgolfpatroon. Ik had nog twee andere potentiometers liggen, dus ik voegde ze toe en gebruikte ze om de toonduur te regelen. Een om de lengte van de toon te regelen en een om de stille ruimte tussen de tonen te regelen. Het gebruikt in feite een ander blokgolfpatroon, maar met een veel lagere frequentie. Met dit circuit kunt u een goede variëteit aan ruis bereiken. Het werkt ook goed met een piëzo-zoemer, maar mist de basrespons van een luidspreker.

Stap 1: Onderdelen die u nodig heeft

Arduino Uno

Breadboard en jumperdraden

1 kleine luidspreker of piëzo-zoemer

1 Drukknopschakelaar

3 10Ω Potentiometers

1 22Ω weerstand

1 10kΩ weerstand

Stap 2: Bouw het circuit

Bouw het circuit
Bouw het circuit

Sluit het breadboard aan op uw Arduino 5V-pin en GND. Plaats de drukknopschakelaar uiterst rechts of links van het breadboard en sluit deze aan op 5V en aarde met behulp van de 10kΩ-weerstand. Sluit een draad van het schakelcircuit aan op pin 2 op uw Arduino.

Aan de andere kant van het breadboard stelt u het luidspreker / piëzo-circuit in op 5v en aardt u met behulp van de 220Ω-weerstand. Deze weerstand regelt de stroom en regelt zo het volume; je kunt hier verschillende weerstanden proberen voor een hoger of lager volume.

Plaats uw potentiometers in het midden van het breadboard en geef voldoende ruimte om met de knoppen te spelen. Elke pot moet worden aangesloten op 5V en aarde en de middelste pinnen op elk moeten worden aangesloten op analoge pinnen A0, A1 en A2

Stap 3: De code

Een potentiometer of pot is een variabele weerstand die bij aansluiting op een Arduino een waarde tussen 0 en 1023 teruggeeft. We zullen de functie map() gebruiken om deze waarden aan te passen aan onze eigen behoeften. De functie map() heeft vijf argumenten nodig en in ons geval moeten we het bereik opnieuw toewijzen aan tussen 220 en 2200 om een redelijk hoorbaar geluid te produceren.

De functie ziet er ongeveer zo uit:

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

U kunt met de laatste twee waarden spelen voor tonen met hogere en lagere frequenties, maar pas op dat u uw hond niet van streek maakt.

Noise_Machine.ino

/* Ruismachine met drie potentiometers aangesloten op analoge ingangen
en een piëzo of kleine luidspreker. Een drukknop zet het geluid aan, de potmeters
regel de toonhoogte met behulp van de Arduino tone() functie, en twee vertraging
waarden die de lengte van elke toon bepalen en de lengte tussen
elke toon. De potentiometers geven analoge waarden die worden gewijzigd
door de functie map() te gebruiken in grotere of kleinere bereiken, afhankelijk van uw
muzieksmaak.
Deze code is in het publieke domein.
Matt Thomas 2019-04-05
*/
consint-knopPin = 2; // Drukknoppen 2
constante spreker = 9; // Luidspreker of piëzo in pin 9
int knopState = 0; // Variabelen voor de knop
int potZero; // en potentiometers
int potEen;
int potTwo;
voidsetup() {
pinMode(9, UITGANG); // Luidspreker/piëzo-uitgangspin
}
voidloop() {
buttonState = digitalRead (buttonPin); // Lees de drukknopstatus
potZero = analoog lezen (A0); // Variabelen voor het lezen van de analoge waarden
potOne = analoog lezen (A1);
potTwo = analoog lezen (A2);
int htz = kaart (potZero, 0, 1023, 0, 8800); // Breng de analoge metingen in kaart in
int hoog = kaart (potOne, 0, 1023, 0, 100); // nieuwe nummerreeksen en maak
int laag = kaart (potTwo, 0, 1023, 0, 100); // nieuwe variabelen
if (buttonState == HIGH) { // Als de drukknop wordt ingedrukt…
toon (luidspreker, htz); // Geluid aan
vertraging (hoog); // Lengte van toon
geen toon (luidspreker); // Geluid uit
vertraging (laag); // Tijd tot de volgende toon
} anders {
geen toon (luidspreker); // Geen toon als de knop wordt losgelaten
}
}

bekijk rawNoise_Machine.ino gehost met ❤ door GitHub

Stap 4: Het einde

Dus dat is alles. Speel wat met de waarden in de code, voeg meer potten/knoppen toe en kijk wat je nog meer kunt regelen. Laat het me weten als ik fouten heb gemaakt en ik hoop dat je van de muziek geniet.

Aanbevolen: