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 6 kwi 2025, o 16:15


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 17 ] 
    Autor Wiadomość
    PostNapisane: 26 wrz 2012, o 20:45 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Witam

    Zacząłem bawić się Arduino i Korzystam z dodatkowej płyty uruchomieniowej gdzie podłączam na niej przyciski obserwuję taki objaw iż po przysunięciu ręki do przycisku układ jak by się wyzwala nie wiem co może być przyczyną.

    Wszystko zasilam z arduino GND i VCC są połączone ze sobą (między płytkami)

    Wystarczy że dotknę przewód nawet nie naciskając przycisku

    Pozdrawiam

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 20:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Bo pewnie pin jest w tzw. HZ i jako wejście ustawiony, i nie bardzo rozumiem czemu w "rybnym" piszesz bo tutaj, to sie oczekuje na gotowe kody ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:25 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Nie ma tam stanu wysokiej impedancji bo ustawiam co jest wejściem a co wyjściem :)

    Niestety za bardzo nie wiedziałem w jakim dziale to napisać :)
    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 wrz 2012, o 21:35 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 24 cze 2012
    Posty: 414
    Lokalizacja: Oborniki
    Pomógł: 5

    No tak, ale poza tym, że ustawiasz pin jako wejście, powinieneś podciągnąć go do plusa :) Nie wiem czy to się różni w Arduino, ale powinno być DDRx jako 0 i PORTx jako 1, a Ty pewnie masz to jako 0 i 0 :)


    Autor postu otrzymał pochwałę

    _________________
    Pozdrawiam:
    Mikołaj



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2012, o 21:41 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Michał ma rację

    digitalWrite(buttonPin,HIGH) o ile się nie myle ;)



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

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

    czekaj czekaj a dlaczego tak dziwnie definiujesz te piny ??

    skąd ci się to wzięło ??

    Kod:
    const int buttonPin = A2;     // the number of the pushbutton pin
    const int ledPin =  A3;      // the number of the LED pin


    czemu na analogach ??


    jak chcesz mieć na na A3 diodę to prosze bardzo zdefiniuj sobie ten pin tak

    popatrz masz tak :

    Pin 14 = Analog in 0
    Pin 15 = Analog in 1
    Pin 16 = Analog in 2
    Pin 17 = Analog in 3
    Pin 18 = Analog in 4
    Pin 19 = Analog in 5

    czyli piszesz :

    ledPin = 16


    domyślnie jest ustawiany jako digital I/O 16

    podobnie z butonem


    buttonPin = 17

    i teraz korzystasz do woli z poleceń :

    DigitalRead i DigitalWrite

    pierwszego używasz do odczytu przycisku
    a drugiego jako wyjście dla diody


    Autor postu otrzymał pochwałę

    _________________
    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 wrz 2012, o 21:56 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Dziękuję Panowie :D

    tak wygląda kozik :)
    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.


    W funkcji Setup dodałem zaznaczona linię tutaj ta funkcja wykonuje się raz i w niej się robi wszystkie inicjacje co ciekawe twórcy nie uwzględni tego :)

    Pozdrawiam i dziękuję za pomoc :)

    ------------------------ [ Dodano po: 3 minutach ]

    Czyli samo ButtonPin i LedPin określa już konfigurację i nie trzeba ręcznie tego robić poprzez DigitalWrite ?

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 14:30 
    Offline
    Użytkownik

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

    funkcja DigitalWrite(pin, stan); ustawia kierunek pinu na Wyjście i powoduje ustawienie w nim odpowiedniego stanu
    natomiast funkcja DigitalRead() ; działa odwrotnie taka specyfika języka Arduino

    podobnie masz też funkcje dla portów analogowych .... AnalogRead() a, AnalogWrite(); stosuje się do PWM
    zawsze warto skorzystać z referencji języka C++ dla Arduino , dostępnego na arduino.cc


    dodatkowo jeśli chodzi o piny cyfrowe to jeszcze jest coś takiego jak PinMode()
    którym możesz jednoznacznie na starcie programu ustalić na sztywno stan początkowy pinu
    tak by czasem nie pojawiały się na nim stany nieustalone

    np:

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


    Widzisz ??

    _________________
    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: 27 wrz 2012, o 14:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Łooo tego to nie wiedziałem ......... i poszedłem jak w avr ;)
    Ehh człek się całe życie uczy ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 14:43 
    Offline
    Użytkownik

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

    Malutki_27 napisał(a):
    Łooo tego to nie wiedziałem ......... i poszedłem jak w avr ;)
    Ehh człek się całe życie uczy ;)

    Raczej jak w zwykłym C ;) Bo akurat i tu i tu jest AVR :P

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



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

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Tej czepialski :P



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 14:47 
    Offline
    Użytkownik

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

    szablon programu w Arduino jest bardzo prosty i wymaga niewiele do działania :


    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.


    Jak widać jest to banalne

    _________________
    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: 27 wrz 2012, o 14:54 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    No fajnie dokładnie takim kodem jak kolega pokazuje bawiłem się i nawet powstało praktyczne zastosowanie takiego kodu :)

    Ale dziwi mnie tylko jedno że skoro

    pinMode zapobiega stanowi nie ustalonemu
    to czemu musiałem dodać w setupie

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


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


    Chyba jedyne wyjaśnianie może być w linku do szczegółowego kodu

    http://www.arduino.cc/en/Tutorial/Button

    jak widać na obrazku switch podciągnięty jest do GND poprzez rezystor wymuszając na nim już stan ?

    Pozdrawiam i dziękuje za pomoc :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 14:58 
    Offline
    Użytkownik

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

    dokładnie o to chodzi żeby dioda się świeciła od razu czyli żeby był na pinie od razu stan HIGH bo domyślnie w Arduino
    piny Digital I/O są zawsze w stanie niskim (low)

    _________________
    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: 27 wrz 2012, o 15:11 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Dzięki za pomoc :)

    Dalej będę się bawił :D

    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.


    Pozdrawiam :)

    _________________
    sig off ;(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2012, o 15:15 
    Offline
    Użytkownik

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

    a jeszcze cały twój kod można zrobić tak :)

    http://tinyurl.com/bp2dl6n


    Poczytaj sobie moja stronkę wiele ci się rozjaśni :)

    _________________
    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: 27 wrz 2012, o 15:38 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 12 paź 2011
    Posty: 780
    Pomógł: 20

    Bardzo dziękuję ale jestem nieco leniwy i nie chce mi się kombinować z dodatkowym rezystorem ;) bo w zestawie uruchomieniowym mam bezpośrednio podłączone switche do GND :)

    Aczkolwiek warto wiedzieć że można to zrobić na kilka sposobów :) i zapewne skorzystam z obu :)

    dziękuję za artykuł

    Pozdrawiam

    _________________
    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: 17 ] 

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