Az alapelképzelés egy külső/belső digitális hőmérő GK-ba.
Erre a célra egy 2 soros lcd, egy 16F616 és 2 db DS 18S20-as preciziós hőszenzort választottam.
A DS 1820 tulajdonképpen egy digitális hőmérőchip ami egy 64 bites egyedi azonosítóval rendelkezik (a működésébe ne menjünk bele), Ennek a kiolvasása után a program célzottan tud rá hivatkozni, hasonló képpen mint egy hálózati eszköz IP címe alapján.
Ennek köszönhetően 1 bemenetre több DS is csatlakozhat, jelen esetbe kettő.
Az egyedi azonosítót legcélszerűbb egy byte tömbben tárolni:
RomCodein[0]:= 16; //............
RomCodein[1]:= 130;
RomCodein[2]:= 219;
RomCodein[3]:= 108; // INPUT HŐSZENZORAZONOSÍTÓJA
RomCodein[4]:= 2;
RomCodein[5]:= 8;
RomCodein[6]:= 0;
RomCodein[7]:= 234; //.............
Ez most épp az input szenzor azonosítója.
A master eszköz által küldött reset jel után $55 parancsra megindul a DS azonosítása egy 8 as ciklus során az eltárolt ROM code belovasásra kerül.
(megtörtént a beazonosítás)
Majd z eszköz bemásolja a mért és átkonvertált hőmérsélet adatot a jegyzettömbjébe.
Innen már csak ki kell olvasni.
Ow_Reset(PORTA, 2);
Ow_Write(porta,2, $55);
for I := 0 to 7 do Ow_Write(porta, 2, RomCodein[I]); // write Rom code
Ow_Write(PORTA, 2, 0xBE); // Issue command READ_SCRATCHPAD
Az elnagyolt kapcsolási rajz a következő:
Nyilván itt a 12V akkufesz miatt 5V stab IC használata szükséges
A kész panel ami 2 oldalas praktikussági okokból egy szabvány 2 soros LCD kijelző hátuljára került:
A kész panelt be is kéne dobozolni.
Nagy kedvenem az lalauminyium , 3-as falvastagságú U szelvényre akadtam, amibe pont passzolt a panel.
Így hát ezt választottam.
Két végzáró 2 komponensű ragasztóval rögzítve.
A hátlap pici csavarokkal rögzítve, mivel kénytelen voltam az U szelvény éleibe fúrni
Itt épp a csiszolási munka (k*vára untam a végén)
A végeredmény: