Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Znalazłem mały głośnik podczas rozbierania starego komputera. do recyklingu i pomyślałem, że zobaczę, jak to brzmi przy użyciu funkcji Arduino Tone(). Zacząłem od jednego potencjometru 10Ω do kontrolowania wysokości tonu i zacząłem trochę hałasować. Funkcja Tone() wykorzystuje prosty wzór impulsów. Włącza i wyłącza dźwięk na różnych częstotliwościach w kształcie fali prostokątnej. Miałem dwa inne potencjometry, więc dodałem je i użyłem ich do kontrolowania czasu trwania tonu. Jeden do kontrolowania długości tonu i jeden do kontrolowania cichej przestrzeni pomiędzy tonami. Zasadniczo wykorzystuje inny wzór fali prostokątnej, ale o znacznie niższej częstotliwości. Dzięki temu obwodowi można uzyskać dobrą różnorodność szumów. Działa również dobrze z brzęczykiem piezo, ale brakuje mu odpowiedzi basowej głośnika.
Krok 1: Części, których będziesz potrzebować
Arduino Uno
Płytka prototypowa i przewody połączeniowe
1 mały głośnik lub brzęczyk Piezo
1 Przełącznik przyciskowy
3 potencjometry 10Ω
1 rezystor 22Ω
1 rezystor 10kΩ
Krok 2: Zbuduj obwód
Podłącz płytkę stykową do pinu Arduino 5V i GND. Umieść przełącznik przyciskowy po prawej lub lewej stronie płytki stykowej i podłącz go do 5V i uziemienia za pomocą rezystora 10kΩ. Podłącz przewód z obwodu przełącznika do styku 2 w Arduino.
Po drugiej stronie płytki stykowej ustaw głośnik/obwód piezoelektryczny na 5 V i uziemić za pomocą rezystora 220 Ω. Ten rezystor kontroluje prąd, kontrolując w ten sposób głośność; możesz wypróbować różne rezystory tutaj dla większej lub mniejszej głośności.
Ustaw swoje potencjometry na środku płytki stykowej, dając wystarczająco dużo miejsca na zabawę pokrętłami. Każdy potencjometr będzie musiał być podłączony do 5 V i uziemienia, a środkowe styki na każdym z nich podłączone do styków analogowych A0, A1 i A2
Krok 3: Kodeks
Potencjometr lub potencjometr to rezystor zmienny, który po podłączeniu do Arduino zwróci wartość od 0 do 1023. Użyjemy funkcji map(), aby zmienić te wartości do własnych potrzeb. Funkcja map() przyjmuje pięć argumentów iw naszym przypadku musimy ponownie zmapować zakres między 220 a 2200, aby uzyskać rozsądny słyszalny dźwięk.
Funkcja wygląda mniej więcej tak:
mapa(pot, 0, 1023, 220, 2200);
Możesz bawić się dwoma ostatnimi wartościami dla tonów o wyższej i niższej częstotliwości, tylko uważaj, aby nie zdenerwować psa.
Noise_Machine.ino
/* Maszyna szumów wykorzystująca trzy potencjometry podłączone do wejść analogowych |
i piezo lub mały głośnik. Przycisk włącza hałas, potencjometry |
kontrolować wysokość dźwięku za pomocą funkcji Arduino tone() i dwóch opóźnień |
wartości, które kontrolują długość każdego tonu i długość pomiędzy |
każdy ton. Potencjometry podają wartości analogowe, które są zmieniane |
za pomocą funkcji map() na większe lub mniejsze zakresy, aby dopasować swoje |
gusta muzyczne. |
Ten kod jest w domenie publicznej. |
Matt Thomas 05.04.2019 |
*/ |
przycisk consintPin = 2; // Kołek przycisku 2 |
stały mówca = 9; // Głośnik lub piezo w pin 9 |
int Stan przycisku = 0; // Zmienne dla przycisku |
int potZero; // i potencjometry |
int potOne; |
int garnekDwa; |
voidsetup() { |
pinMode(9, WYJŚCIE); // Wyjście głośnikowe/piezoelektryczne |
} |
voidloop() { |
buttonState = digitalRead(buttonPin); // Odczytaj stan przycisku |
potZero = odczyt analogowy (A0); //Zmienne do odczytu wartości analogowych |
potOne = odczyt analogowy (A1); |
potTwo = odczyt analogowy (A2); |
int htz = mapa(potZero, 0, 1023, 0, 8800); // Odwzoruj odczyty analogowe na |
int high = map(potOne, 0, 1023, 0, 100); // nowe zakresy liczb i tworzenie |
int low = map(potTwo, 0, 1023, 0, 100); // nowe zmienne |
if (buttonState == HIGH) { // Jeśli przycisk jest wciśnięty… |
ton (głośnik, htz); // Dzwięk włączony |
opóźnienie (wysokie); // Długość tonu |
brak dźwięku (głośnik); // Wyłączyć dzwięk |
opóźnienie (niskie); // Czas do następnego tonu |
} w przeciwnym razie { |
brak dźwięku (głośnik); // Brak dźwięku po zwolnieniu przycisku |
} |
} |
zobacz rawNoise_Machine.ino hostowane z ❤ przez GitHub
Krok 4: Koniec
Więc to wszystko. Pobaw się wartościami w kodzie, dodaj więcej puli/przycisków i zobacz, co jeszcze możesz kontrolować. Daj mi znać, jeśli popełniłem jakieś błędy i mam nadzieję, że spodoba Ci się muzyka.