Seminario de Arduino
Upcoming SlideShare
Loading in...5
×
 

Seminario de Arduino

on

  • 5,070 views

 

Statistics

Views

Total Views
5,070
Views on SlideShare
5,070
Embed Views
0

Actions

Likes
3
Downloads
422
Comments
2

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • Como sensor de luminosidad se suele usar una LDR, que es una resistencia variable, según el nivel de luz. Se monta:
    +5V------R(1K)---------Vout---------LDR--------GND
    En Vout, habrá una tensión diferente según la luz. Si se conecta un canal analógico (AN0 por ejemplo), y se hace una lectura analógica tiene que funcionar. Haciendo uso de analogRead(0);, obtendremos el valor.
    Un Saludo, y espero haber sido de ayuda.
    Are you sure you want to
    Your message goes here
    Processing…
  • HOLA ESTA MUY BIEN TU MANUAL, UNA PREGUNTA MI SENSOR DE LUMINICIDAD NO LO RECONOCE QUE PUEDO HACER
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Seminario de Arduino Seminario de Arduino Presentation Transcript

  • Seminario de ArduinoJuan José Echevarría, Adolfo García
  • Índice ¿Qué es Arduino? Historia Plataformas relacionadas Proyectos sobre Arduino Placas Arduino Shields Arduino Entorno Arduino Configuración Programación Ejemplo programación Ejercicios Seminario Arduino
  • ¿Qué es Arduino? Plataforma Electrónica Software/Leguaje de Programación Sistema Open Source USO FÁCIL E INTUITIVO www.arduino.cc Seminario Arduino
  • ¿Para quién?  Diseñadores  Aficionados  Estudiantes  Artistas ¡¡ PARA TODOS !!Seminario Arduino
  • ¿Cómo surge Arduino? 2005 ->Instituto de Diseño Interactivo Ivrea (Italia)  David Cuartielles y Massimo Banzi Problemas existentes  Limitación tecnológica  Usuario no experto  Plataformas existentes ->complejas, especializadas o cerradas  Limitación económica Solución  Plataforma OpenSource ¡¡¡La comunidad Arduino tiene más de 120 mil usuarios!!!! Seminario Arduino
  • EvoluciónSeminario Arduino
  • Plataformas relacionadas Processing  Entorno de desarrollo para proyectos multimedia e interactivos  Diseño digital y procesado Wiring  Basado en Processing  Programación uC para no expertos  Arduino se basa en Wiring Fritzing  Entorno visual  Creación esquemas electrónicos Seminario Arduino
  • Proyectos con Arduino SECUduino -> controladora bus CAN ArduPilot -> control avión no tripulado Robótica -> robot araña controlado por voz Robótica -> control cámara pan/tilt con mando Wii Seguridad -> control de acceso mediante leds IoT -> control del estado de una planta mediante tweets Seminario Arduino
  • SECUduino: controladora de bus CAN SECUduino: controladora de bus CAN Seminario Arduino
  • Proyectos con Arduino SECUduino: controladora de bus CAN http://www.youtube.com/watch?v=_JQyTYB3Z oA Seminario Arduino
  • Proyectos con Arduino ArduPilot: UAV controlado por Arduino Seminario Arduino
  • Proyectos con Arduino ArduPilot http://www.youtube.com/watch?v=IvR3QM0iT Pw Seminario Arduino
  • Proyectos con Arduino Robot araña controlado por voz (Arduino+Processing) http://www.youtube.com/watch?v=wj8f9xL9_ Hw Seminario Arduino
  • Proyectos con Arduino Cámara con movimientos Pan/Tilt y mando Wii http://www.youtube.com/watch?v=MD_- YnFZFP8 Seminario Arduino
  • Proyectos con Arduino Cerradura con combinación RGB Seminario Arduino
  • Proyectos con Arduino IoT: Botanicalls Seminario Arduino
  • ¿Por qué usar Arduino? Sencilla Programación Rápido Prototipado Grabación mediante USB Gran extensibilidad todo tipo de sensórica y comunicaciones. “SHIELDS” SHIELD: Módulo extra para añadir funciones:  Ethernet, Wifi, Zigbee, GPRS,… Seminario Arduino
  • Placas: Arduino Uno uC ATmega 328 a 16MHz Flash 32KB RAM 2KB EEPROM 1KB 5 entradas Analógicas [0-5V] 14 Pines E/S Digitales  6 PWM Puerto serie (0,1) I2C (4,5) SPI (10, 11, 12, 13) Seminario Arduino
  • Placas: Arduino Mega2560 uC ATmega 2560 a 16MHz Flash 256KB RAM 8KB EEPROM 4KB 15 entradas Analógicas [0-5V] 54 Pines E/S Digitales  14 PWM 4 Puertos series (0-1,19-18,17-16,15- 14) I2C (20,21) SPI (50,51,52,53) Seminario Arduino
  • Placas: Arduino Duemilanove uC ATmega 168 a 16MHz Flash 16KB RAM 1kB EEPROM 512B 5 entradas Analógicas [0-5V] 14 Pines E/S Digitales  6 PWM Puerto serie SPI e I2C Seminario Arduino
  • Placas: Arduino Fio Orientado a aplicaciones inalámbricas Atmega328P a 8MHz 14 Entradas/Salidas digitales  6 PWM Pines de alimentación de 3.3V Conector para baterías Conector para módulos xbee Seminario Arduino
  • Placas: Arduino Nano Idénticas características que Duemilanove Alimentación a través de Mini-USB Pensado para aplicaciones embebidas Seminario Arduino
  • Placas: Arduino LilyPad Diseñado para prendas textiles Pequeño y ligero 14 E/S digitales  6 PWM Seminario Arduino
  • Shields Arduino Ethernet XBEE Wifi RelésSeminario Arduino
  • Características entorno Arduino Basado en C/C++ Uso librerías: programación por objetos (C++)  Serial.begin(9600); Entorno propio de desarrollo Uso librería familia AVR Seminario Arduino
  • Arduino IDE: configuración Descargar la última publicación de la página web -> www.arduino.cc Descomprimir fichero Conectar Arduino mediante USB  Si los drivers no se instalan automáticamente, buscar los drivers en la carpeta …/arduino-00xx/drivers Ejecutar aplicación Seleccionar en la interfaz el puerto serie Seleccionar en la interfaz la placa Arduino en uso Seminario Arduino
  • Arduino IDESeminario Arduino
  • Arduino IDE: interacción Funciones principales  Nuevo -> crear un programa en blanco  Guardar -> guardar el programa escrito (sketch)  Compilar -> comprueba errores en el código  Abrir -> abrir ejemplos hechos o programas propios  Descargar -> descargar el código a la plataforma  Monitor serie -> recepción y envío de caracteres/cadenas por puerto serie Seminario Arduino
  • Programación Estructura:  setup( )  Al inicio de un programa  Inicia variables, estado de pines, librerías, ...  loop()  Función principal del programa. Contiene la lógica.  Ejecución infinita Estructuras de control, operadores, tipos de datos…  C/C++ Constantes propias  HIGH/LOW  INPUT/OUTPUT Seminario Arduino
  • Programación Estructura: Inicialización Bucle Principal Seminario Arduino
  • Programación: funciones básicas Funciones E/S digitales:  pinMode(pin, modo); Inicialización  digitalWrite(pin, estado); Activación de una salida  Val=digitalRead(pin); Lectura de una entrada Funciones E/S analógicas:  analogWrite(pin, valor); Salida en PWM  Val=analogRead(pin); Entrada de PWM  val=map(val,ini,fin,ini2,fin2); Mapear valor Funciones puerto serie:  Val= Serial.read(); Recepción serie  Serial.print(a)/Serial.println(a); Imprimir en pantalla  Serial.write(a); Envío de un dato  Serial.begin(baudios); Inicialización serie  Val=Serial.available(); Número de bytes en puerto Función espera:  delay(ms) Retraso en milisegundos Seminario Arduino
  • Programación: periféricos Arduino Uno Salidas/ Entradas Digitales USBAlimentación 6-9 DC Alimentacione Entradas s AnalógicasSeminario Arduino
  • Shield desarrollada Conexiones  LDR: pin A0  Led rojo: pin 3  Led amarillo: pin 5  Led verde: pin 6  Pulsador 1: pin 4  Pulsador 2: pin 7  RFID: pin RX  Jumper desconectado para grabación  Jumper conectado para ejecución No conectar el jumper en los pines superiores Seminario Arduino
  • Ejemplo práctico: Semáforo Definición de variables  #define boton 4 //pin correspondiente al botón 1  #define ledRojo 3  #define ledAmbar 5  #define ledVerde 6 //pines correspondientes a los distintos leds  int estadoBoton = 0; //estado actual del botón Inicialización/Configuración  pinMode(boton, INPUT); //botón como entrada  pinMode(ledRojo, OUTPUT);  pinMode(ledAmbar, OUTPUT);  pinMode(ledVerde, OUTPUT); //leds como salidas  digitalWrite(ledVerde, HIGH); //estado inicial: led verde encendido  Serial.begin(9600); //iniciar puerto serie a 9600 Seminario Arduino
  • Ejemplo práctico: Semáforo Bucle principal  estadoBoton = digitalRead(boton); //leer estado botón  if (estadoBoton >0){ //si el estado es mayor que 0 (se ha pulsado)  delay(6000); //espera  digitalWrite(ledVerde, LOW);  digitalWrite(ledAmbar, HIGH); //cambio led a ambar  delay(2000); //espera  digitalWrite(ledAmbar, LOW);  digitalWrite(ledRojo, HIGH); //cambio led a rojo  Serial.println(“Se puede cruzar”);  delay(12000); //espera  digitalWrite(ledRojo, LOW);  digitalWrite(ledVerde, HIGH); //vuelta a led verde (estado inicial)  } Seminario Arduino
  • Ejemplo práctico : Semáforo Programa completo Seminario Arduino
  • PREGUNTAS
  • PAUSASeminario Arduino
  • Ejercicios Desarrollar una aplicación que obtenga datos de un sensor y según el valor de dicho sensor alimente de forma proporcional un led. Desarrollar una aplicación que obtenga datos de un sensor de luz (LDR) y active un led cuando la iluminación sea reducida. Desarrollar una aplicación que lea 2 tarjetas RFID, de forma que al pasar una de ellas encienda los leds, y al pasar la otra los apague. Seminario Arduino