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 w 2025? 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 1 maja 2025, o 18:37


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 64 ]  Przejdź na stronę 1, 2, 3  Następna strona
    Autor Wiadomość
    PostNapisane: 26 lut 2012, o 11:14 
    Offline
    Użytkownik

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

    Witam

    Na początek bardzo proste zadanie.

    May układa DG508 jest to monolityczny Analogowy Multiplexer w technologi CMOS.
    Układ ten pozwala na przełączanie 1 wejścia na 8 wyjść lub 8 wejść na jedno wyjście :)

    schemat blokowy wygląda następująco:

    Obrazek

    sterowanie odbywa się zgodnie z tablica prawdy układu zawartej w DS
    http://datasheets.maxim-ic.com/en/ds/DG508A-DG509A.pdf

    Obrazek

    ZADANIE !!

    Waszym zadaniem jest wysterowanie układu tak by zapalać 8 diod LED na wyjściach
    w sposób sekwencyjny czyli od 1 do 8 , a następnie z powrotem.

    POWODZENIA !!


    P.S Mirku wiem ze to banalne zadanie ale to tak na początek :)

    _________________
    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: 26 lut 2012, o 11:32 
    Offline
    Użytkownik

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

    Panowie dla 1 poprawnego rozwiązania do wyboru układ DGxxx gratis :)

    DG508ABK
    DG506ACJ+
    DG406CWI+

    Ja używam ich bardzo chętnie. Mają naprawdę wiele zastosowań , stad zawsze mam ich klika naście szt :)

    _________________
    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: 26 lut 2012, o 11:46 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 paź 2011
    Posty: 307
    Lokalizacja: Lbt
    Pomógł: 8

    Mam tylko nie wiem, czy do końca prawidłowo będzie działać. Nigdy nie wiem ile razy ta pętla będzie się wykonywać i z którym razem się skończy:D
    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.




    Procek attiny13 linie sterujące od pb0-pb2 en-pb3.
    Coś mi się popsuło w kompilatorze i nie mogę wsadzić _delay_ms bo od razu 300% pamięci zajmuje program, dlatego jest ta pętla z nop.

    _________________
    Ujemna delta to dopiero początek zabawy...



    Ostatnio edytowano 26 lut 2012, o 12:14 przez miszczo, łącznie edytowano 4 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 11:47 
    Offline
    Moderator
    Avatar użytkownika

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

    SunRiver napisał(a):
    P.S Mirku wiem ze to banalne zadanie ale to tak na początek :)


    Bardzo fajne zadanie dla początkujących, i dobrze by było żeby tylko takie osoby brały udział w jego rozwiązywaniu ... zawsze będzie można się czegoś nauczyć.

    _________________
    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: 26 lut 2012, o 11:55 
    Offline
    Użytkownik

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

    Starałem się :) Mirku


    Miszczo - ciekawy pomysł , ale trochę tu namotałeś można prościej :)
    To co napisałeś nie jest do końca złe i ma szansę działać ,

    TAK swoją droga czy masz już pomysł na zagospodarowanie DG ??

    P.S celowo nie podpowiadam za wiele , bo to tak banalne jest zadanie , ale trzeba pomyśleć :)

    _________________
    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: 26 lut 2012, o 12:12 
    Offline
    Moderator
    Avatar użytkownika

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

    miszczo napisał(a):
    Mam tylko nie wiem, czy do końca prawidłowo będzie działać. Nigdy nie wiem ile razy ta pętla będzie się wykonywać i z którym razem się skończy:D


    No to jak masz ? ;) skoro sam piszesz że nie wiesz czy to do końca będzie prawidłowo działać i co to ma znaczyć, że NIGDY nie wiesz ile razy jakaś pętla będzie się wywoływać ;) ..... Polecam robić ćwiczenia z pętlami do bólu - uwierz mi, że pisanie programów na takiej zasadzie, że nie jest się pewnym ile razy pętla będzie się wykonywać doprowadzi cię do czarnej rozpaczy. Weź sobie np kilka diod LED albo jakiś wyświetlacz LCD i byle procesor AVR i już możesz do upadłego testować najróżniejsze kombinacje z pętlami - ćwiczenie czyni mistrza - a jak coś będzie niejasne albo nasuną się pytania to wtedy zawsze śmiało pytaj na tym forum - pomożemy.


    miszczo napisał(a):
    Coś mi się popsuło w kompilatorze i nie mogę wsadzić _delay_ms bo od razu 300% pamięci zajmuje program, dlatego jest ta pętla z nop.


    To już było opisywane wiele razy ale przypomnę - nie można używać zmiennej jako argument _delay_ms() bo od razu tak ci się kod rozrośnie - używaj tylko i wyłącznie stałych jako argumenty dla tej funkcji a zawsze będzie wszystko dobrze - OK ?

    _________________
    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: 26 lut 2012, o 12:13 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 paź 2011
    Posty: 307
    Lokalizacja: Lbt
    Pomógł: 8

    Tamto raczej nie miało prawa działać, bo nawet nie ustawiłem kierunku portów :D Już poprawiłem wyżej i zrobiłem na pętli do while. Prościej nie umiem :D
    A układ można wykorzystać nawet do sterowania wyświetlaczem 7seg. Na czterech pinach mamy 8 wyjść czyli 7seg + kropka.

    _________________
    Ujemna delta to dopiero początek zabawy...



    Ostatnio edytowano 26 lut 2012, o 12:18 przez miszczo, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 12:17 
    Offline
    Użytkownik

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

    No jest lepiej ... ale co na to DG508 ?? zaraz zobaczymy :)

    _________________
    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: 26 lut 2012, o 12:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 paź 2011
    Posty: 307
    Lokalizacja: Lbt
    Pomógł: 8

    mirekk36 napisał(a):
    Polecam robić ćwiczenia z pętlami do bólu - uwierz mi, że pisanie programów na takiej zasadzie, że nie jest się pewnym ile razy pętla będzie się wykonywać doprowadzi cię do czarnej rozpaczy.

    Wiem wiem, że trzeba ćwiczyć, jednak teraz brak czasu i traktuję to tylko jako zabawę. Matura w tym roku :cry: a matematyka sama się nie nauczy :cry:

    miszczo napisał(a):
    To już było opisywane wiele razy ale przypomnę - nie można używać zmiennej jako argument _delay_ms() bo od razu tak ci się kod rozrośnie - używaj tylko i wyłącznie stałych jako argumenty dla tej funkcji a zawsze będzie wszystko dobrze - OK ?

    Pamiętam o tym jednak w tym razem jest problem z ustawieniem optymalizacji
    #warning "Compiler optimizations disabled; functions from <util/delay.h> won't work as designed"
    W jednym projekcie wszystko jest ok, a w drugim kaszana

    Dobra. Ja już widzę, że dalej nie będzie działać prawidłowo i zaraz spróbuję napisać na przesunięciach.
    //A w sumie to już sam nie wiem. Daje sobie spokój:D

    _________________
    Ujemna delta to dopiero początek zabawy...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 13:13 
    Offline
    Użytkownik

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

    hehehe , a byłeś blisko no nic czekamy na kolejnego chętnego , co podejmie wyzwanie

    _________________
    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: 26 lut 2012, o 14:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    Witam!!!

    Założenie jest dosyć proste mamy sterować 4-ma pinami, w sadzadzie 3-ma (bo pin EN ustawiamy raz) tak by kolejno od 1-8 je załączać :)

    popełniłem w Arduino na szybkiego kodzik powinien zadziałać.. wiem, że mogłem użyć np. tablic co było by o wiele czytelniejsze i prostsze potem w użytkowaniu ale to tak na szybkości nabazgrałem byle by działało :P

    ATmega168
    Arduino(C++)

    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.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 14:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    wstawiam poprawkę, ponieważ w teorii powinno hulać to w praktyce trzeba zmienić za każdym razem na nowo stany pinów zatem wstawiam kod z naniesioną poprawką :)

    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.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 16:01 
    Offline
    Moderator
    Avatar użytkownika

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

    No ja bym wolał widzieć tu jakieś rozwiązanie z użyciem jakiejś pętelki zamiast pisania tylu linii poleceń - bo to takie najprostsze z najprostszych i możliwych - programowanie liniowe - które można zrozumieć gdy ktoś stawia pierwsze kroki - a z tego co mi się zdaje to kolega kierlan już aż taki początkujący to nie jest ;) .... No ale niech autor zagadki - rozstrzyga, no i dobrze by było gdyby jeszcze inni ludzie (początkujący) próbowali brać tu udział w zawodach ;) Bo rzeczywiście kolega SunRiver rzucił fajne wyzwanie jak widać ;)

    _________________
    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: 26 lut 2012, o 16:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    A niech widzą inni, że można obsłużyć taki układzik klepiąc kod nawet bez patrzenia na klawiaturę hehe :)
    (tak na serjo nie mam czasu i już brak ochoty na myślenie) da się to zrobić na kilka innych sposobów ba! każdy z nas by napisał po swojemu i każdy by był dobry :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 16:14 
    Offline
    Moderator
    Avatar użytkownika

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

    kierlan napisał(a):
    A niech widzą inni, że można obsłużyć taki układzik klepiąc kod nawet bez patrzenia na klawiaturę hehe :)
    No tak

    kierlan napisał(a):
    da się to zrobić na kilka innych sposobów ba! każdy z nas by napisał po swojemu i każdy by był dobry :)


    Ja bym nawet dodał że da się to zrobić na tyle sposobów ilu jest programistów na świecie ;)

    _________________
    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: 26 lut 2012, o 16:21 
    Offline
    Użytkownik

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

    no dobra panie kierlan :)
    myślenie dobre , ale niestety kompilator się wypnie na to :)

    zbyt wiele błędów :)

    Zadanie nadal nie rozwiązane

    _________________
    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: 26 lut 2012, o 16:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    kompilowałem u siebie i nie było problemów :) błąd może być tutaj:

    digitalWrite((pin2,pin1)), LOW);

    chciałem zaoszczędzić linijek i po 2/3 naraz chciałem ustawić :>

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 16:26 
    Offline
    Użytkownik

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

    tak , ale w ten sposób się nie dopina funkcji bo jest za dużo argumentów dla jednej funkcji
    nie wiem jak ci się to skompilowało -- na oko widać ze się nie skompiluje :)

    _________________
    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: 26 lut 2012, o 16:37 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    Dobra wstawiłem w najprostszej postaci bez kombinowania musi działać xD

    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.

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 16:50 
    Offline
    Użytkownik

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

    kierlan napisał(a):
    A niech widzą inni, że można obsłużyć taki układzik klepiąc kod nawet bez patrzenia na klawiaturę hehe :)
    (tak na serjo nie mam czasu i już brak ochoty na myślenie) da się to zrobić na kilka innych sposobów ba! każdy z nas by napisał po swojemu i każdy by był dobry :)



    Panowie naprawdę założenie było inne tego działu naprawdę nie chodzi o to żeby na odczepnego nabazgrać byle by coś tam działo
    W takim kontekście i przy takim podejściu to dział ten niema sensu , ani wartości chrześcijańskich , ze o walorach edukacyjnych nie wspomnę.

    Niema tak ze coś robimy tak bo mi się nie chce. Jak się nie chce to lepiej nie robić niż robić byle jak prawda ??

    _________________
    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: 26 lut 2012, o 17:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    SunRiver napisał(a):
    Panowie naprawdę założenie było inne tego działu naprawdę nie chodzi o to żeby na odczepnego nabazgrać byle by coś tam działo


    czemu na odczepnego byle co?? chodzi dobrze i bez problemowo sporo kodu bo sporo najprościej bez myślenia łopatologicznie napisane :).. po co wbijać się w pętle i kombinować skoro ma mrygać ledami :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 17:05 
    Offline
    Moderator
    Avatar użytkownika

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

    SunRiver napisał(a):
    Panowie naprawdę założenie było inne tego działu naprawdę nie chodzi o to żeby na odczepnego nabazgrać byle by coś tam działo
    W takim kontekście i przy takim podejściu to dział ten niema sensu , ani wartości chrześcijańskich , ze o walorach edukacyjnych nie wspomnę.

    Niema tak ze coś robimy tak bo mi się nie chce. Jak się nie chce to lepiej nie robić niż robić byle jak prawda ??


    Zaiste święte słowa prawisz Waćpan ;)

    _________________
    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: 26 lut 2012, o 17:06 
    Offline
    Moderator
    Avatar użytkownika

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

    kierlan napisał(a):
    . po co wbijać się w pętle i kombinować


    Dla walorów edukacyjnych chociażby albo właściwie tylko dlatego. Bo przecież gdyby nie ten szczytny cel to można byłoby to zrobić i bez procka na kilku zwykłych scalakach TTL.

    _________________
    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: 26 lut 2012, o 17:08 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 paź 2011
    Posty: 580
    Lokalizacja: Warszawa
    Pomógł: 0

    mirekk36 napisał(a):
    można byłoby to zrobić i bez procka na kilku zwykłych scalakach TTL.


    też prawda :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 17:42 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 gru 2011
    Posty: 110
    Lokalizacja: Dolnyśląsk
    Pomógł: 0

    Witam :D To i ja dołożę swoje dwa grosze :D
    Program napisany oczywiście w C. Testowałem na zestawie ATB 1.03 na zwykłych diodkach no nie mam danego układu ;) mam nadzieje że będzie działać hehe

    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.


    Dla odmiany użyłem instrukcji 'switch' :)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 17:50 
    Offline
    Użytkownik

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

    No i słusznie kolego DidexD DG to zrozumiał i smiga aż miło

    pokuś się teraz kolego o to samo ale na pętlach :)
    mimo to zaliczam --- wybierz układ napisz na PW adres :)

    _________________
    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: 26 lut 2012, o 19:55 
    Offline
    Użytkownik

    Dołączył(a): 24 sty 2012
    Posty: 1469
    Pomógł: 56

    Zadanie proste a pisania dużo:
    Najdłużej można to zrobić tak
    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.


    Na dodatek zrobione jest tylko "w jedną" stronę czyli w górę.
    Powinno działać.
    Ale tak jest zdecydowanie za długo czyli co z tym robimy?
    Patrzymy jak zmienia się wartość na porcie D. Co widzimy? To są po prostu kolejne wartości liczby 3 bitowej.
    Wniosek - niepotrzebnie tak dużo się napisaliśmy :o Najpierw trzeba myśleć, a potem pisać ;)
    Trzeba napisać funkcję zapal_diode()
    Ale, ale... zanim diody zapalimy trzeba jeszcze ze względu na to do których pinów DG jest podłączony przesunąć odpowiednio bity
    Zaraz spróbujemy uprościć nasz cudowny program ;)

    _________________
    Jestem początkujący i moje porady mogą być błędne



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 20:19 
    Offline
    Użytkownik

    Dołączył(a): 24 sty 2012
    Posty: 1469
    Pomógł: 56

    No i oto co się udało stworzyć:
    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.


    Pytanie jest następujące:
    jak zachowuje się układ DG508? Czy potrzeba wygaszać poprzednią diodę zanim zapalimy następną?

    Wydaje się, że nie gdyż jak wynika z tabeli prawdy przenosi on to co jest na wejściu na poszczególne linie wyjścia (jeżeli działa w stronę 1 na 8).
    A swoją drogą, nie mam takiego układu i ciekaw jestem czy ten kod zadziała ;)

    _________________
    Jestem początkujący i moje porady mogą być błędne



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 lut 2012, o 21:03 
    Offline
    Użytkownik

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

    No brawo faktycznie proste zadanie a pisania dużo
    zasadniczo DG508 zachowuje się tak jak zestaw przekaźników wiec można pominąć wygaszanie poprzedniego gdyż po zmianie stanów
    pinów sterujących zostanie włączony następny kanał. Ciekawostką jest to że żeby przełączyć trzeba ustawić 3 bity bo EN można sobie pominąć
    wystarczy ustawić 1 raz w tym zadaniu akurat , ale w innych może się okazać konieczna zmiana stanu EN żeby całkiem wyłączyć
    porty :)
    REASUMUJĄC:

    PIN przełączany może być cały czas w stanie HI bo i tak przełączany jest poprzez DG508 na odpowiednie wyjście :)

    Napisz na PW DG508 poleci do ciebie też :)

    _________________
    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: 26 lut 2012, o 22:16 
    Offline
    Użytkownik

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

    Podsumowanie zadania:

    Trochę problemów sprawiło pewnie winę za to ponosi pozorna prostota zagadnienia :)
    jak widać zastosowano różne techniki do osiągnięcia celu :) jedynym błędem w rozumowaniu było
    myślenie o ledach którymi ma sterować, a nie o układzie który to prozaiczne zajęcie miał wykonywać :)

    celowo zostało tak skonstruowane zadanie żeby wam trochę namotać w myślach i słusznie jak myślałem
    wszyscy skupili się na diodach , a nie na prawidłowym zrozumieniu działania naszego bohatera :)

    1. było jasne do wejścia układu podłączony na stałe stan wysoki
    2. miał on się cyklicznie pojawiać na 8 wyjściach układu
    3. sterowanie układem odbywa się zgodnie z tabela prawdy na 4 bitach

    dzięki czemu wystarczyło do 4 pinów procesora podłączyć 4 diody LED które by symbolizowały
    4 wejścia sterujące DG508, zapalona 1 , zgaszona 0 :) i napisać program który
    w symbiozie z tablica prawdy układu wystawiałby odpowiednie stany na odpowiednie piny

    Obrazek

    i tylko ta część panowie powinna was zainteresować :)

    zadanie zaliczone

    Koledzy DidexD i MirkoT dostają układy DG508 :)
    teraz na żywo będą mogli pobawić się tym ustrojstwem i zweryfikować swoje twory które się sprawdzają
    ale tu jeszcze wiele można zmienić :)

    Do następnej zagadki :)

    A tu możecie panowie po przetestowaniu układów przedstawić swoje refleksje :)

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 64 ]  Przejdź na stronę 1, 2, 3  Następna strona

    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