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 04:06


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
    Autor Wiadomość
    PostNapisane: 18 cze 2017, o 23:48 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Mam problem z kodem, program ma służyć do obsługi automatycznej dolewki do akwarium to znaczy SONDA1 zbiornik z wodą do dolewki poziom wody wystarczający dioda led LED1_OFF i pompa gotowa do pracy brak wody w komorze dolewki wyłącza pompę i dioda LED1 mruga SONDA2 poziom wody w akwarium pełny dioda LED2_ON brak wody załącza pompę i LED2 mruga program ma zabezpieczyć pompę przed pracą na sucho a diody sygnalizują prace pompy i stan wody.
    Myślałem że napiszę sobie kod bez trudu a wyszło jak zawsze proszę o pomoc i wytknięcie błędów .
    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.

    Poz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 19 cze 2017, o 17:47 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1036
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Poniżej masz kod z małą poprawką.

    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: 19 cze 2017, o 22:58 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Nic z tego dalej nie jest tak sobie założyłem kod działa poprawnie if z sondą2 po dołożeniu if i flagi z sondą1 wszystko się sypie i nie rozumiem dlaczego led1 , led2 i pompa reagują tak samo niezależnie która sondę aktywuję diody i pompa działają w ten sam sposób .
    Poprawnie działający kod z sondą2.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Teraz muszę dodać warunek który w wypadku braku wody w zbiorniku dolewki włączy pompę i diodę LED2 a dioda LED1 zasygnalizuje mruganiem na brak wody w zbiorniku na dolewkę
    Poz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 20 cze 2017, o 19:24 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1036
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Poprawiony kod poniżej, przy założeniu że sondy wystawiają stan niski gdy poziom wody jest wystarczający, a poziom wysoki gdy brak lub za mało wody.

    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: 21 cze 2017, o 21:27 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Przetestowałem kod na zestawie ATB z przystawką do attiny zamiast sond używam klawiszy program wgrałem ale efekt jest niewłaściwy , po aktywacji sondy pierwszej czy drugiej ( naciśnięciu klawisza ) efekt jest taki jakby były podłączone do tego samego pinu , diody zapalają się i gasną w ten sam sposób , spróbowałem zmienić trochę kod teraz po aktywacji sondy2 dioda1 i dioda2 zapalają się na przemiennie i pompa zaczyna działać a w założeniu miała mrugać tylko dioda2 i działć pompa , znów ten sam problem z sondami jakby były podłączone do tego samego pinu .
    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.

    Za pomoc dziękuję .
    Poz.



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

    Dołączył(a): 23 paź 2014
    Posty: 1036
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Nie wiem jak Ty to podłączasz, ale ostatni kod jaki Ci wrzuciłem działa zgodnie z Twoimi założeniami (pod warunkiem że sondy wystawiają 0 gdy są zalane). Co prawda testowałem na atmedze 32 (nawet do testu wykorzystałem piny te same co ty na attiny czyli PB0 - PB4) ale przy tak prostym programie nie ma to najmniejszego znaczenia jeśli właściwie przypisane są piny.
    Jedyny mało elegancki problem to taki że w momencie gdy np w zbiorniku głównym obniży się poziom wody, załączy się pompa i w trakcie uzupełniania wody w zbiorniku głównym, w zbiorniku rezerwowym skończy się woda to wyłączenie pompy następuje z pewnym opóźnieniem (które wynika z zastosowanych delay-ów na potrzeby mrugania diod świecących.
    Na pewno masz podpięte wszystko zgodnie z definicjami w programie?

    Daro68 napisał(a):
    zamiast sond używam klawiszy
    Ale jeśli używasz klawiszy które zwierają do masy to masz odwrócone stany sond bo wciskając przycisk wymuszasz 0 (tak jak pisałem stan sondy=0 oznacza zbiornik pełny - tak wywnioskowałem z Twojego pierwszego posta i kodu jaki tam przedstawiłeś), tak więc by zasymulować stan pełnych obu zbiorników musiałbyś trzymać oba przyciski wciśnięte, wówczas pompa będzie wyłączona (czyli na pinie PB2 będzie stan wysoki) led1 będzie zgaszony(czyli PB3 stan wysoki), a led2 będzie świecił (czyli PB4 stan niski).


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 cze 2017, o 20:20 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Dzięki za pomoc wszystko się wyjaśniło zmieniłem attiny45 na atmega32 i kod zaczął działać poprawnie więc z powrotem założyłem na ATB przejściówkę pod attiny45 i znów program zaczął źle działać tym razem przełożyłem attiny45 do stykówki i wszystko zaczęło dobrze działać i dlatego mam jeszcze jedno pytanie co może być przyczyną źle działającej przejściówki pod attiny.
    Sposób podłączania do ATB
    Obrazek
    Poz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 cze 2017, o 20:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1036
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Myślę że odpowiedź może się kryć na stronie producenta przejściówki http://www.atnel.pl/konwertery-procesorow-atb.html
    A konkretnie chodzi o tę fotkę:
    Obrazek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 cze 2017, o 21:15 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Znam to zdjęcie byłem na tej stronie podpoiłem wszystko tak jak zaleca producent i nie zadziało więc ponownie podłączyłem tak jak oznaczenia na przejściówce i do tego sprawdziłem podłączenia multimetrem i wszystko się zgadzało oprócz tego że kod nie działa poprawnie , przetestowałem procka na mkAVR i wykrył attiny45 , na stykówce i atmedze zadziałało za pierwszym razem :idea: .

    Poz.



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

    Dołączył(a): 23 paź 2014
    Posty: 1036
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Chym, chyba jednak to zdjęcie dotyczy jakiejś starszej wersji konwertera, bo faktycznie na moim (również fioletowe PCB) opis jest właściwy.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 23 cze 2017, o 12:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1036
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Daro68 napisał(a):
    co może być przyczyną źle działającej przejściówki pod attiny.

    Jako że nie lubię zostawiać pytań bez odpowiedzi zgłębiłem temat u samego źródła, i jest to problem nie samej przejściówki (na tej praktycznie nie ma żadnej elektroniki poza kondkami).
    W nowych zestawach 1.05a sprzedanych niedawno pomiędzy liniami MOSI, MISO wlutowany jest rezystor 1k na potrzeby obsługi przez wbudowany programator USBASP magistrali programującej TPI (dla procków np. attiny10 i innych posiadających tę magistralę, jak również dla obsługi modułu MedKit firmy Atnel), jako że moduł MedKit i sama idea korzystania z maluszków na zestawie pojawiły się po wprowadzeniu na rynek owych zestawów, to siłą rzeczy zostało to zrobione kompromisem. Zapewne w przyszłości w nowych wersjach jeśli się pojawią, zostanie to zrobione bezkolizyjnie.
    Procesor Attiny45 na liniach PB0 i PB1 (do których w Twoim projekcie są podpięte sondy) ma również sygnały MOSI i MISO więc po umieszczeniu tego procka w adapterze attiny, a następnie w zestawie między PB0 i PB1 mamy owy rezystor 1k, który jest stosunkowo niską rezystancją w porównaniu z wbudowanymi w procesor rezystorami PullUp. Tak więc zwierając jeden pin do masy, drugi również jest ściągany do masy poprzez rezystor 1k, nietrudno policzyć jakie napięcie wypadkowe będzie na pinie drugim gdy procek wystawia 5V poprzez wbudowany rezystor PullUp rzędu kilkudziesięciu K, a następnie poprzez 1K jest ściągany do masy (5V*1k/(1k+PullUp); gdzie według noty rezystory PullUp mogą zawierać się w zakresie od min 20k do 50k Ohm).
    Reasumując jeśli nie planujesz korzystać z magistrali TPI na zestawie możesz sobie ów rezystor wylutować (co ja dla sprawdzenia zrobiłem u siebie) wtedy procek attiny45 chodzi bez problemów na wyżej przetoczonym programie. Instrukcje odnośnie zlokalizowania rezystora znajdziesz na końcu instrukcji od modułu MedKit dostępnej na stronie producenta czyli firmy Atnel pod adresem http://www.atnel.pl/medkit.html, jednak z drugiej strony MedKit wraz z rodziną obsługiwanych malutkich AVR-ów to fajna zabawka więc trzeba przemyśleć czy chcemy pozbywać się tej funkcjonalności. Ja owy rezystor wylutowałem, następnie w to miejsce wlutowałem niedługie odcinki Kynaru (na jednym wlutowałem szeregowo wcześniej wylutowany rezystor smd 1k) a na końcach Kynaru wlutowałem sobie dwupinowy Goldpin, na całość nałożyłem koszulkę termokurczliwą i zgrzałem pozostawiając końcówkę nie obkurczoną, a konkretnie owinąłem zworkę raz taśmą klejącą, założyłem na goldpiny obkurczyłem koszulkę, dzięki temu zworka po usunięciu taśmy izolacyjnej daje się zdjąć i założyć bez przeszkód.
    Całość podkleiłem pod spodem zestawu w wygodnym miejscu klejem na gorąco. W ten sposób nie tracąc funkcjonalności magistrali TPI mogę, jeśli jest taka konieczność rozpiąć rezystor 1k który zwiera piny z sygnałami MOSI i MISO 8-) - jak to mówią wilk syty i owca cała.



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

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Dzięki za wyczerpującą odpowiedz zanim poprosiłem o pomoc przez tydzień siedziałem nad tym prostym kodem i byłem już trochę załamany ponieważ siedziałem już nad podobnym kodem wcześniej i nie powinno mi to sprawiać takiej trudności ale wszystko się wyjaśniło jeszcze raz dziękuje za pomoc.
    Poz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lip 2017, o 22:04 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 paź 2014
    Posty: 233
    Lokalizacja: Rzeszów
    Pomógł: 11

    Tak odbiegnę od tematu - kolega akwarysta?

    _________________
    Mr. Nobody



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 lip 2017, o 22:07 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Tak morskie 320l



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lip 2017, o 12:12 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 17 paź 2014
    Posty: 233
    Lokalizacja: Rzeszów
    Pomógł: 11

    http://podforak.rzeszow.pl/viewtopic.php?t=28491

    Jeśli chcesz, to podeślę Ci kod - może coś Ci się coś przyda. U mnie działa to już ponad rok.

    _________________
    Mr. Nobody



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lip 2017, o 22:06 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Każda pomoc mile widziana zawsze można się czegoś nauczyć.
    Poz.



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