Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anterior Revisión previa | |||
| doc:tec:prg:uc_arduino:arduino_io:inicio [2025/11/04 13:47] – borrado - editor externo (Fecha desconocida) 127.0.0.1 | doc:tec:prg:uc_arduino:arduino_io:inicio [2025/11/04 13:47] (actual) – ↷ Página movida de doc:tec:prg:arduino:arduino_io:inicio a doc:tec:prg:uc_arduino:arduino_io:inicio fepg | ||
|---|---|---|---|
| Línea 1: | Línea 1: | ||
| + | ====== Arduino: Entradas / Salidas ====== | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Vamos a analizar el funcionamiento de los puertos disponibles en la placa Arduino Nano. | ||
| + | |||
| + | ===== Digitales ===== | ||
| + | |||
| + | Trabajan únicamente con '' | ||
| + | |||
| + | Pueden programarse tanto como entradas como salidas, de forma independiente unas de otras. | ||
| + | |||
| + | Por defecto, al iniciar el Arduino, están configuradas como entradas. Esto es así para protegerlas frente a eventuales cortocircuitos: | ||
| + | * Si algún pin resulta que va a ser una entrada, entonces se le estará aplicando una tensión externa al mismo. Si ese mismo pin se configura inicialmente como salida se producirá un cortocircuito en dicha situación. | ||
| + | |||
| + | Lo que haremos por programa es programar las que vayan a ser salidas. | ||
| + | |||
| + | **1) Estado inicial**. Simplemente configurando los puertos digitales como salidas... ¿Cuál es el valor por defecto de las mismas, '' | ||
| + | |||
| + | <file c> | ||
| + | // Declaración de variables | ||
| + | int persiana1_sube, | ||
| + | |||
| + | // Inicialización de variables | ||
| + | persiana1_sube=3; | ||
| + | persiana1_baja=4; | ||
| + | |||
| + | void setup() { | ||
| + | |||
| + | // Inicializo persiana 1: pin salida y valor 1 | ||
| + | digitalWrite(persiana1_sube, | ||
| + | pinMode(persiana1_sube, | ||
| + | digitalWrite(persiana1_baja, | ||
| + | pinMode(persiana1_baja, | ||
| + | |||
| + | // Prueba para ver valor por defecto | ||
| + | pinMode(5, OUTPUT); | ||
| + | } | ||
| + | |||
| + | void loop() { | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | * Al ejecutar este programa, se ve que los pines configurados como salidas tienen un valor '' | ||
| + | * Si estos pines van a estar conectados a interfaces que se activen con '' | ||
| + | \\ | ||
| + | ===== Analógicas ===== | ||
| + | |||
| + | Los pines analógicos que se numeran del PC0 al PC5 en el ATMega328P y **del A0 al A5** en la placa de Arduino, son pines analógicos pero también **se pueden utilizar como pines digitales**. Se puede acceder a ellos como si fueran pines digitales de Arduino utilizando la numeración **del 14 al 19**. Siendo el 14 el pin A0, el 15 el A1 y así sucesivamente hasta el 19. | ||
| + | |||
| + | **Importante**. Sin embargo los pines analógicos adicionales que posee el Arduino Nano **A6 y A7 no pueden funcionar en este modo de pines digitales**, | ||
| + | * Así, el siguiente código funciona en un Arduino Nano, poniendo un '' | ||
| + | |||
| + | byte pin_color = A0; | ||
| + | |||
| + | void setup(void) { | ||
| + | pinMode(pin_color, | ||
| + | } // Final setup | ||
| + | |||
| + | void loop(void) { | ||
| + | digitalWrite(pin_color, | ||
| + | delay(2000); | ||
| + | digitalWrite(pin_color, | ||
| + | delay(2000); | ||
| + | } // Final loop | ||
| + | |||
| + | </ | ||
| + | * Sin embargo si intentamos hacer lo mismo con el pin A6 ('' | ||
| + | |||