Spisu treści:

Mikroskop lutowniczy Raspberry Pi Zero HDMI / WiFi: 12 kroków (ze zdjęciami)
Mikroskop lutowniczy Raspberry Pi Zero HDMI / WiFi: 12 kroków (ze zdjęciami)

Wideo: Mikroskop lutowniczy Raspberry Pi Zero HDMI / WiFi: 12 kroków (ze zdjęciami)

Wideo: Mikroskop lutowniczy Raspberry Pi Zero HDMI / WiFi: 12 kroków (ze zdjęciami)
Wideo: Uszkodzone Raspberry Pi z Allegro - KONKURS! Arduino MEGA2560 za DARMO 2024, Lipiec
Anonim
Image
Image
Mikroskop lutowniczy Raspberry Pi Zero HDMI/WiFi
Mikroskop lutowniczy Raspberry Pi Zero HDMI/WiFi
Mikroskop lutowniczy Raspberry Pi Zero HDMI/WiFi
Mikroskop lutowniczy Raspberry Pi Zero HDMI/WiFi

Lutowanie komponentów SMD może być czasem wyzwaniem, zwłaszcza jeśli chodzi o układy TQFP o rozstawie pinów 0,4 mm ze 100 lub więcej pinami. W takich przypadkach bardzo pomocny może być dostęp do jakiegoś powiększenia.

Próbując rozwiązać ten problem, postanowiłem zbudować własny mikroskop lutowniczy oparty na Raspberry Pi Zero W i module kamery. Mikroskop jest w stanie przesyłać strumieniowo wideo Full HD bezpośrednio do monitora HDMI praktycznie bez opóźnień, co jest idealne do lutowania. Ale także przez Wi-Fi z opóźnieniem krótszym niż pół sekundy, co jest całkiem dobre do kontroli płyty.

Opcjonalnie, za niewielką dopłatą, mikroskop można również uczynić przenośnym, co w połączeniu z możliwościami przesyłania strumieniowego wideo przez Wi-Fi otwiera dodatkowy wymiar potencjalnych przypadków użycia.

Jeśli masz drukarkę 3D, sprawdź również niesamowity projekt RichW36 na Thingiverse, aby uzyskać wersję mikroskopu z częściami drukowanymi 3D!

Krok 1: Narzędzia i części

Narzędzia i części
Narzędzia i części
Narzędzia i części
Narzędzia i części
Narzędzia i części
Narzędzia i części
Narzędzia i części
Narzędzia i części

Do zbudowania mikroskopu potrzebne będą następujące części:

1 x Raspberry Pi Zero W [10€]

1 x moduł kamery Raspberry Pi [8€] - Musisz go zhakować, aby zmienić jego ogniskową i umożliwić skupienie się na obiektach bardzo blisko niego. Nie wiem, czy ta sama procedura jest również możliwa z nowym modułem aparatu 8MP, więc polecam zamiast tego oryginalny 5MP.

1 x kabel do kamery Raspberry Pi Zero [2€] - Jak być może już wiesz, Raspberry Pi Zero ma mniejsze złącze kamery niż inne płyty Raspberry Pi, więc do podłączenia do niego modułu kamery potrzebny będzie również specjalny kabel adaptera.

1 x plastikowy mikrometr suwmiarki - Im tańszy można znaleźć, tym lepszy, po prostu użyłem starego plastikowego analogowego, który leżałem w pobliżu.

1 x kawałek linijki - szerokość linijki musi być mniejsza niż długość ruchomej szczęki suwmiarki. Jeśli chodzi o długość, około 10 cm do 15 cm powinno wystarczyć.

1x Aluminiowe Pudełko Projektowe [4€] - Służy jako podstawa zestawu i musi być wykonane z metalu, więc będzie również odporne na ciepło. Powodem, dla którego potrzebne jest pudełko, jest to, aby można było włożyć do niego ciężarek, aby był bardziej stabilny podczas lutowania.

1 x kabel HDMI i żeński adapter HDMI na męski Mini HDMI - Możesz także kupić kable HDMI na Mini HDMI, jeśli chcesz, ale miałem już zwykły kabel HDMI.

1 x zasilacz Micro USB - Według moich pomiarów prąd pobierany przez Pi nigdy nie przekracza 400mA, nawet podczas jednoczesnego przesyłania wideo 1080p przez WiFi i HDMI. Tak więc nawet zasilacz 500mA powinien wystarczyć. Na wszelki wypadek polecam jednak zakup 1A, zwłaszcza jeśli planujesz zbudować wersję przenośną, która również będzie miała straty na konwerterze doładowania.

1 x karta MicroSD [5 €] - Nawet karta 4 GB wystarczy, tylko upewnij się, że jest to wysokiej jakości klasa 10.

4 x śruby i nakrętki M2 [mniej niż 1 €] - Można również użyć śrub o większej średnicy. Jednak im większa śruba, tym szerszy musi być otwór i tym większe ryzyko pęknięcia plastiku.

