Mam problem z wyświetlaczem lcd z i2c. Póki wszystko jest podpięte na arduino to pięknie śmiga.
Jednak jeśli tylko zasilania wyświetlacza podepnę pod zasilanie bateryjne to wyświetlacz działać przestaje (i2c z arduino a arduino podpięte przez usb). Pierwszy wiersz zamalowany, drugi pusty tak jakby w ogóle nie dostawał żadnych danych do wyświetlenia. Ktoś wie co może być przyczyną i jak to naprawić?
#arduino #avr #elektronika
double rad = (M_PI/180.0);
s[i] = (double)(sin(i*rad))*10;

Średni czas wykonania to 2000 taktów.

s[i] = (double)(sin(i*M_PI/180))*10;
To już 2443 takty.
Rozbicie na

s[i] = (double)(sin(i*M_PI/180));
s[i] *= 10;

Kosztuje dodatkowo 29 taktów procesora.

s[i] = (double)(sin(i));
To 1828 taktów. (co daje dla kwarcu 18.432MHz około 99us oraz dla kwarcu 16MHz 114us - różnica około 15 us).
Takie tam, gdybyście potrzebowali wiedzieć ile czasu trwa obliczanie sinusa na AVR to będziecie wiedzieć, że
@a231: Wywaliłem dzielenie i zastąpiłem mnożeniem i zyskałem 440 taktów. Zgadza się. Na LUT nie zawsze jest miejsce. 360 liczb double zajmie 1440 bajtów, niektóre avr tyle nie mają. Poza tym raczej chodziło mi o poznanie tej liczby taktów niż o LUT, o tym wiem doskonale.
http://pastebin.com/tVxVg1ZH

Nie mam pojęcia co tu się #!$%@?, ale ten kawałek kodu resetuje mi w kółko mikrokontroler. Wywoluje tu funkcje na pobieranie temperatury z czujnika ds18b20 przy użyciu załączonej biblioteki, a następnie zwracam prędkość dźwięku w tej temp.
Dodałem dupa-printy do środka i wychodzi, że całość działa, ale się wywala przy returnie, bo print "dupa1-1" pojawia się, ale "dupa2" juz nie (_ )

#arduino #avr #atmega #
@Atraktor: Szczerze nie widzę nic co mogło by popsuć program. Jeżeli chodzi o typy zmiennych skoro dupa1-1 jest zwracane to dziwne żeby dalej się wywołało. Nie wiem jak to jest z bibliotekami arduino czy watchdog nie jest wlaczony? I wywala się na delay?
Mirki z #avr oraz #arduino mam pytanie.
Posiadam attiny2313 i chce je zaprogramować za pomocą UNO. Sęk w tym, ze nie chce tam w to attiny pchać bootloadera arduino tylko sam program który mam w formacie .bin i .bas. Wszędzie gdzie patrze na necie jest poradnik z wgrywaniem bootloadera ;/
Chodzi o coś takiego: http://www.elektroda.pl/rtvforum/topic1761227.html
W przedostatnim poście jest kod który właśnie chcę wrzucić na attiny. Niestety nie posiadam portu LPT w
@Triak: Klik tu masz jak zrobić z Arduino - usbasp. Potrzeba kabel usb, 3 rezystory i dwie diody zenera 3V3 (bez nich Win będzie rzucał błędem, że nie rozpoznano urządzenia USB).
Mirki z #elektronika #avr nigdy nie zmieniałem ręcznie fuse bitów w ATMedze tylko zawsze MkAVRkalkulatorem ale teraz muszę zmienić ręcznie (ATMega 128A). Widzę, że w Eclipse jest do tego narzędzie. Jak się do tego zabrać, żeby nic nie zepsuć? Na internetach pełno płaczu o uśmierconych procesorach.
@Mike-Wazowski: Tak. Wybierz Ext. Crystal z odpowiednią częstotliwością i programuj. Tylko najpierw upewnij się, że ten kwarc jest podłączony i rezonuje. Bo po resecie będziesz miał niespodziankę. :)
Ale nie bój się, w razie niespodzianki czasem wystarczy podłączyć zewnętrzny generator do XTAL1 i wtedy spróbować zmienić fusebity. Mnie się udało przestawić na Ext. RC albo właśnie Ext. Crystal i właśnie w ten sposób uratowałem uC.
Mirki bawiące się w płytki PCB - mam problem, który pewnie jest banalny.

