Spisu treści:

Szafka stereo Volumio z lat 60. Restomod: 8 kroków (ze zdjęciami)
Szafka stereo Volumio z lat 60. Restomod: 8 kroków (ze zdjęciami)

Wideo: Szafka stereo Volumio z lat 60. Restomod: 8 kroków (ze zdjęciami)

Wideo: Szafka stereo Volumio z lat 60. Restomod: 8 kroków (ze zdjęciami)
Wideo: Raspberry Pi czyli Malinka jako odtwarzacz audio. Odc.33 2024, Lipiec
Anonim
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod
Szafka stereo Volumio z lat 60. Restomod

Moi dziadkowie mieli konsolę stereo, kiedy byłem dzieckiem i zawsze uwielbiałem się nią bawić. Jest coś pięknego w takim funkcjonalnym meblu. Wiedziałem, że kiedy kupiłem własne mieszkanie, muszę je mieć.

Znalazłem starego Penncresta na Craiglist za kilkaset dolców, reklama mówiła, że działa, więc poszedłem i go odebrałem. Kiedy dostałem go do domu, rozebrałem go i zacząłem testować funkcjonalność wszystkich części. Wszystko w środku było napędzane paskiem, a pasek na szpuli z czasem całkowicie się rozpadł, więc włączał się, ale nie działał. Zacząłem więc myśleć o tym, co mógłbym umieścić na jego miejscu.

Wylądowałem na niestandardowej kompilacji Volumio opartej na Raspberry Pi, korzystając z oryginalnego sprzętu konsoli. Podobało mi się mechaniczne odczucie „przycisków blendera” i zdecydowałem, że użyję ich jako danych wejściowych.

Krok 1: Krok 1 - Kup konsolę

Krok 1 - Kup konsolę
Krok 1 - Kup konsolę
Krok 1 - Kup konsolę
Krok 1 - Kup konsolę
Krok 1 - Kup konsolę
Krok 1 - Kup konsolę

Ta konsola zawierała wszystko, co można by dostać, kupując ją nową, w tym schemat okablowania, oryginalną metkę, listę zamówień części zamiennych, wszystko. Całość wykonana jest z orzecha średniobrązowego, jest absolutnie przepiękna.

Krok 2: Dodanie nowej „włączonej” diody LED

Dodawanie nowego
Dodawanie nowego
Dodawanie nowego
Dodawanie nowego
Dodawanie nowego
Dodawanie nowego

Pierwszą rzeczą, jaką zrobiłem, kiedy wróciłem do domu, było otwarcie go i przyjrzenie się wnętrznościom. Przewód głośnikowy miał dość nierówny kształt, więc priorytetem było jego zastąpienie. Potem trzeba było trochę posprzątać kable i wszystko wyglądało świetnie. Miałem przyjaciela audiofila, który pomógł mi przetestować głośniki, aby upewnić się, że są w dobrym stanie i działają idealnie.

Podczas oględzin mebli zauważyliśmy mały otwór w dolnej części frontu, a od wewnątrz prześledziliśmy tam kilka przewodów. Ponieważ mieliśmy pod ręką schemat elektryczny, okazało się, że jest to żarówka wskaźnika „włączonej”, która dawno temu się przepaliła. Numer części do wymiany to „GE 51”. Okazuje się, że są one dość powszechne w takich urządzeniach jak flippery, więc zamienniki LED można znaleźć w całym Internecie. Wybrałem zielony.

Krok 3: Makiety i prace przygotowawcze

Makiety i prace przygotowawcze
Makiety i prace przygotowawcze
Makiety i prace przygotowawcze
Makiety i prace przygotowawcze
Makiety i prace przygotowawcze
Makiety i prace przygotowawcze

Lista części:

Arkusz z tworzywa sztucznego o grubości 1/16 cala:

Pochylona obudowa skrzynki projektowej:

Ekran dotykowy Raspberry Pi Foundation:

Użyłem wiertarki i gwintownika do gwintowania niektórych śrub dystansowych, które siedziałem, aby móc zamontować Raspberry pi pod spodem całego urządzenia. Następnie za pomocą narzędzia dremel wykonałem szczelinę na kabel ekranu i wywierciłem duży otwór z końcówką krokową na kabel USB do zasilania ekranu, a także wywierciłem otwory na śruby montażowe. Gdy wszystko zostało już poprawnie wymodelowane, szablonem ekranu dotykowego użyłem trochę kartonu, a następnie przeniosłem wycięcie do plastikowej obudowy, ponownie używając dremela.

Następnie umieściłem kilka kropel kleju Krazy Glue na wewnętrznej stronie obudowy, aby przymocować go do plastikowego arkusza i zabezpieczyłem go na miejscu wokół krawędzi za pomocą czarnej masy uszczelniającej.

Krok 4: Skrypt zamykania

Skrypt wyłączania
Skrypt wyłączania
Skrypt wyłączania
Skrypt wyłączania

Kiedy mieliśmy otwartą obudowę i zdejmowaliśmy szpulę do szpuli, odkryliśmy, że każdy element był zasilany z płyty głównej przez standardowe gniazda. Więc po prostu odłączyliśmy szpulę od szpuli, odkręciliśmy kilka śrub i wyjęliśmy.

