Trăim într-o lume analogică, există o multitudine de nuanțe de culori, o multitudine de tonalități pe care le putem auzi și o multitudine de mirosuri pe care le putem percepe. Senzorii noștri biologici înregistrează constant date pe care creierul le combină și le transformă în informații inteligibile și utile.
Semnalele și obiectele digitale se află într-o lume discretă sau finită, adică pot lua un număr limitat de valori. De exemplu, doar două valori (0 și 1), 255 sau chiar 4294967296, dar nu o infinitate de valori.
În lumea electronicii întâlnim atât semnale analogice, cât și digitale, la intrare și la ieșire.
Tehnologia analogică(“analogic” înseamnă “identic”) presupune prelucrarea semnalelor electrice aşa cum sunt recepţionate de la diverşi senzori sau emiţători.
Un televizor analogic recepţionează semnalul TV modulat transmis prin cablu coaxial sau prin unde radio. Acesta este demodulat şi transformat în semnale electrice cesunt trimise către tubul catodic, respectiv difuzoare pentru a deveni imagini, respectiv sunet.
În echipamentele digitale, semnalul util este reprezentat prin valorile binare 0 sau 1 care sunt interpretate fizic prin două nivele de tensiune. Un exemplu este acela în care, pentru valoarea 0, valoarea tensiunii este cuprinsă între 0V şi 1V, iar pentru valoarea 1, avem o tensiune cuprinsă între 4V şi 5V.
Un semnal digital este obţinut prin eşantionarea (digitizarea) unui semnal analogic provenit de la diverşi senzori sau emiţători.
Un sistem digital de televiziune, eşantionează un semnal analogic transformându-l în valori binare: 0 sau 1. Acesta este comprimat şi codificat pentru a fi transmis pe un canal de date. La recepţie, semnalul digital este decodificat şi decomprimat, astfel încât să poată fi redat.
Un mouse transformă semnalul analogic provenit de la mişcarea plană a acestuia pe două direcţii – X şi Y, în semnale digitale pe două canale X şi Y. Cursorul de pe ecran se va mişca digital conform numărului de impulsuri primite pe cele două canale.
Un ecran tactil nu este altceva decât o matrice de senzori de presiune. Semnalul analogic produs de aceşti senzori este transformat în semnal digital.
Un modem (însăși denumirea provine de la modulare-demodulare) este un dispozitiv ce permite conectarea la Internet, fiind capabil să convertească semnalele digitale în analogice, un proces numit „ modulare” și este, de asemenea, capabil să convertească semnale analogice în digitale, al căror proces se numește „ demodulare ”, de aici și denumirea sa.
Echipamentele digitale prezintă o serie de avantaje:
Placa Arduino este capabilă să scrie/citească semnale atât digitale cât si analogice – folosind tehnica PWM (pulse-width-modulation) și convertoarele analog în digital.
Pinii digitali sunt utilizați pentru a citi valori ale unor mărimi și pentru a comanda dispozitive externe (led-uri, motoare). Pinii analogi sunt utilizați pentru a citi valori ale unor mărimi care variază continuu (temperaturi, distanța până la un obiect, etc.).
Semnalul digital arată astfel:
Un astfel de semnal este ușor de utilizat datorită faptului că el poate avea doar 2 valori, LOW(0) și HIGH(1). Pentru a scrie sau citi astfel de valori în Arduino folosim următoarele secvențe: “digitalWrite(pin, valoare)” pentru scriere și “digitalRead(pin)” pentru citire.
Reamintim! Pe placa Arduino toți pinii digitali au inițiala “D” (Ex.: D1, D2, … , D13).
În schimb, semnalul analogic poate arată astfel:
Pentru scriere vom folosi sintaxa “analogWrite(pin, valoare)” și valorile vor fi cuprinse între LOW(0) si HIGH(255), iar pentru citire vom folosi sintaxa “analogRead(pin)”, cu intervalul de valori cuprins între 0 și 1023.
Reamintim! Pe placa Arduino pinii analogici au inițiala “A” (A0, A1, …, A5).
Semnalul PWM arată astfel:
Reamintim! Pe placa Arduino funcția PWM este disponibilă pe pinii D3, D5, D6, D9, D10, D11.
Semnalul PWM este un concept important în lumea electronicii și este adesea folosit la placa Arduino pentru a controla cu precizie luminozitatea dispozitivelor cum sunt LED-urile, viteza motoarelor sau poziția servo-motoarelor.
Pentru a mapa o valoare analogică (care variază între 0 și 1023) la un semnal de ieșire PWM (care variază de la 0 la 255), putem utiliza funcția: map(val, L1, H1, L2, H2). Aceasta funcție are 5 parametri: primul este variabila în care este stocată valoarea analogică, L1 și H1 sunt limitele intervalului inițial (0, 1023), iar L2 și H2 sunt limitele intervalului final (0, 255).