Spisu treści:

Rozwiązanie problemu zanieczyszczenia światłem - Artemis: 14 kroków
Rozwiązanie problemu zanieczyszczenia światłem - Artemis: 14 kroków

Wideo: Rozwiązanie problemu zanieczyszczenia światłem - Artemis: 14 kroków

Wideo: Rozwiązanie problemu zanieczyszczenia światłem - Artemis: 14 kroków
Wideo: Jak zanieczyszczenie światłem wpływa na przyrodę? 2024, Listopad
Anonim
Image
Image
Rozwiązanie problemu zanieczyszczenia światłem - Artemis
Rozwiązanie problemu zanieczyszczenia światłem - Artemis

Zanieczyszczenie światłem to coś, co dotyka nas wszystkich na całym świecie. Odkąd wynaleziono żarówkę, światło stało się znacznie bardziej spopularyzowane i jest szczególnie używane w dużych miastach, takich jak Nowy Jork i Chicago. Całe to światło może wpływać na tak wiele różnych gatunków zwierząt; na przykład małe żółwie, które muszą znaleźć drogę do oceanu, korzystając z księżyca jako wskazówek, mylą niebezpieczną latarnię z księżycem i kierują się na autostradę. Światło wpływa również na migrację ptaków i ich okresy godowe. Zanieczyszczenie światłem wpływa nie tylko na zwierzęta, ale także na nas. Ilekroć wychodzimy nocą na zewnątrz i widzimy te oślepiające niebieskie światła, nasze umysły są pobudzane do myślenia, że jest dzień. Dlatego nasz mózg nie wytwarza melatoniny; chemia potrzebna nam do spania. Ponieważ ta substancja chemiczna nie jest produkowana w tak dużej ilości, nasz harmonogram snu zostaje przerwany, co powoduje wiele innych problemów.

Jednak dzięki naszemu rozwiązaniu Light Pollution Solution, Artemis, ułatwiamy tworzenie lepszego jutra pod względem zanieczyszczenia światłem. Nasze światło ma ciepłą temperaturę barwową, aby nie emitować niebieskiego światła, które skłania nas do myślenia, że nie powinniśmy spać do późna w nocy. Za pomocą Arduino Uno, wielu różnych czujników i obwodów Snap Circuits nasze światło włącza się lub wyłącza w zależności od aktywności w okolicy, ciemności i nie tylko. Dzięki naszemu rozwiązaniu do atmosfery będzie emitowane mniej światła, dzięki czemu wraz ze wszystkimi zwierzętami będziemy mogli cieszyć się pięknem nocnego nieba, które pomaga w utrzymaniu błogiego otoczenia.

Krok 1: Zbierz swoje materiały

Zbierz swoje materiały
Zbierz swoje materiały
Zbierz swoje materiały
Zbierz swoje materiały
Zbierz swoje materiały
Zbierz swoje materiały

Pierwszym krokiem do stworzenia Artemidy jest zebranie materiałów.

Jak widać na pierwszym obrazku powyżej, oto lista potrzebnych materiałów fizycznych:

  • Super Starter Kit Uno R3 Project - zawiera mikrokontroler, płytkę stykową i wszystkie potrzebne czujniki, dzięki czemu można je wykorzystać do zakodowania światła. W szczególności będziesz potrzebować:

    • Kabel USB-Arduino (i przejściówka, jeśli nie masz portu USB w laptopie)
    • Przewody męskie-męskie
    • Przewody męsko-żeńskie
    • Bardzo długie przewody (do przecięcia w razie potrzeby)
    • Kable połączeniowe (do podłączenia fotorezystora Snap Circuits do płytki stykowej)
    • Karta micro SD i czytnik
    • Ekran OLED
    • Mikrokontroler Arduino Uno
    • Czujnik PIR
    • Czujnik DHT (wilgotności/temperatury)
    • Rezystory 220k Om
    • Deska do krojenia chleba
    • Diody LED RGB (4x) lub zwykłe diody LED (4x)
    • Fotorezystor
  • Zestaw Snap Circuits Classic (jak pokazano w instrukcji powyżej). W szczególności będziesz potrzebować fotorezystora Snap Circuits.
  • Nożyce
  • Drewniane patyki
  • Nóż dokładny
  • Narzędzie do ściągania izolacji
  • Śrubokręt
  • Czarny rdzeń z pianki
  • Papierowa konstrukcja
  • Jak pokazano na drugim rysunku, do kodowania czujników potrzebna jest aplikacja Arduino Genuino na komputerze stacjonarnym/laptopie.
  • Jak pokazano na trzecim obrazku, będziesz potrzebować kilku przyjaciół, aby to zrobić!

