Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 7 cze 2025, o 08:54


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 
    Autor Wiadomość
    PostNapisane: 2 cze 2017, o 22:44 
    Offline
    Nowy

    Dołączył(a): 02 cze 2017
    Posty: 6
    Pomógł: 0

    Witajcie,
    Nadszedł wreszcie ten czas, by pokazać tutaj mój projekt ;) Jest to projekt inżynierski, który powstał pół roku temu, ale teraz jest idealna pora na jego zaprezentowanie - zrobiło się ciepło i można jeździć rowerem. Do rzeczy

    Zasada działania
    Zasada działania wyświetlacza wykorzystuje bezwładność ludzkiego oka, nazywaną niekiedy zdolnością do całkowania. Wyświetlacze tej klasy nazywane są również wyświetlaczami POV (ang. Persistence of vision). Wyświetlanie obrazu polega na stworzeniu przez ludzki mózg wrażenia odbioru jednego obrazu, będącego złożeniem kilku dyskretnych i szybkozmiennych obrazów zarejestrowanych przez oko. Człowiek zamiast postrzegać pojedyncze piksele linijki, widzi cały obraz. Dzieje się tak, gdyż obraz na siatkówce oka utrzymuje się przez około 1/25 sekundy po zaniknięciu wywołującego go bodźca.

    Diody
    Podstawowym elementem wyświetlacza są oczywiście diody. Do projektu wybrałem diody WS2812. Linijka LED składa się z 32 diod. Całość umieszczona jest na promieniu koła.

    Mikrokontroler i pamięć
    Do sterowania diodami wybrałem oczywiście AVR'a, a dokładnie ATmegę 1284. Dlaczego ten? Głównym powodem jest duża pamięć danych SRAM, która wynosi 16 kB. Potrzebna ona jest do przechowywania aktualnie wyświetlanego obrazu. Taktowana jest zewnętrznym kwarcem 20 MHz. W pamięci można zapisać tylko jeden obraz, co jest oczywiście niesatysfakcjonujące. Można byłoby wykorzystać ogromną pamięć programu dostępną w mk, ale to oznaczałoby obrazy zapisane na stałe w momencie programowania układu. Tego też nie chcemy. Zdecydowałem się zatem wykorzystać dodatkową pamięć EEPROM 25AA1024 o pojemności całkowitej 1 Mb. Pozwala ona na zapis 10 obrazów oraz parametrów konfiguracyjnych wyświetlacza. AVR wczytuje odpowiednie obrazy z EEPROMa do pamięci SRAM i z niej go wyświetla.
    Sposób wyświetlania obrazu na kole został zorganizowany w taki sposób, że na jeden pełny obrót koła odświeżanie linijki LED następuje 128 razy. Odpowiada to rozdzielczości kątowej 2,8125 °.

    Pomiar prędkości obrotowej koła
    Spośród wielu dostępnych rozwiązań w tym zakresie zdecydowałem się na jedno z prostszych - kontaktron. Sam kontaktron jest oczywiście zamontowany na kole, zaś magnes stały jest umieszczony na ramie roweru. Do eliminacji wpływu drgań styków zastosowany został filtr RC, gdyż to rozwiązanie nie wymaga dodatkowych obliczeń wykonywanych przez układ sterowania. Do mikrokontrolera trafiają impulsy o częstotliwości proporcjonalnej do prędkości obrotowej koła. Na tej podstawie, z wykorzystaniem odpowiednio skonfigurowanych liczników sprzętowych, wyliczane są momenty odświeżania linijki LED. Przy prędkości jazdy 20 km/h częstotliwość odświeżania wynosi ok. 2,7 Hz. Minimalna prędkość, przy której obraz jest wyświetlany to 15 km/h.

    Całość umieściłem na zaprojektowanej i wytrawionej płytce PCB. Umieszczone na niej są dwie informacyjne diody LED - zielona informuje o gotowości układu do pracy, a czerwona o nawiązaniu połączenia z komputerem.

    ObrazekObrazekObrazekObrazekObrazekObrazekObrazek

    Oprogramowanie
    Właśnie, słowo się rzekło - komputer. Wraz z projektem powstało oprogramowanie komputerowe. Głównymi zadaniami programu są: dokonanie konwersji obrazu do postaci zapisywanej w pamięci układu sterowania wyświetlaczem i przesłanie tegoż obrazu do wyświetlacza. Obraz można wczytać z pliku graficznego lub stworzyć go samemu przy użyciu prostego edytora graficznego. Użyteczną opcją programu jest możliwość wizualizacji wyświetlanego na kole rowerowym obrazu. Okno wysyłania obrazu umożliwia podstawową konfigurację wyświetlacza – wybór banku pamięci dla obrazu, tryb zmiany obrazów i wskazanie banków pamięci/obrazów do wyświetlania. Nie jest konieczne wgrywanie nowego obrazu, można zmienić jedynie ustawienia. Można również wgrać nowy obraz, bez zmiany ustawień. Obrazy mogą być zmieniane automatycznie ze wskazanym okresem lub po zatrzymaniu roweru. Komunikacja została zorganizowana od strony mikrokontrolera poprzez interfejs UART, od strony komputera przez USB oraz konwertera pomiędzy nimi.

    ObrazekObrazekObrazekObrazekObrazek

    Warto jeszcze wspomnieć o zasilaniu. Został do tego użyty pakiet 4 akumulatorków AA umieszczonych również na kole. Koszyk z bateriami łatwo jest zdjąć, gdyż swobodnie można rozpisać przewód zasilania.

    Efekt finalny
    Poniżej zamieszczam kilka przykładowych zdjęć zrobionych podczas pracy wyświetlacza. Zdjęcia są przykładowe i nie mają na celu promocji kogokolwiek. Niestety nie mam żadnego filmu, bo jest go po prostu ciężko sensownie wykonać. Potrzeba byłoby odpowiedniego sprzętu, a tego nie posiadam :P Niemniej zdjęcia pokazują ten efekt WOW, który udało się uzyskać ;)

    ObrazekObrazekObrazekObrazek

    W planach kolejne projekty, ale o tym przy następnej okazji :)
    Pozdrawiam!

    Dawid Michałowski
    michalowskidawid@gmail.com
    Wszelkie prawa do projektu zastrzeżone



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 cze 2017, o 23:44 
    Offline
    Moderator zasłużony dla forum.atnel.pl
    Avatar użytkownika

    Dołączył(a): 18 lip 2012
    Posty: 3229
    Lokalizacja: Kraków - obok FAB5 ATMEL'a
    Pomógł: 91

    No pięknie. Szkoda że nie ma schematu.

    Widać jakieś migotanie czy nie?

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 cze 2017, o 09:55 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27407
    Lokalizacja: Szczecin
    Pomógł: 1043

    Jednym słowem mówiąc REWELACYJNY projekt, piękne narzędzia do przygotowywania obrazów na PC ... cudeńko ! ;) Gratulacje !

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 cze 2017, o 10:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 28 maja 2012
    Posty: 471
    Lokalizacja: ZGY/ZS
    Pomógł: 30

    Bardzo fajny projekt. Możesz napisać coś więcej o obróbce obrazów w programie na PC (C#?)? Jak podszedłeś do tematu, jakie techniki wykorzystałeś?

    _________________
    eDiyCraft.blogspot.com



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 cze 2017, o 14:24 
    Offline
    Nowy

    Dołączył(a): 02 cze 2017
    Posty: 6
    Pomógł: 0

    A faktycznie zapomniałem dodać - program napisany w C#. Generalnie problem konwersji obrazu to wyznaczenie odpowiednich pikseli obrazu, z których należy pobrać kolory i je zapisać. Piksele muszą być wyznaczone w kartezjańskim układzie współrzędnych. Aby to zrobić wykorzystuję układ zmiennych biegunowych, który naturalnie odpowiada powierzchni koła. Należy tylko wyznaczać odpowiednio promień i kąt oraz zwiększać je z określonym krokiem zależnym od parametrów (wielkości i rozdzielczości) wyświetlacza i zapisywać je w ustalonej kolejności.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 cze 2017, o 14:39 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2013
    Posty: 2596
    Pomógł: 129

    Super projekt i realizacja od a do z. Jak byś sie zdecydował na opublikowanie źródeł to byłoby to bardzo fajnym i ciekawym materiałem edukacyjnym.

    Sent from my Mi-4c using Tapatalk



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 cze 2017, o 21:02 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 mar 2014
    Posty: 334
    Lokalizacja: Rybnik
    Pomógł: 55

    Widać ogrom wiedzy i włożonej pracy. Gratuluje udanego projektu.
    Tak się tylko zastanawiam, jak wygląda wodoszczelność całości? Można z powodzeniem jeździć w deszczu/ po kałużach?
    Ciekawe, czy jakaś firma nie zainteresowałaby się tym projektem do wyświetlania reklam, w końcu jadąc takim rowerem po zmroku przez miast musi wzbudzać zainteresowania :P

    _________________
    Amatorska stacje meteorologiczna



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 cze 2017, o 14:15 
    Offline
    Nowy

    Dołączył(a): 26 lut 2014
    Posty: 8
    Pomógł: 0

    Super projekt. Przypomniał mi się mój wyświetlacz widmowy którego prototyp wykonałem jakiś rok temu. Jest wyposażony w bluetooth więc można przesyłać obrazy i tekst bez kabla w trakcie działania. Do tego dodatkowa kość eeprom która mieści 5 obrazów. Obrazy także można tworzyć, konwertować i przesyłać z programu na PC, ale wygląda on o wiele bardziej surowo niż Twój :) Nigdy nie byłem dobry jeżeli chodzi o design... Następna wersja miała być na koło roweru, ale planowałem użyć APA102 zamiast WS2812 z uwagi na mniej wymagającą obsługę. Dzięki Tobie chyba wrócę do projektu :)

    https://www.youtube.com/watch?v=0bPvmFBpYQU



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 8 cze 2017, o 14:23 
    Offline
    Użytkownik

    Dołączył(a): 24 lip 2013
    Posty: 60
    Lokalizacja: Okolice Gliwic
    Pomógł: 3

    Szkoda, że nie ma filmiku z przejazdu po wsi/mieście :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 12 cze 2017, o 13:12 
    Offline
    Nowy

    Dołączył(a): 02 cze 2017
    Posty: 6
    Pomógł: 0

    anonimowy - Dziękuję bardzo :) Przyznać muszę, że urządzenie nie jest odporne na nic większego :D I tak naprawdę jeśli chciałoby się używać go do normalnej jazdy, należałoby zabezpieczyć całość przed kurzem i wodą. Póki co projekt jest zrobiony koncepcyjnie, ta strona czysto użytkowa i techniczna jeszcze do ewentualnego dopieszczenia.

    m2c - Dobra robota, gratulacje! Bluetooth to fajna opcja, bez kabli, podłączania i w ogóle. Rower to wymagające środowisko, trzeba to zamocować (siła odśrodkowa), umieścić baterie, mierzyć prędkość obrotową i w ogóle :) Ale polecam hehe Co do designu - projekt jest w miarę skończony, bo to projekt inżynierski. Nie chciałem zostawić tego tak byle jak - musi wyglądać :) Niemniej też chcąc coś robić na kole, trzeba najpierw wszystko w miarę zamocować, żeby dało się robić cokolwiek. W efekcie wyszło to, co widać ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 10 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO