INHOUDSOPGAWE:

Arduino -geraasmasjien: 4 stappe
Arduino -geraasmasjien: 4 stappe

Video: Arduino -geraasmasjien: 4 stappe

Video: Arduino -geraasmasjien: 4 stappe
Video: Драм-секвенсор Arduino: 8 дорожек, 16 шагов на такт, 8 тактов на паттерн 2024, November
Anonim
Arduino geraas masjien
Arduino geraas masjien
Arduino geraas masjien
Arduino geraas masjien
Arduino geraas masjien
Arduino geraas masjien

Ek het 'n klein luidspreker gekry terwyl ek 'n ou P. C. vir herwinning en het gedink ek sou sien hoe dit klink met die Arduino Tone () -funksie. Ek het begin met 'n 10Ω potensiometer om die toonhoogte te beheer en het begin geraas. Die funksie Tone () gebruik 'n eenvoudige polspatroon. Dit skakel die geluid aan en uit op verskillende frekwensies in 'n vierkantige golfpatroon. Ek het twee ander potensiometers laat lê, so ek het dit bygevoeg en dit gebruik om die toonduur te bepaal. Een om die lengte van die toon te beheer en een om die stil ruimte tussen die toon te beheer. Dit gebruik basies 'n ander vierkantgolfpatroon, maar teen 'n baie laer frekwensie. U kan 'n goeie verskeidenheid geraas met hierdie kring bereik. Dit werk ook goed met 'n piëzo -zoemer, maar die basrespons van 'n luidspreker ontbreek.

Stap 1: Onderdele wat u benodig

Arduino Uno

Broodbord en springdrade

1 Klein luidspreker of Piezo -gonser

1 Drukknopskakelaar

3 10Ω potensiometers

1 22Ω weerstand

1 10kΩ weerstand

Stap 2: Bou die stroombaan

Bou die stroombaan
Bou die stroombaan

Koppel die broodbord aan u Arduino 5V -pen en GND. Plaas die drukknopskakelaar heel regs of links van die broodbord en koppel dit aan 5V en grond met behulp van die 10kΩ weerstand. Koppel 'n draad van die skakelaar na pen 2 op u Arduino.

Aan die ander kant van die broodbord, stel die luidspreker/piëzo -stroombaan op 5V en maak dit met behulp van die 220Ω -weerstand. Hierdie weerstand beheer die stroom en beheer sodoende die volume; u kan verskillende weerstande hier probeer vir 'n hoër of laer volume.

Rangskik u potensiometers in die middel van die broodbord, sodat daar genoeg ruimte is om met die knoppe te peuter. Elke pot moet gekoppel word aan 5V en grond en die middelste penne op elke gekoppel aan analoog penne A0, A1 en A2

Stap 3: Die kode

'N Potentiometer of pot is 'n veranderlike weerstand wat, wanneer dit aan 'n Arduino gekoppel is, 'n waarde tussen 0 en 1023 gee. Ons sal die kaart () -funksie gebruik om hierdie waardes te verander om aan ons eie behoeftes te voldoen. Die kaart () -funksie neem vyf argumente en in ons geval moet ons die reeks weer tussen 220 en 2200 in kaart bring om 'n redelike hoorbare geluid te lewer.

Die funksie lyk so:

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

U kan speel met die laaste twee waardes vir hoër en laer frekwensies, maar pas op dat u nie u hond ontstel nie.

Noise_Machine.ino

/* Geraasmasjien met drie potensiometers wat gekoppel is aan analoog insette
en 'n piëzo of klein luidspreker. 'N Drukknop skakel die geraas, die potensiometers, aan
beheer die toonhoogte met behulp van die Arduino -toon () -funksie en twee vertragings
waardes wat die lengte van elke toon en lengte tussen bepaal
elke toon. Die potensiometers gee analoogwaardes wat verander word
gebruik die kaart () -funksie in groter of kleiner reekse om by u te pas
musikale smaak.
Hierdie kode is in die publieke domein.
Matt Thomas 2019-04-05
*/
konstint buttonPin = 2; // Drukknoppen 2
konstint spreker = 9; // Luidspreker of piezo in pen 9
int buttonState = 0; // Veranderlikes vir die knoppie
int potZero; // en potensiometers
int potOne;
int potTwo;
voidsetup () {
pinMode (9, UITGANG); // Luidspreker/piëzo -uitvoerpen
}
voidloop () {
buttonState = digitalRead (buttonPin); // Lees die drukknoppie -toestand
potZero = analogRead (A0); // Veranderlikes vir die lees van die analoogwaardes
potOne = analogRead (A1);
potTwo = analogRead (A2);
int htz = kaart (potZero, 0, 1023, 0, 8800); // Kaart die analooglesings in
int high = map (potOne, 0, 1023, 0, 100); // nuwe getalreekse en skep
int low = map (potTwo, 0, 1023, 0, 100); // nuwe veranderlikes
if (buttonState == HIGH) {// As die drukknop ingedruk word …
toon (spreker, htz); // Klank aan
vertraging (hoog); // Lengte van die toon
noTone (spreker); // Klank af
vertraging (laag); // Tyd tot die volgende toon
} anders {
noTone (spreker); // Geen toon as die knoppie losgemaak word
}
}

sien rawNoise_Machine.ino aangebied deur ❤ deur GitHub

Stap 4: Die einde

So dit is alles wat daar is. Speel met die waardes in die kode, voeg meer potte /knoppies by en kyk wat u nog kan beheer. Laat weet my as ek foute gemaak het en ek hoop dat u van die musiek hou.

Aanbeveel: