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 29 sie 2025, o 00:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 11 ] 
    Autor Wiadomość
    PostNapisane: 14 lut 2014, o 17:41 
    Offline
    Użytkownik

    Dołączył(a): 12 lut 2014
    Posty: 27
    Lokalizacja: Warszawa
    Pomógł: 0

    Witam, w programowaniu jestem nowicjuszem, lecz już na starcie dotknął mnie problem ograniczonej ilość wyjść (atmega8). Wpadłem na pomysł żeby zastosować demultiplekser, który da mi większe pole do popisu. Nie wiem czy dobrze pamiętam, ale demultiplekser wysyła sygnał z wejścia x na jedno z wyjść y w zależności od podanego sygnału adresowego k. Jeśli znalazłbym demultiplekser o 4 wejściach adresowych mógłby on obsłużyć 16 wyjść (2 do potęgi k). Idąc tym tokiem myślenia, podpinając wejście x do VCC i wejścia x do 4 wyjść procesora miałby już 16 wyjść. Nie wiem czy dobrze pamiętam zasadę działania demultipleksera. Co myślicie o takim rozwiązaniu ? Czy na rynku dostępne są tego rodzaju układy ?

    Pozdrawiam.

    _________________
    Dopiero zaczynam przygodę z mikrokontrolerami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2014, o 19:08 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Zdaje się że pomoże Ci expander wejść PCF8574


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2014, o 19:34 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    Pamiętaj, że w danym momencie stan wysoki może być tylko na jednym z wyjść, jeśli wpiszesz nowy adres to dotychczasowo wybrane wyjście automatycznie zmieni stan na LOW.

    _________________
    +++++[>++++<-]>[>++++++<-]>.---------.+++.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lut 2014, o 19:36 
    Offline
    Użytkownik

    Dołączył(a): 16 maja 2012
    Posty: 349
    Lokalizacja: Legnica
    Zbananowany użytkownik

    Pomógł: 23

    Jak chodzi o same wyjścia to rejestr przesuwny z zatrzaskiem by wystarczył.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 10:55 
    Offline
    Użytkownik

    Dołączył(a): 04 cze 2013
    Posty: 517
    Pomógł: 26

    Kolego jak wcześniej matrix podpowiedział dobrym rozwiązaniem jest expander wykorzystujesz komunikację I2C i możesz podpinać dowolną ilość expanderów. np: 10 expanderów po 8 wyjść da ci 80 wyjść lub wejść wszystko zależy jak sobie napiszesz kod.

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 15:24 
    Offline
    Użytkownik

    Dołączył(a): 12 lut 2014
    Posty: 27
    Lokalizacja: Warszawa
    Pomógł: 0

    Jak wygląda sterowanie takim expanderem ? Znalazłem schemat expandera PCF8574.
    Obrazek

    Czy stan wyjść PC0-7 zależy tylko od stanu wejść A0-3 ? Np. przy podaniu na wejścia A sygnału 111 na wyjściu PC7 będzie stan wysoki ?

    _________________
    Dopiero zaczynam przygodę z mikrokontrolerami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 15:52 
    Offline
    Użytkownik

    Dołączył(a): 29 lis 2012
    Posty: 1074
    Lokalizacja: Sochaczew
    Pomógł: 21

    Linie A0..A2 są liniami adresowymi. Natomiast odczyt we/wy układu odbywa się za pomocą magistrali I2C.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 18:06 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    Jakbys potrzebował PWM to poczytaj http://sunduino.elektroda.eu/wordpress/ ... wnik-serw/

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 18:19 
    Offline
    Użytkownik

    Dołączył(a): 16 maja 2012
    Posty: 349
    Lokalizacja: Legnica
    Zbananowany użytkownik

    Pomógł: 23

    matekogon napisał(a):
    Kolego jak wcześniej matrix podpowiedział dobrym rozwiązaniem jest expander wykorzystujesz komunikację I2C i możesz podpinać dowolną ilość expanderów. np: 10 expanderów po 8 wyjść da ci 80 wyjść lub wejść wszystko zależy jak sobie napiszesz kod.

    No to kolega zaszalal. A jak zaadreowac 10 expanderow na 3 bitach adresowych?

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 18:36 
    Offline
    Użytkownik

    Dołączył(a): 12 lut 2014
    Posty: 27
    Lokalizacja: Warszawa
    Pomógł: 0

    Szczerze mówiąc to nie mam pojęcia jak korzystać z komunikacji I2C. Dlatego chciałem iść na łatwiznę i skorzystać z czegoś o czym mam jakiekolwiek pojęcie. Spróbuję poszerzyć wiedzę na temat rejestrów przesuwnych. Dziękuję za pomoc.

    DODANO
    Znalazłem w sklepie internetowym multiplekser/demultiplekser HCF4051. Jednak jest to element analogowy. Czy będzie to kolidować w podawaniu sygnałów typu 1/0 ?

    _________________
    Dopiero zaczynam przygodę z mikrokontrolerami.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lut 2014, o 23:23 
    Offline
    Użytkownik

    Dołączył(a): 16 maja 2012
    Posty: 349
    Lokalizacja: Legnica
    Zbananowany użytkownik

    Pomógł: 23

    Zrobisz jak będziesz uważał, ale jak potrzebujesz tylko wyjścia ( komunikacja tylko od kontrolera ) to rejestry przesuwne będą OK i tym się zajmij. Kaskadowo rejestry pozwalają na trzech liniach powiesić w zasadzie nieograniczoną liczbę rejestrów ( oczywiście "nieograniczoną" w cudzysłowie i w granicach rozsądku ) w przeciwieństwie do expandera. Poza tym expandery chodzą na magistrali I2C (2 linie magistrali + opcjonalne linie adresowe od 1 do 3 ) ponieważ jest dwukierunkowa i można zwiększyć ilość portów Input/Output czyli również wejścia. Jak potrzebujesz tylko dodatkowe 8 portów I/O to koszt w pinach 2szt. mniej niż w rejestrze przesuwnym. Jak potrzebujesz I/O więcej to co najmniej 3 do 5 pinów. Rejestry przesuwne można podpiąć np pod magistralę SPI albo obsłużyć wyłącznie programowo. Potrzebujesz linię danych + linię zegarową + zatrzask. Razem 3 i bez względu na ilość rejestrów nie będzie więcej. Obsługa jak obsługa. O wszystkim trzeba poczytać i zastosować. Przykładów jest sporo. Ja dla samych wyjść zastosowałbym rejestry przesuwne. Po expander sięgnąłbym jak bym potrzebował wejścia.
    Tu masz poradnik o rejestrach http://mirekk36.blogspot.com/2013/09/rejestr-przesuwny-74595-podstawy.html


    Autor postu otrzymał pochwałę

    _________________
    sig off ;(



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO