Introdución: Sinais dixitais
Nun sinal dixital a información está codificada en dous únicos estados: 1 e 0. A cada un deles asígnaselle unha voltaxe ou rango de voltaxes determinado.
Por exemplo, un pulsador ten dous estados: en repouso é un 0 ou nivel baixo (LOW), e cando prememos envía un 1 (nivel alto ou HIGH) ao pin no que está conectado. Un LED tamén ten dous estados: apagado será o (LOW) e aceso 1 (HIGH).
Eses ceros e uns representan unha voltaxe determinada: 0 ou LOW será arredor de 0V, e 1 ou HIGH 5V.
[tecnoloxia.org CC By-SA]
Pins E/S dixitais no arduino:
- Pins 0 -> 13 : Pins dixitais de entrada e saída
- Pin 0 (Rx): Recepción serie de datos
- Pin 1 (Tx): Transmisión serie de datos
- Pins ~ (3, 5, 6, 9, 10, 11): Pódense usar como saídas de sinal PWM (verémolo máis adiante)
- GND: Conexión a terra ou 0V
Guía de programación:
Definir variables:
int número enteiro
Por exemplo, definimos o nome “ledVerde” para un LED e indicamos que está conectado ao pin 9:
int ledVerde = 9; |
const int ledVerde = 9; |
Configuración:
pinMode(pin,modo)
Debemos indicar se os pins que imos utilizar son de saída ou de entrada.
void setup() { pinMode(ledVerde, OUTPUT); } |
void setup() { pinMode(pulsador, INPUT); } |
Por defecto os pins están configurados como entradas, polo que non faría falta indicar as entradas dixitais na configuración, só as saídas.
Funcións dixitais:
digitalWrite(pin,estado)
Permite enviar un sinal dixital ao pin de saída indicado:
- HIGH ou 1: envía 5V ao pin de saída
- LOW ou 0: envía 0V ao pin de saída
digitalWrite (9,HIGH); digitalWrite (9,1); |
digitalWrite (13,LOW); digitalWrite (13,0); |
digitalRead(pin)
Permite ler 0 ou 1 nun pin dixital de entrada.
int estado = digitalRead (2); // Define a variable “estado” coa lectura do valor do pin 2 |
digitalWrite(led,digitalRead(pulsador)); // Transmitimos ao LED o valor do pulsador |
digitalWrite(led,estado); // O mesmo, pero coa variable "estado" |