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- 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
- 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: 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
- 1
@SanFable: pamiętam, tego użyliśmy do reverse engineeringu komend żeby to demo zrobić. Potem nRF MCP2515 i trochę kodu i deska z focusa robiła za gamepad na PC. Stare dobre czasy.
Treść przeznaczona dla osób powyżej 18 roku życia...
- 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
@Analityk: okazuje się że krążą jakieś dwa datasheety xD. Ten który otwieram z strony mikrochipu ma już normalnie rozpisaną tą tabelkę. ( ͡° ʖ̯ ͡°)
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
- 0
@intires98: Jaki problem. Przecież wzór na częstotliwość timera jest dostępny, można go znaleźć w dokumentacji, potrzebujesz znać częstotliwość magistrali, na której jest timer, a potem już piszesz algorytm, który będzie Ci znajdował dzielniki, PSC i ACC.
źródło: comment_1590752198WIgbBym5iyU1n6fpvDLpi1.jpg
Pobierz- 0
Komentarz usunięty przez autora
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
- 0
@zetisdead: Udało mi się w końcu to rozgryźć. Po przejrzeniu przebiegów na analizatorze okazało się, że źle zachowywały się wyjścia, przez breaka w złym miejscu. To nie rozwiązało sprawy do końca, bo musiałem zmienić trochę zmienić maski rejestru PIND. Trochę się tu inspirowałem kodem znalezionym w książce i czemu to działa, a poprzednie nie działało to już nie wiem. xD Następne biorę się za ogarnięcie podpinania wyświetlaczy LCD, żeby mieć
@Pan_Sarna: pamiętaj, że nie możesz czytać stanu wierszy zaraz po wymuszeniu stanu kolumn (jeden NOP to może być zbyt mało), bo napięcia muszą się ustalić, zwłaszcza, ze nie masz porządnych podciągów, tylko słabe pull-upy.
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
- 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?
@WilczurZnahor: Mówisz o USB którym Arduino jest podpięte do PC? Nie powinno to mieć znaczenia bo takich projektów jest pełno w sieci. Nic mi więcej nie przychodzi do głowy.
























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
PobierzRX-V6A jest pod tą samą nazwą, chociaż faktycznie praktycznie taki sam pojawia się jako TSR-700. Może być typowy wypust świąteczny. W taki sposób
@bonaducci: tak, Sony mało kto kupuje bo nie jest taka marką jak Yamaha, Denon, Onkyo czy Pionner - inne droższe przemilczę. Najbardziej zostaje w tyle jeżeli chodzi o system korekcji akustyki pomieszczenia. Ich jest jeszcze gorszy od Onkyo który jest na samym dnie.