Spisu treści:

Tobias - Arduino Music Box z TVout: 5 kroków (ze zdjęciami)
Tobias - Arduino Music Box z TVout: 5 kroków (ze zdjęciami)

Wideo: Tobias - Arduino Music Box z TVout: 5 kroków (ze zdjęciami)

Wideo: Tobias - Arduino Music Box z TVout: 5 kroków (ze zdjęciami)
Wideo: Arduino music box with some lightening decoration 2024, Listopad
Anonim
Tobias - Arduino Music Box z TVout
Tobias - Arduino Music Box z TVout
Tobias - Arduino Music Box z TVout
Tobias - Arduino Music Box z TVout
Tobias - Arduino Music Box z TVout
Tobias - Arduino Music Box z TVout

Przede wszystkim pozwolę sobie przedstawić Tobiasza, wielkiego misia mojej dziewczyny, który jest inspiracją dla tego projektu.

Tobiasz ma osobowość, którą buduje się z biegiem czasu, podczas gdy żartobliwie zastanawiamy się, co robi, gdy jej nie ma w pracy.

Projekt miał być prostym prezentem, Arduino z głośnikiem piezo, grającym jej ulubioną piosenkę. Szybko wymknął się mi spod kontroli i stał się pozytywką:

  • Druk 3D
  • zdolny do odtwarzania muzyki bez konieczności połączenia USB przy użyciu baterii AA
  • z „klawiszami” pianina, które zapalają się z każdą nutą
  • zdolne do odtwarzania obrazów na starym telewizorze CRT za pośrednictwem złączy RCA

Kieszonkowe dzieci

  • Arduino Nano
  • Głośnik (wziąłem go z uszkodzonego starego radia)
  • Przełącznik (3-stykowy) - selektor trybu
  • Potencjometr obrotowy - regulacja głośności
  • Rezystor 2x 220Ω
  • 1x rezystor 440Ω lub 2x rezystor 220Ω
  • 1x rezystor 1kΩ
  • 11 diod led 3mm
  • 2x złącza żeńskie RCA
  • przewody
  • Biały akryl 3,5 mm
  • gorący klej lub super klej

Narzędzia:

  • zestaw do lutowania
  • drukarka 3d
  • komputer z Arduino IDE do wgrania kodu

Krok 1: Kod - Prześlij

Będziesz potrzebować:

  • Biblioteka TVout - umożliwia Arduino umieszczanie obrazu i dźwięku na telewizorze z połączeniem RCA lub SCART
  • arduino-volume1 - Ta biblioteka poprawia jakość dźwięku, jest używana w trybie 1 (sam Arduino bez połączenia TV). Jednak w trybie 2 nie można go używać w tym samym czasie, ponieważ biblioteka TVout używa tego samego timera co volume1

Jeśli chcesz zmienić muzykę lub obraz, zobacz kolejne kroki, jeśli nie tylko prześlij kod do Arduino, ale najpierw upewnij się, że masz zainstalowane obie biblioteki.

Krok 2: Kod (zmień muzykę)

Kod (zmień muzykę)
Kod (zmień muzykę)

Tutaj możesz znaleźć piosenkę:

Dzieliłem muzykę na części, przypisując litery do każdej części, która się powtarza. Następnie przypisałem wartość od 1 do 16 dla każdej nuty i umieściłem je w wierszu 0 każdej tablicy. Wartości odpowiadają częstotliwości odtwarzanej nuty (array freq ). W wierszu 1 umieściłem czas trwania każdej nuty powyżej. Przykład:

stały bajt melB1[2][6] PROGMEM={

{11, 8, 0, 8, 7, 6}, //uwaga

{ 1, 3, 1, 1, 1, 1}}; // Trwanie

Jeśli chcesz użyć innego utworu:

  • zmienić tablicę freq na nowe pożądane częstotliwości (nuty)
  • zmień tablice odpowiadające każdej części utworu
  • in void music () wybierz kolejność odtwarzania
  • zmień „X” w deklaracji tablicy dla liczby elementów w każdym wierszu, a także zmień odpowiednią pustkę, na przykład:

melB1[2][X]

pusta melodiaB1(){

dla (a=0; a<X; a++){

Krok 3: Kod (zmień obraz / zdjęcie)

Kod (zmień Obraz / Zdjęcie)
Kod (zmień Obraz / Zdjęcie)
Kod (zmień Obraz / Zdjęcie)
Kod (zmień Obraz / Zdjęcie)
Kod (zmień Obraz / Zdjęcie)
Kod (zmień Obraz / Zdjęcie)

Użyłem GIMP-a do zmiany zdjęcia na czarno-białe, kroki:

Kolory / Nasycenie = 0

Obraz musi zostać zmieniony na rozdzielczość 95x95 pikseli. Biblioteka TVout pozwala na wyższe rozdzielczości, ale ze względu na rozmiar kodu, którego zamierzałem użyć, zmuszony byłem obniżyć rozdzielczość.

  • Narzędzie zaznaczania prostokąta (współczynnik proporcji - stały 1:1)
  • Edytuj/Kopiuj
  • Plik/Utwórz/Ze schowka
  • Obraz/Skaluj obraz (95x95)

Konieczne jest przekonwertowanie obrazu na czarno-biały, a nie na skalę szarości.

  • Fuzzy Select Tool i Free Select Tool, aby wybrać obszary, które mają być wyświetlane na czarno.
  • Ołówek (czarny), aby nasz wybór był czarny
  • Wybierz / Odwróć (odwraca nasz wybór)
  • Ołówek (biały), aby pokolorować resztę obszaru na biało
  • Kolory / Jasność-Kontrast (kontrast do maksimum, aby zapewnić, że czerń jest czernią)

Teraz, gdy mamy obraz czarno-biały w rozdzielczości 95x95 pikseli

Plik/Eksportuj jako (. BMP)

Aby przekonwertować nowy obraz na kod, użyłem Image2Code

Co daje nam prawie dobrą tablicę. Następnie skopiowałem i wkleiłem do Arduino IDE.

Za pomocą Edytuj/Znajdź:

  • wyszukaj wszystkie „0xFF” i zastąp je „0” (Zamień wszystko)
  • zrób to samo dla „0x00” i zastąp je „1”
  • Usuń wszystkie „{” i „}”

„0” będzie czarnym pikselem

„1” będzie białym pikselem

Krok 4: Model 3D

Model 3D
Model 3D

Do stworzenia boxu 3D wykorzystałem SketchUp. Ze względu na ograniczenia mojej drukarki 3D i trudność, jaką wyobrażałem sobie, że będzie to wykonywanie połączeń wewnętrznych, postanowiłem stworzyć model w 4 częściach.

Przesłałem plik SketchUp, jeśli chcesz coś zmienić w projekcie, jeśli nie, po prostu wydrukuj pliki.stl

Krok 5: Montaż

montaż
montaż
montaż
montaż
montaż
montaż

Montaż nie jest skomplikowany, ale utrudniony ze względu na wielkość puszki i ilość przewodów do podłączenia.

Zalecana: