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 18 lip 2025, o 00:33


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
    Autor Wiadomość
    PostNapisane: 28 maja 2014, o 16:51 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 maja 2014
    Posty: 22
    Pomógł: 0

    Witam.
    Mam czujnik światła taki:
    Obrazek

    O ile się nie mylę to:
    Vcc - 5V
    Obrazek - inna wersja GND
    D0 - wysyłanie informacji do mikrokontrolera

    I teraz pytanko jak to zaprogramować żeby, np.:
    jak jest światło to się nie pali, a jak niema to się pali dioda

    // edit
    Znalazłem taką stronkę o tym ale tam chyba nic niema:
    http://www.baboon.co.in/products-page/sensors/digital-light-sensor-intensity-seek-module-photoresistor-arduino-avr/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 17:00 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    Pewnie to działa na takiej zasadzie że jak masz "jasno" to na wyjściu jest stan wysoki, a jak "ciemno" to niski. Czułość (poziom przy którym ma się zmienić stan na wyjściu na przeciwny czyli przjście między "jasno" a "ciemno") regulowany jest potencjometrem. Zatem do Vcc podłączasz Vcc, do gnd podłączasz gnd a z D0 (Digital OUT) lecisz na jakiś pin procka i w fukcji digitalRead() odczytujesz stan, jak jest true (czyli stan wysoki na wyjściu to niech dioda świeci) a jak false ( stan niski) niech nie świeci. Tak mi się wydaje że tak to działa



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 17:03 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 lut 2013
    Posty: 94
    Lokalizacja: Turek
    Pomógł: 5

    Jak dobrze mysle to na pinie DO bedziesz miał dwa stany 1i 0 sprawdz sobie a potem jak program do zapalania diody przyciskiem tylko przyciskiem w tym przypadku będzie ten układ.
    Jak źle mowie to proszę mnie poprawić.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 17:08 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    Znalazłem schemat chyba od tego czujnika. Jest prosty jak budowa cepa. w środku jest komparator. Wszystko działa na pomiarze różnicy napięć. Potencjometrem regulujesz napiecie odniesienia komparatora czyl czułość czujnika. Jak napięcie na wejściu nieodracającym jest mniejsze niż na odwracającym to na wyjściu jest 0V czyli logiczne zero, jak jest większe to vcc czyli np 5V co jest u Ciebie logiczną jedynką.

    Obrazek

    Wszystko co musisz robić to badać stan na D0 i w ten sposób określać co kontoler ma robić. np w if'ach. Jak jest ciemno to jest zero, jak jasno to jedynka. Proste. Poziom przejścia jasno-ciemno czyli czułośc regulujesz potencjometrem.



    Ostatnio edytowano 28 maja 2014, o 17:10 przez Nefarious19, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 17:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2012
    Posty: 778
    Pomógł: 9

    Spróbuj ten kod tylko zmień sobie pin czujnika i diody, czułość regulujesz potencjometrem.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    ------------------------ [ Dodano po: 18 minutach ]

    A na pewno masz wersje digital a nie analogue ? Bo są dwie wersje poznasz je po tym że jedna ma wyjście D0 a druga A0.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 18:14 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 maja 2014
    Posty: 22
    Pomógł: 0

    Ja mam D0



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 18:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2012
    Posty: 778
    Pomógł: 9

    DrexonPl napisał(a):
    Ja mam D0


    No to masz wersję digital czyli ten kod co ci powyżej podałem powinien działać.
    Sprawdzałeś czy działa ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 18:53 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 maja 2014
    Posty: 22
    Pomógł: 0

    ... Error:
    Kod:
    ../main.c:10: warning: implicit declaration of function 'pinMode'
    ../main.c:10: error: 'OUTPUT' undeclared (first use in this function)
    ../main.c:10: error: (Each undeclared identifier is reported only once
    ../main.c:10: error: for each function it appears in.)
    ../main.c:11: error: 'INPUT' undeclared (first use in this function)
    ../main.c: In function 'loop':
    ../main.c:16: warning: implicit declaration of function 'digitalRead'
    ../main.c:18: error: 'HIGH' undeclared (first use in this function)
    ../main.c:20: warning: implicit declaration of function 'digitalWrite'
    ../main.c:24: error: 'LOW' undeclared (first use in this function)
    make: *** [main.o] Error 1


    \\ edit

    Kod:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 19:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2012
    Posty: 778
    Pomógł: 9

    To jest kod do Arduino który ci podałem :)
    jak chcesz to ci napisze kod w C ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 19:09 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 maja 2014
    Posty: 22
    Pomógł: 0

    to napisz w C :D bo ja tylko w C programuje avr



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 19:40 
    Offline
    Użytkownik

    Dołączył(a): 22 sty 2014
    Posty: 1806
    Zbananowany użytkownik

    Pomógł: 168

    DrexonPl napisał(a):
    to napisz w C bo ja tylko w C programuje avr







    Tu masz poradnik Pana Mirka dotyczący sprawdzania stanu klawisza, czyli stanu jaki podajesz na PIN. Program jaki chcesz napisać to odczytywanie stanu na D0 które podłączone jest do PIN'u procesora.

    Albo zajrzyj do bluebooka...

    ------------------------ [ Dodano po: 2 minutach ]

    a kod wrzucaj w syntax=C



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 maja 2014, o 20:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 lut 2012
    Posty: 778
    Pomógł: 9

    Kod w C, wyłącza diodę gdy czujnik wysyła stan niski a zapali gdy na czujniku jest stan wysoki.
    Mam nadzieje że głupich błędów w kodzie nie mam, sprawdzałem kod na m8 i działa jak należy.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 maja 2014, o 08:31 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 maja 2014
    Posty: 22
    Pomógł: 0

    Mi to nie działa



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 maja 2014, o 09:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 sie 2013
    Posty: 3797
    Lokalizacja: Grudziądz
    Pomógł: 143

    DrexonPl napisał(a):
    Mi to nie działa


    Ale co nie dziala nie kompiluje, nie wgrywa? Jak podłączyłeś układ ?

    Wysłane z telefonu

    _________________
    Usługi druku przestrzennego - www.drumik.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 maja 2014, o 09:10 
    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

    Układ czujnika w ogóle działa?

    _________________
    http://www.jaglarz.info



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 maja 2014, o 10:40 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 09 maja 2014
    Posty: 22
    Pomógł: 0

    no zakrywam diode w sensorze i nic nie zgasza się dioda

    //edit
    ok teraz już działa, aż za dobrze :D



    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: 16 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO