La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

3.0 TALLER DE ARDUINO PRESENTACIÓN PARA ALUMNOS DE CUARTO CURSO DE EDUCACIÓN SECUNDARIA OBLIGATORIA.

Presentaciones similares


Presentación del tema: "3.0 TALLER DE ARDUINO PRESENTACIÓN PARA ALUMNOS DE CUARTO CURSO DE EDUCACIÓN SECUNDARIA OBLIGATORIA."— Transcripción de la presentación:

1 3.0 TALLER DE ARDUINO PRESENTACIÓN PARA ALUMNOS DE CUARTO CURSO DE EDUCACIÓN SECUNDARIA OBLIGATORIA

2 ¿QUÉ ES ARDUINO? Arduino es básicamente un SISTEMA DE CONTROL de hardware libre . Está formado por: una placa de circuito impreso dotada de componentes con: Entradas y salidas analógicas y Entradas y salidas digitales. Un entorno de desarrollo de software

3 ¿QUÉ ES ARDUINO? La idea del uso de Arduino es que se utilice como elemento programable que sirva para adquirir datos procedentes de sensores y sea capaz de emitir en consecuencia señales a los elementos actuadores Actuador 1 Sensor 1 Actuador 2 Sensor 2 Sensor 3 Actuador n Sensor n

4 Las conexiones de Arduino
Salidas digitales Entradas digitales Observa las diferentes conexiones de Arduino y cómo están distribuidas. Ten en cuenta que cada terminal tendrá una función Conector USB Conector de Alimentación (6-12 V) Pines de alimentación Entradas analógicas

5 El entorno de desarrollo IDE
Para que Arduino sepa como llevar a cabo una tarea, hay que escribir un programa TENDREIS QUE DESCARGAR E INSTALAR EN EL ORDENADOR, EL ENTORNO DE DESARROLLO DE ARDUINO IDE Para programar Arduino es necesario descargarse de la página web de Arduino el entorno de desarrollo (IDE), disponible para Windows, MAC y LINUX.

6 El entorno de desarrollo IDE
1. Conecta la placa de Arduino al puerto USB del ordenador y carga en IDE el ejemplo BLINK 2. CONECTA EL ÁNODO DE UN DIODO LED AL PIN 13 Y EL CÁTODO A GND 3. Observa como el diodo LED se pone a parpadear. Ahora busca en el programa la función DELAY y modifica su valor numérico. Verás como parpadea más lento o más rápido según el valor que hayas asignado

7 Conectando el hardware
Para conectar los dispositivos y componentes de un circuito tendrás que utilizar una placa de circuito impreso o una Protoboard. OBSERVA ESTE EJEMPLO Esquema eléctrico de un circuito para controlar el encendido de un diodo LED, según el nivel de iluminación detectado por un sensor LDR CIRCUITO DE ENTRADA CIRCUITO DE SALIDA ARDUINO

8 Conectando el hardware
Tendréis que hacer acopio de una resistencia de 10K, una de 470 ohm, un diodo LED y un sensor LDR Y conectarlos de la siguiente forma: CIRCUITO DE ENTRADA CIRCUITO DE SALIDA ARDUINO Vcc Señal de salida Señal de entrada GND

9 Conectando el hardware
Observa como son las conexiones en Arduino Realiza el listado de cableado Haz una lista de cables que se hayan conectado entre los componentes y los terminales de Arduino CIRCUITO DE ENTRADA CIRCUITO DE SALIDA

10 Escribiendo el software
Escribe el siguiente código y fíjate bien en las expresiones que se emplean para cada línea. Trata de interpretar el programa. // Sensor de luminosidad // Utilizando una LDR como sensor de entrada // Y un LED conectado a una salida digital int LED = 11; //El LED esta en el pin 11 int LDR = A0; //El sensor en la entrada A0 int LDR_val = 0; //Variable para almacenar lectura int UMBRAL = 500; void setup() { pinMode(LED, OUTPUT); // Define pin del LED como salida } void loop() LDR_val = analogRead(LDR); // Lee el valor luminosidad if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo digitalWrite(LED, LOW); // si es bajo, se apaga el LED else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED // Sensor de luminosidad // Utilizando una LDR como sensor de entrada // Y un LED conectado a una salida digital int LED = 11; //El LED esta en el pin 11 int LDR = A0; //El sensor en la entrada A0 int LDR_val = 0; //Variable para almacenar lectura int UMBRAL = 500; void setup() { pinMode(LED, OUTPUT); // Define pin del LED como salida } void loop() LDR_val = analogRead(LDR); // Lee el valor luminosidad if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo digitalWrite(LED, LOW); // si es bajo, se apaga el LED else if (LDR_val < UMBRAL) // Si el nivel es elevadado... digitalWrite(LED, HIGH); // se enciende el LED

