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 5 kwi 2025, o 16:52


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 16 cze 2013, o 12:59 
    Offline
    Użytkownik

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

    Jak też mówiłem tak też zrobimy na początku parę prostych ćwiczeń by poznać możliwości sterowania w praktyce prostymi układami, z których niczym z klocków można będzie przystąpić do budowy aplikacji na nieco wyższym poziomie i wyższych lotów ,
    Nie mniej warto poznać wszystko od zera i od najprostszych zabaw przez co wszystko stanie się jaśniejsze i prostsze ....


    To co zaczynamy??


    Ćwiczenie 1 :Sterowanie wyjściem cyfrowym:

    Jest to podstawowe „Hello World” które wykorzystamy by coś włączyć lub wyłączyć.
    W tym przykładzie będzie to nasza zielona dioda LED, która jest podłączona do pinu D13
    na płytce SunDuino. Spowodujemy że będzie ona mrugać 1 raz na sekundę. Rezystor też pominiemy bo jest już wbudowany na płytce pozostaje nam napisać program więc do dzieła.

    Schemat prezentuje się następująco jakbyście chcieli podłączyć diodę do innych pinów:

    Obrazek

    Sam program zaś tak i mozna go znaleźć w zakładce examples:

    Obrazek

    No i proszę nasza zielona diodka miga radośnie J Właśnie napisaliśmy pierwszy program
    I ożywiliśmy trochę nasze SunDuino. A teraz stosując się do schematu ustaw diodę w programie na inny pin od 0 do 13 samodzielnie :)


    Ćwiczenie 2: Wejście cyfrowe
    Czyli jak uzyc przycisku :)


    Obrazek

    Jest to najprostsza forma wprowadzania danych ma tylko 2 stany TAK lub NIE.
    Przykład stanowi prosty przełącznik lub przycisk podłączony do Pin D2.
    Gdy przycisk jest wciśnięty wejście będzie mieć stan HIGH i włączy nam diodę LED.

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



    Ćwiczenie 3: wysoki prąd wyjściowy
    Czyli jak sterować większymi odbiornikami na wyższe napięcie i większy prąd.


    Czasami konieczne jest sterowanie urządzeniami o większym zapotrzebowaniu na prąd niż 40mA. W tym przypadku można użyć tranzystorów MOSFET do włączania wyższego prądu obciążenia. Poniższy przykład załącza tranzystor 5x na sekundę.

    Uwaga: Schemat pokazuje przykład podłączenia silnika , ale zamiast niego można dać np. 12V żarówkę samochodową :)

    Obrazek

    Nasz program zaś następująco:

    Obrazek

    Podłączcie dokładnie jak na schemacie :) inaczej spalicie mikrokontroler , tym sposobem można sterować przekaźniki , silniki i wiele innych urządzeń na wyższe napięcie i o większym poborze prądu.


    Ćwiczenie 4: Używamy Wyjść PWM - Pulse With Modulation

    Obrazek

    Pulse Width Modulation (PWM) jest sposobem na wyjście analogowe.
    Sygnał na tym wyjściu może być modyfikowany liniowo jak w układach analogowych
    poprzez modulację impulsów wypełnienia oraz czas ich trwania.
    Może to być użyte do płynnego rozjaśniania diod LED czy tez do sterowania serwami i obrotami silników. Poniższy przykład powoli rozjaśnia i przyciemnia LED za pomocą pętli for.

    Schemat jak widzicie jest dla jednej diody , ale podobnie możecie się pobawić dioda RGB wystarczy lekko zmodyfikować program dla trzech kanałów PWM które są oznaczone na płytce xxxDUINO.

    Program:


    Obrazek



    Ćwiczenie 5: Użycie przetwornika analogowo-cyfrowego ADC

    W tym przykładzie użyjemy wejścia AnalogIN 0 , który pełni funkcję ADC mogące przyjmować wartości analogowe w zakresie 0-1023. podłączymy tam potencjometr i będziemy sterować szybkością migania diody LED.

    Schemat połączenia do SunDuino jest prosty jak widać , PIN oznacza dowolny ANALOG_IN w naszym przypadku będzie to AnalogIN_0 bo taki zdefiniowaliśmy w programie :)

    Obrazek

    A tak wygląda program sterujący prawda, że proste :)

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


    jak widzicie łatwo można sterować programem z dwóch potencjometrów pobawcie się tym programikiem chwilkę , pozmieniajcie porty diody dodajcie więcej diodek i drugi potencjometr prawda ze ciekawa zabawa:)


    Ćwiczenie 6: Sterowanie silnikami DC


    Do sterowania silnikiem DC wystarczy tranzystor , ale gdy chcemy zbudować robota
    powinniśmy wybrać sterowanie z podwójnego mostka H jakim jest np L293D, który
    pozwoli nam w prosty sposób sterować niezależnie dwoma silnikami DC w zakresie kierunku obrotów oraz szybkości dla każdego z silników osobno.

    Obrazek

    Schemat jest następujący:

    Obrazek


    Poniżej przykładowy program sterujący silnikami:

    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.



    Mam nadzieję, że program jest jasny i nie wymaga tłumaczenia.


    Ćwiczenie 7: termometr LM32

    To malutki projekcik , w którym użyty zostanie scalony termometr LM35 , a jego wskazania będą prezentowane na terminalu.

    Jak wiadomo LM35 jest termometrem Analogowym w przeciwieństwie do DS18B20 który jest Cyfrowy :) Dlatego o jego obsługi użyjemy funkcji analogRead(pinx). Wyjście LM35 przyjmuje analogowe wartości w zakresie:

    0(poziom GND) do 1023(poziom +5V),

    Sunduino udostępnia nam 10 bitowy przetwornik A/C gdzie wartości są:

    210 = 1024 więc musimy dokonać konwersji by odczytywać prawidłowo pełny zakres LM35.

    W tym przypadku przyda nam się dzielnik, który wyliczymy na podstawie wzoru:

    Obrazek

    A oto program:

    Obrazek


    UFF .... tymczasem to wszystko ... co mam na razie dla was, ale inne troszkę przykłady znajdziecie też na naszym forum w DIY w tematach :


    topic116.html -- efekt plomyka
    topic79.html -- obsługa czujnika SHT21
    topic97.html -- woltomierz
    topic1059.html -- 16 kanałowy sterownik oświetlenia LED
    topic93.html -- obsługa serwomechanizmów
    topic113.html -- prosty terminal z użyciem wyjścia TV
    topic92.html -- użycie matrycy LED 8x8
    topic101.html -- led CUBE 3x3x3
    topic80.html -- Obsługa pastylek Ibutton > magistrala 1Wire
    topic816.html -- Prosty robocik mini sumo
    topic1062.html -- wykorzystanie 3osiowego akcelerometru z kontrolera WII
    topic903.html -- prosty oscyloskop 2 kanałowy z GLCD


    Warto też odwiedzać dział SunDuino na mojej stronie gdzie też znajdziecie wiele przykładów, których tutaj nie opisywałem i nie pokazywałem.

    _________________
    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: 17 cze 2013, o 12:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 15 lip 2012
    Posty: 203
    Lokalizacja: Sosnowiec
    Pomógł: 2

    Ładnie SUN :)

    Tylko zmień L na D w "L293N" ;)

    _________________
    sig on ;)



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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