Spisu treści:
Wideo: Arduino - pianino piezoelektryczne z trzema przyciskami: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
Pianino z trzema przyciskami to projekt dla początkujących z pewnym doświadczeniem w korzystaniu z Arduino.
Nieumyślnie pochłonęła mnie próba stworzenia tego, bawiąc się po raz pierwszy z brzęczykiem piezoelektrycznym. Było tak głośno! Próbując wymyślić różne metody wyciszenia brzęczyka i wypróbowania różnych częstotliwości za pomocą funkcji tone() i noTone(), zdałem sobie sprawę, że fajnie byłoby spróbować zmieszać brzęczyk piezo z innymi ulubionymi komponentami mojego Arduino zestaw: przyciski i potencjometr.
Potrzebne materiały obejmują:
- 1 Arduino
- 1 deska do krojenia chleba
- 1 kabel USB
- Przewody połączeniowe (różne kolory)
- Rezystor 1 330 kiloomów
- 1 piezoelektryczny brzęczyk
- 3 przyciski
- 1 potencjometr
Krok 1: Brzęczyk piezoelektryczny
Na początek ustaw piezo na płytce stykowej Arduino. Jedna strona (krótsza strona nogi) musi zejść na ziemię. Druga strona (strona dłuższej nogi) musi być podłączona do pinu wejścia cyfrowego. Zdecydowałem się podłączyć do 8.
Krok 2: Przyciski
Następnie nadszedł czas na ustawienie przycisków. Podobnie jak w przypadku piezo, przyciski muszą być podłączone do masy i do pinu wejścia cyfrowego.
Krok 3: Potencjometr
Ostatnim krokiem w fizycznej budowie jest potencjometr. Potencjometry występują w kilku różnych formach. Użyjemy potencjometru jako dzielnika napięcia, więc wszystkie trzy jego nogi muszą być połączone.
Prawa noga: pasek ujemny (ziemia)
Środkowa noga: analogowy pin 0
Lewa noga: pasek dodatni
Krok 4: Kod
Pisząc kod do tego projektu, odwoływałem się do informacji o kilku konkretnych typach funkcji:
ton()
noTone() (nie użyłem tego. Zamiast tego ustawiłem częstotliwość na "0".)
mapa()
Kolejną wspaniałą referencję dla początkujących użytkowników Piezo Buzzers można znaleźć tutaj. Choć pomysł na zmianę dźwięku brzęczyka piezoelektrycznego wydaje się prosty, na początku może być nieco przytłaczający!
Funkcję tone() można podzielić na trzy części:
- Pin (pin, do którego podłączony jest brzęczyk piezoelektryczny)
- Częstotliwość (częstotliwość dźwięku w hercach)
- Czas trwania (czas trwania dźwięku podany w milisekundach)
Zasadniczo wygląda to tak: ton(pin, częstotliwość, czas trwania). Trzeci składnik (czas trwania) jest opcjonalny, podczas gdy pozostałe dwa są niezbędne do działania brzęczyka. Składnik „częstotliwości” funkcji tonu to coś, co można uznać za „dźwięk”, który jest wytwarzany przez brzęczyk.
Zauważysz również, że kod zawiera dwa inne fragmenty kodu. Istnieje kilka instrukcji if/else, które informują Arduino, co ma zrobić, jeśli zostaną naciśnięte różne przyciski, a także ustawić je z „częstotliwością = 0” w sytuacjach, gdy żaden z przycisków nie jest naciśnięty. W instrukcjach if/else funkcje map() są używane do mapowania skali potencjometru na zbiór częstotliwości. Można je zmienić! Pobaw się różnymi wartościami częstotliwości, aby zobaczyć, jakie różne dźwięki można uzyskać z piezo.
Sprawdź kod, którego użyłem do stworzenia pianina z trzema przyciskami tutaj lub sprawdź poniżej.
int piezopin = 8; //Ustaw pin podłączony do Piezo.
wew czujnikaPin = 0; //Ustaw pin podłączony do czujnika (potencjometru). int sensorValue = 0;
wewn przycisk1 = 5; //Ustaw piny wejściowe podłączone do przycisków.
wewn przycisk2 = 4; wewn przycisk3 = 3;
częstotliwość int = 0;
const int opóźnienieCzas = 500; //Ustaw stałą dla zmiennej czasu opóźnienia w funkcji tone().
pusta konfiguracja () {
pinMode(przycisk1, INPUT_PULLUP); pinMode(przycisk2, INPUT_PULLUP); pinMode(button3, INPUT_PULLUP); }
pusta pętla () {
sensorValue = analogRead(sensorPin); //Odczytaj czujnik. //Przypisz różne wartości potencjometru do zestawu częstotliwości dla każdego z trzech przycisków. if (digitalRead(przycisk1) == LOW) { frequency = map(sensorValue, 0, 1023, 400, 499); } else if (digitalRead(button2) == LOW) { frequency = map(sensorValue, 0, 1023, 500, 599); } else if (digitalRead(button3) == LOW) { frequency = map(sensorValue, 0, 1023, 600, 699); } inaczej { częstotliwość = 0; } ton(piezoPin, częstotliwość, opóźnienieCzas); //Ustaw funkcje tone() ze zmiennymi. }
Zalecana:
Płytka przekaźnikowa 4CH sterowana przyciskami: 4 kroki
4-kanałowa płytka przekaźnikowa sterowana przyciskami: Moim celem jest ulepszenie mojej drukarki 3D Anet A8 poprzez dodanie sterowania zasilaniem za pośrednictwem interfejsu Octoprint. Niemniej jednak chcę również mieć możliwość uruchamiania „ręcznie”; moją drukarkę 3D, czyli nie używam interfejsu sieciowego, ale po prostu wciskam przycisk
Zegar Neopixel z trzema pierścieniami Neopixel: 7 kroków
Neopixel Clock With Three Neopixel Rings: Genialne stworzenie zegara Neo Pixel przez Steve'a Manleya skłoniło mnie do stworzenia instrukcji, jak stworzyć podobny zegar za jak najmniejszą sumę pieniędzy. (Ważnym holenderskim nawykiem jest zawsze próba oszczędzania pieniędzy;-)) Dowiedziałem się, że
Piezoelektryczne buty elektryczne z nanowłókna PROTOTYP #1: 8 kroków
Piezoelektryczne buty elektryczne z nanowłókien PROTOTYP #1: Nanotechnologia może pomóc nam w produkcji zielonej energii dzięki nauce o piezoelektryczności, która jest zasadniczo energią elektryczną wytwarzaną przez naprężenia mechaniczne (działanie grawitacyjne na podeszwach butów). W przyszłości mam nadzieję wymyślić
Głośnik biurkowy Bluetooth z wizualizacją audio, przyciskami dotykowymi i NFC.: 24 kroki (ze zdjęciami)
Biurkowy głośnik Bluetooth z wizualizacją audio, przyciskami dotykowymi i NFC.: Cześć! W tej instrukcji pokażę, jak stworzyłem ten głośnik biurkowy Bluetooth, który ma niesamowitą wizualizację audio z przyciskami dotykowymi i NFC. Można go łatwo sparować z urządzeniami obsługującymi technologię NFC za pomocą jednego dotknięcia. Nie ma fizycznego przycisku
Kieszonkowy wskaźnik laserowy z trzema lufami z przetworzonej kostki pryzmatycznej: 7 kroków
Kieszonkowy wskaźnik laserowy z potrójną lufą z kostki pryzmatycznej z recyklingu: Ten instruktaż przedstawię ci pryzmaty dichroiczne i użyję jednego do zbudowania wskaźnika laserowego z trzema lufami za pomocą małych lusterek i uszkodzonej lub pochodzącej z recyklingu kostki łączącej RGB (dichroiczna kostka X) z projektorów cyfrowych.Używam części drukowanej 3D do