Krok 2: PIR / Fotorezystor - Kod

PIR / Fotorezystor - Kod
PIR / Fotorezystor - Kod
PIR / Fotorezystor - Kod
PIR / Fotorezystor - Kod
PIR / Fotorezystor - Kod
PIR / Fotorezystor - Kod

Pierwszy kod, który tworzysz, dotyczy PIR (czujnika ruchu) i fotorezystora. Łącząc te dwa czujniki w jeden kod, możemy sprawić, by światło reagowało zarówno na poziom ciemności, jak i na aktywność (lub jej brak) w okolicy. Oto, co robi każda główna funkcja w kodzie:

setup(): ta funkcja aktywuje monitor szeregowy i ustawia pin LED jako wyjście, a pin PIR jako wejście

loop(): ta funkcja uruchamia funkcję photo_value() i funkcję checkPIRStatus()

NBhere(): ta funkcja zapisuje w diodach LED jako wyłączone, jeśli czujnik ruchu nie jest włączony

SBhere(): ta funkcja zapisuje diody LED jako włączone, aby świeciły jasno, jeśli czujnik ruchu jest włączony

checkPIRStatus(): ta funkcja pobiera dane z czujnika, a następnie sprawdza, czy raportowana wartość jest wyższa niż 451. Jeśli tak, a czujnik jest wyłączony, zostaje włączony i działa SBhere(). Jeśli jednak zgłoszona liczba jest niska, a czujnik jest włączony, czujnik jest wyłączany i uruchamiana jest funkcja NBhere().

photo_value(): ta funkcja sprawdza, czy liczba jest wysoka, średnia lub niska i odpowiednio zmienia intensywność światła.

Krok 3: PIR / fotorezystor - schemat elektryczny

PIR / Fotorezystor - Schematy elektryczne
PIR / Fotorezystor - Schematy elektryczne
PIR / Fotorezystor - Schematy elektryczne
PIR / Fotorezystor - Schematy elektryczne
PIR / Fotorezystor - Schematy elektryczne
PIR / Fotorezystor - Schematy elektryczne

Po pomyślnym skompilowaniu kodu podłącz płytkę prototypową w taki sam sposób, jak na powyższym diagramie Fritzing. Po zakończeniu upewnij się, że wszystko jest prawidłowo podłączone i że nic nie jest na swoim miejscu. Oprócz 4 zwykłych diod LED lub diod RGB będziesz potrzebować:

  • Czujnik PIR
  • Fotorezystor
  • Trzy przewody męsko-żeńskie
  • Przewody męskie-męskie
  • 4 rezystory 220k Om

Po pomyślnym załadowaniu kodu na tablicę, pomachaj ręką nad czujnikiem PIR. Światła powinny się włączyć i rozjaśnić, a jeśli otworzysz monitor szeregowy, powinien pojawić się komunikat „Wykryto ruch!”. Po odsunięciu ręki od PIRa, na monitorze szeregowym powinien pojawić się komunikat „Ruch zakończony!”, a dioda LED (lub dioda LED RGB, jak pokazano na schemacie fritzowania) powinna przyciemnić się i zgasnąć:).

Jeśli chodzi o fotorezystor, jeśli go zakryjesz, dioda LED powinna się rozjaśnić i/lub włączyć, a po podniesieniu ręki dioda powinna przygasnąć. Jeśli włączysz wszystkie światła w swojej okolicy, dioda LED powinna być bliska wyłączenia.

Krok 4: OLED / DHT - kod

OLED / DHT - Kod
OLED / DHT - Kod
OLED / DHT - Kod
OLED / DHT - Kod
OLED / DHT - Kod
OLED / DHT - Kod

Gdy skończysz z segmentem PIR/fotorezystora kodu, możesz przejść do kodu OLED/DHT! Działając poprawnie, kod ten powinien pobierać dane o wilgotności/temperaturze z otaczającego środowiska i po wyświetleniu tych informacji na monitorze szeregowym powinien wyświetlać te informacje, jak również stan wszelkich innych czujników, na ekranie OLED.

Oto, co robi każda funkcja w kodzie:

setup(): ta funkcja aktywuje monitor szeregowy i inicjuje biblioteki

