Arduino 7: BUDZIK

Поделиться
HTML-код
  • Опубликовано: 13 сен 2024
  • Kończymy budowę budzika. Uczymy się wielokrotnego użycia fragmentów kodu. Poznajemy typ zmiennych BOOL oraz wyjścia PWM, czyli dające z automatu przebiegi przemienne o ustalonym wypełnieniu.
    Kod, na którym bazuje odcinek można pobrać stąd:
    adamsmialek.co...
    Zapraszam do wsparcia mojego kanału:
    patronite.pl/s...
    PayPal.Me/smialekadam
    oraz do subskrybowania:
    www.youtube.co...
    Napisy: Anna Śmiałek
    #Arduino #zegar #budzik

Комментарии • 89

  • @slawomirejzenberg2776
    @slawomirejzenberg2776 2 года назад +2

    wspanialy wyklad!Brawo

  • @sokolsmok
    @sokolsmok 2 года назад +5

    W wolnym wierszu, może temperatura ze stacji pogodowej lub czujnika temperatury?

  • @ryszardgostynski3115
    @ryszardgostynski3115 2 года назад +13

    Mój post dotyczy tzw. " całokształtu pańskich edukacyjnych filmów. To w każdym wydaniu perełka zawierająca w sobie wręcz numeryczna dokładność , walory edukacyjne oraz nieprawdopodobną wiedzę . Oglądam wszystko , ponieważ odzywają wspomnienia i odkurzanie odłożonych do lamusa urządzeń składowanych w stanie " hibernacji " . Blog jaki Pan założył - jest mistrzowski pod każdym względem . Techniczne dane poprzeplatane niezwykle udana ironią to jak mieszanka Wasowskiego i Przybory z jakaś siłą kosmiczną wiedzy jaką zasługuje na miano człowieka renesansu. Pozdrawiam!

  • @WSZtm
    @WSZtm 2 года назад +2

    Jak zawsze w punkt !!

  • @mietektv3011
    @mietektv3011 6 месяцев назад +1

    Ogień 🔥

  • @michabrychcy6989
    @michabrychcy6989 Год назад +2

    Mi się podoba. Liznąłem co prawda trochę PHP i HTML, ale zaledwie podstawy i bez problemu odnajduje się w tym kursie, mimo, iż nigdy nie miałem styczności ani z C++ ani z Arduino.

  • @marcsmithsonian9773
    @marcsmithsonian9773 2 года назад +2

    Bardzo ciekawe. Jest taki moduł do Arduino który syntezuje mowę jakby go dodać , to byłby zegarek dla Niewidomych. Czekamy na kolejne projekty. Pozdr M

    • @Darkos.
      @Darkos. 2 года назад +1

      Proszę bardzo ruclips.net/video/S7KNhBAAY10/видео.html

  • @lukaszs44
    @lukaszs44 2 года назад +2

    Dolną linię można wykorzystać np wyświetlając datę, ewentualnie dodając czujnik DHT11 lub 22, wyświetlając temperaturę i wilgotność, lub ciśnienie barometryczne przy zastosowaniu odpowiedniego czujnika. Tak czy siak, przy kolejnych elementach będzie Pan musiał przejść na kontroler I2C by zwolnić trochę pinów. Ciekawy jestem, kiedy będzie Pan zmuszony w tym projekcie przejść na wielozadaniowość oraz przerwania :)

    •  2 года назад +2

      Żaden problem, ale ten projekt już zamykamy.

    • @mark-robots
      @mark-robots 7 месяцев назад

      a nastepny krok to wielordzeniowe programowanie w arduino

  • @Garfield-ok9qp
    @Garfield-ok9qp 2 года назад +3

    Witam Panie Adamie. Oglądam i subskrybuję Pana kanał od dawna, jest tu bardzo dużo ciekawych filmów, w każdym jest dużo informacji, Nagrał Pan kiedyś film o radioodbiorniku Unitra Gong. Mam taki sam, jeszcze dał mi go mój dziadek, razem z Blaupunktem twen nt. Dziękuję za takie ciekawe materiały, byłbym bardzo dumny jakby Pan mi odpisał - miał bym się czym chwalić wśród znajomych :-) Pozdrawiam.

    •  2 года назад +2

      Pozdrawiam miło :)

  • @wojciechc7910
    @wojciechc7910 2 года назад +2

    Dzień dobry

  • @MultiKomentator
    @MultiKomentator 2 года назад +4

    Wolny wiersz mógłby podawać datę i dzień tygodnia

    • @MultiKomentator
      @MultiKomentator 2 года назад

      Mógłby też sam zmieniać czas zimowy na letni i vice versa. Luty 28/29 dni także.

  • @Skys2005
    @Skys2005 Год назад +1

    Panie Adamie, zzy jest możliwość implementacji takiego budzika, do radiobudzika. Myślę że na pewno. Bo w oryginalnym uszkodził mi się moduł zegarko-wyświetlacza. A Sama modyfikacja wydaje się ciekawa. Tylko pozmieniać w kodzie tak: aby dało się zmieniać czas przez kilka przycisków np. przycisk od ustawiania czasu + przycisk wolnego lub szybkiego zmiany czasu (Wtedy zmienia się czas bez ustawiania cyfr od godzin i minut, tylko zmienia się wszystko na raz). P.S. Radio budzik to Grundig Sonoclock 400 z lat 80. Będzie ciekawie!

  • @xenozi3616
    @xenozi3616 2 года назад +3

    Adam, Adam, Adam, Adam, Adam. A to nie Adam. Witek, Witek, Witek.....

  • @matid8453
    @matid8453 2 года назад +4

    jakby Pan dopisał możliwość podłączenia odbiornika dcf77 to bym się naprawdę cieszył i był wdzięczny

    •  2 года назад +2

      A to sobie kiedyś napiszemy.

  • @szmalik2
    @szmalik2 2 года назад +1

    Może dolny wiersz zapełnić aktualną datą albo wskazaniami temperatury ?

  • @dzinogz
    @dzinogz 2 года назад +2

    Witam.
    Panie Adamie a co z dokładnością zegara? Dokładność tego zegara to +- minuta na dobę.
    Pozdrawiam.

    •  2 года назад +1

      Będzie okazją do tego wrócić.

    • @Micha-dx2xw
      @Micha-dx2xw 2 года назад +2

      To i tak więcej niż mój piekarnik :)

  • @majsterelektroniki795
    @majsterelektroniki795 2 года назад +3

    Ogarniam:mechanikę elektronikę tokarstwo druk 3d. Kompilacje programów. Hydraulikę. I jeszcze dużo dużo. Ale pisanie programów to dla mnie temat który stoi w miejscu. Umiem obracać się w tych kodach i wprowadzać wartości ale samemu z siebie napisać kod to niestety.. jednak mam plan żeby się tego nauczyć.

  • @Bajurable
    @Bajurable 2 года назад +2

    Panie Adamie, całość programu jest rewelacyjna i ma świetne walory edukacyjne. Jednak muszę się z Panem nie zgodzić co do tego, że w idealnym programie najpierw powstaje algorytm, a następnie kod. Jest to prawdą, ale tylko w sytuacji kiedy jesteśmy pewni na 100%, że wymagania projektu się nie zmienią. Oczywiście pisanie programów w ten sposób nie jest złe, chciałem tylko zaznaczyć, że nie jest idealne i nie zawsze się sprawdza. Mam nadzieję, że nie zostanę odebrany za malkontenta, a moja wypowiedź jest jedynie polem do dyskusji. Pozdrawiam.

    •  2 года назад +2

      Tak jest prawie zawsze w przypadku rozbudowanych projektów, ale większość Arduinowych rozwiązań to rzeczy proste i powinny być "ogarnięte" od razu w całości.

    • @henrykg
      @henrykg 2 года назад +1

      Mylisz się. Zmiany wymagań nie są problemem. Zresztą często to nie są zmiany wymagań tylko ich doprecyzowanie, bo analiza robiona po łebkach żeby szybko dostarczyć MVP.

    • @Bajurable
      @Bajurable 2 года назад

      ​@@henrykg Niemniej skutek jest ten sam. W naprawdę dużych projektach nie wszystko też można przewidzieć, a klient rzadko kiedy pomaga.

    • @henrykg
      @henrykg 2 года назад +1

      Dlatego u mnie klienci się cieszą jak jestem w ich projekcie, bo im powiem czego chcą ;-) Gorzej się dogaduję z naszymi programistami.

    • @KH-lg3xc
      @KH-lg3xc 2 года назад

      A czasami nie do końca wiadomo, co będzie działać.

  • @Informatykwakcji
    @Informatykwakcji 2 года назад +2

    🤔🤔🤔🤔 Podziwiam, że potrafisz robić po dwa odcinki tygodniowo! I to jakie odcinki! Ja właśnie siedzę nad kolejnym filmem u siebie... Ale idzie strasznie powoli... Wracając jednak do Arduino, zastanawiam się, czy powoli nie należałoby z tym cyklem migrować w nieco innym kierunku. Czy będzie dużo osób chcących regularnie oglądać cykl programowania krok po kroku....? Może jestem typem 😁 starej daty, ale do nauki programowania w szczegółach wolałbym jednak książkę, nie video. Ale może nie jestem wystarczająco nowoczesny... 😁 Niezależnie od, trzymam kciuki! 🤞

    • @rekawek6
      @rekawek6 2 года назад +2

      Oczywiście do programowania lepsze są książki, ale tak jak Pan Adam uczy programować, to jeszcze w żadnym wideo się nie spotkałem. Biorąc uwagę, że jest to poziom zaawansowania początkujący, to poziom przedstawienia tematu jest najwyższy.

    • @Informatykwakcji
      @Informatykwakcji 2 года назад +1

      @@rekawek6 Ja w żadnym wypadku nie neguję poziomu. Wręcz przeciwnie bardzo doceniam pracę Adama. Bardziej patrzę na tę kwestię z punktu popytu, że tak powiem. Przygotowanie takiego filmu to strasznie dużo pracy i byłoby dobrze, gdyby to się zwróciło, choćby częściowo przychodami z reklam. Natomiast jeśli zainteresowanie będzie niewielkie, to na dłuższą metę ciężko to ciągnąć i coś trzeba zrobić, by zwiększyć to zainteresowanie. Sam to widzę trochę u siebie, choć mój kanał to mikrus. Szukam tematów, które mnie interesują, ale i na które może być zapotrzebowanie. Niestety często na to, co mnie naprawdę interesuje, zapotrzebowanie jest niewielkie. Np. kiedyś próbowałem rozkręcić serię o kryptografii i liczba wyświetleń to było kilka na miesiąc. Porównaj zresztą liczbę wyświetleń filmów piątkowych u Adama, z liczbą wyświetleń tych o Arduino...

    •  2 года назад +2

      Do tej serii czai się pewien pomysł konkretny i mam nadzieję, że wkrótce się tu pojawi :)

    • @rekawek6
      @rekawek6 2 года назад +2

      @@Informatykwakcji Wiem, że czasami to czy kanał ma wyświetlenia nie zależy od treści tylko od marketingu, albo miękkich kompetencji prowadzącego, są kanały tak niszowe, że mają po kilkuset subskrybentów, a są to kanały techniczne ludzi z dużą wiedzą.

    • @Informatykwakcji
      @Informatykwakcji 2 года назад +2

      @ Trzymam mocno kciuki! 🤞

  • @sp3sfzslawek555
    @sp3sfzslawek555 Год назад +1

    Dzień dobry. Panie Adamie, czy można użyć Pańskiej interpretacji "hejnału mariackiego" w budziku bez tantiem? Zawsze chciałem spać do 12 :)

    •  Год назад

      Oczywiście :)

  • @marek90ck
    @marek90ck 2 года назад +1

    W Pascalu było clrarscr czy jakoś tak

  • @nickover
    @nickover 2 года назад +3

    Nie zgodzę się że wydzielanie kodu do funkcji, nawet w małych projektach jest zbędna. Używanie dobrych praktyk w każdym projekcie jest ważna, nawet tylko po to aby utrwalać wiedzę. Przy okazji czemu kod to mieszanka angielskiego i polskiego? Rozumiem że jest to materiał dla ludzi którzy nie mają za dużo wspólnego z programowaniem, ale pokazywanie takich potworków w mojej opinii nie jest dobrym pomysłem. Tym bardziej że bez angielskiego i tak taka osoba nie będzie w stanie używać nawet natywnych funkcji, co dopiero bibliotek.

    •  2 года назад +3

      A założymy się, że będzie w stanie? :) W osiemdziesiątych latach znajomość angielskiego w Polsce była jak dziś znajomość rosyjskiego. A świetne projekty powstawały, mimo braku słowników online i w ogóle czegoś takiego jak online :)
      Co do "dobrych praktyk", zalecam używanie głowy - zawsze. A dopiero potem dobrych praktyk. Robienie funkcji, do której odwołujemy się raz w programie na sto linii jest może i dobrą praktyką, ale niewiele ma wspólnego z używaniem głowy.
      A jak ktoś ma problem z tym, by się w razie potrzeby przestawić w dwie minuty, w zakresie jednego albo drugiego, powinien znaleźć sobie inne hobby.

    • @nickover
      @nickover 2 года назад

      Nie wiem jak to wyglądało w latach 80, ale wydaje mi się że z racji na brak internetu wszystko było pisane "z palca". Teraz do nawet małych projektów często używa się dziesiątek bibliotek (przy raspberry osobna biblioteka do pisania na ekranie, osobna do czytania z DHT11...) których dokumentacja jest w języku angielskim. Oczywiście teraz możemy tłumaczyć strony ale google średnio umie w pojęcia IT.
      Kompletnie nie zgodzę się że przeniesienie tego nie ma "niewiele wspólnego z używaniem głowy". Projekt może się rozwijać, mogą być dodawane nowe funkcje (np po wyłączeniu budzika pobiera i mówi jaka jest temp na zewnątrz). Nie mając kodu rozdzielonego na logiczne elementy dużo ciężej się do niego wraca i coś dodaje/zmienia (łatwiej zobaczyć nazwę funkcji handleButtonPress() niż przedzierać się przez pętle z paroma ifami i czytać ścianę komentarzy).
      Samo przestawienie się nie jest trudne co raczej irytujące tym bardziej że natywne rzeczy są po angielsku, więc czemu ktoś musi dodawać kolejny język?

    •  2 года назад +1

      Proponuję raz jeszcze dokładnie posłuchać fragmentu o funkcjach, bo tam jest wyjaśnione co i jak, i z pewnością nie taki wniosek powstał. O celowości wprowadzania polskich nazw zmiennych mówiłem już w komentarzach wielokrotnie i nie chce mi się powtarzać.

    • @mark-robots
      @mark-robots 7 месяцев назад

      @@nickoverTak od polowy lat 80tych byly sprzedawane ksiazki (opis bibliotek) z dyskietkami zawierajacymi biblioteki - ja zawsze uzywam w programie tylko angielskiego (poza napisami na ekranie oczywiscie) bo inaczej robi sie smietnik

  • @marcinst3870
    @marcinst3870 2 года назад +1

    Super filmy ale na 1,75x ;)

  • @wiktor1983
    @wiktor1983 2 года назад +3

    Skąd tyle łapek w dół? Jakaś zawiść?

    •  2 года назад +1

      Raczej niewiedza, że to bez znaczenia.

  • @BartekEVH
    @BartekEVH 2 года назад +2

    A ja mam wyświetlacz 2 x 80 znaków a Wy nie! 😝 Ani nawet Pan Adam nie ma. 😁

    • @apruszko
      @apruszko 2 года назад +1

      Też mam, tyle że 2x80 wymagało dwóch sterowników hd44780 i to sprawiało trudności w jego użyciu. Btw poco mi 2x80 z samymi znakami jak można mieć wyświetlacz graficzny z możliwością dopracowania czcionek? Te hd44780 to dziś muzeum (sorry Panie Adamie)!

    • @KH-lg3xc
      @KH-lg3xc 2 года назад

      A ja mam... ja mam... 30 x 80 znaków!

    • @BartekEVH
      @BartekEVH 2 года назад

      @@KH-lg3xc 😮 znaków czy pikseli? 😁

    • @BartekEVH
      @BartekEVH 2 года назад

      @@apruszko np jest zabytek jest. Ale na potrzeby małego urządzenia bardzo fajna rzecz. Leżą mi jeszcze takie w domu z 6 sztuk chyba różnej wielkości.

    • @mark-robots
      @mark-robots 7 месяцев назад

      A ja mam podlaczony pod ESP32 (nastepca UNO) telewizor 4K 50 cali ( prosty program w Arduino ) - zagadka - ile to pikseli ?

  • @JK-dg3wu
    @JK-dg3wu 2 года назад

    Czy istnieje spis treści kolejnych odcinków o Arduino?

    • @januszbentzwal3946
      @januszbentzwal3946 2 года назад

      Nie będzie za wielu odcinków o Arduino. Ten odcinek ma 7600 odsłon, a wisi już tydzień. Filmik o latarce po jednym dniu ma 30000 wyswietleń. Rachunek jest prosty, z arduino kasy nie będzie. Z resztą jest tyle o tym arduino w necie że żadnej straty nie będzie.

    •  2 года назад +3

      YT nie robi się dla kasy ani odsłon, lecz na szczęście mało kto tak myśli.

  • @KH-lg3xc
    @KH-lg3xc 2 года назад +1

    Typ BOOL, to nawet nie typ bezużyteczny. To typ zupełnie zbędny. Zbędny przynajmniej w przypadku języka C.

    •  2 года назад

      Ale to nie jest film o języku C

    • @rekawek6
      @rekawek6 2 года назад

      Dlaczego ten typ jest bezużyteczny, chodzi o pamięć kontrolera?

    • @KH-lg3xc
      @KH-lg3xc 2 года назад +2

      @@rekawek6 Chodzi o to, że w języku C wartość 0 (zero), w operacjach logicznych jest traktowana jako "fałsz", a każda wartość inna od zera, to "prawda". Dotyczy to wszystkich typów zmiennych, każdego praktycznie można użyć w operacjach logicznych, dlatego nie ma potrzeby używania specjalnego typu "bool". Taki typ, owszem, można zdefiniować, jest do tego biblioteka specjalna, ale w praktyce to jest odpowiednik typu "char", który przyjmuje dwie wartości: w praktyce zero i jeden. Takie podejście najczęściej znacznie upraszcza pisanie programów. Jeśli chce się oszczędzić trochę pamięci RAM i użyć pojedynczych bitów, to i tak trzeba to sobie samemu rozpisać na jakieś operacje na bitach. W innych językach programowania już tak nie musi być i tam kompilator albo interpreter może sprawdzić, czy operacja logiczna jest wykonywana na zmiennych typu logicznego (czyli "bool") i jeśli zmienna jest innego typu, to może wtedy to potraktować jako błąd. C, to raczej język niskiego poziomu i trzeba bardzo uważać, bo można łatwo popełnić błędy, których kompilator nie wyłapie, bo pewnych rzeczy po prostu nie sprawdza.

    • @rekawek6
      @rekawek6 2 года назад

      @@KH-lg3xc dzięki o takie wyszczególnione różnice mi chodziło.

    •  2 года назад +1

      Bool jako taki jest do zastąpienia byte, a właściwie w takich projektach to wystarczyłby tylko jeden typ zmiennej, jak to było w komputerach ośmiobitowych. Podobnie jak false i true oraz low i high jest do zastąpienia 0 i 1 i tak prywatnie stosuję. Ale elegancko jest jednak ciągnąć zmienne w dół, wedle zapotrzebowania, mimo że bool jest chyba pamiętany w bajcie, a nie bitowo. Poza tym Arduino tak zaleca, łącznie z rozmnożeniem zapisu poziomów w zależności od okoliczności, choć znaczą to samo. Co ciekawe, dawniej zalecał boolean, ale się organizacji odwidziało. Nie dyskutuję z tym, robię jak każą :)

  • @Prezes0007
    @Prezes0007 2 года назад

    Panie Adamie proszę otworzyć kod z odcinka poprzedniego wykonać pierwsze instrukcje do 2 minuty filmu i potwierdzić że nie działa.

    •  2 года назад +3

      Wszystkie odnośniki pod filmem prowadzą do sprawdzonych źródeł i działają. To, co widać na filmie, to często etapy pośrednie, więc nie zawsze mają prawo nie dawać błędów (nie zamieszczam takich źródeł na stronie).

  • @robertmajewski4486
    @robertmajewski4486 2 года назад

    Panie Adamie - pisałem o jakąś pomoc po różnych instytucjach - zero odzewu . To jest wszystko chore.

  • @KA-kc2sj
    @KA-kc2sj 2 года назад +3

    Dla tych co mają I2C wystarczy niewiele skasować i wstawic to: działa
    #include // bibloteka wyswietlacza iquidCrystal_I2C.h
    #include // To jest biblioteka obsługi zegara. Time-1.6.1.zip
    #define BACKLIGHT_PIN 3 //zmienna z pinu 3 służy do podswietlenia wyświetlacza
    LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7); // przypisuje ustawienia pinów dla wyswietlacza iC2 (20,2) (0x27 adres wyswietlacza musi odpowiadać danemu wyswietlaczowi)
    void setup()
    {
    lcd.begin(20, 4); // wyswietlacz 20 znaków 4 linie
    lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
    lcd.setBacklight(HIGH)
    Dzięki za projekt .Pozdrawiam.

  • @dejaeprouve
    @dejaeprouve 2 года назад +3

    Jak na razie to lepiej było by kupić sobie chiński budzik w hipermarkecie, niźli ślęczeć nad tym substytutem.

    •  2 года назад +5

      Jeśli ktoś myślał, że celem tych filmów jest zrobienie budzika, to z całą pewnością źle trafił i rzeczywiście powinien sobie go kupić w sklepie :)

    • @dejaeprouve
      @dejaeprouve 2 года назад

      @ Na razie jest dość tajemniczo i seria trzyma w napięciu co będzie dalej, ale jak dotychczas to składa się to na projekt sygnalizatora WC z funkcją budzenia użytkownika.

    •  2 года назад +3

      Nie, jak dotychczas to seria pokazała jak się pisze programy i do czego służy kilka funkcji. Teraz nastąpi długi czas utrwalania wiedzy na przykładach, wraz z poznawaniem nowych rzeczy, już mniej intensywnie.
      A te wszystkie budziki, zegary i inne sprawy są w tym właściwie zupełnie nieistotne. Moim zadaniem jest uczynić umiejętność tworzenia takich urządzeń, a nie kopiowanie gotowych rozwiązań.

  • @KA-kc2sj
    @KA-kc2sj 2 года назад +3

    Powiem tak panie Adamie ten kurs niema nic wspólnego z nauką skoro jest dla początkujących lepiej można samemu bo poco tyle czasu poświęcić na zegar jak podstawy nie były wyjaśnione rozumie że pan się popisuje przed programistami a nie uczniami i ot cały temat .Kurs do dupy tyle w temacie.

    •  2 года назад +5

      Myślę, że on po prostu nie nadaje się dla kogoś, kto nie potrafi poprawnie sklecić zdania. Ale nie każdy musi umieć w Arduino :)

    • @KA-kc2sj
      @KA-kc2sj 2 года назад +1

      A ja panu powiem że nie muszę nic wiedzieć bo chce się coś dowiedzieć ale chyba nie z tego zegarka

    • @KA-kc2sj
      @KA-kc2sj 2 года назад

      Choćby takie coś. LCD.print(F("coś tam")) ; jak można LCD print(" coś tam") po co to F i ten podwójny nawias i to ma być prosty kurs siechawa a prawie mało wien ale pan robi sobie jaja coś pisze o mało dokładnie w komentarzu objaśnia.Bez urazy ale to tak wygląda nie mówiąc o innych rzeczach...

    • @KA-kc2sj
      @KA-kc2sj 2 года назад

      Jak mi pan powie po co te F i nawiasy to odszczekam po myślę że nie wiem poco choć się uczę

    • @KA-kc2sj
      @KA-kc2sj 2 года назад

      A tak od podstaw trzeba każdej biblioteki komendy przedstawić i wyjaśnić jeśli to ma być nauka.

  • @hlachupakathrabantheraera5471
    @hlachupakathrabantheraera5471 2 года назад +2

    Dzień dobry

  • @vegetka
    @vegetka 2 года назад +2

    Dzień dobry