11 Interpreta el software
Asignación de valores numéricos a expresiones de constantes (LED, LDR, LDR_val y UMBRAL) // Sensor de luminosidad // Utilizando una LDR como sensor de entrada // Y un LED conectado a una salida digital int LED = 11; //El LED esta en el pin 11 int LDR = A0; //El sensor en la entrada A0 int LDR_val = 0; //Variable para almacenar lectura int UMBRAL = 500; void setup() { pinMode(LED, OUTPUT); // Define pin del LED como salida } void loop() LDR_val = analogRead(LDR); // Lee el valor luminosidad if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo digitalWrite(LED, LOW); // si es bajo, se apaga el LED else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED Parte Setup = Preparación del programa. Esta función se ejecuta una única vez y es empleada para configurar el pinMode Función Loop = Incluye el código que va a ser ejecutado continuamente (leyendo las entradas de la placa, salidas, etc.)

12 Los tipos de datos en Arduino
Arduino permite manejar los siguientes tipos de datos: BYTE  Almacena un valor numérico de 8 bits. Tienen un rango de INT Almacena un valor entero (INTEGER) de rango de 32,767 a -32,768. LONG  ƒValor entero (LONG INTEGER) almacenado en 32 bits con un rango de 2,147,483,647 a -2,147,483,648. FLOAT  Tipo coma flotante almacenado en 32 bits con un rango de E+38 a E+38. Arrays: Se trata de una colección de valor es que pueden ser accedidos con un número de índice (el primer valor del índice es 0). Observa este ejemplo de utilización: Definición y asignación. int myArray[] = {value0, value1, value2...} Definición. int myArray[5]; // declara un array de 6 enteros Asignación del cuarto componente. myArray[3] = 10; Recuperar el cuarto componente y asignarlo a x. x = myArray[3]

13 Funciones con las entradas y salidas en Arduino
Función pinMode(pin, mode) Se emplea en la función setup() para determinar el comportamiento del terminal “pin” como entrada (INPUT) o como salida (OUTPUT). Los terminales de Arduino funcionan por defecto como entradas. Esto significa que no es necesario declarar el comportamiento de un terminal como entrada empleando esta función pinMode(). Por ejemplo, la expresión pinMode(11, OUTPUT); configura el pin número 11 como de salida.

14 Funciones con las entradas y salidas en Arduino
Función digitalRead(pin) Devuelve el valor de un terminal digital específico. Devuelve un valor alto (HIGH) o bajo (LOW). El pin puede ser especificado con una variable o una constante (0-13). Por ejemplo en la expresión V = digitalRead(Pin); el valor digital de la variable Pin se trasladará a la variable V. Función digitalWrite(pin, value) Se escribe en el terminal PIN un nivel alto (HIGH) o nivel bajo (LOW) que se indicará en el lugar de VALUE. En lugar de un número (0-13) de terminal se puede especificar una variable Por ejemplo, para hacer que aparezca un valor lógico HIGH en el terminal 11 se utilizará la expresión digitalWrite(11, HIGH);

15 Funciones con las entradas y salidas en Arduino
Función analogRead(pin) Mediante analogRead, se lee el valor del pin analógico con resolución de 10 bits (210 combinaciones = 1024). Esta función solo es aplicable en los pines analógicos (terminales de 0 a 5). El valor resultante es un entero de 0 a Los pines analógicos, a diferencia de los digitales no necesitan declararse previamente como INPUT o OUTPUT. Función analogWrite(pin, value) Escribe un valor analógico. Esta función está activa para los pines 3, 5, 6, 9, 10, 11. Por ejemplo, la expresión analogWrite(3, v);indica que se escribirá el valor de “v” en el terminal 3 analógico. Se puede especificar un valor entre 0 y 255 (lo que corresponde a una resolución de 8 bits). El rango analógico es de 0-5 voltios, con lo que un valor 0 genera 0 V en el pin especificado y 255 genera 5 V. Para valores de 0 a 255, el pin alterna rápidamente entre 0 V y 5 V, cuanto mayor sea el valor, más a menudo el pin se encuentra en HIGH (5 V). Por ejemplo, un valor de 64 será 0 V tres cuartas partes del tiempo y 5 V una cuarta parte. Un valor de 128 será 0 V la mitad del tiempo y 5 V la otra mitad. Un valor de 192 será 0 V una cuarta parte del tiempo y 5 V tres cuartas partes.