loop(): ta funkcja tworzy zmienne dla temperatury/wilgotności, a następnie wyświetla informacje o wilgotności/temperaturze na ekranie OLED i monitorze szeregowym

Oto konkretne biblioteki, które należy pobrać, aby uruchomić ten kod:

Biblioteka U8g2

Uwaga na marginesie: powyższy kod dotyczy zarówno DHT/OLED, jak i karty SD, a wymienione funkcje to te, które sterują wyłącznie czujnikami DHT/OLED.

Krok 5: OLED / DHT - schemat elektryczny

OLED / DHT - Schematy elektryczne
OLED / DHT - Schematy elektryczne
OLED / DHT - Schematy elektryczne
OLED / DHT - Schematy elektryczne
OLED / DHT - Schematy elektryczne
OLED / DHT - Schematy elektryczne

Po pomyślnym skompilowaniu kodu podłącz płytkę prototypową w taki sam sposób, jak na powyższym diagramie Fritzing. Po zakończeniu upewnij się, że wszystko jest prawidłowo podłączone i że nic nie jest na swoim miejscu. Oprócz 4 zwykłych diod LED lub diod RGB będziesz potrzebować:

  • Ekran OLED
  • Czujnik DHT
  • Przewody męskie-męskie
  • 4 rezystory 220k Om

Po pomyślnym załadowaniu kodu na płytkę informacja o wilgotności/temperaturze powinna pojawić się na monitorze szeregowym, a po wyświetleniu na ekranie OLED ekranu Adafruit na górze powinny pojawić się dane o temperaturze wilgotności wraz ze stanem każdego z czujników mówiąc „ON” lub „OFF” pod nim:).

Krok 6: Zbierz dane z OLED

Zbierz dane z OLED
Zbierz dane z OLED
Zbierz dane z OLED
Zbierz dane z OLED

Korzystając z monitora szeregowego, byliśmy w stanie przekonwertować dane wilgotności/temperatury na wykres. Gdy kod działa poprawnie i widzisz prawidłowe informacje o wilgotności/temperaturze na monitorze szeregowym, kliknij „Narzędzia”, a następnie „Ploter seryjny”. Po naciśnięciu tego powinieneś otrzymać wykres danych. Aby zebrać dane, podłącz czujnik DHT do płytki stykowej, uruchom ostateczny kod, a następnie ustaw czujnik DHT w pobliżu okna lub na zewnątrz od zachodu do wschodu słońca, aby uzyskać dane.

Na wykresie po prawej stronie Celsjusza Temperatura w funkcji czasu temperatura stopniowo spada wraz z zachodem słońca. Dane te zostały zebrane podczas zachodu słońca od 19:00 do 22:00. Noc często daje niższe temperatury w porównaniu do dnia, ponieważ słońce nie ogrzewa już bezpośrednio okolicy. Pomiary te zostały zebrane za pomocą czujnika DHT, który zbiera zarówno dane dotyczące temperatury, jak i wilgotności.

Wykres po lewej to miara procentowej wilgotności powietrza w funkcji czasu. Dane zbierano od 19:00 do 22:00 za pomocą czujnika DHT. Z biegiem czasu wilgotność zaczęła wzrastać, co może wskazywać na opady w najbliższej przyszłości. Opady są ważnym czynnikiem, który należy wziąć pod uwagę przy projektowaniu opraw oświetleniowych, ponieważ zdarzenia pogodowe, takie jak deszcz, śnieg i mgła, mogą zmniejszyć widoczność i wpłynąć na rozpraszanie światła.

Krok 7: Karta SD - kod

Karta SD - Kod
Karta SD - Kod
Karta SD - Kod
Karta SD - Kod
Karta SD - Kod
Karta SD - Kod

Teraz, po pomyślnym zakodowaniu segmentu OLED/DHT i segmentu PIR/fotorezystora, jesteś gotowy na ostatni segment: kod karty SD. Działając poprawnie, celem tego kodu jest odczytanie przez kartę SD danych fotorezystora i pokazanie wszelkich trendów oświetleniowych w ciągu dnia.

Oto, co robi każda funkcja w kodzie:

setup(): ta funkcja aktywuje monitor szeregowy i rejestruje wszelkie dane na monitorze szeregowym

loop(): ta funkcja ustanawia licznik czasu

writeHeader(): ta funkcja drukuje nagłówki danych do pliku karty SD

logData(): ta funkcja rejestruje czas, wilgotność i temperaturę w pliku karty SD

Dodatkowe biblioteki, których będziesz potrzebować:

  • Biblioteka SD. FAT
  • Prosta biblioteka DHT

