Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3....

15
Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento de Tecnología Electrónica Noviembre 2013

Transcript of Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3....

Page 1: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Práctica 3. Entradas/Salidas Digitales con Arduino

Manuel Jiménez Buendía

José Alfonso Vera Repullo Departamento de Tecnología Electrónica

Noviembre 2013

Page 2: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Índice

Electrónica Industrial 2

Índi

ce

1. Conocimientos previos. 1.1. Identificación y medida de resistencias.

1.2. Repaso de medidas de tensión, continuidad e intensidad con el polímetro

1.3. Polarización de un diodo LED.

1.4. Conexión de entradas. Pull-Up y Pull-Down. 1.5. Placa de pruebas.

2. Utilización de LEDs, sensores Tilt, interruptores y Buzzers con Arduino.

2.1 Caso de estudio propuesto.

2.2 Esquemático propuesto.

2.3 Código fuente.

3. Uso de LEDs RGB con Arduino. 3.1 El LED RGB.

3.2 Esquemático propuesto.

3.3 Código fuente.

4. Diseño propuesto.

Page 3: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Conocimientos Previos

Electrónica Industrial 3

Resistencias Para obtener el valor nominal y la tolerancia de una resistencia se utiliza un código de colores:

Verde-Azul-Amarillo-Marrón

Rojo-Naranja-Violeta-Negro-Marrón

Page 4: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Conocimientos Previos

Electrónica Industrial 4

Repaso del polímetro

Page 5: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Conocimientos Previos

Electrónica Industrial 5

Polarización de un diodo LED Identificación de terminales Circuito de Polarización

Comprobación y medida de diodos

Page 6: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Conocimientos Previos

Electrónica Industrial 6

Placa de pruebas (breadboard)

Page 7: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Conocimientos Previos

Electrónica Industrial 7

Conexión de entradas Cuando una línea digital de entrada de un micro-controlador no está conectada a nada ofrece un valor por defecto (‘1’ ó ‘0’) que depende del diseño del micro-controlador.

‘1’ lógico en reposo

Solución: Conexión de resistencias de Pull-Up y Pull-Down

‘0’ lógico en reposo

Arduino incluye resistencias internas de pull-up que pueden ser utilizadas al configurar el pin de entrada digital.

Syntax pinMode(pin, mode) Parameters pin: the number of the pin whose mode you wish to set. mode: INPUT, OUTPUT, or INPUT_PULLUP. Returns None

Page 8: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

LEDs, sensores Tilt, SWs y Buzzers

Electrónica Industrial 8

Caso de estudio Se pretende simular el sistema de un camión para la activación de la luz de marcha atrás, así como el aviso de que la bañera está en movimiento. • Un interruptor simula la selección de la marcha atrás.

• Un sensor de tipo Tilt indica que la bañera está en movimiento.

• Un diodo LED simula la luz de marcha atrás.

• Un buzzer indica de un modo sonoro que la bañera está en movimiento.

Page 9: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

LEDs, sensores Tilt, SWs y Buzzers

Electrónica Industrial 9

Esquemático propuesto

• LED. Cátodo-GND. Anódo-resistencia de 330 Ω-pin 13.

• Buzzer. Terminal negativo-GND. Terminal positivo-resistencia 330 Ω-pin 12.

• Interruptor. Extremo-GND. Terminal central-pin 11.

• Tilt sensor. GND-Tilt sensor-pin 10.

Page 10: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

LEDs, sensores Tilt, SWs y Buzzers

Electrónica Industrial 10

Código fuente

int ledPin = 13; int buzzerPin = 12; int switchPin = 11; int tiltSensorPin = 10; int switchValue = 0; int tiltValue = 0; void setup() pinMode(ledPin, OUTPUT); pinMode(buzzerPin, OUTPUT); pinMode(switchPin, INPUT_PULLUP); pinMode(tiltSensorPin, INPUT_PULLUP);

void loop() switchValue = digitalRead(switchPin); if (switchValue == LOW) digitalWrite(ledPin, HIGH); tiltValue = digitalRead(tiltSensorPin); if (tiltValue == LOW) digitalWrite(buzzerPin, HIGH); delay(500); digitalWrite(buzzerPin, LOW); else digitalWrite(ledPin, LOW); delay(500);

Page 11: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

LEDs RGB

Electrónica Industrial 11

El LED RGB Engloba tres diodos LED en el mismo encapsulado: Rojo, Azul y Verde. Este diseño consiste en poder activar los tres canales del LED RGB de manera independiente (tres botones). Para identificar el terminal común se puede utilizar el polímetro.

Page 12: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

LEDs RGB

Electrónica Industrial 12

Esquemático propuesto

• Pulsador componente B. Pull-Up. Pin 8.

• Pulsador componente G. Pull-Down. Pin 9.

• Pulsador componente R. Pull-Up. Pin 10.

• LED RGB. Conexión ánodo (+) común. Las componentes R, G y B, están conectadas con los pines 13, 12 y 11, respectivamente.

• Las resistencias de los pulsadores son de 10 kΩ.

• Las resistencias de los canales del LED RGB son de 330 Ω.

Page 13: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

LEDs RGB

Electrónica Industrial 13

Código fuente

int ledRPin = 13; int ledGPin = 12; int ledBPin = 11; int swRPin = 10; int swGPin = 9; int swBPin = 8; int r = 0, g = 0, b = 0; void setup() pinMode(ledRPin, OUTPUT); pinMode(ledGPin, OUTPUT); pinMode(ledBPin, OUTPUT); pinMode(swRPin, INPUT); pinMode(swGPin, INPUT); pinMode(swBPin, INPUT);

void loop() r = digitalRead(swRPin); g = digitalRead(swGPin); b = digitalRead(swBPin); if (r == LOW) digitalWrite(ledRPin, LOW); else digitalWrite(ledRPin, HIGH); if (g == HIGH) digitalWrite(ledGPin, LOW); else digitalWrite(ledGPin, HIGH); if (b == LOW) digitalWrite(ledBPin, LOW); else digitalWrite(ledBPin, HIGH);

Page 14: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Diseño Propuesto

Electrónica Industrial 14

Descripción Emplear los conocimientos adquiridos durante la prácticas para diseñar una luz navideña que realice una secuencia en uno o varios LEDs, y que además incluya una secuencia sonora usando el buzzer. La selección de la secuencia puede ser automática o utilizar interruptores y pulsadores para elegir una secuencia determinada. Se puede utilizar el LED RGB, los LEDs simples, así como una combinación de los anteriores. Para facilitar la generación de tonos se puede utilizar la biblioteca “tone” de Arduino. Se recomienda abrir el ejemplo “toneMelody” (ArchivoEjemplosDigital).

Syntax tone(pin, frequency) tone(pin, frequency, duration) Parameters pin: the pin on which to generate the tone frequency: the frequency of the tone in hertz - unsigned int duration: the duration of the tone in milliseconds (optional) - unsigned long

Syntax noTone(pin) Parameters pin: the pin on which to stop generating the tone

Page 15: Práctica 3. Entradas/Salidas Digitales con Arduino¡ctica3_v02.pdf · Práctica 3. Entradas/Salidas Digitales con Arduino Manuel Jiménez Buendía José Alfonso Vera Repullo Departamento

Manuel Jiménez Buendía José Alfonso Vera Repullo Universidad Politécnica de Cartagena Campus Muralla del Mar, s/n 30202 Cartagena

Tel. +34 968 32 54 75 +34 968 33 88 88 Fax. +34 968 32 53 45 E-mail [email protected] [email protected] Www www.cincubator.com