1 x klej w sztyfcie na gorąco [1€]

Opaski kablowe [mniej niż 1 €] - będą używane do mocowania Pi na ruchomej części zacisku.

Oraz następujące narzędzia:

Pistolet do klejenia na gorąco

Dremel - z tarczą, która może przecinać plastik, oraz wiertłami do plastiku i aluminium o rozmiarze śrub.

Szczypce z długimi płaskimi końcówkami

Szczypce do cięcia śrub - Będziesz potrzebować sposobu na przycięcie śrub na odpowiednią długość. Użyłem pary szczypiec do cięcia śrub, chociaż jestem pewien, że istnieją również inne narzędzia, które również mogą wykonać tę pracę.

Śrubokręt Philips

Opcjonalnie, jeśli chcesz, aby był przenośny, będziesz potrzebować następujących dodatkowych części:

1 x akumulator LiPo [8€] - jego pojemność będzie zależeć od pożądanej żywotności akumulatora, wydajności konwertera boost i średniego zużycia energii.

1 x ładowarka LiPo / konwerter 5V Boost [20€] - Do tego projektu wybrałem PowerBoost 1000C firmy Adafruit. O wiele tańsze alternatywy są również dostępne na eBayu, chociaż zdecydowałem się na tę konkretną ze względu na fajną funkcję, o której powiem więcej później.

1 x 40-pinowa dwurzędowa męska głowica pinowa [mniej niż 1 €]

1 x 40-pinowa dwurzędowa żeńska głowica pinowa [mniej niż 1 €]

1 x 8-pinowa męska listwa pinowa [mniej niż 1 €]

1 x 8-pinowa żeńska listwa pinowa [mniej niż 1 €]

1 x Kawałek płytki prototypowej [1€] - Ponieważ będziesz musiał przylutować nagłówki pinów po obu stronach płytki, polecam zaopatrzyć się w dwustronną. Alternatywnie możesz uzyskać płytkę do prototypowania zaprojektowaną specjalnie dla Pi Zero, taką jak ta z MakerSpot.

1 x rezystory 1K [mniej niż 1 €]

Rezystor 1 x 10K [mniej niż 1 €]

1 x BC547 [mniej niż 1 €] - Każdy tranzystor NPN ogólnego zastosowania, właśnie tego użyłem.

1 x DPST Momentary Switch [1€] - Idealnie, jeśli potrzebujesz przełącznika DPST, dzięki czemu możesz włączać i wyłączać Pi za pomocą tego samego przycisku. Niestety nie miałem jednego w pobliżu, więc zamiast tego musiałem użyć dwóch oddzielnych przełączników chwilowych SPST.

Opaski kablowe [mniej niż 1€] - Do wersji przenośnej potrzebny jest jeszcze jeden, do zamocowania baterii z tyłu płytki prototypowej.

Drut lutowniczy

Oraz następujące dodatkowe narzędzia:

Lutownica

Para przecinaków do drutu

Całkowity koszt wersji nieprzenośnej, z wyłączeniem zasilacza, kabla HDMI i adaptera do mini HDMI, wyniósł około 30 €. Dodatkowy koszt uczynienia go przenośnym również wyniósł około 30 €. Większość części została zakupiona w serwisie eBay.

Krok 2: Przygotowanie karty MicroSD

Nagrywanie obrazu na kartę microSD

Jako bazę dla systemu zdecydowałem się na oficjalny obraz Raspbian Lite i zainstaluj wtedy dokładnie to, czego potrzebowałem. Aby rozpocząć, najpierw pobierz najnowszy obraz Raspbian Lite ze strony raspberrypi.org i wypal go na karcie microSD.

Jeśli używasz Linuksa, po rozpakowaniu możesz go nagrać, uruchamiając następujące polecenie jako root, dd if=/ścieżka/do/-raspbian-jessie-lite.img of=/dev/sdX bs=4M

Gdzie X to litera urządzenia, które odpowiada karcie microSD, np. C. Przed uruchomieniem polecenia upewnij się, że nie ma zamontowanych partycji należących do karty microSD. W przypadku użycia następującego polecenia, aby odmontować każdy z nich, odmontuj /dev/sdXY

Ale bądź bardzo ostrożny, użycie niewłaściwej litery zamiast X może spowodować nieodwracalne uszkodzenie systemu i zrujnować Twój dzień. Przed uruchomieniem polecenia dd dokładnie sprawdź, czy litera, którą wpisałeś zamiast X, jest rzeczywiście tą, która odpowiada urządzeniu microSD.

Jeśli używasz systemu Windows, po pobraniu obrazu Raspbian Lite i rozpakowaniu go, możesz użyć Win32DiskImager, aby nagrać go na karcie microSD. Więcej informacji można znaleźć w oficjalnej dokumentacji Raspberry Pi.

W systemie MacOS dostępna jest aplikacja graficzna o nazwie Etcher, za pomocą której można wypalić obraz na karcie microSD. Alternatywnie możesz również użyć dd podobnie do Linuksa, ale proces jest nieco inny. Ponownie możesz sprawdzić oficjalną dokumentację, aby uzyskać więcej informacji.

Konfiguracja WiFi

Po wypaleniu obrazu na kartę microSD będziesz musiał skonfigurować WiFi przed pierwszym uruchomieniem, a także włączyć SSH.

Pierwszą rzeczą, którą musisz zrobić, to utworzyć pusty plik o nazwie SSH wewnątrz partycji rozruchowej karty microSD. Jeśli korzystasz z systemu Windows, partycja rozruchowa najprawdopodobniej będzie jedyną partycją, którą będziesz mógł zobaczyć, ponieważ system Windows nie może natywnie odczytywać ani zapisywać partycji ext4. Jeśli partycje karty microSD nie są aktualnie zamontowane, po prostu odłącz i ponownie podłącz kartę do komputera.

Następnie ponownie wewnątrz partycji rozruchowej utwórz plik o nazwie wpa_supplicant.conf z ustawieniami sieci bezprzewodowej. Zawartość pliku powinna wyglądać podobnie do tego, kraj=

network={ ssid= psk= proto=RSN key_mgmt=WPA-PSK pairwise=CCMP auth_alg=OPEN }

proto może być RSN dla WPA2 lub WPA dla WPA1.key_mgmt może być WPA-PSK lub WPA-EAP dla sieci korporacyjnych. Pairwise może być CCMP dla WPA2 lub TKIP dla WPA1.auth_alg będzie prawdopodobnie OTWARTY, podczas gdy LEAP i SHARED to inne opcje. Jeśli chodzi o country, ssid i psk, powinny one być w zasadzie oczywiste.

To wszystko, teraz po prostu odmontuj kartę microSD z komputera i włóż ją do swojego Pi. Następnie podłącz swoje Pi do monitora HDMI, podłącz moduł kamery za pomocą specjalnego kabla taśmowego i na koniec podłącz zasilanie. Po kilku sekundach Twoje Pi powinno się uruchomić i automatycznie połączyć z siecią Wi-Fi. Na ekranie powinieneś również zobaczyć adres IP otrzymany z serwera DHCP routera.

Aktualizacja 4/6/2018:

W przypadku, gdy z jakiegoś powodu Twoje Pi nie może połączyć się z Wi-Fi podczas rozruchu, spróbuj zamiast tego wpa_supplicant.conf, kraj=

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ }

Niedawno próbowałem skonfigurować bezgłowego Pi Zero W z najnowszą wersją Raspbian i nie byłem w stanie go uruchomić, dopóki nie użyłem wpa_supplicant.conf podanego powyżej. Jeśli więc wydaje się, że masz ten sam problem, może to pomóc.

Krok 3: Nawiązywanie połączenia SSH

Jeśli nie podłączyłeś jeszcze monitora do swojego Pi i nie możesz zobaczyć, jaki ma adres IP, istnieje kilka sposobów na jego odkrycie. Jednym ze sposobów jest sprawdzenie dzienników serwera DHCP routera. Każdy router jest inny, więc nie będę opisywał tego procesu.

W systemie Linux innym łatwym sposobem jest uruchomienie następującej komendy nmap jako root, nmap -sn x.x.x.x/y

Gdzie x.x.x.x to adres IP Twojej sieci prywatnej, np. 192.168.1.0 a y to liczba jedynek (binarnie) maski sieci, np. dla maski sieci 255.255.255.0 liczba jedynek to 24. Czyli dla tej konkretnej sieci, którą uruchomisz, nmap -sn 192.168.1.0/24

Przykładowe dane wyjściowe dla tego polecenia są następujące:

