Garść najcenniejszej wiedzy dla początkującego programisty

Dyskusje o programowaniu mikroprocesorów.
Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#11

Post napisał: pitsa » 22 lis 2023, 05:12

Zacytuję z elektrody:

"Arduino to przypadek kiedy początkujący, uczą się od innych początkujących, którzy sami nie umieją"

Co to oznacza? Trzeba włączyć nieufność, dociekliwość i włożyć w to sporo pracy. Można podejść do tego tak: jakiś głupek dał radę napisać instrukcję to i ja to rozpracuję. ;-)
Jeśli coś chcesz zrobić samodzielnie, korzystając z instrukcji, trzeba umieć dociekać co, jak i dlaczego jest w tej instrukcji, rozwinąć te różne "czary-mary", zrozumieć i z różnych innych źródeł dowiedzieć się więcej niż jest napisane. ;-)

Przykład jak się kończą marzenia bez doświadczenia.


zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ


Avalyah
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2364
Rejestracja: 29 lis 2015, 00:38
Lokalizacja: Bielsko-Biała

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#12

Post napisał: Avalyah » 22 lis 2023, 09:36

Tutaj masz trzy bardzo dobre książki do nauki:

https://helion.pl/ksiazki/avr-uklady-pe ... m#format/d
https://helion.pl/ksiazki/avr-praktyczn ... m#format/d
https://helion.pl/ksiazki/jezyk-c-dla-m ... m#format/d

Możesz zacząć od tej ostatniej, w dwóch pierwszych masz praktyczne przykłady, które prawdopodobnie Ci się przydadzą. Jako procesor polecam mikrokontrolery z serii xmega (o nich są dwie pierwsze książki, trzecia jest na atmegi ale przykłady i zasady mają zastosowanie również w xmegach). Dość łatwo się programuje, można stosować wiedzę nie tylko z procesorów xmega ale też atmega, a mają już dość zaawansowane opcje na przyszłość, gdyby były potrzebne.

Awatar użytkownika

Autor tematu
Rafalgl
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 7
Posty: 1210
Rejestracja: 24 gru 2020, 01:43

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#13

Post napisał: Rafalgl » 04 sty 2024, 10:01

Dzięki, zapoluję na tę trzecią książkę, póki co kupiłem Arduino UNO R3, Arduino Nano Every, jakieś klony Nano do tego. Jeden klon i wyświetlacz już niestety upaliłem gdy chciałem zbudować mały woltomierz, źle coś podpiąłem budując dzielnik napięcia, teraz nie dziala już ani ekran ani jedno wejście analogowe płytki. Studiuję to co mam czyli "Odkrywanie Arduino" i chyba na Arduino właśnie się skupię na początek z uwagi na dużą ilość dostępnych materiałów. Bawię się na ten moment w podpinanie przeróżnych wyświetlaczy (OLED, LCD), zmiane parametrów tego co widać na ekranie i obserwowanie efektów. Zamierzam na początek nauczyć się budować proste menu w oparciu o ekran LCD, kilka przycisków oraz enkoder. To bardzo przyda się do wszelkich moich projektów, pozwoli ograniczyć niezbędną ilość fizycznych przycisków oraz przełączników, a tym które są przypisać więcej niż jedną funkcję itd. Nie będę np. musiał przy każdym projekcie szukać pokręteł na określoną ilość obwodów itp. Szczególnie lubię UNO R3, gdyż posiada wyjmowaną Atmegę, w razie jak coś schrzanię wymienię na nową, a też mogę używać go jako "programatora" Atmegi i przełożyć zaprogramowany mikrokontroler do dowolnej innej płytki. Bardzo upodobałem sobie też kolorowy ekran LCD 2" firmy Waveshare, jest on idealny do wszelakiej maści projektów, choć wymaga podpięcia dość dużo przewodów
Kto pyta, nie błądzi.


Avalyah
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 2364
Rejestracja: 29 lis 2015, 00:38
Lokalizacja: Bielsko-Biała

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#14

Post napisał: Avalyah » 04 sty 2024, 19:04

Rafalgl pisze:gdyż posiada wyjmowaną Atmegę, w razie jak coś schrzanię

Bez przesady, mikrokontroler nie tak łatwo zniszczyć.

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#15

Post napisał: pitsa » 04 sty 2024, 20:53

Jako podstawową praktyczną literaturę polecam informacje ze strony https://mikrokontrolery.blogspot.com i zrobienie "arduino" bez płytki "arduino": https://mikrokontrolery.blogspot.com/20 ... pinow.html i programowanie programatorem oraz za pomocą arduino które masz.
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
Rafalgl
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 7
Posty: 1210
Rejestracja: 24 gru 2020, 01:43

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#16

Post napisał: Rafalgl » 06 sty 2024, 21:00

Chcę się pochwalić - skonstruowałem mini-woltomierz😁 Można powiedzieć że to pierwszy funkcjonalny projekt Arduino. Wzorowałem się na pewnym programie z YouTube, ale musiałem go trochę poprzerabiać żeby dopasować wyświetlany obraz do mojego wyświetlacza, dodałem też jedno więcej miejsce po przecinku, zwiększyłem też szybkość odświeżania oraz zmieniłem go nieco graficznie. Niestety sensor który kupiłem posiada dzielnik 25:5, czyli mierzy napięcia max jedynie do 25V, zawsze mogę zmienić jeden rezystor i wpisać to w program, ale trochę się boję, żeby nie upalić portu analogowego w koleinym Nano, jeśli okaże się że coś zrobiłem źle. [/img]
Kto pyta, nie błądzi.


