Viskas prasidėjo nuo gero žmogaus vardu Valentinas kuris man padovanojo Maxim Semiconductos MAX44007 mikroschemą. Aišku mikroschema šlykščiai maža. Tačiau aš prieš keletą mėnesių atradau kiniškų PCB gamybą, tai pakeliui užsakėm perėjimą iš nesveikų 6 kojų UTDFN-Opto-EP korpuso (2×2 milimetro) į kiek labiau sučiupinėjamą senovišką DIP/DIL.
Mikroschema bendrauja su procesorium per I2C busą. Todėl pajungimas prie mano senoviškos ATMEGA 16 bandymų plokštės paprastas… tik vienas bet. Max čipukas mažavoltis, jo negalima jungti prie 5V maitinimo ir logikos. O mano senoji plokštė maitinasi iš USB porto- 5V. Todėl teko pasielgti paprastai- sumontuoti 3V stabilizatorių Max čipukui ir panaudoti keletą rezistorių, kad buferizuoti ir slopinti duomenų signalus. Kaip stabilizatorius suėjo LM1117 tipo mikroschema, o suderinimui kiloomo eilės rezistoriai. Ant PCB be mikroschemos ir kondensatoriaus į Vcc3.3 yra dar du I2C pullupai. O gal ir pull-downai 🙂 nes USB-MEGA plokštė pati bando daryti pull-up į 5V. Oscilografas parodė, kad signalai ant MAX44007 mikroschemos kiek viršija 3.3V, tačiau viskas veikia.
Nuotraukoje su kiek senesniu softu. Gale straipsnio kiek naujesnis, kuris rodo ir skaičius po kablelio. Viskas kiek daryta skubotai ir nenaudojamas INT signalas. Paprasčiausiai testas. Kiek keistokai atrodo ir pati liuksų skaičiavimo matematika- ten tokia makalynė su bitais daroma. Tačiau slankiojo kabelio matematika nepanaudota.
Ten kur softas “lieja išmintį” tai tiesiog lengva higienos normų interpretacija. Rodo ar galima pvz. lituoti SMD mikroschemas ar dar įjungti lemputę kokią.
Bugas softe (nedarantis įtakos veikimui): kažkodėl nenusiskaito du registrai nuosekliai (3 ir 4), todėl nuskaičiau aš juos po vieną baitą. Lygtai pagal datašyta turėtu nusiskaityti.
Programinė įranga: (source code ir sukompiliuotas HEX failas ).