Spisu treści:
- Krok 1: Składniki
- Krok 2: Sprzęt
- Krok 3: Oprogramowanie
- Krok 4: Modelowanie i druk 3D
- Krok 5: Montaż
- Krok 6: Test końcowy
Wideo: TfCD - Plus: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Plus to minimalistyczne inteligentne światło, które nie tylko powiadamia ludzi o warunkach pogodowych, ale także tworzy przyjemne wrażenia dla użytkowników dzięki zmianom barwy światła wprowadzanym przez obracanie plusa. Jej kształt daje możliwość łączenia kilku modułów plus lub stworzenia ogromnej lampy z mnóstwem plusów umieszczonych przez znajomych. Ten projekt oświetleniowy jest częścią kursu Advanced Concept Design (ACD) na uniwersytecie TU Delft, a technologia została wdrożona przy użyciu praktycznego TfCD jako źródła inspiracji.
Krok 1: Składniki
1 Raspberry pi zero w
1 akcelerometr z rowkiem Adxl345
4 diody LED Ws2812b
1 tablica prototypowa
Obudowy drukowane 3D i wycinane laserowo
Krok 2: Sprzęt
diody LED
Diody LED Neopixel mają 4 piny o nazwach: +5V, GND, Data In i Data out.
- Pin 4 raspberry pi jest podłączony do +5V wszystkich diod LED
- Pin 6 raspberry pi jest podłączony do GND wszystkich diod LED
- Data W pin pierwszej diody jest podłączony do pinu 12 w raspberry pi.
- Pin wyjścia danych pierwszej diody LED jest połączony z wejściem danych drugiej i tak dalej.
Proszę spojrzeć na schemat połączeń, aby lepiej zrozumieć.
Akcelerometr
Akcelerometr posiada 4 piny o nazwach: VCC, GND, SDA i SCL.
- Pin 1 raspberry pi jest podłączony do VCC.
- Pin 3 Raspberry Pi jest podłączony do SCL.
- Pin 5 Raspberry Pi jest podłączony do SDA.
- Pin 9 raspberry pi jest podłączony do GND.
Budować
- Dla wygody diody LED można przylutować do płytki prototypowej. Zdecydowaliśmy się wyciąć deskę na kształt plusa, aby dobrze wpasowała się w zaprojektowane w 3D etui.
- Po przylutowaniu diod LED na płycie lutujemy przewody połączeniowe, aby wykonać połączenia między złączem nagłówka 0,1 "a diodami LED. Złącze nagłówka służy do odłączenia raspberry pi i ponownego użycia go w przyszłym projekcie.
Krok 3: Oprogramowanie
Obraz systemu operacyjnego Raspberry Pi
Najpierw musimy uruchomić i uruchomić Raspberry Pi. W tym celu wykonujemy następujące kroki:
- Pobierz najnowszą wersję Raspbian stąd. Możesz pobrać go bezpośrednio lub przez torrenty. Będziesz potrzebował programu do zapisywania obrazów, aby zapisać pobrany system operacyjny na kartę SD (karta micro SD w przypadku modelu Raspberry Pi B+ i Raspberry Pi Zero).
- Więc pobierz "win32 disk imager" stąd. Włóż kartę SD do laptopa/komputera i uruchom program do zapisywania obrazów. Po otwarciu przeglądaj i wybierz pobrany plik obrazu Raspbian. Wybierz właściwe urządzenie, czyli dysk reprezentujący kartę SD. Jeśli wybrany dysk (lub urządzenie) jest inny niż karta SD, drugi wybrany dysk zostanie uszkodzony. Więc uważaj.
- Następnie kliknij przycisk „Napisz” na dole. Jako przykład zobacz obrazek poniżej, gdzie napęd karty SD (lub micro SD) jest reprezentowany przez literę „G:\" System operacyjny jest teraz gotowy do normalnego użytkowania. Jednak w tym samouczku zamierzamy używać Raspberry Pi w trybie bezgłowym. Oznacza to, że bez podłączonego do niego fizycznego monitora i klawiatury!
- Po wypaleniu karty SD nie wyjmuj jej z komputera! Użyj edytora tekstu, aby otworzyć plik config.txt znajdujący się na karcie SD. Zejdź na dół i dodaj dtoverlay=dwc2 jako ostatnią linię:
- Zapisz plik config.txt jako zwykły tekst, a następnie otwórz cmdline.txt Po rootwait (ostatnie słowo w pierwszym wierszu) dodaj spację, a następnie modules-load=dwc2, g_ether.
- Teraz wyjmij kartę SD z komputera i włóż ją do Raspberry Pi i podłącz do komputera za pomocą kabla USB. Po uruchomieniu systemu operacyjnego powinno zostać wykryte nowe urządzenie gadżetu Ethernet.
- Możesz użyć ssh [email protected], aby połączyć się z płytą i kontrolować ją zdalnie. Aby uzyskać bardziej szczegółowe instrukcje dotyczące działania bezgłowego, przejdź tutaj. Sterownik Neopixel
Biblioteka rpi_ws281x jest kluczem, który umożliwia korzystanie z NeoPixels z Raspberry Pi.
Najpierw musimy zainstalować narzędzia potrzebne do skompilowania biblioteki. W swoim uruchomieniu Raspberry Pi: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Teraz uruchom te polecenia, aby pobrać i skompilować bibliotekę:
git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Na koniec, po pomyślnym skompilowaniu biblioteki, możemy zainstalować ją dla Pythona za pomocą:
cd python && sudo python setup.py install Teraz pojawia się kod Pythona, który steruje diodami LED. Kod jest dość prosty z kilkoma komentarzami, które mogą ci pomóc. z importu neopixel * # Konfiguracje NeoPixel LED_PIN = 18 # Pin GPIO Raspberry Pi podłączony do pikseli LED_BRIGHTNESS = 255 # Ustaw na 0 dla najciemniejszego i 255 dla najjaśniejszego LED_COUNT = 4 # Liczba pasków LED pikseli = Adafruit_NeoPixel(LED_COUNT, LED_PIN, 800000, 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Zainicjuj bibliotekę strip.begin() strip.setPixelColor(0, Color(255, 255, 255)) strip.show()
Sterownik ADXL345
Wybrany przez nas czujnik przyspieszenia ma interfejs I2C do komunikacji ze światem zewnętrznym. Na szczęście dla nas Raspberry Pi ma również interfejs I2C. Musimy tylko umożliwić jej użycie w naszym własnym kodzie.
Wywołaj narzędzie konfiguracyjne Raspbian przy użyciu sudo raspi-config. Po uruchomieniu przejdź do Opcje interfejsu, Opcje zaawansowane, a następnie włącz I2C. Zainstaluj odpowiednie moduły Pythona, abyśmy mogli korzystać z interfejsu I2C w Pythonie:
sudo apt-get install python-smbus i2c-tools Poniższy kod Pythona pozwala nam komunikować się z czujnikiem akcelerometru i odczytywać jego wartości rejestrów do własnych celów. import smbus import struct # Konfiguracje akcelerometru bus = smbus. SMBus(1) address = 0x53 gain = 3.9e-3 bus.write_byte_data(address, 45, 0x00) # Przejdź do trybu gotowości bus.write_byte_data(address, 44, 0x06) # Przepustowość 6,5Hz bus.write_byte_data(adres, 45, 0x08) # Przejdź do trybu pomiaru # Odczytaj dane z czujnika buf = bus.read_i2c_block_data(adres, 50, 6) # Rozpakuj dane z int16_t do python integer data = struct.unpack_from (">hhh", buffer(tablica bajtów(buf)), 0)
x = float(dane[0]) * zysk
y = float(dane[1]) * zysk
z = float(dane [2]) * zysk
Detektor ruchu
Jedną z cech światła, które tworzymy, jest to, że może wykrywać ruch (lub jego brak), aby przejść do trybu interaktywnego (gdzie światło zmienia się w zależności od obrotu) i trybu prognozy pogody (gdzie światło zmienia się w zależności od prognozy pogody na dzisiaj). Poniższy kod wykorzystuje poprzednią funkcję do odczytywania wartości przyspieszenia dla 3 osi i ostrzegania nas o ruchu.
przyspieszenie = pobierzPrzyspieszenie()
dx = abs(prevAccel[0] - accel[0])
dy = abs(prevAccel[1] - accel[1])
dz = abs(prevAccel[2] - accel[2])
if dx > moveThreshold lub dy To > moveThreshold lub dz > moveThreshold:
drukuj 'przeniesiony'
przeniesiony = Prawda
w przeciwnym razie:
przeniesiony = Fałsz
Pogoda API
Aby otrzymać prognozę pogody, możemy skorzystać z Yahoo Weather. Wiąże się to z rozmawianiem z interfejsem API Yahoo Weather Rest, który może być dość złożony. Na szczęście dla nas trudna część jest już załatwiona w postaci modułu weather-api dla pytona.
- Najpierw musimy zainstalować ten moduł za pomocą: sudo apt install python-pip && sudo pip install weather-api
- Więcej informacji na temat tego modułu można znaleźć na stronie autora.
Po zainstalowaniu poniższy kod pobiera warunki pogodowe na ten moment
z importu pogody Pogoda Pogoda = Pogoda()
lokalizacja = pogoda.lookup_by_location('dublin')
warunek = lokalizacja.warunek()
print(warunek.tekst())
Kładąc wszystko razem
Cały kod projektu, który łączy wszystkie powyższe elementy można znaleźć tutaj.
Automatyczne uruchamianie skryptu Pythona podczas uruchamiania
Aby móc umieścić raspberry pi w pudełku i uruchamiać nasz kod za każdym razem, gdy podłączamy go do zasilania, musimy upewnić się, że kod jest uruchamiany automatycznie podczas rozruchu. W tym celu używamy narzędzia o nazwie cron.
- Najpierw wywołaj narzędzie cron za pomocą: sudo crontab -e
-
Poprzednie kroki otworzą plik konfiguracyjny, w którym dodamy następujący wiersz:
@reboot pythona /home/pi/light.py &
Krok 4: Modelowanie i druk 3D
Model 3D Plusa został wykonany w Solidworks i zapisany w formacie. Stl. Następnie w celu wydrukowania modelu 3D plik. Stl został zaimportowany do oprogramowania Cura. Produkcja każdej strony plusa trwała 2:30 godziny; więc wydrukowanie każdego pełnego plusa zajęło około 5 godzin. A w przypadku przezroczystych boków pleksi została wycięta laserowo.
Krok 5: Montaż
Mając część wydrukowaną w 3D, elektronikę i oprogramowanie pod ręką, możemy w końcu zmontować produkt końcowy.
- Drukowane w 3D płyty górne i dolne okazały się bardziej przezroczyste, niż oczekiwano. Warstwa folii aluminiowej rozwiązała problem wycieku światła.
- Jednak te arkusze są przewodzące i mogą powodować zwarcia w naszym niezabezpieczonym obwodzie. Więc kolejna warstwa białej tektury jest przyklejona na wierzchu.
- Rozproszone segmenty z pleksiglasu są przyklejone do jednej z bocznych płyt.
- W jednym z bocznych paneli wydrukowanych w 3D wywiercony jest otwór. Dzieje się tak, abyśmy mogli przejść przez przewód zasilający.
- Po przełożeniu przewodu zasilającego przez otwór przylutowujemy go do naszej płytki prototypowej.
- Podłączamy czujnik do raspberry pi, a następnie podłączamy go do złącza.
- Łączymy 2 sztuki razem, aby otrzymać nasz produkt końcowy.
- Opcjonalnie można skleić 2 sztuki, aby uzyskać trwalsze połączenie. Pamiętaj jednak, że może być trudno dostać się do pudełka po jego zaklejeniu, jeśli chcesz później zmienić kod.
Zalecana:
Poręczny niestandardowy panel świetlny (kurs eksploracji technologii - TfCD - Tu Delft): 12 kroków (ze zdjęciami)
Wearable Custom Light Panel (kurs eksploracji technologii - TfCD - Tu Delft): W tej instrukcji dowiesz się, jak stworzyć własny oświetlony obraz, który możesz nosić! Odbywa się to za pomocą technologii EL pokrytej winylową naklejką i mocowaniem do niej opasek, dzięki czemu można ją nosić na ramieniu. Możesz również zmienić części tego p
Wizualne wykrywanie obiektów za pomocą kamery (TfCD): 15 kroków (ze zdjęciami)
Wykrywanie obiektów wizualnych za pomocą kamery (TfCD): Usługi kognitywne, które mogą rozpoznawać emocje, twarze ludzi lub proste przedmioty, są obecnie wciąż na wczesnym etapie rozwoju, ale wraz z uczeniem maszynowym ta technologia jest coraz bardziej rozwijana. Możemy spodziewać się, że więcej tej magii zobaczymy w
E-textile Project: Sweat Light T-shirt (TfCD): 7 kroków (ze zdjęciami)
E-textile Project: Sweat Light T-shirt (TfCD): Electronic-textiles (E-textiles) to tkaniny umożliwiające osadzanie w nich komponentów cyfrowych i elektroniki. Ta nowa technologia oferuje wiele możliwości. W tym projekcie zamierzasz prototypować koszulkę sportową, która wykrywa, jak
Ogród obrotowy DIY (TfCD): 12 kroków (ze zdjęciami)
Ogród obrotowy DIY (TfCD): Cześć! Przygotowaliśmy mały samouczek, jak zrobić własną małą wersję ogrodu obrotowego, który naszym zdaniem może reprezentować ogrodnictwo przyszłości. Wykorzystując zmniejszoną ilość energii elektrycznej i przestrzeni, technologia ta nadaje się do szybkiego
TfCD - Samojezdna tablica do krojenia chleba: 6 kroków (ze zdjęciami)
TfCD – Samojezdna tablica prototypowa: W tej instrukcji zademonstrujemy jedną z technologii często stosowanych w pojazdach autonomicznych: ultradźwiękowe wykrywanie przeszkód.;4m), f