Ale oznaczało to również, że po wyłączeniu urządzenia w tym gnieździe zasilanie natychmiast się wyłączy. Coś, czego nie chciałem, ponieważ martwię się o uszkodzenie karty SD na pi z natychmiastowym wyłączeniem zasilania. (Wiem, przeczytałem milion odpowiedzi na forum od użytkowników, że nie jest to coś, o co musisz się martwić, ale tak się stało, więc martwię się). Zbudowałem więc i przetestowałem wyłączenie awaryjne z baterii, a następnie oskryptowałem je jako część kompilacji.

Lista części:

Adafruit PowerBoost1000:

Bateria 3.7v:

Następnie zbudowałem dzielnik napięcia 220k-330k - PB1000 wyprowadza 5V, a GPIO Pi może obsłużyć tylko wejście 3V, więc jest to niezbędna kompilacja.

PB1000 ma zestaw pinów, które będą odczytywać stan wysoki lub niski w zależności od stanu zasilania. Podłączyłem się do pinu USB, który wyprowadza 5 V, gdy urządzenie działa na zasilaniu USB. Gdy zasilanie USB spada, bateria przejmuje kontrolę, a pin USB spada do 0V. Ta zmiana jest wykrywana przez mój skrypt. Ten skrypt jest dodawany jako usługa uruchamiana podczas uruchamiania.

#!/usr/bin/python# Skrypt do wyłączania Raspberry Pi przy użyciu Adafruit PowerBoost 1000c.import RPi. GPIO as GPIOimport timeimport ospwrpin = 4GPIO.setmode(GPIO. BCM)GPIO.setup(pwrpin, GPIO. IN)while True:#Shutdown function low = not(GPIO.input(pwrpin)) if low: os.system('shutdown -h now') time.sleep(1)

Krok 5: Przyciski i okablowanie

Przyciski i okablowanie
Przyciski i okablowanie
Przyciski i okablowanie
Przyciski i okablowanie
Przyciski i okablowanie
Przyciski i okablowanie

Lista części:

Adafruit miękki przycisk dotykowy:

Arkusz z tworzywa sztucznego o grubości 1/8 cala:

Trochę resztek złomu i trochę nitów

Płyta perforowana

Volumio ma wbudowaną wtyczkę do przycisków GPIO, więc używam jej zamiast pisać własny skrypt. (Pełne ujawnienie, próbowałem napisać własny skrypt, ale nie działał tak dobrze, jak się spodziewałem, a wbudowana wtyczka była wystarczająco dobra.)

Ustaliłem szablony przycisków blendera, odległość aktywacji, a następnie zbudowałem mały zestaw z plastikowej podstawy, wsporników, miękkich przycisków, trochę płyty perforowanej i złomu. Był też samodzielny przycisk pauzy, o którym upewniłem się, że również działa.

Krok 6: Końcowe okablowanie i instalacja

Końcowe okablowanie i instalacja
Końcowe okablowanie i instalacja
Końcowe okablowanie i instalacja
Końcowe okablowanie i instalacja
Końcowe okablowanie i instalacja
Końcowe okablowanie i instalacja

Do tej kompilacji używam tylko pinów 17, 22, 23, 24 i 4, więc podłączenie do GPIO było całkiem proste. Gdy wszystko było już podłączone, udało mi się umieścić całość w szafce.

Mam też pin 18 w jakimś rezerwowym kodzie dla późniejszego projektu (więcej na ten temat w ostatnim kroku tej kompilacji).

Krok 7: Gotowe

Image
Image
Gotowe!
Gotowe!
Gotowe!
Gotowe!

Gdy wszystko było na swoim miejscu, włączyłem go i przetestowałem. Działa pięknie. Pięknie działają guziki. To brzmi świetnie. Jestem bardzo zadowolony.

Więc, co dalej?…

Krok 8: Plany na przyszłość

Przyszłe plany
Przyszłe plany
Przyszłe plany
Przyszłe plany

Oryginalna szpula do szpuli miała licznik, który zliczał liczbę sekund odtwarzanego dźwięku. Chcę, żeby to znów funkcjonowało. Kupiłem więc silnik, trochę kół i pasków i nad tym trochę popracuję.

Lista części:

Silnik 3v o niskich obrotach:

W końcu zamontuję go na spodzie urządzenia i poprowadzę pasek od niego do koła, które obraca cyframi. Jedyną przeszkodą jest matematyka za przekładnią, aby liczby poruszały się z odpowiednią prędkością - liczenie sekund. Ale mogę to rozgryźć. A kod jest już zrobiony i dodany do kompilacji, a przetestowałem go za pomocą diody LED 3v.

#!/usr/bin/env python

import RPi. GPIO jako GPIO import czasu import podprocesu motorpin = 18 GPIO.setmode(GPIO. BCM) GPIO.setup(motorpin, GPIO. OUT) while True: process = subprocess. Popen("mpc status|grep -o playing", stdout=subprocess. PIPE, shell=True) output = process.communicate()[0] if "playing" in output: #if output zawiera słowo 'playing' GPIO.output(motorpin, GPIO. HIGH) #włącz motor else: #output to cokolwiek innego GPIO.output(motorpin, GPIO. LOW)time.sleep(0.1)

Zalecana: