0% encontró este documento útil (0 votos)
138 vistas

Tema 3 Arduino

Este documento trata sobre Arduino, un microcontrolador open source muy utilizado. Explica conceptos básicos como qué es un microcontrolador, para qué sirve Arduino y cómo programar placas Arduino. También entra en detalles sobre la placa Arduino UNO, cómo conectar salidas digitales y ejemplos prácticos de programación.

Cargado por

iapelisa
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
138 vistas

Tema 3 Arduino

Este documento trata sobre Arduino, un microcontrolador open source muy utilizado. Explica conceptos básicos como qué es un microcontrolador, para qué sirve Arduino y cómo programar placas Arduino. También entra en detalles sobre la placa Arduino UNO, cómo conectar salidas digitales y ejemplos prácticos de programación.

Cargado por

iapelisa
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

Tema 3.

Arduino
índice

1. Introducción a Arduino................................................................................................................................
2. La placa Arduino UNO.................................................................................................................................
3. Programar la placa.......................................................................................................................................
4. Salidas digitales...........................................................................................................................................
1. Introducción a Arduino.
1. ¿Qué es un microcontrolador? ¿Dónde se utilizan?

Es una pequeña placa que funciona como el cerebro del circuito. En muchas
máquinas nuevas como los coches o los teléfonos móviles.

2. Explica qué quiere decir que los microcontroladores sigan un esquema


entrada-proceso-salida.

el microcontrolador recibe una señal de entrada y entonces el microcontrolador


procesa toda la información y después dependiendo la información que haya
recibido y procesado dará una respuesta o salida

3. ¿Por qué son tan usados los microcontroladores?

porque son flexibles, baratos, pequeños y consumen poca energía

4. ¿Qué es Arduino? ¿Para qué sirve?

Es un microcontrolador open source muy utilizado. Para mandar órdenes a una


máquina.

5. ¿Cuáles son los objetivos del proyecto Arduino?

Que los microcontroladores sean accesibles para todas las personas

6. ¿Qué significa "software open source"? ¿Y "hardware open source"? ¿Tienen


algún límite este tipo de licencias?

que todo el código del software está publicado y se puede tomar y modificar. Que
todos los planos, materiales y métodos de construcción. Sí, que todo lo que hagan
otras empresas distintas a Arduino tiene que tener otro nombre

7. ¿Cómo se llama la placa Arduino más usada? Indica el nombre de otras dos
placas Arduino.

Arduino UNO es la más usada. Arduino yún y Arduino nano son otras placas de la
marca

8. ¿Qué son los módulos de Arduino? Pon 3 ejemplos.

Son periféricos que se conectan a la placa para que tenga un uso. Hay módulos de
sensores, módulos de electrónica de potencia, módulos de comunicaciones
9. ¿Qué es IoT? ¿Qué hay que hacer para usar Arduino en un sistema IoT?

las conexiones que tienen varios objetos cotidianos con internet para poder
controlarlos todos desde un dispositivo solo. Conectarle un módulo de internet

10. ¿Qué es una "smart city"? Pon dos ejemplos de sistemas smart city.

una ciudad que utiliza el internet de las cosas (IoT) para mejorar la calidad de vida.
Por ejemplo los buses tienen localizadores para saber cuando van a llegar a su
siguiente parada y sensores de gases para saber cuánto se contamina en la ciudad

11. ¿Para qué se usa Arduino en la industria?

para hacer prototipos de las máquinas y el Arduino se utiliza como


controlador.
2. La placa Arduino UNO

1. ¿Qué función hace el microcontrolador de Arduino? ¿Qué microcontrolador


tiene la placa Arduino UNO?

Es donde se guarda un programa y un circuito miniaturizado que procesa


información. Tiene un Atmega328P de Atmel.

2. ¿Dónde se guarda el programa que controla la placa Arduino UNO? ¿Cómo


se crea este programa?

En el microcontrolador. Se crea en el programa de ordenador.

3. ¿Para qué sirven los diferentes indicadores luminosos de la placa Arduino


UNO?

El led ON indica si está encendido o no, el L se puede programar desde el programa


de ordenador y los ledes TX y RX sirven para indicar si está recibiendo datos o no la
placa.

4. ¿Qué función tiene el botón de reset?

Para parar el programa y que vuelva a empezar

5. ¿Qué hay que hacer para que una placa Arduino funcione sin estar
conectada a un ordenador?

Hay que cargar el programa de ordenador a la memoria de la placa y conectarlo a


una fuente de alimentación.

6. ¿Cómo podemos alimentar circuitos externos de 3,3 o 5 V desde la placa


Arduino?

Conectándolo a los pines de potencia de la placa y a los GND

7. ¿Para qué sirven las salidas digitales? ¿Qué pines son salidas digitales en
Arduino UNO?

Para controlar actuadores externos. Son salidas digitales del 0 al 13.

8. Explica cómo funciona el ejemplo de entrada analógica que hay en la página


10.

La entrada analógica recibe una tensión que es detectada por la placa y que
después la cpu procesa la información y da un valor de 0 a 1023
9. ¿En qué se diferencian las entradas analógicas de las entradas digitales?

que las entradas digitales solo detectan 2 valores: 0 y 1 mientras que las entradas
analógicas detectan muchos más valores de tensión.

10. ¿Tiene salidas analógicas Arduino UNO? Razona tu respuesta.

realmente no tiene salidas analógicas, sólo tiene simulaciones de ellas.


3. Programar la placa
1. ¿Qué es el IDE de Arduino? ¿En qué se diferencian las dos versiones que
hay?

Es el programa que se utiliza para usar la placa Arduino y hacer programas en ella.
Que una está en la web y otra es un programa de ordenador

2. ¿De qué dos maneras se pueden escribir comentarios en el código de un


programa de Arduino? Escribe un ejemplo de cada una de ellas. ¿Para qué
sirve comentar el código?

poniendo // cuando va a ocupar solo una línea o poniendo /* y colocándola arriba y


abajo de los comentarios

3. ¿Qué es una función en programación? ¿Qué diferencia hay entre la función


setup y la función loop de Arduino?

Son conjuntos de instrucciones que se ejecutan al ser llamadas desde otra parte del
código

4. Explica para qué sirven las funciones pinMode(), digitalWrite() y delay().

pinMode sirve para decir si el pin esta en modo de entrada o en modo de salida,
digitalwrite para cambiar la tensión de un pin y delay para hacer que después de
una acción espere un tiempo determinado

5. Copia el código del programa de la página 10 y explícalo.

DigitalWrite (13, HIGH)

Delay (1000)

DigitalWrite (13, LOW)

Delay (1000)

primero coloca para que el pin 13 tenga alta tensión, después coloca un comando
para que espere un segundo y después repite lo mismo pero esta vez lo coloca para
que no tenga voltaje

6. Modifica el programa de la pregunta anterior para que ejecute las siguientes


acciones:
1. Que se encienda y apague el led muy rápido, cada 200 milisegundos.

DigitalWrite (13, HIGH)


Delay (200)

DigitalWrite (13, LOW)

Delay (200)

2. Que se encienda el led durante medio segundo y se apague durante un


segundo.

DigitalWrite (13, HIGH)

Delay (500)

DigitalWrite (13, LOW)

Delay (1000)

3. Que se encienda y apague el led durante 1 segundo, pero sólo dos veces en
total, no repetidamente. Esto debe suceder cada vez que se encienda la
placa o se pulse el botón Reset. Una pista: La función loop() debe estar
vacía.

void setup() {

DigitalWrite (13, HIGH)

Delay (1000)

DigitalWrite (13, LOW)

Delay (1000)

7. ¿Cómo se traspasa el programa que hemos creado en nuestro ordenador a


la placa Arduino?

conectándolo con el usb y seleccionando el puerto

8. ¿Qué es la programación visual? Cita el nombre de un editor de


programación visual para Arduino.

Es un tipo de programación más sencillo que permite que el uso de Arduino sea
incluso aún más accesible para las personas. Arduino Blocks es un programa de
programación visual
4. Salidas digitales
1. ¿Qué hace el microcontrolador de Arduino para encender un actuador
conectado a una de sus salidas digitales?

Lo que hace es enviar una corriente de 5V

2. ¿Qué hay que poner en un programa de Arduino para activar la salida digital
8? ¿Y para desactivarla?

Hay que poner primero pinMode(13, OUTPUT); y después tienes que poner
digitalWrite(13, HIGH) y digitalWrite(13, LOW).

3. ¿Qué es una protoboard o placa de pruebas? Dibuja un esquema de las


conexiones eléctricas internas que tiene la protoboard de la práctica.

es una placa que nos permite conectar distintos componentes para hacer un circuito
electrónico.

4. Dibuja el esquema eléctrico del circuito de la práctica e indica el nombre de


los componentes.
5. Explica cómo funciona el programa que controla el circuito de la práctica

lo que hace el programa es activar la salida, esperar 1 segundo, volver a


desactivarla y esperar un segundo otra vez

6. Modifica el programa para hacer que el led del circuito externo parpadee
cada 250 milisegundos y pruébalo en la placa.

void loop(){

digitalWrite(13, HIGH);

delay(250);

digitalWrite(13, LOW);
delay(250);

7. ¿Para qué sirven los simuladores de Arduino? Cita dos de ellos.

para hacer pruebas sin tener que hacer el montaje del circuito. Tinkercad y Wokwi.

8. ¿Cómo se puede encender y apagar un receptor que tenga mucha potencia


utilizando Arduino?

Se puede realizar conectando un módulo de potencia


5. Salidas digitales 2
1. Dibuja el esquema eléctrico del circuito de la práctica e indica el nombre de
los componentes.

2. ¿Para qué sirve el pin GND en el circuito de la práctica?

para conectar los polos negativos

3. Di si estas afirmaciones sobre el circuito de la práctica son ciertas o no:


a) Los terminales negativos de los 3 ledes están conectados entre sí y con el
pin GND. verdadero
b) Los terminales positivos de los 3 ledes están conectados entre sí a través
de resistores intercalados. falso esta cada uno conectado a un pin distinto
4. ¿Qué es un algoritmo? ¿Y un diagrama de flujo?

es cada paso que queremos que haga un programa. Un diagrama de flujo es la


representación gráfica de un algoritmo.

5. Explica cómo funciona la versión 1 del programa

Es un código muy simple en el que se le da la orden de encederse esperar y


apagarse a cada uno de los leds

6. ¿Qué es una variable? ¿Qué ventaja tiene poner la variable "timer" en la


versión 2 del programa?

Es un valor que se le pone a una palabra en concreto. Que es más simple que
poner el número

7. ¿Qué es la página de referencia del lenguaje de programación de Arduino?

es una web donde podemos ver códigos del lenguaje escrito.

8. Busca en ella qué dos valores puede tener una variable de tipo bool.

true y false

9. Explica cómo funciona el bucle for de la versión 3 del programa.

Lo que hace es decirle al programa que se cambien pines entre 2 y menor que 5

10. El circuito usa las salidas digitales 2, 3 y 4 para controlar los ledes, ¿cómo
debería ser el código de la versión 3 del programa si se usan las salidas
digitales 5, 6 y 7?
for (int thisPin = 5; thisPin < 8; thisPin++) {

11. El programa enciende secuencialmente los ledes de derecha a izquierda,


¿cómo debería ser el código de la versión 3 del programa si queremos que
los ledes se enciendan de izquierda a derecha?

for (int thisPin = 4; thisPin > 1; thisPin++) {


6. Entradas digitales 1
1. ¿Para qué sirven las entradas digitales? Explica brevemente cómo funcionan.

sirven para que el arduino pueda detectar lo que pasa en el exterior. Cuando
reciben 5V de potencia el pin envía esa información al programa.

2. En Arduino los pines de las entradas digitales son los mismos que los de las
salidas digitales, ¿cómo se le dice a Arduino que un pin digital debe funcionar
como entrada? ¿Y como salida?

Se pone en pinMode (INPUT) para entrada y (OUTPUT) para salida.

3. ¿Cuáles son los sensores digitales más comunes?

son los pulsadores los sensores de final de carrera, magnéticos, de inclinación y de


nivel de líquidos.

4. Explica el código de la versión 1 del programa.

Lo que hace el código es decirle que si el pin 12 detecta potencia de entrada el pin 2
de potencia.

5. Modifica la versión 1 del programa para hacer que el led esté siempre
encendido y se apague al pulsar el botón. Escribe aquí el código necesario.

buttonState = digitalRead (buttonPin);

if (buttonState == HIGH) {

digitalWrite(ledPin, LOW);

else {

digitalWrite(ledPin, HIGH);

6. Modifica la versión 1 del programa para crear una luz temporizada. Al pulsar
una vez el botón el led deberá encenderse y mantenerse encendido durante
3 segundos. Cuando se acabe este tiempo el led deberá apagarse
automáticamente, como en una luz de escalera. Para conseguirlo debes usar
la función delay(). Escribe aquí el código necesario.

buttonState = digitalRead (buttonPin);

if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);

delay (3000)

digitalWrite(ledPin, LOW)

else {

digitalWrite(ledPin, LOW);

7. Explica cómo funciona el bucle while en la versión 2 del programa.

lo que hace el bucle while es que mientras el botón esté pulsado el led se
encienda y se apague
7. Entradas digitales 2

1. Los sensores magnéticos y los sensores de final de carrera se pueden usar


para controlar si una puerta está abierta o no, ¿cómo funcionan?

funcionan detectando si están siendo pulsados o no

2. Explica el diagrama de flujo de la página 7.

primero se comprueba si está siendo pulsada las dos, si la respuesta es sí entonces


se mostrará que las dos puertas están abiertas, si la respuesta es no entonces se
comprobará si solo la puerta uno está abierta si la respuesta es que sí entonces se
mostrará que la puerta 1 está abierta, si no se comprobara si la puerta 2 está abierta
si la respuesta es sí se mostrará que la puerta 2 está abierta, si la respuesta es no
se mostrará que las dos puertas están cerradas y después se espera un segundo a
repetir este proceso

3. ¿En qué consiste la comunicación serie? Qué código tenemos que poner en
el programa de una placa Arduino para que inicie una comunicación serie con
el ordenador al que está conectada.

Consiste en el envío de información en 0 y 1 al ordenador a través de Arduino. Hay


que poner Serial.begin

4. ¿Qué es el Monitor serie del IDE de Arduino?

Una ventana de información que nos muestra la información que llega desde
Arduino

5. ¿En qué consiste la estructura de programación if... else if... else? Pon un
ejemplo que no salga en la miniunidad.

funcionan como condiciones que se les pone para que mande una información. si no
se da uno pasa al siguiente para ver si se están dando condiciones para mandar
información

6. Añade al circuito de la miniunidad un led que se encienda cuando alguna de


las dos puertas esté abierta. Escribe aquí el código necesario. Te será de
ayuda volver a consultar la miniunidad anterior.

void loop()

delay(5000);
pulsador1 = digitalRead(7);

pulsador2 = digitalRead(12);

if (pulsador1 == 0 && pulsador2 == 0) {

Serial.println("puertas 1 y 2 abiertas");

tone(10, 523, 1000);

digitalwrite(10, HIGH);

} else {

if (pulsador1 == 1 && pulsador2 == 1) {

Serial.println("puertas 1 y 2 cerradas");

} else {

if (pulsador1 == 0) {

Serial.println("puerta1 abierta");

tone(10, 523, 1000);

DigitalWrite(10, HIGH);

if (pulsador2 == 0) {

Serial.println("puerta2 abierta");

tone(10, 523, 1000);

DigitalWrite(10, HIGH)

}
7. Modifica el programa de la miniunidad para que se comporte como sigue: Al
presionar los dos pulsadores se muestra: "Los dos botones están pulsados".
Al presionar solo el pulsador 1: "El botón 1 está pulsado". Al presionar solo el
pulsador 2: "El botón 2 está pulsado". Ningún pulsador presionado: "Ningún
botón está pulsado". Escribe aquí el código.

delay(5000);

pulsador1 = digitalRead(7);

pulsador2 = digitalRead(12);

if (pulsador1 == 0 && pulsador2 == 0) {

Serial.println("2 botones pulsados");

tone(10, 523, 1000);

} else {

if (pulsador1 == 1 && pulsador2 == 1) {

Serial.println("ningun boton presionado");

} else {

if (pulsador1 == 0) {

Serial.println("boton1 pulsado");

tone(10, 523, 1000);

if (pulsador2 == 0) {

Serial.println("boton2 pulsado");

tone(10, 523, 1000);

}
8. Sustituye las líneas 15 a 26 del programa de la miniunidad por el siguiente
código:

línea 15: if (buttonState1 == LOW || buttonState2 == LOW) {


línea 16: Serial.println("Hay puertas abiertas.");
línea 17: }
línea 18: else {
línea 19: Serial.println("No hay puertas abiertas.");
línea 20: }

¿Qué significan las dos líneas verticales paralelas después del primer LOW?
¿Cómo funcionará este programa?

significan que se puede dar una o la otra y que no es necesario que se den las 2

funciona viendo si hay una puerta abierta, si es así entonces comunica que hay
puertas abiertas abiertas. Si no entonces dice que no hay puertas abiertas

8. Entradas analógicas

1. ¿En qué se diferencian las entradas analógicas de las entradas digitales?

en que las entradas analógicas detectan valores de entre 0 a 5 V mientras que las digitales
detectan el valor 0 o 5

2. ¿Cuántas entradas analógicas tiene Arduino UNO? ¿Cuáles son los pines de las
entradas analógicas?

tienen 6 entradas analógicas. A0 A1 A2 A3 A4 y A5

3. Explica qué pasa en la simulación de la página 2 cuando subimos o bajamos la


intensidad luminosa. ¿Por qué decimos que una LDR es un sensor analógico?

que cuanta más luz incide en él más corriente pasa y llega a la entrada analógica. Sí ya que
consigue valores intermedios y no valores 0 o 1

4. ¿Qué es un potenciómetro? ¿Cómo es por dentro?

El potenciómetro es una resistencia variable. Por dentro tiene una pista resistiva que une el
terminal A con el C y una placa metálica giratoria unida al B que roza la pista resistiva.

5. ¿Cómo es posible que haya sensores de temperatura digitales si la temperatura es


un parámetro analógico?
porque los mandan codificados en código binario.

6. ¿Para qué sirven las funciones analogRead(), Serial.begin() y Serial.println()?

para que el sensor analógico se ponga en modo entrada, para que la comunicación serial
entre el ordenador y el Arduino sea en la frecuencia que tú quieras y para que el Arduino
mande una señal al ordenador

7. ¿Qué son los números que aparecen en el monitor serie en la práctica 1? ¿Qué
ocurre cuando se gira el eje del potenciómetro?

la tensión que llega a la entrada analógica. Que o los números y la tensión aumenta o
disminuye dependiendo de qué dirección hayas girado el potenciómetro

8. ¿Cómo se decide cuándo se enciende o apaga el led en la versión 1 de la práctica


2?

Cuando la tensión que llega a la entrada analógica es mayor o igual a 512 se apaga el led.
En caso contrario se apaga

9. En la versión 2 de la práctica 2 se sustituye el potenciómetro por una LDR, ¿en qué


cambia el comportamiento del circuito?

En que ahora el circuito sirve como detector de luz

10. Si la tensión que recibe una entrada analógica en Arduino UNO está comprendida
entre 0 y 5 V, pero el microcontrolador la “traduce” a un valor proporcional
comprendido entre 0 y 1023, ¿cómo se podría obtener la tensión que hay en la
entrada analógica a partir del valor generado por el microcontrolador? Modifica el
programa de la práctica 1 para que muestre la tensión. Si no sabes cómo
solucionarlo, mira en: docs.arduino.cc/built-in-examples/basics/ReadAnalogVoltage.

También podría gustarte