Krok 8: Karta SD - schematy elektryczne

Karta SD - schematy elektryczne
Karta SD - schematy elektryczne
Karta SD - schematy elektryczne
Karta SD - schematy elektryczne
Karta SD - schematy elektryczne
Karta SD - schematy elektryczne

Po pomyślnym skompilowaniu kodu podłącz płytkę prototypową w taki sam sposób, jak na powyższym diagramie Fritzing. Po zakończeniu upewnij się, że wszystko jest prawidłowo podłączone i że nic nie jest na swoim miejscu. Będziesz potrzebować:

  • Czytnik kart SD
  • Fotorezystor
  • Przewody męskie-męskie
  • 1 rezystor 220k Om

Po pomyślnym przesłaniu kodu zostaw fotorezystor przy oknie lub wynieś go na podwórko. Zostaw go tam od zachodu słońca do wschodu słońca, a kiedy wrócisz, wyjmij kartę micro SD. Następnie, korzystając z czytnika kart SD, poproś laptopa o odczytanie informacji i utwórz z nich wykres!

Krok 9: Zbieranie danych z karty SD

Zbieranie danych z karty SD
Zbieranie danych z karty SD

Powyżej znajduje się obraz danych, które zebraliśmy z wartości fotorezystorów z karty SD. Celem zbierania tych danych jest obserwacja trendów oświetlenia w ciągu nocy, abyśmy mogli sprawdzić, czy istnieje jakieś natrętne źródło sztucznego światła, które zakłóca życie wszystkich zwierząt na Ziemi.

Aby zebrać dane, podłącz fotorezystor do płytki prototypowej za pomocą diagramu Fritzing i uruchom końcowy kod, który znajduje się w pliku zip na końcu instrukcji. Podłącz kartę micro SD do czytnika i ustaw fotorezystor przy oknie lub na zewnątrz od zachodu do wschodu słońca, aby zbierać dane.

Dane te zostały zebrane przez fotorezystor, który mierzy natężenie światła. Dane zostały zebrane od 12:00 do 6:45 i obejmują wschód słońca. Wraz ze wschodem słońca intensywność światła rosła, powodując wzrost wartości uzyskiwanych przez fotorezystor. Dane te można wykorzystać do określenia, kiedy konieczne jest sztuczne oświetlenie, ponieważ fotorezystor określa intensywność naturalnego światła w swoim otoczeniu i może określić, kiedy jest wystarczająco jasne, aby stworzyć widoczny krajobraz bez sztucznego światła.

Krok 10: Łączenie całego kodu

Łącząc cały kod
Łącząc cały kod
Łącząc cały kod
Łącząc cały kod
Łącząc cały kod
Łącząc cały kod

Po zakończeniu kodowania trzech oddzielnych elementów kodu nadszedł czas, aby połączyć je wszystkie! Biorąc trzy składniki kodu, upewnij się, że między wszystkimi programami nic nie jest takie samo, a następnie umieść je w innym programie. Następnie upewnij się, że wszystko jest podłączone do płytki prototypowej tak, jak na diagramie Fritzing i uruchom program! Dla nas kilka razy kod nie działał, gdy połączyliśmy wszystkie komponenty, więc spójrz na część dotyczącą rozwiązywania problemów w tej instrukcji, jeśli początkowo coś nie działa.

Krok 11: Sugestie/Rozwiązywanie problemów

Poniżej znajduje się kilka sugestii dotyczących problemów, które mogą wystąpić podczas pracy nad kodem. Z doświadczenia wiemy, że kod może być czasami bardzo denerwujący i stresujący, więc mam nadzieję, że te wskazówki pomogą Ci odtworzyć nasze *rozwiązanie zanieczyszczenia światłem*:).

Ogólny:

  • Upewnij się, że wszystkie przewody są podłączone do właściwych pinów, o których informuje program podczas definiowania zmiennych.
  • Upewnij się, że wszystkie przewody są prawidłowo podłączone (na przykład, może należy zamienić stronę ujemną i dodatnią diody LED)
  • Upewnij się, że nie masz RGB w swojej płytce prototypowej podczas kodowania diod LED i na odwrót

Jeśli programista nie odpowiada:

  • Zrestartuj Arduino i mikrokontroler
  • Odłącz i ponownie podłącz USB
  • Sprawdź, czy twój port to Arduino Uno (przejdź do „Narzędzia”, a następnie „Port”)
  • Otwórz nowy, pusty plik i spróbuj go uruchomić, a następnie uruchomić oryginalny kod