Projektuję płytkę, która skorzysta z buzzera by zapikać gdy coś się skończy robić (najlepiej pasywnego, aktywny strasznie głośno brzęczy, prawda?) i nie mogę znaleźć bibliotek w Eaglu, żeby umieścić buzzer na schemacie. Chcę kupić coś takiego: http://allegro.pl/buzzer-pasywny-na-pcb-5v-12mm-arduino-i6290258937.html - ale w Eaglu są tylko same buzzery a nie moduły. Jestem kompletnym amatorem (projekt na studia) i staram się szukać wszystkiego
@TheDoom: Do buzzera z generatorem podłączasz tylko zasilanie. Możesz sterować głośnością poprzez obniżenie napięcia zasilania. Buzzer bez generatora to jak zwykły głośnik - musisz mu zapewnić sygnał zmienny, żeby coś zagrał, a to zajmuje czas procesora.
Fabrycznie jest zaklejony nalepką i wtedy jest cichy.
Uszanowanko dla wszystkich Mirków i Mirabelek. Jest to mój pierwszy wpis/post/prośba bo i konto w sumie świeże. Mianowicie rozchodzi się o to iż chciałbym rozwinąć swoje skrzydła pod względem programowania dla #stm32 bo do tej pory tylko #avr. Mam niemały projekt w głowie i jak zwykle za mało kasy dlatego chciałbym się zapytać czy znajdzie się jakaś uczynna osoba której w szafie zalega STM32F746G-DISCO lub STM32F769I-DISCO. Wiem, że są to potężne
Właśnie jak robiłem na AVR konkretnie Atmega328p (tak arduino ale kodzone było w C w środowisku eclipse) to denerwowało mnie łączenie na kabelki tego ENC28J60 trochę latało po biurku. Dlatego fajnie było by znaleźć taką platformę od ST jak wyżej pisałem plus możliwość dorobienia obsługi przez wyświetlacz dotykowy co było by fajnym dodatkiem.
Pewnie jeżeli nikt nie będzie miał na sprzedaż takiej platformy to kupie nową na początku miesiąca albo roku (to
I kolejna zabawka, tym razem prosta. Dziś mały sterownik do grzałki stołu #drukarki3d potrafiący robić 7bitowy PWM na prądzie zmiennym. Zbudowany na 2xBTA24 + #avr ATtiny13, który odczytuje wejściowy PWM (z zakresu 2-125Hz (czyli jakoś maks 8 bit/32kHz) i robi z niego zsynchronizowany z siecią PWM. Maks moc ~1800W. Kod się zmieścił w 900B. Jutro się opisze i wrzuci gdzieś art. Na zdjęciu halogen do testów, z braku oscyloskopu trzeba sobie jakoś
Pobierz Kaworu - I kolejna zabawka, tym razem prosta. Dziś mały sterownik do grzałki stołu #d...
źródło: comment_TZaRTkBa9mWONlWRFgfcY5M5HQqqisaJ.jpg
@MamCieNaHita: w takiej sytuacji chyba nie warto szukać czegoś mocniejszego co z kolei będzie mieć 40 pinów i zajmie pół płytki, tylko poćwiczyć lutowanie SMD i wtedy możesz wstawić cokolwiek zechcesz, Atmega128, STM32F1xx, LPC i wiele innych mocniejszych mikrokontrolerów które występują tylko w montażu powierzchniowym. A umiejętność lutowania SMD i tak kiedyś Ci się przyda :)
Mircy z #elektronika #avr #arduino
Czy ktoś z was projektował urządzenia o obniżonym poborze mocy? Zaczynam pisać program pod zegarek na rękę, będzie miał wyświetlacze 7-segmentowe (wiem, że same w sobie nie są energooszczędne). Kiedy te wyświetlacze będą wyłączone, linie sterujące pozostawić jako wyjścia, czy lepiej ustawić jako wejścia (Hi-Z)? Włączać będą się tylko na kilka sekund po naciśnięciu przycisku. Na elektrodzie nawet nie pytam, bo temat był pewnie wałkowany milion razy
Z kolei ja znalazłem coś takiego

Unless the micro datasheet says otherwise, it’s usually best for low power usage to configure

unused GPIO as outputs driving a logic low. In this configuration, the I/O pin is trying to sink

current so it is using virtually no power.


Na dole strony ebook Low Power Design, http://www.cmicrotek.com/resources.htm
@impossibru: eldo mireczki, stworzyłem czujnik światła która wyświetla napięcie obecne na dzielniku, oraz "naświetlenie" fotorezystora. Stworzyłem też prosty warunek, dzięki któremu wiem czy wystąpił problem z fotorezystorem. Problem występuje wtedy, kiedy wyświetla się komunikat o awarii, tutaj wideło. Ktoś mógłby mi podpowiedzieć czy tutaj jest problem z kodem? Zauważyłem że komunikat jest częściej przerywany gdy podłączony jest kabel usb do komputera. Zakłócenia? Dzielnik jest odsprzęgnięty(istnieje taki wyraz? XD) kondensatorem do
@impossibru: Osobiście nie pisałem nigdy w "arduino", tylko gołe 'c' w avr i stm32.
Wygląda tak jakby tam zawsze mierzył że jest 0.
Co do