16 Funciones con las entradas y salidas en Arduino
Funciones de tiempo y funciones matemáticas Función delay(ms). Realiza una pausa en el programa la cantidad de tiempo en milisegundos especificada en el parámetro (entre 1 y 1000). Función millis(). Devuelve la cantidad de milisegundos que lleva la placa Arduino ejecutando el programa actual. Después de 9 horas el contador se resetea. Función min(x,y). Devuelve el valor mínimo de los valores de x e y Función max(x,y). Devuelve el valor máximo de los valores de x e y

17 Funciones con las entradas y salidas en Arduino
Funciones de generación aleatoria Función random(max) devuelve un valor aleatorio entre 0 y el número max Función random(min, max) devuelve un valor aleatorio entre los valores min y max Función randomSeed(seed)  Especifica un valor inicial (semilla) como el punto de inicio para la función random(). Este parámetro debe ser realmente aleatorio y para ello puede emplearse la función millis() o incluso analogRead() para leer ruido eléctrico desde una entrada analógica.

18 La sintaxis condicional
La sintaxis empleada para definir una condición es ya casi universal en todos los lenguajes de programación. La estructura propone una prueba lógica con dos respuestas (SI = CIERTO) o (NO=FALSO) Prueba o pregunta NO SI Acción B Acción A

19 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿PREPARADO PARA CONTESTAR UNAS PREGUNTAS DE RECONOCIMIENTO? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

20 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Cuál es la prueba o pregunta en este código? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

21 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Cuál es la prueba o pregunta CIERTA en este código? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

22 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Qué ocurre si la prueba es CIERTA? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

23 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Qué ocurre si la prueba es CIERTA? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

24 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Cuál es el caso opuesto de la prueba o pregunta? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

25 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Cuál es el caso opuesto de la prueba o pregunta? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

26 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Qué ocurre si la prueba es FALSA? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

27 Observa este algoritmo y mira como es el código para Arduino
La sintaxis condicional Observa este algoritmo y mira como es el código para Arduino ¿Qué ocurre si la prueba es FALSA? Prueba o pregunta NO if (LDR_val >= UMBRAL) // Comprueba si el nivel es bajo { digitalWrite(LED, LOW); // si es bajo, se apaga el LED } else if (LDR_val < UMBRAL) // Si el nivel es elevado... digitalWrite(LED, HIGH); // se enciende el LED SI Acción B Acción A

28 Revisa el montaje y el código de este programa y explica como funciona
Software Hardware int ledPin= 13; // el terminal 13 se llama LED int inPin= 5; // el terminal 5 se llama inPin (es el pulsador) int val= 0; // variable para leer el status del terminal void setup() { pinMode(ledPin, OUTPUT);// declara el LED como salida pinMode(inPin, INPUT); // declare el pulsador como ENTRADA } void loop(){ val= digitalRead(inPin);// lee valor de entrada if(val== HIGH) {// chequea si el valor leído es “1” (botón presionado) digitalWrite(ledPin, LOW);// pone el LED en OFF } else{ digitalWrite(ledPin, LOW);// parpadea el LED delay(200); digitalWrite(ledPin, HIGH); }

29 Revisa el montaje y el código de este programa y explica como funciona
Software Hardware int ledPin= 13; // el terminal 13 se llama LED int inPin= 5; // el terminal 5 se llama inPin (es el pulsador) int val= 0; // variable para leer el status del terminal void setup() { pinMode(ledPin, OUTPUT);// declara el LED como salida pinMode(inPin, INPUT); // declare el pulsador como ENTRADA } void loop(){ val= digitalRead(inPin);// lee valor de entrada if(val== HIGH) {// chequea si el valor leído es “1” (botón presionado) digitalWrite(ledPin, LOW);// pone el LED en OFF } else{ digitalWrite(ledPin, LOW);// parpadea el LED delay(200); digitalWrite(ledPin, HIGH); } LA RESPUESTA ES : Cuando se pulsa el pulsador (entrada5 a “0”) se enciende y se apaga de forma intermitente la salida 13 . Esto hace que Arduino se comporte como una alarma cuando alguién toca el pulsador, emitiendo una intermitencia en el actuador visual (LED)

30 Ahora, experimentad en clase y practicad con otros montajes.
3.0 Ahora, experimentad en clase y practicad con otros montajes. Poneos ahora en marcha para utilizar vuestro Arduino en el desarrollo de vuestra innovación TALLER DE ARDUINO


Descargar ppt "3.0 TALLER DE ARDUINO PRESENTACIÓN PARA ALUMNOS DE CUARTO CURSO DE EDUCACIÓN SECUNDARIA OBLIGATORIA."

Presentaciones similares


Anuncios Google