drzasiek90
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 2
Posty: 1769
Rejestracja: 25 kwie 2016, 11:58
Lokalizacja: Jodlowa
Kontakt:

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#17

Post napisał: drzasiek90 » 06 sty 2024, 22:06

Rafalgl pisze:
06 sty 2024, 21:00
Chcę się pochwalić - skonstruowałem mini-woltomierz😁 Można powiedzieć że to pierwszy funkcjonalny projekt Arduino.
Do dziś pamiętam, jak napisałem i uruchomiłem na atmega8 mój pierwszy program. To była po prostu mrugająca dioda, ale już wtedy wiedziałem, że teraz to już mogę wszystko skonstruować :)
Wtedy nie było arduino i tysiąca przykładów chociaż dało się sporo informacji znaleźć.
Jeśli chcesz się nauczyć, staraj się pisać programy od początku a nie przerabiać gotowce.
Z przykładów można korzystać, ale świadomie trzeba wybierać fragmenty i dodawać do swojego programu.
Rafalgl pisze:
06 sty 2024, 21:00
zawsze mogę zmienić jeden rezystor i wpisać to w program, ale trochę się boję, żeby nie upalić portu analogowego w koleinym Nano, jeśli okaże się że coś zrobiłem źle.
Dlatego najpierw trzeba wiedzieć co się robi a nie zgadywać :)
Dzielnik napięcia to nie jest wyższa matematyka.

Awatar użytkownika

tuxcnc
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 2
Posty: 7885
Rejestracja: 26 lut 2011, 23:24
Lokalizacja: mazowieckie

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#18

Post napisał: tuxcnc » 07 sty 2024, 00:33

Rafalgl pisze:
06 sty 2024, 21:00
żeby nie upalić portu analogowego w koleinym Nano
Czy ja dobrze rozumiem, że używasz wewnętrznego ADC ATmegi?
A wiesz, że on jest dziesięciobitowy, ale w praktyce to osiem MSB jest wiarygodnych?
Rozumiesz jak to się ma do trzech miejsc po przecinku na wyświetlaczu?
Już Ci to kiedyś pisałem, że bez znajomości wewnętrznej budowy mikrokontrolera nie napiszesz żadnego poważniejszego programu...

Awatar użytkownika

pitsa
Moderator
Lider FORUM (min. 2000)
Lider FORUM (min. 2000)
Posty w temacie: 8
Posty: 4698
Rejestracja: 13 wrz 2008, 22:40
Lokalizacja: PL,OP

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#19

Post napisał: pitsa » 07 sty 2024, 10:55

Rafalgl pisze:Niestety sensor który kupiłem posiada dzielnik 25:5
Chłopie, konkrety! Np.: ADS1115, MCP3424. No i linki: https://botland.com.pl/czujniki-pradu/8 ... 11285.html - ten kupiłeś? ;-)
zachowanie spokoju oznacza zdolności do działania
ᐃ 🜂 ⃤ ꕔ △ 𐊅 ∆ ▵ ߡ

Awatar użytkownika

Autor tematu
Rafalgl
ELITA FORUM (min. 1000)
ELITA FORUM (min. 1000)
Posty w temacie: 7
Posty: 1210
Rejestracja: 24 gru 2020, 01:43

Re: Garść najcenniejszej wiedzy dla początkującego programisty

#20

Post napisał: Rafalgl » 07 sty 2024, 13:42

Szukam gotowych programów, co nie znaczy że nie staram się ich zrozumieć, pozmieniać w nich czegoś i zobaczyć jaki to da efekt itp. Na razie nie wiem jakie są wszystkie możliwości tego mikrokontrolera, a gotowe programy pomagają mi je w ogóle poznać, nauczyć się komend, zrozumieć jak należy się za dany problem zabrać. Później przyjdzie czas na łączenie poszczególnych elementów w większą całość czy pisanie od zera.

No że ma tylko 8 bit, o tym akurat nie pomyślałem. Czyli 254 wartości , a więc defacto max 1 miejsce po przecinku ma sens przy pomiarze 0-25v? A co z wartościami ujemnymi? Arduino obsługuje napięcie ujemne?

Tak, to ten dzielnik, co podany w linku. :) Zastanawia mnie jedynie jak to jest zrobione, że ten dzielnik ma aż 5 wyjść (jakiś jego schemat). Mógłbym prześledzić ścieżki, ale nie chcę go całego rozlutowywać. A jak wiadomo dzielnik napięcia, to czwórnik. Jak ja zrobiłem dzielnik standardowy, to coś mi się zjarało w poprzednim wyświetlaczu i płytce. Może coś źle podpiąłem, niemniej napięcie to było tylko 12V z akumulatora motocyklowego.
Ostatnio zmieniony 07 sty 2024, 13:53 przez Rafalgl, łącznie zmieniany 3 razy.
Kto pyta, nie błądzi.

ODPOWIEDZ Poprzedni tematNastępny temat

Wróć do „Arduino, Raspberry pi i inne systemy mikroprocesorowe”