while(napiecie < 1.00){napiecie = analogRead(A0);delay(10);}

To imo nie filtrowanie zakłóceń tylko w zasadzie pozbawienie się zakresu pomiaru od 0 do 1V, jak chcesz sie pozbyć zakłóceń to daj jakieś pomiary co 10ms kilka razy a wartość uśredniaj.

do tego

napiecie = pomiar * (5.00 / 1024.00);
Wracam do tego projektu po czasie.
@przech: Kable są pewne, na wypadek sprawdziłem 2x.
@SpeedFight: Rozpisałeś się, dzięki :)
Zacząłem uśredniać wynik 6 razy, oraz zostawiłem wycięty zakres 0-1V, jak narazie nie ma żadnych problemów :)
Co do typów, to nadal się uczę.

napiecie = pomiar * (5.00 / 1024.00);

float = unsigned int * ( float / float)

Zapewne ( float / float) do pomnożenia jest rzutowane na unsigned
Jak podłączacie USBASP (albo inny programator) do płytki stykowej? Klasycznej taśmy zakończoną wtyczką kanda nie wepnę w goldpiny, bo piny są w dwóch rzędach i zawsze zrobię zwarcie. Co robicie? Rozszywacie taśmę na jednym końcu i lutujecie do niej goldpiny? Podpinacie do wtyczki na końcu taśmy wiązkę konektorów? Używacie przejściówek, np. takich: http://www.sklep.monster.pl/Img.ashx?Id=44228 ? Jeszcze jakieś inne pomysły?
#avr #atmega
@cochese: Jak wyżej kolega pisał przewody męsko-męskie wciskane we wtyczkę kanda albo żeńsko-męskie prosto z programatora do płytki
A najbardziej polecam płytkę do programowania na której trzymasz procek przez całą fazę testów na płytce stykowej o taką!
@Porazony: Ogarnąłem to dopiero jak na maila dostałem schemat ideowy płytki. Okazało się, że FT232RL nie jest podłączony do atmegi bezpośrednio tylko wyprowadzenia są na goldpinach (zastanawiało mnie po co) i trzeba kabelkami połączyć TxD i RxD z odpowiednikami w uC (PD0 i PD1)
Od jakiegoś czasu próbuję zaprogramować Attiny13A przez arduino no i nie wszystko działa należycie. Głównie mowa tu o odczycie analogowym. Do fizycznego pinu nr 3 (ADC2) podłączony jest potencjometr. Odczytuję wartość z tego pinu, przeliczam ją i przekazuję do fizycznego pinu nr 6 (PWM1) i otrzymuję tam wartość maksymalną, bez względu na pozycję potencjometru. Próbowałem przekazywać do innych pinów i to samo. Dodam tylko, że odczyt z pinu nr 2 (ADC3) działa
Mirki, chciałbym do ATmegi podłączyć coś troszkę bardziej prądożernego (powiedzmy, 100mA). Kardaś w swojej książce, omawiając multipleksację na przykładzie poczwórnego wyświetlacza 7-miosegmentowego, sugeruje użycie BC856. Tylko że ten tranzystor jest (chyba) tylko na SMD, a ja do prototypowania wołabym THT. Znalazłem kilka tanich tranzystorów: 2N3904, BC547B, ew. BC327 jeżeli miałby być PNP. Podstawowe parametry (prąd, napięcie) wyglądają na wystarczające, ale z elektroniki jestem lajkonikiem. Czy któryś z tych wymienionych przeze mnie nada
Mirki, nie myślałem że będę musiał pytać, no ale - kto nie pyta ten błądzi aż dostanie garba.

Potrzebuję zaprogramować Atmega8, jestem w warunkach terenowych i mam tylko #arduino (uno) jako ISP programmer. Mam wgranego w niego skecza Arduino ISP - i programuje tą atmegę prawidłowo. Arduino widoczne w systemie, jako COM3.

Piszę szybki skecz "migaj diodą" (jako docelową płytkę ustawiam oczywiście ArduinoNG-atmega8) - i docelowa atmega8 miga diodą... ale oczywiście 8
Pobierz hrumque - Mirki, nie myślałem że będę musiał pytać, no ale - kto nie pyta ten błądzi ...
źródło: comment_1hizH3zobJLZm2dunAVV1Lh0rYt6E32R.jpg
@zuberek1990: @AlcoMatt: ZNALAZŁEM
różnica jest w parametrach avrdude.
gdy podaje się:

avrdude -patmega8 -carduino -PCOM3 -b19200 -B8
to gada jako z programatorem isp procesora docelowego (atmega8)
gdy podaje się:
avrdude -patmega8 -carduino -PCOM3 -B8
to gada z procesorem w arduino, przez jego bootloadera, czyli wykrywa atmega328.