Uruchamiam Nmapa 6.47 (https://nmap.org) 2016-04-16 12:34 EEST

Raport skanowania Nmapa dla 192.168.1.1 Host działa (opóźnienie 0.00044s). Adres MAC: 12:95:B9:47:25:4B (Intracom S. A.) Raport skanowania Nmap dla 192.168.1.2 Host działa (opóźnienie 0,0076s). Adres MAC: 1D:B8:77:A2:58:1F (HTC) Raport skanowania Nmapa dla 192.168.1.4 Host działa (opóźnienie 0,00067s). Adres MAC: 88:27:F9:43:11:EF (Raspberry Pi Foundation) Raport skanowania Nmapa dla 192.168.1.180 Host jest aktywny. Nmap done: 256 adresów IP (4 hosty w górę) przeskanowane w 2,13 sekundy

Jak widać w moim przypadku Pi ma adres IP 192.168.1.4.

Jeśli korzystasz z systemu Windows, dostępna jest również wersja nmapa, którą możesz wypróbować, o której więcej informacji znajdziesz tutaj. Po uzyskaniu adresu IP Pi możesz SSH do niego za pomocą następującego polecenia w systemie Linux oraz MacOS, ssh pi@

Lub w systemie Windows za pomocą PuTTY.

Domyślnym hasłem użytkownika pi jest raspberry.

Krok 4: Konfiguracja systemu

Ogólna konfiguracja

Przy pierwszym uruchomieniu system jest prawie całkowicie nieskonfigurowany, więc musisz najpierw wykonać kilka zadań.

Pierwszą rzeczą, którą musisz zrobić, to zmienić domyślne hasło dla użytkownika pi, hasło

Następnie będziesz musiał skonfigurować lokalizacje. Możesz to zrobić, uruchamiając następujące polecenie, sudo dpkg-reconfigure locales

Śmiało i wybierz wszystkie ustawienia regionalne en_US, używając spacji i innych ustawień regionalnych, które chcesz. Kiedy skończysz, naciśnij Enter. Na koniec wybierz en_US. UTF-8 jako domyślną lokalizację i naciśnij Enter.

Następnie musisz skonfigurować strefę czasową, sudo dpkg-rekonfiguruj tzdata

W tym momencie chyba dobrym pomysłem jest aktualizacja systemu, aktualizacja sudo apt-get

sudo apt-get upgrade sudo apt-get dist-upgrade

Następnie należy włączyć moduł kamery za pomocą polecenia raspi-config, sudo raspi-config

Wybierz z menu Opcje interfejsu, a następnie wybierz opcję Kamera. Odpowiedz tak na pytanie o włączenie kamery, a następnie wybierz OK. Na koniec wybierz Zakończ i odpowiedz tak na pytanie, czy chcesz teraz ponownie uruchomić Raspberry Pi. Po ponownym uruchomieniu ponownie połącz się z Pi przez SSH w taki sam sposób, jak poprzednio.

Aby sprawdzić, czy kamera działa poprawnie, możesz uruchomić następujące polecenie, raspivid -t 0

Powinieneś widzieć obraz wideo na monitorze HDMI, możesz go zatrzymać w dowolnym momencie, naciskając Ctrl-C. Możesz także użyć flag -vf i -hf, aby odwrócić obraz w pionie i/lub w poziomie, jeśli potrzebujesz.

Ustawianie statycznego adresu IP

Następną rzeczą, którą musisz zrobić, to ustawić statyczny adres IP dla swojego Pi. Aby to zrobić za pomocą nano edytuj plik /etc/dhcpcd.conf, sudo nano /etc/dhcpcd.conf

i dodaj na końcu następujące wiersze, interfejs wlan0

statyczny adres_ip= routery statyczne= statyczny serwer_nazwa_domeny=

W ustawieniu serwery_nazw_domeny możesz dodać wiele serwerów nazw rozdzielonych spacjami, jeśli chcesz, np. możesz również dodać adres IP Google DNS, który jest 8.8.8.8, który ma być używany jako serwer zapasowy. Naciśnij Ctrl-X, aby wyjść, wpisz y i na koniec naciśnij Enter, aby zapisać zmiany.

Następnie uruchom ponownie dhcpcd i usługi sieciowe, uruchamiając następujące dwa polecenia:

sudo systemctl restart dhcpcd.service

sudo systemctl restart networking.service

W tym momencie sesja SSH powinna się zawiesić. Nie martw się, ale tego można się spodziewać, ponieważ właśnie zmieniłeś adres IP Pi, po prostu połącz się z nim ponownie przez SSH, ale tym razem przy użyciu przypisanego adresu IP.

Krok 5: Instalacja GStreamera

Istnieje kilka sposobów na strumieniowe przesyłanie wideo z Raspberry Pi przez sieć, ale tym, który zapewnia najmniejsze opóźnienia, jest użycie GStreamera. Aby zainstalować GStreamer, możesz po prostu uruchomić następujące polecenia:

aktualizacja sudo apt-get

sudo apt-get zainstaluj gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

GStreamer ma sporo zależności, więc zajmie to trochę czasu. Po zakończeniu instalacji możesz przesyłać strumieniowo obraz wideo z kamery przez sieć i HDMI jednocześnie, używając następującego polecenia, raspivid -t 0 -w 1920 -h 1080 -fps 30 -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parsować ! rtph264pay config-interval=1 pt=96 ! płacą ! host serwera tcpserversink= port=5000

Spowoduje to utworzenie strumienia RTP na porcie 5000, który może zostać odebrany przez dowolną maszynę w sieci lokalnej za pomocą GStreamera, gst-launch-1.0 -v tcpclientsrc host= port=5000 ! gdpdepłać ! rtph264depay ! avdec_h264 ! wideokonwersja ! autovideosink sync=false

Instalacja GStreamera na dowolnej maszynie z dystrybucją Linuksa opartą na Debianie odbywa się dokładnie w taki sam sposób, jak na Pi. Większość głównych dystrybucji nie opartych na Debianie powinna również mieć w swoich repozytoriach GStreamera.

GStreamer jest również dostępny w systemach Windows i MacOS, szczegółowe informacje na temat instalacji można znaleźć tutaj i tutaj.

Krok 6: Skonfiguruj transmisję strumieniową, aby automatycznie uruchamiała się przy starcie

Oczywiście za pomocą poprzedniego polecenia możesz rozpocząć przesyłanie strumieniowe w dowolnym momencie, ale wymaga to najpierw połączenia z Pi przez SSH, co nie jest zbyt wygodne. Zamiast tego chcesz stworzyć skrypt, który będzie uruchamiany automatycznie przy starcie jako usługa i rozpoczyna transmisję strumieniową.

Aby to zrobić, najpierw utwórz plik za pomocą nano, sudo nano /usr/local/bin/network-streaming.sh

i wewnątrz wklej następujące dwie linie, #!/kosz/bash

raspivid -t 0 -w 1920 -h 1080 -fps 30 -vf -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parsować ! rtph264pay config-interval=1 pt=96 ! płacą ! host serwera tcpserversink= port=5000

Flagi -vf i -hf są używane do odwracania obrazu w pionie i poziomie. W zależności od orientacji kamery po jej zainstalowaniu możesz ich potrzebować lub nie.

Naciśnij Ctrl-X, aby wyjść, wpisz y i na koniec naciśnij Enter, aby zapisać zmiany. Następnie spraw, aby skrypt był wykonywalny, uruchamiając, sudo chmod +x /usr/local/bin/network-streaming.sh

Następnie musisz utworzyć plik usługi systemd, sudo nano /etc/systemd/system/network-streaming.service

I wklej w następujących wierszach, [Jednostka]

Description=Sieciowe przesyłanie strumieniowe wideo After=network-online.target Wants=network-online.target [Usługa] ExecStart=/usr/local/bin/network-streaming.sh StandardOutput=journal+console User=pi Restart=w przypadku awarii [Zainstaluj] WantedBy=multi-user.target

Zapisz plik i wyjdź z nano, a następnie uruchom następujące polecenie, aby przetestować swoją usługę, sudo systemctl start network-streaming.service

Jeśli wszystko działa zgodnie z oczekiwaniami, możesz uruchomić następujące polecenie, aby usługa automatycznie uruchomiła się podczas rozruchu, sudo systemctl umożliwia przesyłanie strumieniowe w sieci

Krok 7: Ustawienie systemu plików tylko do odczytu

Jednym z głównych problemów kart SD i ogólnie pamięci flash jest to, że są one bardzo podatne na korupcję.

Najlepszym sposobem na walkę z tym jest zamontowanie wszystkich partycji karty microSD jako tylko do odczytu. Umożliwi to również odłączenie zasilania od Pi w dowolnym momencie bez konieczności inicjowania prawidłowego zamykania, co jest bardzo przydatne zwłaszcza w przypadku takiej aplikacji.

Pierwszą rzeczą, którą musisz zrobić, to usunąć niektóre pakiety, uruchamiając następujące polecenie, sudo apt-get purge triggerhappy logrotate dphys-swapfile

Następnie należy zastąpić rsyslog demonem syslogd z busyboxa, co pozwoli na przechowywanie logów systemowych w pamięci, sudo apt-get install busybox-syslogd

sudo apt-get purge rsyslog

i biegnij, sudo apt-get autoremove

usunąć wszelkie pakiety, które nie są już potrzebne.

Następnie będziesz mógł przeglądać logi systemowe w dowolnym momencie za pomocą polecenia logread.

Następnie musisz przenieść /etc/resolv.conf do /tmp, który zostanie zamontowany w pamięci, ponieważ musi pozostać zapisywalny.

sudo rm /etc/resolv.conf

sudo touch /tmp/resolv.conf sudo ln -s /tmp/resolv.conf /etc/resolv.conf

Innym plikiem, który musi być zapisywalny, jest /var/lib/systemd/random-seed, więc podobnie, sudo rm /var/lib/systemd/losowe-seed

sudo touch /tmp/losowe nasiona sudo chmod 600 /tmp/losowe nasiona sudo ln -s /tmp/losowe nasiona /var/lib/systemd/losowe nasiona

Ponieważ plik random-seed nie jest zwykle tworzony podczas rozruchu, a zawartość /tmp jest nietrwała, musisz to zmienić, modyfikując plik usługi pliku usługi systemd-random-seed. Tak więc, używając nano, sudo nano /lib/systemd/system/systemd-random-seed.service

i po prostu dodaj linię na końcu sekcji serwisowej, ExecStartPre=/bin/echo "" > /tmp/losowe-seed

więc to będzie wyglądać tak, [Praca]

Type=oneshot RemainAfterExit=yes ExecStart=/lib/systemd/systemd-random-seed load ExecStop=/lib/systemd/systemd-random-seed save ExecStartPre=/bin/echo "" > /tmp/random-seed

i biegnij, sudo systemctl demon-reload

aby ponownie załadować pliki usług systemd.

Następnie musisz edytować plik /etc/fstab, sudo nano /etc/fstab

I dodaj opcję ro na partycjach /dev/mmcblk0p1 i /dev/mmcblk0p2, aby były montowane jako tylko do odczytu podczas rozruchu. I dodaj jeszcze kilka linii, aby /tmp, /var/log i /var/tmp były montowane w pamięci. Po wprowadzeniu tych zmian plik /etc/fstab powinien wyglądać podobnie do tego, proc /proc domyślne ustawienia proc 0 0

/dev/mmcblk0p1 /boot vfat defaults, ro 0 2 /dev/mmcblk0p2 / ext4 defaults, noatime, ro 0 1 # plik wymiany nie jest partycją wymiany, nie ma tu żadnej linii # użyj do tego dphys-swapfile swap[on|off] tmpfs /tmp tmpfs nosuid, nodev 0 0 tmpfs /var/log tmpfs nosuid, nodev 0 0 tmpfs /var/tmp tmpfs nosuid, nodev 0 0

Na koniec edytuj plik cmdline.txt, sudo nano /boot/cmdline.txt

a na końcu linii dodaj opcje fastboot noswap ro, aby wyłączyć sprawdzanie systemu plików, wyłączyć swap i wymusić montowanie systemu plików jako tylko do odczytu. Po tym twój /boot/cmdline.txt powinien wyglądać podobnie do tego, dwc_otg.lpm_enable=0 console=serial0, 115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 lift=termin fsck.repair=tak rootwait fastboot noswap ro

Na koniec uruchom ponownie system, aby zmiany zaczęły obowiązywać. Po ponownym uruchomieniu, jeśli wszystko poszło zgodnie z oczekiwaniami, działa, sudo touch /boot/test

sudo touch/test

powinien dać ci w obu przypadkach błąd "System plików tylko do odczytu". Teraz możesz odłączyć zasilanie od swojego Pi w dowolnym momencie, nie ryzykując uszkodzenia systemu plików na karcie microSD.

Jeśli potrzebujesz z jakiegoś powodu, aby główny system plików był tymczasowo odczytywany i zapisywany, np. do instalacji niektórych pakietów możesz to zrobić za pomocą następującego polecenia, sudo mount -o remount, rw /

A gdy skończysz, uruchom następujące polecenie, aby ponownie ustawić go tylko do odczytu, sudo zamontować -o przemontować, ro /

Jeśli chcesz dokonać aktualizacji, upewnij się, że zamontowałeś /boot i / as read-write, ponieważ aktualizacje jądra i oprogramowania układowego również zapisują partycję /boot.

W tym momencie skończyliśmy z częścią oprogramowania, więc bardzo polecam wyłączenie Pi, wyjęcie karty microSD i wykonanie kopii zapasowej obrazu karty microSD.

Krok 8: Hakowanie modułu kamery

Hakowanie modułu kamery
Hakowanie modułu kamery
Hakowanie modułu kamery
Hakowanie modułu kamery

Aby moduł kamery mógł skupiać się na obiektach znajdujących się bardzo blisko i zapewniać powiększenie, musisz go zhakować, aby zmodyfikować jego ogniskową.

Soczewka przymocowana na górze czujnika jest właściwie przykręcona i zabezpieczona bardzo niewielką ilością kleju. Używając długich, płaskich szczypiec delikatnie obracaj soczewkę w przód iw tył, aby rozerwać połączenie klejowe, a następnie bardzo ostrożnie całkowicie odkręć soczewkę.

Następnie załóż soczewkę z powrotem na moduł i lekko ją przykręć, aby nie spadła, gdy odwrócisz płytkę do góry nogami. Następnie podłącz swoje Pi do monitora, jeśli jeszcze tego nie zrobiłeś, podłącz zasilanie i spójrz na strumień wideo.

To, co musisz zrobić, to wyregulować, jak mocno obiektyw jest przykręcony do podstawy, aby kamera mogła skupić się na obiektach w odległości około 10 cm od obiektywu. Staraj się nie schodzić dużo niżej, ponieważ musisz mieć stosunkowo dobrą odległość roboczą, aby móc pod nią lutować. Nie martw się zbytnio o to, aby był idealny, zawsze możesz dokonać drobnych korekt po zakończeniu montażu mikroskopu.

Krok 9: Montaż mikroskopu

Montaż mikroskopu
Montaż mikroskopu
Montaż mikroskopu
Montaż mikroskopu
Montaż mikroskopu
Montaż mikroskopu
Montaż mikroskopu
Montaż mikroskopu

Teraz nadszedł czas na zabawną część, która nie jest niczym innym niż montaż mikroskopu.

Najpierw będziesz musiał zrobić dwa otwory o średnicy śrub na górnej szczęce zacisku i dwa z jednej strony aluminiowej obudowy, aby go zamontować.

Następnie musisz otworzyć otwór o odpowiednim rozmiarze, aby pasował do kawałka linijki. Nie spiesz się z tym, ponieważ jeśli pojedziesz zbyt szybko, możesz złamać plastik lub zrobić zbyt dużą dziurę. Po zakończeniu włóż linijkę, aby upewnić się, że ładnie pasuje do środka.

Teraz musisz zrobić kilka otworów na krawędzi na linijkę, aby zamontować moduł kamery. Po zakończeniu przykręć moduł kamery i wytnij pozostałą część śrub.

Następnie zamocuj zacisk z boku aluminiowej obudowy za pomocą śrub, przełóż linijkę z przymocowanym do niej modułem kamery przez otwór i przymocuj go gorącym klejem. Pamiętaj, aby dodać gorący klej z obu stron i zarówno od góry, jak i od dołu.

Na koniec przymocuj płytkę Raspberry Pi do ruchomej części zacisku za pomocą opasek zaciskowych, jak widać na zdjęciu, i podłącz kabel kamery.

I to wszystko, teraz możesz łatwo regulować ostrość kamery, przesuwając suwmiarkę w górę i w dół, a jeśli chcesz również dostroić ogniskową obiektywu, aby uzyskać optymalną dla siebie odległość roboczą.

Jeśli chcesz również dowiedzieć się, jak sprawić, by był przenośny, możesz przejść do następnego kroku.

Krok 10: Przenośność: oprogramowanie

PowerBoost 1000C ma bardzo przydatną małą funkcję. Posiada bolec włączający, który po wyciągnięciu w górę aktywuje konwerter doładowania i zaczyna dostarczać moc na jego wyjściu, a gdy jest wyciągany w dół, zasilanie jest odcinane.

Raspberry Pi ma również fajną funkcję, która pozwala nam skonfigurować pin GPIO jako wyjście, które będzie w stanie wysokim, gdy Pi jest włączone i w stanie niskim po pomyślnym wyłączeniu. Łącząc te dwie cechy, możliwe jest stworzenie programowego włącznika/wyłącznika mikroskopu.

Zacznijmy od części oprogramowania, pierwszą rzeczą, którą musisz zrobić, to włączyć tę funkcję Pi i sprawić, by wyprowadzała logikę wysoką na jednym pinie GPIO od momentu rozpoczęcia rozruchu i niską logikę po pomyślnym zamknięciu.

Jest to naprawdę proste, wystarczy edytować plik /etc/config.txt, sudo mount -o remount, rw /boot

sudo nano /boot/config.txt

i dodaj następującą linię na jej końcu, dtoverlay=gpio-wyłączone, gpiopin=26, active_low

Teraz, jeśli zrestartujesz Raspberry i zmierzysz napięcie na pinie GPIO26 (pin 37 na nagłówku GPIO) w odniesieniu do masy, powinieneś zobaczyć 3,3 V od momentu rozpoczęcia rozruchu Pi. A po całkowitym wyłączeniu powinno być 0V.

Teraz, gdy już to zrobisz, musisz napisać prosty skrypt, który będzie monitorował stan drugiego pinu GPIO i gdy stanie się niski, wywoła zamknięcie. W tym celu będziesz musiał zainstalować pakiet wirepipi, który jest dostarczany wraz z poleceniem gpio.

sudo mount -o remount, rw /

sudo apt-get aktualizacja sudo apt-get zainstaluj okablowaniepi

Teraz za pomocą nano utwórz skrypt, sudo nano /usr/local/sbin/power-button.sh

i wklej w kolejnych wierszach, #!/kosz/bash

while true czy if (($(gpio read 24) == 0)) then systemctl poweroff fi sleep 1 done

a po zapisaniu i wyjściu również uczynić go wykonywalnym, sudo chmod +x /usr/local/sbin/power-button.sh

Należy wspomnieć, że pin 24 okablowaniapi odpowiada pinowi GPIO19, który jest pinem 35 w nagłówku GPIO. Jeśli brzmi to mylnie, możesz spojrzeć na pinout Raspberry Pi na stronie pinout.xyz i na stronie o pinach na wirepi.com. Uruchomienie polecenia gpio readall może być również pomocne w określeniu, który pin jest który.

Następnie musisz utworzyć plik usługi systemd, sudo nano /etc/systemd/system/power-button.service

o następującej treści, [Jednostka]

Description=Monitorowanie przycisku zasilania After=network-online.target Wants=network-online.target [Usługa] ExecStart=/usr/local/sbin/power-button.sh StandardOutput=journal+console Restart=on-failure [Zainstaluj] WantedBy =wielu użytkowników.cel

Na koniec, aby uruchomić usługę i uruchomić ją podczas rozruchu, sudo systemctl uruchom przycisk zasilania. usługa

sudo systemctl włącz przycisk zasilania. usługa

i ponownie zamontuj system plików jako tylko do odczytu z, sudo mount -o remount, ro /

Krok 11: Przenośność: sprzęt

Przenośność: sprzęt
Przenośność: sprzęt
Przenośność: sprzęt
Przenośność: sprzęt
Przenośność: sprzęt
Przenośność: sprzęt
Przenośność: sprzęt
Przenośność: sprzęt

Teraz czas na część sprzętową. Najpierw musisz zbudować bardzo prosty obwód, który składa się z tranzystora NPN, dwóch rezystorów i przełącznika chwilowego DPST. Możesz spojrzeć na zdjęcie schematu obwodu, aby uzyskać więcej szczegółów.

Będziesz także musiał przylutować męski nagłówek pinowy do GPIO Raspberry Pi, a także żeński na PowerBoost, dzięki czemu możesz łatwo podłączyć to i Pi na płycie, którą zamierzasz zbudować. Zasadniczo twoja tablica będzie przymocowana na górze Pi Zero jak kapelusz, a PowerBoost na górze tablicy. Pi będzie również zasilany bezpośrednio z nagłówka GPIO za pomocą pinu +5V PowerBoost.

Po zakończeniu lutowania nadszedł czas, aby wszystko złożyć. Najpierw zamontuj Pi na ruchomej części zacisku za pomocą opasek zaciskowych. Następnie zamontuj baterię z tyłu deski, którą zbudowałeś ponownie za pomocą opaski na suwak i przymocuj ją do Pi, uważaj, aby nie zacisnąć jej zbyt mocno, ponieważ możesz uszkodzić baterię. Zamocuj na niej płytę PowerBoost i podłącz baterię do złącza. Na koniec podłącz kabel kamery i podłącz Pi do modułu kamery i oczywiście nie zapomnij podłączyć karty microSD.

I wreszcie skończyliśmy! Jeśli teraz naciśniesz przycisk zasilania i naciskasz go przez około 8 sekund, proces uruchamiania Pi powinien się rozpocząć, a po zwolnieniu powinien kontynuować. Niestety, Pi nie zaczyna od razu wyprowadzać stanu wysokiego na GPIO26, więc jeśli przestaniesz naciskać przycisk zbyt wcześnie, zasilanie zostanie odcięte.

Po zakończeniu procesu uruchamiania ponowne naciśnięcie przycisku zasilania przez około sekundę powinno spowodować wyłączenie Pi i odcięcie zasilania.

Krok 12: Pomysły na ulepszenia

Pomysły na ulepszenia
Pomysły na ulepszenia
Pomysły na ulepszenia
Pomysły na ulepszenia
Pomysły na ulepszenia
Pomysły na ulepszenia

Pozbywanie się niechcianych źródeł światła

Nie powinno to mieć większego znaczenia, jeśli planujesz używać mikroskopu tylko do lutowania i kontroli płytek, ale jeśli chciałbyś również zrobić nim kilka zdjęć, możesz zauważyć, że na twoich zdjęciach pojawia się irytująca czerwona plama. Jest to spowodowane diodą LED modułu kamery, która jest zawsze włączona podczas pracy kamery.

Jeśli chcesz go wyłączyć, na szczęście jest to dość proste. Po udostępnieniu partycji /boot do zapisu, sudo mount -o remount, rw /boot

edytuj swój /boot/config.txt za pomocą nano, sudo nano /boot/config.txt

i dodaj następującą linię na końcu, disable_camera_led=1

Powinno to spowodować, że dioda kamery pozostanie wyłączona po ponownym uruchomieniu systemu.

Teraz, jeśli zrobiłeś wersję przenośną, PowerBoost 1000C niestety ma absurdalnie jasną niebieską diodę LED, która wskazuje, że zasilanie jest włączone. Oprócz tego, że psuje ekspozycję twoich zdjęć, możesz również uznać, że jest to bardzo denerwujące dla twoich oczu podczas lutowania, tylko ze względu na to, jak jasne jest.

Z tego powodu możesz rozważyć całkowite usunięcie diody LED zasilania lub rezystora, który jest z nią połączony szeregowo z płyty. Alternatywnie możesz zamiast tego wymienić rezystor 1K, który jest z nim połączony szeregowo, na większy, aby dioda LED stała się ciemniejsza.

Regulowane powiększenie

Zamiast kupować zwykły moduł kamery Raspberry Pi i hackować go w celu zmiany ogniskowej, jeśli nie masz nic przeciwko zaoszczędzeniu kilku dodatkowych pieniędzy, możesz również kupić moduł kamery z regulowaną ogniskową, za nieco ponad 20 € od eBay.

Taki moduł aparatu pozwoli w łatwy sposób dostosować poziom powiększenia, ponieważ przy opuszczaniu aparatu wystarczy trochę odkręcić obiektyw, aby ustawić ostrość. Umożliwi to również łatwe osiągnięcie całkiem dużych poziomów powiększenia. Należy jednak pamiętać, że po pewnym punkcie głębia ostrości stanie się tak jasna, że mikroskop będzie prawie bezużyteczny, co widać również na załączonym obrazie.

Podsumowując, jeśli możesz sobie na to pozwolić, gorąco polecam zakup jednego z tych modułów aparatu, ponieważ zapewni ci to niesamowitą elastyczność.

Konkurs mikrokontrolerów 2017
Konkurs mikrokontrolerów 2017
Konkurs mikrokontrolerów 2017
Konkurs mikrokontrolerów 2017

II nagroda w Konkursie Mikrokontrolerów 2017

Zalecana: