Guia de Arduino: E/S digital, PROGMEM, temporitzadors i ADC

Informàtica2,66 KB

Entrades i sortides digitals

HIGH

En mode INPUT, un pin en estat HIGH quan es llegeix amb la funció digitalRead té un valor TRUE quan la tensió al pin és igual o superior a 3 V.

En mode OUTPUT, un pin en estat HIGH presenta una tensió de sortida de 5 V (source) fins a 50 mA.

LOW

En mode INPUT, un pin en estat LOW quan es llegeix amb la funció digitalRead té un valor FALSE quan la tensió al pin és igual o inferior a 2 V.

En mode OUTPUT, un pin en estat LOW es posa a 0 V. D'aquesta manera pot absorbir (sink) fins a 40 mA de corrent.

PROGMEM

Indica al compilador que ha de guardar les dades d'una variable a la memòria flash en lloc d'utilitzar la memòria RAM. Especificat a: <avr/pgmspace.h>

dataType varName[] PROGMEM = {d0, ..., dn};

Exemple:

char message[] = "Hello World"; // 12 bytes a RAM
char message[] PROGMEM = "Hello World"; // 12 bytes a FLASH

Desavantatges

Les dades guardades a la memòria FLASH s'han de llegir amb una API específica (pgm_read_word, pgm_read_word_near, ...).

Temporitzadors

unsigned long millis()

Retorna el nombre de mil·lisegons transcorreguts des de l'inici de l'execució del programa.

delay(ms)

Aquesta funció consumeix cicles de rellotge fins que transcorre el temps indicat en mil·lisegons. Quan s'utilitza un valor enter superior a 32767, cal afegir el sufix UL.

delayMicroseconds(us)

Aquesta funció consumeix cicles de rellotge fins que transcorre el temps indicat en microsegons. La implementació actual garanteix resultats fins a un valor de 16383 µs.

Conversor ADC

El conversor ADC de l'Arduino UNO, Mega, Leonardo i alguns altres models té una resolució de 10 bits. Aquest valor indica la qualitat de la traducció del senyal analògic a digital.

ATENCIÓ: utilitzeu la instrucció analogReference(INTERNAL) només si feu servir sensors que enviïn com a màxim 1,1 V a l'entrada analògica. Si utilitzeu aquesta instrucció i introduïu una tensió superior a 1,1 V, podeu causar danys permanents a la placa Arduino.

Tipus de dades bàsics

  • boolean, char, byte
  • int, unsigned int
  • long, unsigned long
  • float, double
  • Strings, arrays

L'Arduino és un microcontrolador de 8 bits. El compilador GCC transforma alguns tipus de dades en codi RISC per a l'ATmega168.

Descarregar

PDF Word HTML