Nie możesz znaleźć tutaj rozwiązania?

Spróbuj wejść na https://www.arduino.cc/en/Guide/Troubleshooting2 (oficjalna strona rozwiązywania problemów z Arduino) i poszukaj swojego problemu.

Krok 12: Projektowanie modelu

Projektowanie modelu
Projektowanie modelu
Projektowanie modelu
Projektowanie modelu
Projektowanie modelu
Projektowanie modelu
Projektowanie modelu
Projektowanie modelu

Użyj diagramów w pliku zip, aby zaprojektować i wydrukować 3d światła (jednak drukarka 3d nie jest konieczna). Aby rozpocząć projektowanie modelu, wytnij kawałek piankowego rdzenia lub kartonu o wymiarach około 56 cm x 37 cm. Aby ułatwić okablowanie, podnieś deskę, przyklejając na gorąco drewniane klocki do rogów. Stwórz swoją drogę i trawę, przyklejając paski czarnego papieru budowlanego do tablicy i wycinając otwory w miejscach, w których powinny znajdować się lampy. Rozłóż je równo, dzieląc długość deski na 4 i wycinając miejsca w podstawie. określ położenie czujników (fotorezystora i PIR) oraz ekranu OLED, abyś mógł wyciąć części podstawy, aby wprowadzić przewody do arduino. Po wycięciu wszystkich otworów zacznij przepuszczać przewody tak, aby przeszły pod model i przyłączyły się do arduino. Gdy wszystko zostanie zakończone, przyklej czujniki i światła na gorąco!

Krok 13: Przetestuj wszystko razem

Przetestuj wszystko razem
Przetestuj wszystko razem
Przetestuj wszystko razem
Przetestuj wszystko razem
Przetestuj wszystko razem
Przetestuj wszystko razem

Teraz, gdy wszystkie elementy konstrukcyjne, elektryczne i kodujące są gotowe, nadszedł czas na przetestowanie Twojej pracy! Śmiało i wgraj swój program na tablicę, a jeśli zadziała, gratulacje!! Jeśli nie, wróć do części dotyczącej rozwiązywania problemów w tej instrukcji, aby sprawdzić, czy możesz rozwiązać problem.

Rozwiązania dotyczące zanieczyszczenia światłem, takie jak Artemis, są niezbędne, aby przywrócić wszystkim nocne niebo. Przez stulecia ludzie bali się nocnego nieba i postrzegali światło jako zbawcę, chociaż wiele zwierząt cierpi z powodu obfitości światła w pobliżu ich naturalnych siedlisk. Korzystając z tego rozwiązania w zakresie zanieczyszczenia światłem, możemy zrobić krok w kierunku stworzenia lepszego środowiska, tak aby nam i wszystkim innym zwierzętom na Ziemi nie zakłócały ich naturalne harmonogramy, abyśmy wszyscy mogli żyć szczęśliwie i zdrowo!

Krok 14: Podziękowania

Dziękuję bardzo za przeczytanie naszego Instruktażu!:) Ten projekt nie byłby możliwy bez następujących grup, więc oto kilka osób, którym chcielibyśmy podziękować:

  • Jesus Garcia (nasz instruktor w programie Adler ASW) za nauczenie nas, jak korzystać z tych czujników i pomoc w rozwiązywaniu problemów!
  • Ken, Geza, Chris, Kelly i reszta zespołu Adler Teen Programs za pomoc w realizacji tego projektu
  • Gościnni mówcy LaShelle Spencer, Carlos Roa i Li-Wei Hung za wygłoszenie fascynujących wykładów, które zainspirowały nas do dalszej kreatywności w naszych projektach
  • Snap Circuits za przesłanie nam bardzo interesującego zestawu, który pomógł nam dowiedzieć się więcej o obwodach i pomógł nam w naszym ostatecznym projekcie
  • darczyńcom Adler za obejrzenie naszej końcowej prezentacji i przekazanie nam informacji zwrotnych:)

Ponadto powyżej znajduje się plik zip ze wszystkimi diagramami, modelami, bibliotekami i kodem, których użyliśmy do stworzenia tego rozwiązania Light Pollution. Zachęcamy do pobrania tego, jeśli chcesz to zrobić w domu!

Pobierz całe nasze repozytorium dla tego rozwiązania dotyczącego zanieczyszczenia światłem tutaj!

Zalecana: