V tem primeru bomo prebrali analogno vrednost iz potenciometra. Vrednost bo za začetek izpisana na strani klienta v numerični obliki.
Najprej moramo z Arduinom povezati potenciometer. Električna shema je prikazana na naslednji sliki, kjer vidimo, da sta robna priklljučka potenciometra priključena na +5V in zemljo (GND), srednji kontakt, t.j. drsnik, pa je priključen na Arduinov analogni vhod A0:
Izgled ploščice za prototipiranje je prikazan na naslednji sliki. Arduino in ploščico skušamo razvrstiti, kot je to prikazano na sliki zaradi nadaljnje dopolnitve s še enim potenciometrom in drugimi elementi. Na ploščici za prototipiranje vzpostavimo dve liniji za minus (-) in plus (+) na spodnjem desnem dlu ploščice, kot je prikazano. Tovrstna razvrstitev nam bo prišla prav v nadaljevanju.
Najprej omogočimo analogno nožico A0 na Arduinu:
console.log("Omogočimo Pin 0");
board.pinMode(0, board.MODES.ANALOG); // analogna nožica 0
Nato v .js datoteki, na strani strežnika, najprej deklariramo spremenljivko za želeno vrednost, ki jo dobimo iz potenciometra:
var želenaVrednost = 0; // želena vrednost nastavljena s pot.
Analogno vrednost iz Arduina preberemo na naslednji način:
board.analogRead(0, function(value){
želenaVrednost = value; // zvezno branje analogne nožice 0
});
Znotraj vtičnika (socket-a) določimo interval pošiljanja vrednosti iz strežnika na klienta (setInterval):
io.sockets.on("connection", function(socket) {
socket.emit("messageToClient", "Strežnik priključen, plošča pripravljena.");
setInterval(sendValues, 40, socket); // na 40ms pošljemo sporočilo klientu
}); // konec "sockets.on connection"
Funkcija za pošiljanje vrednosti klientu v json obliki je naslednja:
function sendValues (socket) {
socket.emit("klientBeriVrednosti",
{
"želenaVrednost": želenaVrednost
});
};
Celotna koda primera 10 (.js del):
V .html delu dodamo le funkcijo:
socket.on("klientBeriVrednosti", function(vrednost) {
potVrednost1 = vrednost.želenaVrednost;
log(vrednost.želenaVrednost);
});
Celoten .html del:
Izgled uporabniškega vmesnika s prikazom vrednosti iz potenciometra je na naslednji sliki. Prva številka predstavlja zaporedni izpis vrednosti (pričnemo z 0, 1, 2, ....), druga vrednost pa predstavlja vrednost iz potenciometra (od 0 do 1023). Vrednosti so izpisane tako, da je na vrhu zadnja prebrana vrednost:
Izgled postavitve je prikazan na naslednji sliki