2014 m. birželio 29 d., sekmadienis

Šiuolaikinis FM radio imtuvas su Si4735

Viskas prasideda nuo svajonių...

   Manau, kad visi turime prisiminimų iš vaikystės, kuriuos dabar atsimindami šypsomės, kurie mus sušildo. Vaikystės mintys, norai - naivūs, beprotiški, maksimalistiniai, ilgainiui išblėsta, perauga į kažką kitą, bet yra tokių, kurie įkyriai metai iš metų neduoda ramybės vis iškildami, vis primindami apie save, vis grąžindami atgal. Vienas tokių man - mažas, nešiojamas radio imtuvas, kurį aš pats pasidarau ir kuris nereikalauja didelių ir griozdiškų(tam laikmečiui) schemų, negąsdina sunkiai suvokiamais terminais, "heterodinas, moduliacija, detektorius...."
Taigi bėgant metams, keičiantis technologijoms iš tranzistorinių į analogines mikroschemas, iš analoginių į hibridines, o iš pastarųjų į visiškai skaitmenines - visą laiką stebėjau, vis pabandydamas - na gal jau dabar, vis laukdamas ir tikėdamas, kad vieną kartą ateis ta diena, kai.....


I. Diena E...

   O gal vakaras E(eureka), nepamenu, nesvarbu. Bet vėlgi visagalio "Google" dėka "užlipau" ant Silicon Labs  www.silabs.com kompanijos ir jų, vieno iš daugybės, produkto - Si4735-C40.
Vėlgi ta pati seka : aprašymų, "datashit", kitos dokumentacijos studija. Kam įdomu - išsamiai aprašyta čia :http://www.silabs.com/products/audio/fm-am-receiver/pages/si473435.aspx. Man viskas siaubingai tinka - "jamam", tiesa yra nerimas, o kas parduos/pristatys, bet gana greitai randu  www.sparkfun.com, maža to, jie siūlo šią gėrybę dar ir tokiam apipavidalinime - tiesiog fantastika!!



Užsakiau, susimokėjau, laukiau-sulaukiau, iš pašto laimingas parsinešiau siuntinuką - laimėėė... taip sakant per kraštus :)).

II. Schemotechnika.

Kai sulaukiau savo laimės iš už jūrų marių, dviračio neišradinėjau - tipinių jungimo schemų nors vežimu vežk. Pagal šią, vakare, grįžęs po darbų susilitavau :

(schema pasiskolinta iš http://www.mikrocontroller.net/topic/242994)

O toliau... nieko nauja - programa.

III. Programa

 

IV. Savybės

 

V. Nuorodos

 


2012 m. lapkričio 5 d., pirmadienis

Laikrodis su PCF8583

Laikrodis : galima paprastai, bet nuobodžiai, o galima ir sudėtingai, gal taip gražiau...

Nežinau, kaip kiti, bet aš negaliu bent akies kraštu nežvilgtelėjęs praeiti pro laikrodį. Ir visai nesvarbu didelis jis ar mažas, su rodyklėmis, ar skaičiais. Jie man patinka. Todėl, kai tolimais 2011-ais iš Serbijos man atkeliavo štai toks gražuolis - mikrommb PIC18FJ :



        
             (nuotraukos pasiskolintos iš http://www.mikroe.com/mikromedia/pic18fj)


tai tik laiko klausimas buvo, kada...
Tiesa, kad daug "nešūdmaliauti"(atsiprašau :)) - štai nuoroda : http://www.mikroe.com/ , ten, jei įdomu, surasit l. išsamiai pristatytą įrenginuką, nematau reikalo iš naujo visko aprašinėti. Man, pradinukui, tas puslapis su visa ten "gyvenančia" informacija... kažkas nuostabaus! Na, bet ne to, mes čia susirinkom :))....

I. Schemotechnika

Schemotechnika, kaip ir minėjau - nuobodyybėėė, klasikų klasika. Kai kažkuriam gudriam žmogeliukui atėjo į galvą I2C magistralės idėja, tai jis manau, palengvino gyvenimą daugeliui entuziastų ir ne tik(irgi nesiplėsiu su ditirambais - kam reikia - visagalis "Google" !).
Taigi, keletas vakarų su "Google", pdf'niais  "datashit"- išsirenku PCF8583. Nebaksnokit, nebambėkit, kad kur nors matėt geriau, pigiau, greičiau, DS1307... ir t.t. Internetas "lūžta"nuo schemų, nuotraukų ir idėjų. Jums geriau - jus ir darykitės :)). Dėl savo vidinės struktūros paprastumo  man patiko ši mikroschema. (Ateity gal  pabandysiu sakykim Microchip'o, kas žino...). Taigi sekančią dieną artimiausia radijo detalių parduotuvė ( nesakysiu kokia, nors tai buvo "Lemona" :)), valandėlė pamojavimo su "švinuokliu" ir vualia...



(šiek tiek pakeista, bet irgi iš ten pat, tipinė jungimo schema)

Taigi lengviausia darbo dalis padaryta. Šioje vietoje nukrypsiu į lankas. Mano minėtieji MikroElektronika be tikrai nuostabių "gadžetų" kuria ne ką mažiau vertus pagirų kompiliatorius (kaip suprantu, savo veiklą jie ir pradėjo išskirtinai nuo kompiliatorių kūrimo) visokių "seksualinių pakraipų"  :)) mikrokontroleriams : PIC'ai, ARM'ai, AVR'ai, 8051, maža to kompiliatoriai irgi visokių pomėgių programuotojams : C++ pamėgusiems - yra, BASIC - yra, PASCAL - yra. Apie ką aš čia, ogi apie tai, kad kitas įrankis, leisiantis patogiai jaustis kuriant laikroduką ir bus C++ kompiliatorius.
Taigi aparatinė dalis yra, jungiu ją prie MMB I2C magistralės ir tolygiai pereinu prie sekančio etapo.

II. Programa

Kartą, vienas inžinierius yra man pasakęs, mano nuomone labai protingą mintį, kad bet kokią elektroninę užduotį galima išspręsti dviem būdais : vien tik schemotechniniu - t.y daugybė rezistorių, kondensatorių, tranzistorių, diodų, mikroschemų; arba programiniu - t.y parašant programą. Jūsų teisė rinktis.
Pasigirsiu: elektroninį laikrodį pirmuoju būdų senai senai jau esu sukūręs :)) Dabar liko antras būdas.
.......
Na ir ką, keletas dienų/vakarų ir manasis MMB ekrane jau rodo realų laiką, "išlukštentą" iš PCF8583
registrų gelmių :)).

Na argi ne nuobodus eilinis laikrodukas? Taip, skaičiai matosi, informacija ištraukta - viskas, atlikta!! BET ... perdaug viskas paprasta.
Ir čia mano galvoje pradėjo dėliotis vizija, kaip nuobodų padaryti įdomiu...


Pirmiausia -  PAGRINDINIS MENIU :


Matoma net keturių veiksmų pasirinkimo laisvė  :
a) NUSTATYMAI - laikrodžio pradinių reikšmių nustatymas,
b) RODYKLINIS LAIKRODIS - analoginio ( rodyklinio ) laikrodžio atvaizdavimo rėžimas,
c) SKAITMENINIS LAIKRODIS - atvaizdavimo skaitmenimis rėžimas,
d) ŽADINTUVAS - žadintuvo nustatymas.


Nuosekliai, žingsnis po žingsnio

Iš pagrindinio meniu keliaujame į NUSTATYMŲ MENIU


 Pradinis puslapis nustatymuose pradedamas nuo kalendoriaus ir kalbos pasirinkimo

Metų, mėnesio, mėnesio dienos pasirinkimas yra pageidautinas. Savaitės diena, vienos gudrios formulės dėka išskaičiuojama automatiškai!! - Va čia tai bent atradimas man buvo :)).
Nuoširdžiausias ačiū sugalvojusiam, ačiū Mike Keith publikavusiam šią formulę savo interneto puslapyje Calendar Curiosities.

 Kadangi mėnesiai rašomi žodžiais ir kaip nebūtų keista ne visi pasaulyje supranta lietuviškai :)), rinkitės vieną iš penkių : lietuvių, anglų, vokiečių, ispanų, prancūzų - turėtu pakakti :))





Kalbą galima keisti tiesiog mėnesių, rinkimosi metu - smagu matyti, kaip skirtingomis kalbomis atrodo tie patys žodžiai :)







Laiko nustatymas - paprasčiau nebūna. Žodis melodija - irgi skirtingomis kalbomis.
Žadintuvo melodijos pasirinkimas. O gal mp3 grotuvas? Na čia jau, kaip kam.. :))

Pažiurėkim, kas gavosi...

"Rodyklinukas", su kukliu kalendoriumi kampe.

 "Skaitmenukas"
... su "iššliaužiančiu" kalendoriumi.

Žadintuvas kas rytą mielai sugros šią melodiją... greitai ji nebus tokia miela :))

 Valio!! Pirmadienį, trečiadienį ir penktadienį žadintuvas tylės, kaip vandens prisisėmęs :)) - matot, tos dienos žaliai pažymėtos?

III. Viskas, viskas.....


Toks laikinas variantas su prijungtu išoriniu garsiakalbiu.

Pabaigai - savybės.

SAVYBĖS :
Nustatymai :
  • Kalendorius. Pasirenkamos metų, mėnesių, mėnesio dienų reikšmės. Savaitės dienos apskaičiuojamos automatiškai. Automatiškai tikslinamos vasario mėnesio dienos keliamaisias ir ne metais.
  • Laikrodis. Valandų, minučių reikšmių išsirinkimas. Pasirenkami 24/12(AM/PM) valandų formatai.
  • Žadintuvo melodijos pasirinkimas. Dėl integruoto SD kortelės lizdo, galimas išanksto į SD kortelę įrašytų melodijų sąrašo peržvelgimas.
  • Pasirinktos melodijos perklausymas. Dėl integruoto mp3 formato aparatinio dekoderio galimas pasirinktos mp3 bylos perklausymas kartu pasirenkant norimą garsumo lygį.
Žadintuvas : Valandų, minučių nustatymas pasirinktame 24 arba 12 valandų formate. Kasdieninis arba pasirinktos savaitės dienos(-ų) žadinimo melodijos įjungimo algoritmas. Tolydžio garsėjanti melodija. Po 5 min. pasikartojantis melodijos grojimas, jei žadintuvas nebuvo išjungtas(snaudimo funkcija) **.
Rodyklinis laikrodis : Laiko rodymas savaime suprantama 12 valandų laiko skalėje su AM/PM (ryto/popietes) indikavimu. Kalendorius statiškai atvaizduojamas ekrane.
Skaitmeninis laikrodis : Laiko rodymas 24 arba 12 valandų laiko skalėse su AM/PM (ryto/popietes) indikavimu jei yra pasirinktas 12 valandų formatas. Kalendorius atvaizduojamas 5 sekundes tik po atskiro ikonos su kalendoriaus ženklu paspaudimo.

** - ateities versijų funkcijos.

 IV. Nuorodos

Video : 

Programa :