R06D - U1S4 - Inputs, Outputs, DDR
R06D - U1S4 - Inputs, Outputs, DDR
R06D - U1S4 - Inputs, Outputs, DDR
COSAS
2019 – CICLO 1 MARZO
ARDUINO
ENTRADAS Y SALIDAS
La utilidad más evidente de una placa Arduino es
interaccionar con su entorno físico a través de sensores y
actuadores. Para ello, disponemos de varias funciones que
tratan señales de tipo digital o de tipo analógico.
ARDUINO
FUNCIONES
ENTRADAS Y SALIDAS: DIGITALES
pinMode()
configura un pin digital como entrada o como salida, según si el valor de su
segundo parámetro es la constante predefinida INPUT o bien OUTPUT,
respectivamente.
Esta función es necesaria porque los pines digitales a priori pueden actuar
como entrada o salida, pero hay que definir previamente si queremos que
actúen de una forma u de otra. Es por ello que esta función se suele escribir
dentro de “setup()”.
SINTAXIS:
pinMode(#dePin, constante);
pinMode(13, OUTPUT);
SALIDAS: DIGITALES
digitalWrite()
Envía un valor ALTO (HIGH) o BAJO (LOW) a un pin digital; es decir, tan solo es
capaz de enviar dos valores posibles. Por eso, de hecho, hablamos de salida
“digital”.
SINTAXIS:
digitalWrite(#dePin, constante);
digitalWrite(13, HIGH);
ENTRADAS: DIGITALES
digitalRead()
devuelve el valor leído del pin digital, cuyo número se haya especificado como
parámetro. Este valor de retorno es de tipo “int” y puede tener dos únicos
valores, la constante HIGH (1) o LOW (0).
SINTAXIS:
digitalRead(#dePin);
digitalRead(13);
PONGAMOS LO APRENDIDO EN PRÁCTICA
MANEJO DE
ENTRADAS Y
SALIDAS
DIGITALES
Componentes:
01 Protobord
01 Arduino Uno R3
06 LED
06 Resistencia 220Ω
Cables Dupont MM
SECUENCIA DE
LEDS
Colocar varios leds, uno seguido
de otro para que estos sigan una
secuencia. Como por ejemplo se
enciendan uno después de otro de
un lado a otro
MANEJO DE I/O USANDO REGISTROS DE PUERTOS
Cada Puerto esta controlado por estos 3 registros, que a su vez están definidos
como variables en el lenguaje Arduino.
REGISTROS DE PUERTOS: DDR/PORT
Los registros DDR y PORT ambos permiten ser escritos y leídos, para definir
como activos se representarán con un bit 1 y para desactivarlos ser definirán
con un bit 0
REGISTROS DE PUERTOS: DDR/PORT
EJEMPLOS: DDR/PORT
Tomando como ejemplo la imagen inferior, deberemos utilizar los registros
DDR del grupo D (pines de 0 al 8) para definir la dirección de cada puerto
(INPUT/OUTPUT).
Para activar los puertos deberemos utilizar los registros PORT con su
respectivo grupo.
No todos los pines digitales pueden generar señales PWM: en la placa Arduino UNO por
ejemplo solo son los pines 3, 5, 6, 9, 10 y 11.
SINTAXIS:
analogWrite(#dePin, #deCiclos);
analogWrite(13, 200);
ENTRADAS: ANALÓGICAS
analogRead()
Devuelve el valor leído del pin de entrada analógico cuyo número (0, 1, 2...) se ha especificado como
parámetro. Este valor se obtiene mapeando proporcionalmente la entrada analógica obtenida (que
debe oscilar entre 0 y un voltaje llamado voltaje de referencia, el cual por defecto es 5 V) a un valor
entero entre 0 y 1023. Esto implica que la resolución de lectura es de 5V/1024, es decir, de 0,0049 V.
SINTAXIS:
analogRead(#dePin);
analogRead(2);
ENTRADAS
ANALÓGICAS
Componentes:
01 Protobord
01 Arduino Uno R3
01 LED
01 Resistencia 220Ω
01 Potenciómetro 1KΩ
Cables Dupont MM
MONITOR SERIAL
El monitor serial es el ‘cable’ entre el ordenador y el Arduino. Permite enviar y recibir mensajes de texto,
útiles para la depuración y también control de Arduino. Por ejemplo, es posible enviar comandos desde el
ordenador para encender LEDs.
MONITOR SERIAL
MONITOR SERIAL
El monitor de puerto serie es una pequeña utilidad integrada dentro de IDE
Standard que nos permite enviar y recibir fácilmente información a través del
puerto serie. Su uso es muy sencillo, y dispone de dos zonas, una que muestra
los datos recibidos, y otra para enviarlos. Estas zonas se muestran en la
siguiente imagen.
SINTAXIS:
void setup(){
Serial.begin(9600); //iniciamos el puerto serie
}
void loop(){
Serial.println(“impresion de linea con retorno de carro);
Serial.print(“Impresion de una linea: ");
}
PREGUNTAS