Odpowiedz 
 
Ocena wątku:
  • 6 Głosów - 4 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
SP6AUO Offline
Andrzej
*****

Liczba postów: 1,033
Dołączył: 20-09-2009
Post: #31
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Ponawiam prośbę.
Jaki procek.
Jaki kwarc w Arduino.
Jakie napięcie do wyświetlacza nokia 5110.

Andrzej
15-10-2014 14:09
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
M0OSH Offline
Nowicjusz
*

Liczba postów: 15
Dołączył: 17-04-2011
Post: #32
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
U mnie używam arduino nano3 klon ale myślę ze i na Uno nie będzie problemu u mnie atmega328.
kwarc 16mhz
mój lcd ma zasilanie od 3 do 5V ja używam 3v3
15-10-2014 14:18
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP6IFN Offline
Ryszard
****

Liczba postów: 455
Dołączył: 23-03-2010
Post: #33
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Andrzej!
W poście #15 napisałeś że wszystko Ci weryfikuje, ja w poście #20 odpisałem Ci na jakim ja pracuję, jaką mam ATmegę i kwarc do niej. Napisałem też że wszystkie Arduino mają taki sam kwarc. Dzisiaj pytasz o napięcie na wyświetlacz. Dla bezpieczeństwa zasilam go napięciem z Arduino 3V3, moje Duemilanowe ma taki stabilizator dodatkowo. Ponadto dodam że wszystkie piny sterujące wyświetlaczem (RST,CE,DC,DIN,CLK) zasilam poprzez rezystory 3k3, dla bezpieczeństwa. Pin 07 LIG wyświetlacza zasilam z dzielnika rezystorowego (potencjometr montażowy 10k). Nic więcej dodać nie mogę, to komplet informacji.
Rysio!
(Ten post był ostatnio modyfikowany: 15-10-2014 15:31 przez SP6IFN.)
15-10-2014 15:29
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
DA_KAR Offline
Darek
*

Liczba postów: 36
Dołączył: 09-11-2013
Post: #34
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
(14-10-2014 22:19)SQ9MDD napisał(a):  Hejka Panowie... mam nadzieję że jesteście z nami, bo coś ucichło.

Już zamówiłem klocki. Miały dziś przyjść i nie przyszły.
Dalej obserwuję z drugiego rzędu jak się pięknie bawicie
i zazdroszczę.
15-10-2014 17:19
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9MDD Offline
Rysiek
****

Liczba postów: 380
Dołączył: 01-02-2009
Post: #35
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Cześć.

Andrzej z arduino jest tak że niezależnie od procesora i kwarca kod jest w 100% przenoszalny pomiędzy płytkami. No chyba że ktoś stosuje jakieś nietypowe zaklęcia.
Więc odpowiadając na twoje pytania, płytka arduino dowolna.
Jeśli chodzi zaś o zasilanie to ja zasilam z pięciu wolt syntezer a wyświetlacz z 3,3V i działa wyśmienicie. Nie dawałem rezystorów w liniach sterowania wyświetlaczem.

Dzisiaj skoczyłem wcześniej nieco pracę a że siedzę w hotelu (delegacja) to zaraz napiszę ograniczenie częstotliwości do naszego złomka.

Oczywiście Panowie zachęcam do samodzielnego eksperymentowania z kodem i dzielenia się tymi eksperymentami tutaj na forum.

...przede wszystkim nie zakłócać...
15-10-2014 18:00
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ5KVS Offline
Karol
*****

Liczba postów: 1,004
Dołączył: 26-09-2012
Post: #36
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Moze nazwa forka "Rysiek", bo "wszystkie Ryśki to fajne chłopaki", Zlomek nie brzmi tak dobrze Smile
O ile kod pisany na arduino jest większy (po kompilacji) od konkretnego w C pod dany proc?
15-10-2014 18:12
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9MDD Offline
Rysiek
****

Liczba postów: 380
Dołączył: 01-02-2009
Post: #37
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Wiesz nie sprawdzałem ale sądzę że trochę narzutu będzie. Każda specyficzna dla arduino funkcja (jakiś map czy coś podobnego) to zawsze coś wiecej bajtów. więc kod puchnie. Tyle że dla większości zastosowań niema to znaczenia i tak się mieści. ATMega328 ma 32kb pamięci -2kb na bootloader więc sporo pozostaje na kod. Ot taka łatwość tworzenia okupiona większym wynikowym.
Ogólnie niema tragedii

...przede wszystkim nie zakłócać...
15-10-2014 18:17
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9NJE Offline
Przemek
**

Liczba postów: 92
Dołączył: 23-03-2010
Post: #38
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Chyba bardziej niż na rozmiar samego programu trzeba uważać na wykorzystanie RAMu. Wiem, że Maciek pisząc Heńka trafił na właśnie ten problem i okazało się, że z pamięcią nie można obchodzić się zbyt beztrosko Wink

Przemek SQ9NJE
http://www.sq9nje.pl
15-10-2014 18:22
Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SP9MRN Offline
MAc
*****

Liczba postów: 817
Dołączył: 29-08-2009
Post: #39
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
to na szczęście nie była pamięć, tylko do d.. napisana obsługa wyświetlacza a dokładniej wyświetlania w przerwaniach. Teraz na czas wyświetlania wyłczam przerwania encodera i jest OK

MAc
mrn
15-10-2014 18:35
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
SQ9MDD Offline
Rysiek
****

Liczba postów: 380
Dołączył: 01-02-2009
Post: #40
RE: Fork-Heńka... czyli jak sobie poradzić z DDS za pomocą ARDUINO
Tak Przemek zdecydowanie masz rację, kilkakrotnie w swoich projektach otarłem się o ten problem. Dlatego zawsze staram się stosować różne zabiegi by nieco zaoszczędzić pamięć.

Kod:
const int jakas_zmienna = 123;
Zamiast:
Kod:
int jakas_zmienne = 123;

Oczywiście dla zmiennych które nie są modyfikowane w trakcie pracy programu.

Często też stosuje jeden bufor służący do printowania danych i zmieniam tylko jego zawartość. Jeden uniwersalny zajmuje często mniej miejsca niż pięć mniejszych do konkretnych celów.

Dodatkowym utrudnieniem jest też słabość środowiska arduino w tej kwestii. Nie posiada ono narzędzi do diagnostyki, debugowania.

Nasz program ten powyżej w tej chwili zużywa około 300 bajtów ramu z dostępnego obszaru 2kb.

Jest taki fajny kawałek kodu który pozwala ocenić wielkość dostępnej pamięci:

Kod:
int freeRam () {
  extern int __heap_start, *__brkval;
  int v;
  return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
}

Wystarczy gdzieś w głównej pętli wyprintować efekt działania tej funkcji.

...przede wszystkim nie zakłócać...
15-10-2014 18:52
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika Odpowiedz cytując ten post
Odpowiedz 


Skocz do:


Użytkownicy przeglądający ten wątek: 1 gości