Jau daug metų norėjau ir pagaliau padariau SD kortelės rašymo eksperimentą su ATMEGA16 mikroschema. Man kažkodėl visiškai viskas neveikė ir teko kankintis su vos vos veikiančiu LCD ekraniuku debuginimui. Vėliau nusprendžiau panaudoti maža nereikalingą OLED displėjuką iš kinijos. Ekraniukas veikia nuo 3V todėl nereikėjo vargti su signalo lygiai ir panašiai. Ekraniukas kabo ant tų pačių SPI laidų kaip ir SD kortelė, aišku CS/SS signalas skirtingas. Labai ilgai kažkodėl neveikė. O šiandien, vakare bet kaip sujungiau laidelius ant savo mega-dev-boardo ir viskas suveikė.
Failas gavosi ir 1G standartinėje SD kortelėje ir kogero toje mažesnėje, 64Mb multimedia card.
Kadangi nenaudojam RTC modulio, tai failo sukurimo data hardcodinta programoje.
Šioje konstrukcijoje panaudojau FatFs modulius iš elm-chan.org puslapių, o OLED displėjau modulio paprogramės irgi paremtos svetimu darbu, tiesa ten kiek daugiau padirbėjau. Visa šita sistema suėdė beveik visą ATMEGA16 atmintį:
AVR Memory Usage
----------------
Device: atmega16Program: 13700 bytes (83.6% Full)
(.text + .data + .bootloader)Data: 227 bytes (22.2% Full)
(.data + .bss + .noinit)
Todėl, jei norima konstruoti kažka protingesnio, deja teks imti “storesnį” mikroprocesoriuką.
Ir visas source kodas bei sukompiliuota programa tiems žmonėms kurie jau neturės rankioti gabaliukais ir kankintis kol kodas pradeda veikti:SD kortele ir OLED displejaus source code / ATMEGA and SDcard source code.
Apie hardwarę- SD kortelė pajungta prie MISO/MOSI/SCK/SS kojų, OLED ekraniukas prie tų pačių MOSI/SCK, o kiti specialūs OLED signalai paimami iš C porto (3 laidai: CS, C/D, RESET).
Arduino sketch’as su failo rasymo pavyzdziu i SD kortele irgi panasiai tiek pat suvalgo: “uses 12,572 bytes (38%) of Maximum is 32,256 bytes”.
su SPI ir SD bibliotekomis.
Nu cia gal maziau, nes OLED dalis irgi kazkiek uzima. Jau nekalbant apie tai, kad softe yea visas fontas (8×8).
Gal autorius ar kas kitas žino kokia įtampa yra maitinami tokie ekranėliai (ne kiek paduoti vartotojui, tačiau kiek pats ekranas užsikelia jog šviestų)?
Turiu toki laikrodį:
https://www.youtube.com/watch?v=o07HV6bAbng
Išardžius vos vos matosi prabėgantys skaičiai, tačiau labai minimaliai ir tik tam tikru kampu, keitiklis paspaudus kuria nors knopkę užkelia ekranui 12V (kiti lygiai lygtais 3V ar pan.) Tai ar čia jau amen ekranėliui ar galbūt jam reikia daugiau įtampos?
Nu greičiausiai irgi OLED. Jie buvo įtampos pertekliaus (kaip ir daugelis kitų įrenginių). LEDinių matricų dabar negamina (ypač mėlynų). LCD+backligh kogero atmetam, nes per geras kontrastas.
…kiek paguglinus, parašyta OLED displėjus. Šiaip, sako, kad kiniški OLEDai neilgaamžiai. Pagal dydį, panašūs ekraniukai ėjo į philipso MP3 grutuvėlius.
Dėkui už atsakyma, to ir tikėjausi 🙂