Wszystko
Najnowsze
Archiwum
#praca #avr #programowanie #programista15k
Czołem Mireczki i Mirabelki. Na swoim toku studiów mam okazję nauczyć się na dosyć przyzwoitym poziomie oprogramowywania kontrolerów AVR (w języku C jak narazie). Mam też za sobą 2.5 letni kurs elektroniki. Chciałbym zapytać czy kształcenie się jako programista systemów wbudowanych (programista embedded) jest warte świeczki. Znajdzie się może ktoś kto reprezentuje ten zawód i powie jak to wygląda, co
Czołem Mireczki i Mirabelki. Na swoim toku studiów mam okazję nauczyć się na dosyć przyzwoitym poziomie oprogramowywania kontrolerów AVR (w języku C jak narazie). Mam też za sobą 2.5 letni kurs elektroniki. Chciałbym zapytać czy kształcenie się jako programista systemów wbudowanych (programista embedded) jest warte świeczki. Znajdzie się może ktoś kto reprezentuje ten zawód i powie jak to wygląda, co
czy kształcenie się jako programista systemów wbudowanych (programista embedded) jest warte świeczki
@CptWonski: jeszcze jak
@CptWonski: Jak chcesz sensownie programować to naucz się programować w C, naucz się budować kod, umieszczać określone partie kodu/danych w określonym miejscu w pamięci (ram/rom). Ogólnie systemy wbudowane rządzą się swoimi, dość restrykcyjnymi prawami i trzeba to poznać. I tu czysty kod ma ogromne znaczenie.
Poznaj linkusa, systemy kontroli wersji, różne IDE, liźnij wielu architektur (Cypress, Atmel, Microchip, STM, Renesas - z każdą już się spotkałem), poucz się dobrze bibliotek
Poznaj linkusa, systemy kontroli wersji, różne IDE, liźnij wielu architektur (Cypress, Atmel, Microchip, STM, Renesas - z każdą już się spotkałem), poucz się dobrze bibliotek
Kilka dni temu pisałem o moich problemach z RAMem w #avr #atmega i zgodnie z sugestią postanowiłem poprzenosić literały w moim kodzie do codeflash'a stosując PROGMEM. Napotkałem jednak na pewien problem (picrel). O ile stosuję podejście z trzymaniem wszystkich stringów w całościowej tablicy string_table, to wszystko mi działa
ale jak już spróbuję odczytać string z pominięciem tej tablicy,
(char*)pgmreadword(&string_table[2])
ale jak już spróbuję odczytać string z pominięciem tej tablicy,
źródło: comment_1599303234SIqhCYPnnwRQ9YUCXuTqok.jpg
Pobierz- 0
@mirkogreg: zacznij od prostszej wersji - uruchomienia tego bez tablicy wskaźników czyli niech działa na
tx_buff_ovfl log_buff_en i tak dalej. Pamiętam że progmemowa tablica wskaźników do stringów w progmem tak jak masz teraz to była jakaś trzecia gęstość i trzeba było się narobić.- 1
@mirkogreg: boś zakręcił za bardzo funkcje z
_P spodziewają się dostać wskaźnik do progmem. Czyli u ciebie strcpy_P powinno dostać od razu tx_buff_ovf albo tam inny. Progmem to taki magiczny zwierz że jest jakaś zagwozdka z przechowywaniem wskaźników do niego normalnie. Jest jakiś dodatkowy bit który robi z normalnego wskaźnika far pointer i już nie pamiętam jak to w avr_gcc szło wymusić. Sorry że piszę tak zawile ale ostatni raz- 0
#programowanie #arduino #avr #atmega
Siema, mam problem ze wgraniem programu na AtMega8 przez USBasp i Arduino IDE. Jestem kompletnym noobem a potrzebuję to zrobić. Log krzyczy że nie są "zadeklarowane piny", gdzie to zrobić?
Please help
Siema, mam problem ze wgraniem programu na AtMega8 przez USBasp i Arduino IDE. Jestem kompletnym noobem a potrzebuję to zrobić. Log krzyczy że nie są "zadeklarowane piny", gdzie to zrobić?
Please help
@Czeski-: poka kod i to, co zwraca przy wgrywaniu
- 0
@BotRekrutacyjny: odezwę się na priv
Mireczki #elektrobika #arduino #avr
Szukam modułu RF, który:
w najlepszym scenariuszu:
Jest uśpiony razem z mcu (bardzo mało bierze prądu) i można go wybudzić nadchodząca wiadomością, ten obudzi mcu i odeśle wiadomość o swojej obecności
Szukam modułu RF, który:
w najlepszym scenariuszu:
Jest uśpiony razem z mcu (bardzo mało bierze prądu) i można go wybudzić nadchodząca wiadomością, ten obudzi mcu i odeśle wiadomość o swojej obecności
- 1
@SanFable: obadaj Bluetooth Low Energy 5.0. nRF52 którego używam komercyjnie połączony z telefonem pobiera bazowo 35 mikroamperów i można jeszcze zejść niżej. Oprócz radia masz mocny mikrokontroler który z zapasem wystarcza do wielu zastosowań.
- 1
@SanFable: nie do końca. BLE jest tak "tanim" prądowo protokołem że utrzymujesz połączenie cały czas i to daje radę na coin cellu latami (mikroampery przy aktywnym połączeniu). Sam proces nawiązania połączenia jest stosunkowo "drogi" prądowo ale robi się go raz na ruski rok.
Nie masz radia które z tym gada.
coś tracę jeśli telefon nie wspiera w pełni bt 5.0?
Nie masz radia które z tym gada.
w sumie to i nawet
Treść przeznaczona dla osób powyżej 18 roku życia...
Problem polega na tym, że otrzymuje poniższy komunikat:
@Anon95: a konkretnie to która linia cię martwi?
Jeżeli chodzi o soft programatora to również go zaktualizowałem do libusb-win32
- 2
@Anon95: Jeżeli dobrze pamiętam, to mam dwa USBASP, przy tych samych sterownikach i wersjach softu w Windowsie jeden rzuca tym komunikatem ("cannot set sck period..."), a drugi nie. Programują tak samo dobrze.
- 0
Są jeszcze jakieś inne sposoby zaprogramowania AVR prócz przez USB Bootloader, ICSP?
#avr
#avr
Mam w ramach praktyk zrealizować jakiś projekt oparty na mikrokontrolerach. Jestem zielony w tych sprawach, a nawet nie mam lutownicy. Więc zadam kilka pytań:
Jaką polecacie lutownicę do 100zł?
Od czego warto zacząć naukę? AVR?
Gdzie kupujecie elektronikę? Aliexpress czy gdzieś w Polsce?
Jak macie rady dla początkującego elektroniki to chętnie poczytam ( ͡° ͜ʖ ͡°)
#elektronika #mikrokontrolery #avr #arduino
Jaką polecacie lutownicę do 100zł?
Od czego warto zacząć naukę? AVR?
Gdzie kupujecie elektronikę? Aliexpress czy gdzieś w Polsce?
Jak macie rady dla początkującego elektroniki to chętnie poczytam ( ͡° ͜ʖ ͡°)
#elektronika #mikrokontrolery #avr #arduino
1: lutownica w tym budżecie: IMO cokolwiek, byle kolbowe. Szału nie będzie, ale na atmelki ci wystarczy.
2: AVR wydaje się ok.
3: elektronika na aliexpress to śliski temat. proste pasywne komponenty często wychodzą drożej niż z PL, a bardziej skomplikowane układy to zwykle podróby albo wyluty z odzysku.
tme.eu (Łódzka firma, sprawna obsługa), farnell (GB, ale często zamówiony towar masz na drugi dzień), mouser (dają radę, ale dla osób fizycznych czeka
2: AVR wydaje się ok.
3: elektronika na aliexpress to śliski temat. proste pasywne komponenty często wychodzą drożej niż z PL, a bardziej skomplikowane układy to zwykle podróby albo wyluty z odzysku.
tme.eu (Łódzka firma, sprawna obsługa), farnell (GB, ale często zamówiony towar masz na drugi dzień), mouser (dają radę, ale dla osób fizycznych czeka
- 3
@fozolif: co studiujesz, elektronikę czy kierunek pokrewny? Bo jak kierunek pokrewny to może wystarczy zrobić cokolwiek na Arduino zamiast się męczyć (chyba, że chcesz się wkręcić w coś głębiej).
- 0
Hejka mireczki, pytanie. W datasheecie atmegi8 jest napisane że do programowania po SPI nie korzystamy z tych samych pinów które służa do komunikacji SPI. Ale jeśli tak połącze mój programator to nie działa. Działa jeśli jest połączony do standartowych pinów SPI. W czym rzecz?
#elektronika
#avr
#elektronika
#avr
źródło: comment_15916256140Oxo1XZNjknjxoWhqZgPR4.jpg
PobierzW datasheecie atmegi8 jest napisane że do programowania po SPI nie korzystamy z tych samych pinów które służa do komunikacji SPI.
@trele12: wskaż gdzie jest tak napisane ( ͡° ͜ʖ ͡°)
- 0
@miszczo997: No piny na zdjęciu, i notka
Cześć wszystkim.
Mam problem z zaprogramowaniem układu Atmega32. Do zaprogramowania używam programatora USBASP. W różnych programach nie chciało mi to wszystko działać i dopiero mkAVRcalculator zadziałał. W programie wybrałem plik do wgrania do flash, plik do eeprom oraz ustawiłem fusebity i lock bity (lockbits = #0xef fusebits = #0x8f fusebits high = #0xdc).
Atmega 32 podpięta do programatora na "krótko" (nie jest jeszcze wlutowana). Wszystko wgrało się
Mam problem z zaprogramowaniem układu Atmega32. Do zaprogramowania używam programatora USBASP. W różnych programach nie chciało mi to wszystko działać i dopiero mkAVRcalculator zadziałał. W programie wybrałem plik do wgrania do flash, plik do eeprom oraz ustawiłem fusebity i lock bity (lockbits = #0xef fusebits = #0x8f fusebits high = #0xdc).
Atmega 32 podpięta do programatora na "krótko" (nie jest jeszcze wlutowana). Wszystko wgrało się
Da się obliczyć ACC i PSC mają tylko częstotliwość jakimś algorytmem który można zaimplemenotować w kodzie?
#arm #stm32 #programowanie #mikrokontrolery #avr
#arm #stm32 #programowanie #mikrokontrolery #avr
@intires98: z tego co pamiętam to był jakiś wzór w reference manual chipsetu, możesz poszukać
- 0
Co mirki sądzą o różnych sposobach pomiaru pojemności dołączonej do #mikrokontrolery?
Naprostsza, którą oferuje jedna z bibliotek do Arduino, to podpięcie pojemności do pinu wejściowego i ładowanie przez rezystor z drugiego pinu.
Są też trzy warianty transferu ładunku (które oferuje Atmel QTouch): w pierwszej używamy 2 pinów i ładujemy w kilku cyklach kondensator próbkujący (kilka nF) z mierzonego, aż napięcie na nim nie przekroczy progu "1" logicznej, drugi to
Naprostsza, którą oferuje jedna z bibliotek do Arduino, to podpięcie pojemności do pinu wejściowego i ładowanie przez rezystor z drugiego pinu.
Są też trzy warianty transferu ładunku (które oferuje Atmel QTouch): w pierwszej używamy 2 pinów i ładujemy w kilku cyklach kondensator próbkujący (kilka nF) z mierzonego, aż napięcie na nim nie przekroczy progu "1" logicznej, drugi to
@RicoElectrico: Czego byś nie wybrał to pamiętaj, że stała dielektryczna wody silnie zmienia się wraz z temperaturą. Podobnie zresztą jak np. pojemność ceramików. Musisz badać temp. oraz wykonywać autokalibrację na jakimś kondku np. MKT albo c0g. Temat jest dość uporczywy. Musisz też zwrócić uwagę (baczną) na zastosowane materiały (stała dielektryczna). W końcu będziesz mierzył jakieś pikofarady.
@RicoElectrico: Zakładam, że skoro robisz pomiar wilgotności gleby.. to potrzebujesz tego do jakichś upraw..
Innymi słowy, dokładność pomiaru o której mówi kolega @Analityk: nie jest niezbędna.
Raczej potrzebujesz info typu (mokro, wilgotno, suchawo, sucho)
Pojemnościowe czujniki wilgotności oferowane jako moduł do np Arduino oparte są o NE555 i zmianę częstotliwości.
To rozwiązanie daje dużą
Innymi słowy, dokładność pomiaru o której mówi kolega @Analityk: nie jest niezbędna.
Raczej potrzebujesz info typu (mokro, wilgotno, suchawo, sucho)
Pojemnościowe czujniki wilgotności oferowane jako moduł do np Arduino oparte są o NE555 i zmianę częstotliwości.
To rozwiązanie daje dużą
- 0
#elektronika #mikrokontrolery #avr #programowanie
Pytanie co muszę zrobić aby przykładowo jeśli z poziomu np. menu na lcd zapalę sobie konkretną diodę i chcę aby ta dioda również po braku zasilania się świeciła.... muszę to zapisać do EEPROMA?
Pytanie co muszę zrobić aby przykładowo jeśli z poziomu np. menu na lcd zapalę sobie konkretną diodę i chcę aby ta dioda również po braku zasilania się świeciła.... muszę to zapisać do EEPROMA?
- 2
@Rade86B: tak, albo do eeproma emulowanego we flashu, albo na zewnętrznym scalaku.
Możesz też zrobić sobie przerzutnik zewnętrzny z podtrzymaniem przez duży kondensator
Możesz też zrobić sobie przerzutnik zewnętrzny z podtrzymaniem przez duży kondensator
- 1
@Rade86B: owszem, musisz zapisać stan w pamięci, która przetrzyma zanik zasilania. Czyli albo flash/eeprom, albo coś z podtrzymaniem bateryjnym.

- 2
@RicoElectrico: godne podziwu, ale nie za pomysł, tylko za zmieszczenie go w tym procesoruniu z pamięcią wystarczającą do zmieszczenia naprawdę krótkich programów.
Aż mnie zaintrygowałeś i z myślą przewodnią "na pewno są jakieś rankingi rekordowych programów na Attiny" zacząłem googlać, ale nie znalazłem nic nawet porównywalnego.
Tu listing tego cuda:
https://cdn.hackaday.io/files/18952810842368/Simon_attiny13.ino
Aż mnie zaintrygowałeś i z myślą przewodnią "na pewno są jakieś rankingi rekordowych programów na Attiny" zacząłem googlać, ale nie znalazłem nic nawet porównywalnego.
Tu listing tego cuda:
https://cdn.hackaday.io/files/18952810842368/Simon_attiny13.ino
- 0
zmieszczenie go w tym procesoruniu z pamięcią wystarczającą do zmieszczenia naprawdę krótkich programów.
@Jarek_P: 64B RAMu też nie pomagają ¯\(ツ)_/¯ , a trzeba pamiętać, że to pamięć zarówno na zmienne jak i na stos, więc każde wywołanie funkcji zajmuje conajmniej 2B na adres powrotu. Można temu przeciwdziałać deklarując funkcje jako
inline, ale trzeba pamiętać że to tylko sugestia dla kompilatora. Napisanie ładnego kodu (podzielonego na funkcje i moduły)Cześć, mam problem z funkcją do obsługi klawiatury matrycowej - kod. Działa do momentu wykrycia wciśnięcia klawisza, potem nie chce sprawdzać warunków ustalających z którego rzędu to klawisz. Klawiaturę podpinam do Atmegi 328p do portu D, piny od PD0 do PD4 są wyjściami i obsługują kolumny, przy czym PD4 nie wykorzystuję i cały czas jest w stanie wysokim, a PD5 do PD7 są przypisane do wierszy. Funkcja cały czas przechodzi do
Mirki z #mikrokontrolery #stm32 #arduino #avr #raspberrypi (przepraszam za ilość tagów, ale chciałbym dotrzeć do jak największej liczby osób, które mogą coś podpowiedzieć).
U mnie w firmie produkujemy różne elektroniczne rzeczy i później trzeba je przetestować - są testowane na specjalnie przez nas zrobionych urządzeniach (większość na stm32, część tych starszych i prostszych na avr).
Mam plan, żeby zrobić jedno, uniwersalne urządzenie
U mnie w firmie produkujemy różne elektroniczne rzeczy i później trzeba je przetestować - są testowane na specjalnie przez nas zrobionych urządzeniach (większość na stm32, część tych starszych i prostszych na avr).
Mam plan, żeby zrobić jedno, uniwersalne urządzenie
@BoaKusiciel: pierwsze słyszę o licencji na Raspberry Pi. Co do Linuksa to dopóki nie wybierzesz jakiejś mega egzotycznej dystrybucji, to oczywiście możesz używać komercyjnie.
@BoaKusiciel: jeśli tester robisz dla siebie a nie na sprzedaż to licencja GPL to powinno być twoje ostatnie zmartwienie.
Zresztą póki nie piszesz nic do kernela, to w większości będziesz miał styczność z LGPL, która ci nie nakazuje otwierania własnego kodu a jedynie przekazania poprawek w bibliotekach, które zmodyfikowałeś.
Zresztą póki nie piszesz nic do kernela, to w większości będziesz miał styczność z LGPL, która ci nie nakazuje otwierania własnego kodu a jedynie przekazania poprawek w bibliotekach, które zmodyfikowałeś.
Mirki, nie wiem czy to mądre pytanie czy głupie, ale nie potrafię zrozumieć zachowania pinów wejściowych na Atmedze.
Z tego co się orientuję to są dwie możliwe konfiguracje w przypadku podłączania przycisków - podciąganie rezystorem do masy lub do napięcia. Dlaczego gdy nacisnę przy podciąganiu do napięcia, to na pinie zrobi się zero i prąd przestanie płynąć przez mikrokontroler, i będzie płynąć tylko do masy a w sytuacji przeciwnej prąd jednak popłynie
Z tego co się orientuję to są dwie możliwe konfiguracje w przypadku podłączania przycisków - podciąganie rezystorem do masy lub do napięcia. Dlaczego gdy nacisnę przy podciąganiu do napięcia, to na pinie zrobi się zero i prąd przestanie płynąć przez mikrokontroler, i będzie płynąć tylko do masy a w sytuacji przeciwnej prąd jednak popłynie
- 2
prąd płynie najkrótszą drogą :) gdy jest pull-up to rezystor ma wartość kilku-kilkudziesięciu kilo ohm, natomiast zwary przycisk rezystancję zerową, a rozwarty nieskończoną. Na obrazku jest dzielnik rezystancyjny, jeden rezystor reprezentuje pull-up, a drugi przełącznik
źródło: comment_1585776638NGvkvXh2o3pCVoBLXSHm4m.jpg
PobierzJest jakiś sposób by UART w #arduino od USB po podłączeniu do komputera pracował jako karta sieciowa ze stałym ipv4 na mikrokontrolerze?
Problem jest taki że jak podłączone mam kilka płytek do komputera to one są w systemie różnie adresowane i trzeba ręcznie odgadnąć który do czego służy.
Przy okazji umieściłbym na mikrokontrolerze programik w php dla większej wygody.
Problem jest taki że jak podłączone mam kilka płytek do komputera to one są w systemie różnie adresowane i trzeba ręcznie odgadnąć który do czego służy.
Przy okazji umieściłbym na mikrokontrolerze programik w php dla większej wygody.
- 3
@majsterV2: udevem to się konfiguruje, na stałe sobie przypisujesz jako np. /dev/arduino1
https://steve.fi/hardware/arduino-basics/
Jeśli to jest jakaś sensowna przejściówka to powinna mieć unikalny serial
https://steve.fi/hardware/arduino-basics/
Jeśli to jest jakaś sensowna przejściówka to powinna mieć unikalny serial
- 2
no to niestety, ani ch340 ani pl2303 nie ma unikalnego, wtedy robi się tak że po podłączeniu puszczasz coś do arduino i ono się identyfikuje, tu przykład:
https://arduino.stackexchange.com/questions/6617/setting-serial-number-on-ch340-usb-serial-device
hub czy nie hub nie ma tu znaczenia, w kompie główny koncentrator też jest hubem, można je stackować, dla szyny USB nie ma to znaczenia logicznego, najwyżej w przepustowości
https://arduino.stackexchange.com/questions/6617/setting-serial-number-on-ch340-usb-serial-device
hub czy nie hub nie ma tu znaczenia, w kompie główny koncentrator też jest hubem, można je stackować, dla szyny USB nie ma to znaczenia logicznego, najwyżej w przepustowości
Kurna ja juz nie kumam o co biega i ide spać, ale jakby komuś coś przyszło do głowy to prosze o posta.
Ma PCB z atmega328p które przez konwerter poziomów dla uarta z 5V na 3,3V podpęte jest do wyśwetlacza DWIN sterowanego uartem.
To samo chciałem zrobić na arduino uno. Piny RX i TX przypiąłem do konwertera konwerter do wyswietlacza, wgrałem ten sam kod i nie dostaję zadnej odpowiedzi z wyśwetlacza. Wysyłane
Ma PCB z atmega328p które przez konwerter poziomów dla uarta z 5V na 3,3V podpęte jest do wyśwetlacza DWIN sterowanego uartem.
To samo chciałem zrobić na arduino uno. Piny RX i TX przypiąłem do konwertera konwerter do wyswietlacza, wgrałem ten sam kod i nie dostaję zadnej odpowiedzi z wyśwetlacza. Wysyłane
Wysyłane komendy przechodzą poprawnie, a spowrotem nic
@WilczurZnahor: Może konwerter jest jednostronny? Nie każdy chyba ma opcję przesyłu w obie strony.
- 0
@To_ja_moze_pozamiatam: Konwerter też mi działał na innej płytce w obie strony. https://botland.com.pl/pl/rozszerzenia-gpio-nakladki-hat-do-raspberry-pi/1513-konwerter-poziomow-logicznych-33v5v-i2c-uart-spi.html
Czy na arduino przez to ze te PINy rx tx idą do tego drugiego AVRa i idą tez wtedy na USB to moze byc jakis problem?
Czy na arduino przez to ze te PINy rx tx idą do tego drugiego AVRa i idą tez wtedy na USB to moze byc jakis problem?
























Przez lata latałem na systemie soniacza STR-DG520B + SS-FCR6000 - wszystko właściwie działało jak należy, chociaż wszystkie urządzenia wejściowe miałem na optyku. Do tego brakowało mi DTS-HD do szczęścia. System 5.0 z możliwością dorzucenia aktywnego subwoofera, który nigdy nie był mi
źródło: comment_1606349567PBKTGbQIY43jghKe7gmxES.jpg
Pobierz