Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Nakładka do programowania na Arduino UNO

DJCheester 13 Jan 2019 20:32 7899 32
Computer Controls
  • Nakładka do programowania na Arduino UNO

    Witam wszystkich serdecznie

    Dziś chciałbym Wam przedstawić bardzo przydatną (jak dla mnie) przystawkę do nauki programowania.

    Na początek trochę historii (oczywiście historia elektroniki).

    Ja już ponad ćwierć wieku bawię się elektroniką - często robiłem coś tylko dla tego aby zdobyć doświadczenie, nie rzadko przy takich eksperymentach szarpało po kieszeni w skutek nieprzemyślanego podłączenia czy to podzespołu czy jakiegoś modułu elektronicznego. W dzisiejszych czasach koszty modułów (zwłaszcza tych chińskich) są niewielkie i tak aż bardzo nie odczujemy kiedy coś uszkodzimy, ale za to jak się nieumyślnie przy naprawie uszkodzi płytę główną np. przy telewizorze no to już jest nieciekawie.

    Ale wracając do tematu. Pamiętacie te czasy jak elektronika wchodziła do domów, wszystko tak naprawdę zaczęło się już dawno temu. Aby można było bawić się elektroniką musiał być znany prąd elektryczny. I tak na początek były proste instalacje elektryczne - głównie oświetlenie, a z czasem pojawiły się układy elektroniczne, głównie na lampach (choć dla mnie układy elektroniczne na lampach powinny nazywać się układami elektrycznymi chociażby dlatego że stare schematy np gramofonu Bambino były podpisane właśnie "Schemat elektryczny gramofonu Bambino" no i nawet w Wikipedii po wpisaniu lampa elektronowa możemy przeczytać że jest to element elektroniczny - ale pomińmy tę kwestię), pojawiły się proste układy lampowe, po czym wynaleziono tranzystor półprzewodniki to była rewolucja - brak wysokich napięć anodowych pozwoliło na budowanie układów zasilanych niskim napięciem - tzw przenośnych - bateryjnych. Elektronika kwitła bardzo dobrze - układy tranzystorowe. Kolejnym krokiem było pojawienie się układu scalonego - na początek UL1111 jak dobrze pamiętam 5 tranzystorów ale układ scalony - era układów scalonych - coraz więcej różnych specjalistycznych układów scalonych, każdy z nich realizował określone funkcje, zegary, liczniki, wzmacniacze, rejestry itp. Aż do momentu kiedy to pojawił się programowalny układ scalony - zwany procesorem i znów stosowanie klasycznych układów w projektach stało się przestarzałe i drogie - dlaczego - weźmy np zegar cyfrowy LED - jeśli chciałbyś go zbudować ze zwykłych układów cyfrowych musiałbyś użyć ich co najmniej dziewięciu (o ile dobrze pamiętam), przy konstruowaniu z użyciem specjalistycznego układu np LM8560 można było zbudować taki zegar stosując tylko jeden taki układ, ale z chwilą kiedy to procesory wkroczyły na dobre do projektów stało się jasne że taki zegar można zrobić na procesorze tanio szybko będzie on pobierał bardzo mało prądu i będzie można za pomocą programowania mikroprocesora zmieniać jego funkcje. Wszystkie te korzyści sprawiły że teraz bardzo dużo osób zajmujących się elektroniką programuje lub chce nauczyć się programowania mikroprocesorów. Co niektórzy funkcję migacza LED wolą zrobić na 8-pinowym procesorze niż na tranzystorach bo prościej łatwiej można zmienić np częstotliwość migania, bez ingerencji lutownicą w układ elektroniczny.

    Kończąc ten troszkę za długi już wstęp chciałbym powiedzieć że tak naprawdę początkiem elektroniki stała się elektryka, a początkiem informatyki stała się elektronika. W dzisiejszych czasach tak naprawdę elektronika stanowi bazę elektryczną dla układu, a funkcjonalność wcale nie zależy tylko od połączeń elektrycznych układu lecz również od twórczości programisty. Weźmy na przykład ten wcześniejszy zegar, możemy go zrobić na procesorze i będzie nam wskazywał godzinę ale również po zmianie programu będziemy mogli np. korzystać z tego samego układu elektronicznego jako stoper, wystarczy że zmienimy tylko oprogramowanie. Czyż to nie piękne, ale zaraz czy aby na pewno w dzisiejszych czasach nie musimy nic lutować ??

    I tak i nie - zależy - mamy na dzień dzisiejszy platformy Arduino (w moim przypadku UNO i dalej będę się odnosił do właśnie tej wersji), które to po podłączeniu do komputera przez kabel USB możemy programować dowolnie lub uczyć się na nim programować, do tego wystarczy jeszcze kilka kabelków płytka stykowa oraz kilka elementów elektronicznych i to wszystko.

    Ja postanowiłem iść trochę na skróty i stworzyć coś ala nakładkę na moje Arduino UNO - jest to taki układ do nauki programowania - zawiera podstawowe elementy podłączone na stałe pod piny procesora - przy pisaniu programu trzeba tylko pamiętać gdzie co mamy podłączone i wszystko działa.

    Moim zdaniem taka płytka jest bardzo przydatna ponieważ na płytce stykowej nie zawsze coś dobrze styka zdarza się że przewód się wypnie lub najprościej w świecie popełnimy błąd przy podłączeniu.

    Tu macie wszystko połączone - połączenia są pewne bo lutowane można skupić się na programowaniu, wadą takiego połączenia jest oczywiście brak możliwości zmiany pinów i konfiguracji na płytce ale za to można przetestować wszystkie proste układu we/wy czy to cyfrowe za pomocą switchy czy analogowe za pomocą potencjometru na wejściu i PWM na wyjściu

    Wyprowadzenia pinów Arduino UNO i połączone pod nie elementy

    • S1 – Pin Arduino – 12 – przycisk do masy.
    • S2 – Pin Arduino – 8 – przycisk do masy.
    • S3 – Pin Arduino – 7 – przycisk do masy.
    • S4 – Pin Arduino – 2 – przycisk do masy (obsługa przerwań).
    • KONTAKTRON – Pin Arduino – 0 – kontaktron do masy.
    • LED-RGB-WK – Piny Arduino – 6,5,3 – przez rezystory R5 (100ohm), R6 (100ohm) i R7 (150ohm) – wspólna katoda do masy (6-pin – niebieska, 5-pin – zielona, 3-pin – czerwona).
    • LED1 – Pin Arduino – 13 – dioda niebieska katodą do masy przez rezystor 150ohm.
    • LED2 – Pin Arduino – 11 – dioda zielona katodą do masy przez rezystor 120ohm.
    • LED3 – Pin Arduino – 10 – dioda żółta katodą do masy przez rezystor 180ohm.
    • LED4 – Pin Arduino – 9 – dioda czerwona katodą do masy przez rezystor 180ohm.
    • BUZZER – Pin Arduino – A1 – buzzer aktywny podłączony do masy.
    • DC1, DC2, DC3 – Pin Arduino – 4 – diody cyfrowe ze sterownikiem zasilanie napięciem 5V.
    • P1 – Pin Arduino – A5 – potencjometr podłączony jako dzielnik napięcia dla pinu analogowego.
    • DS1, DS2 – Pin Arduino – A4 – cyfrowe czujniki temperatury DALLAS DS18B20 podłączone przez rezystor R9 (4.7k) do szyny zasilania 5V.
    • TERM – Pin Arduino – A3 – termistor podłączony razem z rezystorem R10 (20k) jako dzielnik napięcia dla pinu analogowego stanowiący prosty czujnik temperatury.
    • FOTO – Pin Arduino – A2 – fotorezystor podłączony razem z rezstorem R11 (20k) jako dzielnik napięcia dla pinu analogowego stanowiący prosty czujnik oświetlenia.
    • IR – Pin Arduino – A0 – odbiornik podczerwieni aby można było sterować z pilota,
    odbiornik podłączony przez rezystor R8 (220).

    W miarę mojej nauki programowania tworzę kolejne płytki typu nakładki umożliwiające ćwiczenia programowania. Kolejne płytki będą umożliwiały m.in multipleksowanie wyświetlacza czterosegmentowego LED, i kolejna sterowanie silników dla wykonania prostego robota - czyli kilka czujników + sterowniki silników, kolejna płytka będzie ze sterownikami silników przeznaczona do tego aby zrobić z naszego Arduino drona ale to wszystko w planach na razie mam projekty płytek ale jeszcze nie zmontowane. Płytkę z wyświetlaczem LCD oraz klawiaturą parametryczną kupiłem w formie takiej właśnie nakładki i postanowiłem zrobić kolejne tak aby od podstaw nauczyć się programowania, czyli zacząć od popularnego migania diodą.

    Nakładka do programowania na Arduino UNO

    Przy połączeniu tego z modułem DS1302 mamy fajny zegar RTC

    Nakładka do programowania na Arduino UNO Nakładka do programowania na Arduino UNO Nakładka do programowania na Arduino UNO Nakładka do programowania na Arduino UNO

    Przy połączeniu tego z modułem radia TEA5757 mamy prosty radioodbiornik FM z wyświetlaczem LCD

    Nakładka do programowania na Arduino UNO Nakładka do programowania na Arduino UNO

    W podobny sposób można za pomocą odpowiedniego czujnika np. oświetlenia, czy temperatury stworzyć podobny układ który będzie informował nas o ilości oświetlenia w pomieszczeniu czy o panującej temperaturze - ojej czy właśnie zrobiliśmy prosty termometr - właśnie tak.

    W przypadku mojej płytki też jest możliwe zrobienie np wyłącznika zmierzchowego czy termostatu za pomocą termistora i fotorezystora umieszczonego na płytce razem z rezystorami tworzą dzielniki napięcia i to napięcie trafia do procesora do przetwornika analogowo-cyfrowego i za pomocą odpowiedniego programu napisanego na Arduino można zadeklarować że powyżej lub poniżej określonej wartości będzie procesor wystawiał stan wysoki na wyjściu - w naszym przypadku będzie zapalać diodę, można też dodać opcję płynnej zmiany tej granicy za pomocą potencjometru lub całość włączać i wyłączać pilotem. Przy projektowaniu układu z użyciem programu co właśnie napisaliśmy i sprawdziliśmy że działa, w finalnym układzie projektujemy procesor ATMEGA8 lub 328 taki jak w Arduino zasilanie na stabilizatorze kwarc 16Mhz oraz układ wykonawczy czyli zamiast diody LED podłączamy przez rezystor na bazę tranzystora który ty załącza przekaźnik. W taki sposób można właśnie zacząć projektować proste układy z wykorzystaniem mikroprocesora.

    Pomysłów aby wykorzystać ten układ jest bardzo dużo i pozostawiam Wam ten układ do ćwiczeń i jednocześnie życzę sukcesów w nauce.

    Jak czas pozwoli będę sukcesywnie publikował kolejne nakładki (myślę że w tym temacie aby nie zakładać kolejnych)

    Załączam również dokumentację oraz termotransfer dla tych którzy będą sobie chcieli zrobić taki układ - szczerze polecam dla początkujących.

    Sam choć zajmuję się już ćwierć wieku elektroniką zmuszony byłem nauczyć się (w sumie to cały czas się uczę jak czas pozwoli) programowania i płytka bardzo mi się przydaje zwłaszcza przy małym synku (1.5 roku) przy stykówce i luźnych elementach bał bym się tego wyciągać bo mógłby połknąć element i nieszczęście gotowe. A tak wszystko w jednej całości zasilane tylko z USB więc kablem podpinam do USB i wszystko działa - pozostaje jeszcze uruchomić środowisko IDE Arduino i można zacząć pisać programy.

    W razie pytań służę pomocą. Czekam na komentarze, jest to mój dwudziesty drugi opublikowany projekt - proszę o wyrozumiałość, czytałem regulamin i myślę, że wszystko zrobiłem zgodnie z nim.

    Cool? Ranking DIY
    Do you have a problem with Arduino? Ask question. Visit our forum Arduino.
    About Author
    DJCheester
    Level 24  
    Offline 
    DJCheester wrote 1370 posts with rating 774, helped 75 times. Live in city Bełchatów. Been with us since 2011 year.
  • Computer Controls
  • #2
    Piottr242
    Level 23  
    Bardzo fajny, praktyczny projekt.

    Jedyne zastrzeżenie jakie mi przychodzi do głowy, to czy rezystory do LED-ów nie są nieco zaniżonej wartości? Jaki łączny prąd pociągniesz z portów procesora, jeżeli zapalisz wszystkie diody? Ja bym diodom dla bezpieczeństwa dał sterowanie przez tranzystor albo ULN2008.
  • #3
    DJCheester
    Level 24  
    Hej,
    dobierałem je tak, aby diody świeciły mniej więcej równym światłem, co do łącznej obciążalności to tak naprawdę mamy 7 diod led zasilanych bezpośrednio z procesora - to jest prąd 140 mA gdy wszystkie świecą - cztery kolorowe + RGB.

    Diody APA106 to są odpowiedniki przewlekane diod WS2812 (jeśli się nie mylę) i one są tylko z procesora sterowane, tak samo jest z DS18B20.

    O ile dobrze pamiętam łączny prąd pobierany z procesora nie może przekroczyć 200 mA, więc wszystko się zgadza.

    Czasami zachodzi potrzeba wykorzystać jakiś pin np. switch jako inny, wtedy pozostaje nie używać go, a ten pin fizycznie podłączyć pod jakiś czujnik (niestety zostaje tutaj już tylko przylutować do pinu, które są dostępne od góry nakładki).

    Goldpiny, których użyłem są z dłuższymi wyprowadzeniami, aby dobrze wpinały się w Arduino.

    Jedyne, co mi brakuje to dioda nadawcza IR tak, aby można było z tego Arduino zrobić pilota zdalnego sterowania i może zmodyfikuję płytkę i zrezygnuję z rzeczy najmniej używanej przeze mnie.

    A co do oporników; można wszystkie dać o nieco większej rezystancji, wtedy diody będą świecić słabiej i prąd pobierany przez procesor w sumie będzie mniejszy.

    Ale oczywiście pomysł z tranzystorami czy driverem ULN jest dobry i można jak najbardziej pokusić się o zmodyfikowanie tej nakładki, dodając te elementy, ale ja powiem szczerze, że mam Arduino z procesorem przewlekanym i w razie czego mogę go podmienić na nowy, ale jeszcze w moich eksperymentach nie udało mi się uszkodzić tego Arduino przy pomocy tej nakładki, więc projekt sprawdzony i działa.

    A co do zapalania diod; raczej nie zapalam wszystkich, diody te służą z reguły w programach jako informowanie mnie o stanach wyjściowych, czy jest kontrolką jakiejś funkcji.

    Pozdrawiam
  • #4
    ditomek
    Level 22  
    A mi się coś wydaje ze niewiele się nauczyłeś dzięki tej płytce. O programowaniu oczywiście pisze.
    Naprawdę trzeba robić płytkę z tymi wszystkimi rzeczami żeby nauczyć się np odczytywania stanu przycisku czy załączaniu LEDa?
    Pewnie mile spędziłeś czas na robieniu płytki ale nie widzę większego sensu dydaktycznego w jej powstaniu.
  • #5
    DJCheester
    Level 24  
    Witam.

    A ja widzę, chociażby dlatego, że przy małym dziecku nie używałem luźnych elementów i trochę więcej wyobraźni co do programowania na płytce jest potencjometr. Ja zamiast potencjometru widzę czujnik z wyjściem analogowym (nieistotne jaki), który ma za zadanie mierzyć coś (cokolwiek) i dane trafiają do procesora tam tylko wyobraźnia programisty i można z tym zrobić wszystko. Tak samo zamiast diody Led ja widzę przekaźnik lub tranzystor do zastosowania w celu załączania innego urządzenia czy układu.

    Płytka oczywiście nie rozwiązuje wszystkich problemów, ale podstawy dzięki niej można opanować.

    Kolego, dlaczego uważasz, że niewiele się nauczyłem skoro żadnego projektu, który wykonałem z wykorzystaniem tej płytki, jeszcze nie opublikowałem ??

    A płytki będą kolejne, bo taka nauka bez stykówki bardzo mi się podoba. Nie lubię wykonywać na płytkach uniwersalnych układów, te wiszące kable itp. już lepiej na płytkach uniwersalnych do lutowania jak estetycznie zrobione to ma to ręce i nogi, prototyp z reguły lutuje na pająka, a do finalnego urządzenia projektuję płytkę. Całość wygląda estetycznie, połączenia są solidne i projekt chodzi latami. Mój najstarszy projekt działa 24 godz. na dobę codziennie od 1998 roku. Płytkę wtedy wykonywałem markerem, bo nie było Eagle lub ja nie wiedziałem, że taki program jest.

    Pozdrawiam ....
  • Computer Controls
  • #6
    Qbas060
    Level 14  
    Bardzo fajny projekt. Co do zegara to proponuje DS3231. Niewiele droższy a o wiele mniej się rozjeżdża. DS1302 i DS1307 potrafił mi zgubić kilka minut na tydzień. Dodatkowo DS3231 ma wewnętrzny kwarc i termometr dzięki czemu nie jest czuły na wahania temperatury w przeciwieństwie do DS1302 i DS1307.

    Sporo nerwów mnie kosztowało już niestykanie przewodów w prototypie i szukania nieistniejących błędów w kodzie.
    Na pewno płytka jest wygodniejsza od tego:
  • #7
    DJCheester
    Level 24  
    Miałem akurat takie moduły pod ręką więc projekty powstały na szybko tak aby pokazac kilka fotek.

    Akurat wspomnianego przez Ciebie zegara nie mam ale dzięki za radę - jak będę miał zamiar robic jakiś projekt z RTC to na pewno posłucham rady

    Dzięki...
  • #8
    Qbas060
    Level 14  
    Ewentualnie do takich nakładek na Arduino dodał bym listwy goldpinów. Koszt niewielki, stopnia skomplikowania też nie podniesie a zawsze to można podłączyć coś dodatkowego, coś co nie było przewidziane w projekcie, np drugi kontaktron bo akurat potrzebne będą dwa. i nie trzeba będzie lutować.
  • #9
    GanzConrad
    Level 25  
    @DJCheester skoro tyle czasu bawisz się elektroniką to argument małego dziecka jest trochę nie na miejscu, bo oczywistym jest fakt, że cały warsztat elektronika nie jest miejscem dla dzieciaka... (choćby lutownica, o reszcie nie wspomnę)
    Już sama platforma Arduino powstała po to aby uprościć naukę programowania (przykłady, gotowe biblioteki itd) To samo dotyczy RaspberryPi. Moim skromnym zdaniem już schematy Fritzing są smutnym znakiem naszych czasów, w których upraszczanie przekroczyło pewną granicę, która nie wymaga od konstruktora/elektronika żadnego myślenia (ale z drugiej strony otwiera świat elektroniki najmłodszym, więc tragedii nie ma - podobnie jest ze Skratch'em).
    Aby czegokolwiek się nauczyć, trzeba przeczytać minimum 1 książkę, a miganie diodą to pół strony w pierwszym rozdziale, a stron jest 600..., więc zastosowanie tej nakładki się skończy po przeczytaniu 25% pierwszej książki.
    Można to zrobić w ramach ćwiczeń termotransferu itp, ale żeby to wrzucić do worka projektów wartych publikacji, to już nie bardzo... (mówię to na podstawie Twoich poprzednich projektów, choćby wzmacniacza:
    https://www.elektroda.pl/rtvforum/topic3090872.html )
  • #10
    ditomek
    Level 22  
    @DJCheester nie zrozum mnie żle. nie szukam przysłowiowej "dziury w całym"
    Chodzi mo o to ze dzięki tej płytce tak naprawdę nauczyłeś się używać ilu, 4 poleceń?
    DigitalRead
    DigitalWrite,
    AnalogRead,
    AnalogWrite,
    dodatkowo:
    - programowanie diod RGB które można zrobić w oparciu o gotowe moduły
    - programowanie podczerwieni które można wykonać wsadzając czujnik bezpośrednio do arduino.

    Tez swoja przygodne z mikrokontrolerami zaczynałem od płytek prototypowych. Były nieco bardziej zaawansowane bo na jednej miałem kilka mikrokontrolerów z LCD i kompletnym środowiskiem RS485 do testów. Dzisiaj płytki sa w śmietniku. Na żadnej z nich nie zrobiłem żadnego sensownego projektu bo zawsze czegoś brakowało albo nie chciało sie dłubać dwukrotnie tego samego: raz na zestawie uruchomieniowym a drugi raz w prototypie. Dlatego teraz od razu robię prototyp.
    Ale tak jak pisałem jeśli wykonanie płytki sprawiło ci przyjemność (a nie mam wątpliwości ze tak właśnie jest) to super. W końcu to hobby. Obcowanie z nim ma dawać przyjemność :-)
  • #11
    DJCheester
    Level 24  
    GanzConrad wrote:
    @DJCheester skoro tyle czasu bawisz się elektroniką to argument małego dziecka jest trochę nie na miejscu


    Akurat jest na miejscu elektroniką hobbistycznie zajmuję się od 13-tego roku a mam 39 obecnie więc łatwo możesz sobie policzyc - a co do dzieciaków jakie mam duże to chyba moja prowatna sprawa i ucinam tym samym dyskusje nie dotyczącątematu.

    GanzConrad wrote:
    Moim skromnym zdaniem już schematy Fritzing są smutnym znakiem naszych czasów
    z tym akurat się z Tobą zgadzam nie lubię ich czytac ale to tylko moje zdanie.

    Co do książek o programowaniu każdy chyba czytając zaczyna od poczatku i to jest właśnie płytka służąca początkującym - nikt nie każe Ci jej robic

    GanzConrad wrote:
    Można to zrobić w ramach ćwiczeń termotransferu itp, ale żeby to wrzucić do worka projektów wartych publikacji, to już nie bardzo... (mówię to na podstawie Twoich poprzednich projektów, choćby wzmacniacza:
    https://www.elektroda.pl/rtvforum/topic3090872.html)


    Link nie działa - a projekty poprzednie - nie ma tam żadnego z wykorzystaniem procesora z moim programem.

    A co do wrzucania projektów forumowicze mają odmienne zdanie od Ciiebie i to mnie cieszy

    A swoją drogą co Ty szanowny kolego zrobiłeś godnego uwagi - potrafisz wytykac tylko. Lubię konstruktywną krytykę w stylu źle zrobiłeś .... powinieneś zrobic to tak lub poprawic. A nie tak jak Ty że projekt do niczego.

    Skoro jesteś na wyższym poziomie w programowaniu to ten projekt nie jest dla Ciebie.

    Moderated By tmf:

    3.1.9. Nie ironizuj i nie bądź złośliwy w stosunku do drugiej strony dyskusji. Uszanuj odmienne zdanie oraz inne opinie na forum.
    Kolega opisał swoje zdanie w sposób kulturalny i rzeczowy. Może ci się to nie podobać, ale robienie aluzji personalnych nie powinno mieć miejsca.
    Proszę więc stonować emocje i przyjąć możliwość, że nie wszyscy będą się zachwycać kolegi projektem i dopóki merytorycznie uzasadniają swoją opinię to nie ma z tym problemu.



    Pozdrawiam ....

    Dodano po 5 [minuty]:

    ditomek wrote:
    @DJCheester nie zrozum mnie żle. nie szukam przysłowiowej "dziury w całym"
    Chodzi mo o to ze dzięki tej płytce tak naprawdę nauczyłeś się używać ilu, 4 poleceń?
    DigitalRead
    DigitalWrite,
    AnalogRead,
    AnalogWrite,
    dodatkowo:
    - programowanie diod RGB które można zrobić w oparciu o gotowe moduły
    - programowanie podczerwieni które można wykonać wsadzając czujnik bezpośrednio do arduino.


    Na poczatek to wystarczy dodam tylko że można również używac i cwiczyc funkcje, czujnik w oparciu o czujnik temperatury, sterowanie PWM.

    Większośc prostych sterowników blokowo przedstawia się następująco urządzenie wejściowe (pomiarowe) --> procesor --> urządzenie wyjściowe.
    Urządzenia i/o może byc po jednym lub kilka i zależności między nimi cwiczy się poprzez własnie programowanie procesora.

    Pozdrawiam ...
  • #12
    DJCheester
    Level 24  
    Witam ponownie

    Jeśli koledzy cytowani powyżej poczuli się urażeni to przepraszam - jednak chciałbym zaznaczyc że nie tylko oczekuję oklasków za swoje projekty ale również mile widziana jest krytyka konstruktywna - zdajnę sobie sprawę że w projekcie mogłem popełnic jakiś błąd czy to z niedopatrzenia czy z niewiedzy ale proszę o komentowanie tego w sposób pouczający tak aby ktoś kto zdecyduje się wykonac projekt dla własnych potrzeb mógł zbudowac już poprawiony i lepiej działający układ.

    Mam jeszcze kilka pomysłów na nakładki Arduino nawet już płytki przygotowane ale w tej chwili pod znakiem zapytania stoi dalsza ich publikacja.

    Pozdrawiam ....
  • #13
    katakrowa
    Level 22  
    Wg mnie pomysł nie jest zły żeby zacząć ( pod warunkiem, że dajesz to komuś jako prezent do Arduino ) bo zakładam, że jak ktoś już umie trawić PCB to nie musi zaczynać z programowaniem w taki sposób.
    Jako zabawka dla dziecka / gotowy zestaw całkowicie OK. Poprawiłbym jednak 2 drobne błędy:

    1. Przy przyciskach brakuje kondensatorów filtrujących 220nF - 1uF ( eliminacja drgań styków );
    2. Przy TSOP1736 brakuje kondensatora 4,7uF na linii zasilania zaraz pryzy nodze TSOP ( nie bez powodu zalecany w nocie aplikacyjnej tego układu ).
  • #14
    DJCheester
    Level 24  
    Witam cenna uwaga jak dla mnie poprawię to w projekcie bo faktycznie kondensator powinien byc w okolicach TSOP a drganie styków można wyeliminowac programowo ale oczywiście takie kondensatory nie zaszkodzą

    To jest właśnie przykład jak powinno się poprawiac czyjeś projekty - napisane dlaczego jest źle i jak to poprawic.

    Dziękuję i pozdrawiam ...

    Dodano po 7 [godziny] 7 [minuty]:

    Witam

    Po burzliwej dyskusji postanowiłem odreagować i zrobić coś pożytecznego - kolejną nakładkę na moje Arduino - co prawda jeszcze nie umiem multipleksować wyświetlacza LED na Arduino ale mam nadzieję że dzięki tej nakładce uda mi się to zrobić. Widzę że pozytywnych ocen tematu przybywa co mnie cieszy i dlatego zdecydowałem kontynuować projekt - jeśli będę już na takim etapie programowania że płytki będą mi niepotrzebne to sprzedam lub oddam za darmo komuś kto będzie chciał uczyć się programować - trzeba będzie śledzić ten temat i się zgłosić w odpowiednim czasie.

    A oto kolejna płytka jeśli będzie zainteresowanie wrzucę jak poprzednio pliki do termotransferu opis i schemat połączenia - na razie jest foto.

    Nakładka do programowania na Arduino UNO Nakładka do programowania na Arduino UNO

    Teraz w planach jest kolejna płytka z czujnikami oraz sterownikami silników do budowy robota jednak jeszcze nie mam jej zaprojektowanej więc pewnie pojawi się za jakiś czas jeśli oczywiście będzie dalsze zainteresowanie.

    A tak już w zupełnie na marginesie - elektronika tak jak pisałem wcześniej to moje hobby i lubię robić to co lubię - tworzyć działające rzeczy - czasami zrobić coś tzw. sztuka dla sztuki.

    Pozdrawiam ....
  • #15
    ditomek
    Level 22  
    I tak trzymać. Tesli robisz to dla samego dłubania to w zasadzie bez większej różnicy to wydłubiesz i tak będzie fajnie.

    płytka do arduino z wyświetlaczem led, rejestrami, switchami i czujnikami temperatury na aliexpress to wydatek 1,3 usd


    Przykro mi ze tak masakruje twoje projekty ale rzeczywistość jest jaka jest. Też kiedyś naprodukowałem płytek pod wyswietlacze led i atmegi z portem rs485, trochę z nich zlutowałem. Pozniej okazało sie ze PRAWIE to samo na na układzie MAX7219. takie jest życie.
    Zachęcam do trawienia płytek pod konkretne urządzenie. Taka nauka nie dość ze daje tą sama wiedze to w efekcie prowadzi do budowy konkretnego urządzenia.
  • #16
    DJCheester
    Level 24  
    Witam

    Płytki pod konkretne urządzenia też sa jednak nie robi mi różnicy czy wytrawię 6 płytek na raz czy 8 szt - obecnie mam około 40 płytek wytrawionych czekają tylko na elementy i na czas aby je zalutowac - co niektóre powstały właśnie na bazie programu napisanego przy pomocy tej nakładki.

    Układy to proste sterowniki - co do tego że chińczyki mają tańsze i gotowe to doskonale znam temat jednak Ty jak coś projektujesz możesz dostosowac to do swoich potrzeb a nie czekac aż chinczyk wyprodukuje.

    Przykład temat mój wentulacji wyporowej który niedawno założyłem - kupiłem dwa chińskie moduły aby zbudowac czujnik dymu i po połączeniu razem nie działały okazał sie niezbędny układ dopasowujący który to musiałem zaprojektowac wstawic miedzy moduły teraz wszystko działa tak jak chcę.

    Pozdrawiam ...
  • #17
    Jawi_P
    Level 35  
    GanzConrad wrote:
    @DJCheester skoro tyle czasu bawisz się elektroniką to argument małego dziecka jest trochę nie na miejscu, bo oczywistym jest fakt, że cały warsztat elektronika nie jest miejscem dla dzieciaka... (choćby lutownica, o reszcie nie wspomnę)

    O czym Ty kolego piszesz?
    Płytka z podłączeniem do laptopa to jeszcze nie warsztat, a autor chyba po to robił ten moduł, by tej lutownicy czy labiryntu kabelków uniknąć. Położyć sobie to na ławie przy kawie i sobie dłubać, pisać, debugować i co tam jeszcze bez takich ceregieli. Robi co lubi.
    Co to projektu.
    Ode mnie plusik za projekt, za to, że Ci się chce, robić i także prezentować.
  • #18
    andrzej55
    Level 36  
    Pomysł z taką płytką jest o wiele lepszy niż stykówka i inne pająki. Jestem jak najbardziej za, nawet sam trochę takich wyprodukowałem:
    2szt. obsługa NRF24L01 + wyświetlacze OLED 128x64, 128x32,
    2szt. programowanie ESP12 z adapterem,
    programowanie Atmega na podstawce DIP28(Uno jako ArduinoISP)+ taśma dla Arduino Pro Mini.
    Co do obsługi wyświetlaczy 7-seg. polecam MAX7219 oraz dla mniejszych SAA1064.
  • #19
    DJCheester
    Level 24  
    Dzięki za rady jak będę bardziej w tym kierunku się rozwijał to pewnie z nich skorzystam - na razie trenuję na pierwszej i jak już trochę się dokształcę to wezmę się za multipleksowanie na nakładce nr.2 którą wykonałem wczoraj. Nakładka zawiera wyświetlacz WK i katody załączane są przez tranzystory nic prostszego do tego są dwa przyciski oraz miał byc DS18B20 ale nie miałem w swoich zzasobach więc wylądował na liście części do zamówienia w najbliższym czasie.

    Pozdrawiam ....
  • #20
    Piottr242
    Level 23  
    Taka płytka gotowa ma jeszcze jedną zaletę. Płytki stykowej z kabelkami nie weźmiesz do pociągu i nie pobawisz się jadąc 11 godzin, współpasażerowie w dzisiejszych niepewnych czasach jeszcze byliby gotowi donieść, że konstruujesz bombę :-).
    A laptopa, Arduino i nakładkę to i owszem. Sam widziałem jak gość przy mnie w Pendolino wyjął laptopa, wyjął Arduino, podpiął i coś tam grzebał. Tylko że to było gołe Arduino. Taka płytka rozwojowa własnej produkcji to jest rozwiązanie wspaniałe na takie sytuacje.
    Dlatego ja jestem na tak i też sobie takie coś zbuduję.
  • #21
    DJCheester
    Level 24  
    Witam.

    Co prawda pociągami nie jeżdżę, ale właśnie po to są te nakładki tam, gdzie z różnych przyczyn nie możemy zabrać stykówki, kabli i elementów, bo nie wypada czy z innego powodu tam właśnie przyda się takie rozwiązanie. U mnie tak jak pisałem, jest mały synek i luźne elementy byłyby zagrożeniem, a takie rozwiązanie daje możliwość zabawy z Arduino, jak to jeden z użytkowników na pisał "na ławie przy kawie"

    W paczce nie ma opisu pinów podłączenia do Arduino, ale są piny wyprowadzenia wyświetlacza więc można sobie zobaczyc, do jakich pinów Arduino biegną te sygnały. Poza tym, jeśli będzie problem z zakupem takiego wyświetlacza płytkę można przerobić pod dostępne wyświetlacze czterocyfrowe połączone wewnątrz i gotowe do pracy multipleksowej.

    Zatem dla Ciebie kolego i innych zainteresowanych paczka druga z plikami potrzebnymi do wykonania drugiej nakładki.

    Pozdrawiam ...
  • #22
    LChucki
    Level 31  
    Qbas060 wrote:
    Ewentualnie do takich nakładek na Arduino dodał bym listwy goldpinów. Koszt niewielki, stopnia skomplikowania też nie podniesie a zawsze to można podłączyć coś dodatkowego

    Np oscyloskop, analizator logiczny czyli podstawowy sprzęt (poza multimeterm) współczesnego elektronika.
  • #23
    DJCheester
    Level 24  
    Zgadza się następne płytki jak będę projektował wezmę to pod uwagę póki co można taki sprzęt zapiąc od góry do wystających goldpinów lecz one są troche krótkawe.

    Pozdrawiam ...
  • #24
    LChucki
    Level 31  
    Gdy poznawałem uC nie korzystałem z uniwersalnych zestawów startowych. Było ich mało i koszmarnie drogie, taniej było uczyć się na urządzeniu które się budowało czyli docelowej PCB. Teraz prawie zawsze tak robię. Niezwykłe rzadko testuję coś zanim zaprojektuje docelową PCB, choć to się zdarza ale to kilka połączeń płytki STM32-NUCLEO z jakimś układem czy na samej płytce.

    Według mnie, uniwersalne płytki mają sens gdy do nich dołączony jest kurs programowania w postaci książki i programów. W innym przypadku, mamy płytkę/płytki za 300 czy 500zł aby przetestować działanie programu, do którego PCB + elementy kosztują 5 czy 10 razy mniej.

    Teraz należałoby się zastanowić, co będziemy testować? LCD alfanumeryczny, który działa z każdym uC i jest opisany milion razy, ma dziesiątki tysięcy bibliotek? Po co? Wiadomo, że zadziała.
    Potencjometr podłączony do ADC?
    Wyjście DAC czy PWM skoro wiadomo jakie ma parametry?
    Takie przykłady mogę mnożyć w nieskończoność.

    Jak będę chciał przetestować egzotyczny układ, to muszę do niego zrobić PCB, bo do np TQFP nie podłącze kabelków a układ przykładowo wymaga jeszcze zewnętrznych elementów.
    Jeśli natomiast mogę kupić moduł, to jaki problem podłączyć go do jakiegoś urządzenia które zaprojektowałem wcześniej? W projektach, prawie zawsze mam złącza diagnostyczne na I2C, SPI, UART, zostawiam różne interfejsy do rozbudowy urządzenia - wystarczy zapoznać się z https://www.elektroda.pl/rtvforum/topic3533112.html

    Ja więc sensu takich płytek nie widzę.
  • #25
    Piottr242
    Level 23  
    LChucki wrote:
    Ja więc sensu takich płytek nie widzę.

    Bo Ty się nie musisz uczyć podstaw programowania i "jak się to je", bo już dawno masz to opanowane i pewne rzeczy robisz intuicyjnie.
    A początkujący adept programowania, jak mu się uda zamigać pięcioma diodami z różną częstotliwością bez użycia zmory Arduino czyli delay() będzie szczęśliwy, że opanował nową umiejętność i zrozumiał jak to działa.

    Ja, mimo, że mam prawo jazdy już więcej niż pół życia, nie odważyłbym się krytykować sensu istnienia nauki jazdy.

    To że nie widzisz sensu, oznacza po prostu, że nie jest to "produkt" dla Ciebie. Więc po co ta krytyka?
  • #26
    LChucki
    Level 31  
    Początkujący, zwłaszcza na Arduino gdzie nie ma pojęcia projektu (trzeba ściągać i instalować biblioteki a pod ta samą nazwa są różne) wyłoży się na banalnych rzeczach co widać po pytaniach na forum (komputer nie widzi płytki, jaki COM wybrać, itp).
    Dlatego zestaw płytka+książka rozwiązuje problemy.

    To co zrobił autor nie jest dla początkujących (przynajmniej taki mi się wydaje). Skoro tak, to sensu takiej płytki nie widzę.

    Już wielokrotnie byłem początkujący. od 8, przez 16, GAL, CPLD/FPGA, 32 bit (nie tylko ARM!). ZAWSZE zaczynałem od gotowego zestawu, zmontowanego, sprawnego z dokumentacją.
    Proszę pomyśleć, jak miałem robić projekt na ColdFire, nie znałem go. Czy jest sens budować system (nie mając praktyki z nim) gdzie dane 32-bit, adres 24-bit, połączenia pomiędzy CPU-RAM-ROM/FLASH, czy kupić gotowca, jak go opanuje robić swoja płytkę z tym CPU?
    To samo z FPGA, zaczynami od klecenia sprzętu samemu czy kupujemy gotowca, sprawdzonego, z książka i przykładami, które jak wgram do układu to działają?
    To samo miałem z 68k, najpierw zabawa z Amigą, później własna płytka, gdzie bez GAL się nie obyło (przy okacji CUPL się nauczyłem co później w CPLD/FPGA się przydało).
    Z Z-80, 6502 było tak samo, gotowiec, później projekt na tym.

    Nigdy nie budowałem zestawu startowego (dla siebie) sam. Za duże szanse, że coś pójdzie nie tak. Z uC jest łatwiej niż z CPU ale zestaw NUCLEO kosztuje 50zł i ma na pokładzie programator/debuger. Ja widzę cenę CPU np F411 25zł, amatorskie wykonanie PCB odpada, to jaki sens robić PCB, kupować procek, do tego programator za 13zł?
    Czasy gdy sam budowałem programator do Atmeli 51 na kilku scalakach CMOS, podłączany do portu równoległego Amigi minęły. Teraz nie ma to sensu.
  • #27
    DJCheester
    Level 24  
    Witam

    Nakładka pierwsza była budowana z myślą o tym kursie znajdującym się na forbocie i na tej nakładce zrobimy 90% kursu oczywiście jak pozmieniamy sobie deklarację pinów aby była zgodna z moją płytką

    https://forbot.pl/blog//kurs-arduino-podstawy-programowania-spis-tresci-kursu-id5290

    Ten kurs wybrałem do nauki od podstaw programowania dzięki Arduino bo dla mnie napisany jest w sposób jasny a zadania domowe pozwalają bawić się programem.

    Dla tych wszystkich co tak jak ja zaczynają polecam nie kopiować listingów lecz je przepisywać lepiej się zapamiętuje - to taka moja mała rada.

    A co do kolegi wyżej mówimy tu o podstawach podstaw a nie o platformach zaawansowanych.

    Pozdrawiam ...
  • #28
    LChucki
    Level 31  
    DJCheester wrote:
    Nakładka pierwsza była budowana z myślą o tym kursie znajdującym się na forbocie i na tej nakładce zrobimy 90% kursu oczywiście jak pozmieniamy sobie deklarację pinów aby była zgodna z moją płytką

    Uwierz mi, że z tym, wielu początkujących ma problemy.
    Lista problemów, których nie powinno być a mają je Arduinowcy jest długa. Najważniejsze to:
    - Zerowa znajomość C++ (według mnie, wybór C++, zwłaszcza na małe AVR to głupota).
    - Zerowa znajomość budowy peryferiów uC.
    - Niechęć, wręcz wstręt do nauki.
    - Nauka z YT (jeśli można to nazywać nauką).
    - Rozwiązywanie KAŻDEGO najmniejszego problemu przez forum (łącznie z instalowaniem sterowników mostka USB-UART)

    Co do ostatniego punktu, to brak debugera w Arduino woła o pomstę do nieba. Zabranie jedynego UART (jest już na szczęście Mega328PB) na cele wgrywania softu to nieporozumienie tym bardziej, że są mostki USB-I2C (FT20x), USB-SPI (FT22x) praktycznie w tej samej cenie co FT232RL (z rodziny CH też sa mostki I2C, SPI chyba też).
    IDE Arduino to nieporozumienie, stwierdziłbym, program napisany dla wroga. Lista jego błędów w ideologii działania jest bardzo długa.
  • #29
    katakrowa
    Level 22  
    LChucki wrote:
    - Zerowa znajomość C++ (według mnie, wybór C++, zwłaszcza na małe AVR to głupota).


    A co innego miało by być zamiast c++ ?
  • #30
    LChucki
    Level 31  
    katakrowa wrote:
    LChucki wrote:
    - Zerowa znajomość C++ (według mnie, wybór C++, zwłaszcza na małe AVR to głupota).


    A co innego miało by być zamiast c++ ?

    C. C++ potrzebuje większych zasobów, np klasy String trzeba używać z rozwagą. 2kB RAM w popularnym UNO to stanowczo za mało. Często można uruchomić tylko jeden przykład, bo połączenie z innym powoduje zajęcie całej RAM.
    C++ jest dobre na duże uC. Niejeden informatyk poległ juz na małych uC bo są przyzwyczajenie, że RAM jest bez ograniczeń, w razie czego się dołoży. No to niech dołoży RAM do ATtiny10. Do Mega328 niby można dołożyć RAM ale to będzie żółw i kompilator z tej RAM bezpośrednio nie skorzysta. Dopiero uC z BusKeeper-em pozwalają dodać RAM, który jednak jest 2 razy wolniejszy niż wbudowany.