Les entrades digitals no reconeixen nivells de voltatge, només accepten dos valors HIGH (1) o LOW (0). El llindar entre ambdós estats serà un voltatge aproximadament del 60% del voltatge d’operació (els 3 volts) del microcontrolador.
És important recordar que no podem sobrepassar els límits de voltatge permès per un determinat model de microcontrolador. Ens hem d'assegurar que el voltatge aplicat a una entrada digital està sempre entre 0 i 3.3 V.
A nivell de programació haurem de configurar el nostre objecte Pin com a entrada (Pin.IN)
Un botó (push button) és un simple polsador utilitzat per controlar algun aspecte d’una màquina o d’un procés. Són els tipus de polsadors que utilitzeu quan jugueu a videojocs amb una consola. No s'han de confondre amb els interruptors comuns com els que utilitzem per encendre la llum a casa, mentre que un polsador només està actiu mentre el manteniu premut, un interruptor s'activa quan el canvieu una vegada i, a continuació, es manté actiu fins que el torneu a canviar.
Els botons són dispositius d'entrada, ens proporcionen informació; podem programar que quan algú premi el botó s’executi una determinada tasca. Generalment tenen quatre potes i es poden connectar a la protoboard en qualsevol direcció.
Per evitar soroll i distorsions en el senyal haurem de programar la resistència interna del pin en mode pull-down. O col·locar una resistència externa connectada a terra.
Un altre aspecte a tenir en compte és que la majoria dels polsadors reboten: quan els premeu i deixeu anar, les parts mecàniques oscil·len i produeixen diverses puntes de pujada i baixada. Per tant, hauríem d'eliminar els esdeveniments massa propers (menys de 200 ms està bé en la majoria de botons barats).
Els detectors PIR (Passive Infrared) o Passiu Infraroig, són uns dels diversos dispositius d'entrada coneguts com a sensors. Els PIR reaccionen només davant determinades fonts d'energia com ara la calor del cos humà o animals. Bàsicament, reben la variació de les radiacions infraroges del medi ambient que cobreix. És anomenat passiu pel fet que no emet radiacions, sinó que les rep. Aquests capten la presència detectant la diferència entre la calor emesa pel cos humà i l'espai al voltant. Són molt utilitzats en alarmes anti robatori o per encendre llums automàticament quan hi ha algú.
Aquests sensors són digitals, com els botons, només envien dos valors: 1 (quan detecten moviment) ó 0 (quan no el detecten).
Imagina que estàs llegint un llibre, pàgina per pàgina, i algú s'acosta i et fa una pregunta. Aquesta persona està realitzant una sol·licitud d'interrupció: demanant-te que aturis el que estàs fent, li responguis la pregunta i després et permet tornar a llegir el teu llibre. Això són les interrupcions.
Les interrupcions són esdeveniments que fan que el microcontrolador deixi de realitzar la tasca actual i passi a executar una altra activitat. En finalitzar la segona activitat retorna a la primera i continua a partir del punt on es produeix la interrupció. Les interrupcions permeten que un sol microcontrolador executi diverses tasques (no exactament al mateix temps) depenent de l'esdeveniment que desencadeni la interrupció.
La configuració d'una interrupció requereix dues coses: un disparador/activador (trigger) i un controlador (handler). El trigger li diu al microcontrolador què ha de mirar per saber quan ha d'interrompre el que està fent; el handler és el codi que s'executa després d'activar la interrupció.
Què tenen en comú un ratpenat, un dofí i un submarí?
Tots utilitzen polsos o ones ultrasòniques per tenir una idea dels objectes que els envolten!
Els sensors d'ultrasons utilitzen polsos de so i un càlcul senzill per determinar la distància entre ells i els objectes que tenen al davant. A l’aire, el so viatja a una velocitat de 343 metres per segon. Un sensor de distància per ultrasons envia polsos d'ultrasons que són inaudibles per als humans i detecta el ressò que s'envia quan el so rebota sobre un objecte proper. A continuació, utilitza la velocitat del so per calcular la distància a l'objecte.
Aquest sensor té quatre pins:
VCC (alimentació, alerta! s'ha d'alimentar amb 5V, no 3.3V) and GND (terres)
Trig: És el disparador, a través seu s'envia un senyal molt curt de deu mil·lisegons a l'inici del programa. És de sortida (OUT)
Echo: aquest pin envia un senyal al microcontrolador quan rep l'ona sonora. És d'entrada (IN)
Per calcular al distància haurem de definir una funció que interpreti la informació que ens proporciona el sensor. En aquest cas, la informació que tindrem és el temps transcorregut entre que s'emet l'ona i es rep el rebot. Com que sabem que:
Distancia (d) = velocitat (v) * temps (t)
La velocitat del so a l'aire són 343 m/s. En el nostre cas, com que volem molta precisió treballarem amb microsegons i centímetres, per tant:
velocitat del so (v) = 0,034 cm/us
Si per exemple, si el temps transcorregut entre que s'emet l'ona i es rep el rebot és de 500 microsegons. La distància serà:
d = 0,034 (cm/us) * 500 (us)
Però cal tenir en compte que el temps mesurat és el que ha transcorregut entre l'anada i tornada del senyal fins a l'objecte, i per tant, per tenir la distància de l'objecte, hem de dividir el total per 2:
d = (0,034 * 500) / 2 = 8,5 cm