SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Downloaden Sie, um offline zu lesen
Computación Física:
Introducción al Arduino
   Programando Arduino /
        Processing
Programación
• Se programa en un dialecto de C
• Se requiere (forzosamente) una función
  setup y una función loop
• Setup es la preparación
• Loop es la ejecución
Referencia - Estructura
•   Control Structures   •   Further Syntax
•   if                   •   ; (semicolon)
•   if...else            •   {} (curly braces)
•   for                  •   // (single line comment)
•   switch case          •   /* */ (multi-line comment)
•   while
•   do... while
•   break
•   continue
•   return
Referencia - Estructura
• Arithmetic           • Comparison
  Operators              Operators
• plus (addition)      • == (equal to)
• - (subtraction)      • != (not equal to)
• * (multiplication)   • < (less than)
• / (division)         • > (greater than)
• % (modulo)           • <= (less than or equal
                         to)
                       • >= (greater than or
                         equal to)
Referencia - Estructura
•   Boolean Operators
•   && (and)
•   || (or)
•   ! (not)
•   Compound Operators
•   ++ (increment)
•   -- (decrement)
•   += (compound addition)
•   -= (compound subtraction)
•   *= (compound multiplication)
•   /= (compound division)
Referencia - Variables
• Constants                         • Data Types
• Constants are particular values   • Variables can have various
  with specific meanings.             types, which are described
• HIGH | LOW                          below.
• INPUT | OUTPUT                    • boolean
• true | false                      • char
• Integer Constants                 • byte
                                    • int
                                    • unsigned int
                                    • long
                                    • unsigned long
                                    • float
                                    • double
                                    • string
                                    • array
Referencia - Funciones
•   Digital I/O                 • Advanced I/O
•   pinMode(pin, mode)          • shiftOut(dataPin,
•   digitalWrite(pin, value)      clockPin, bitOrder, value)
•   int digitalRead(pin)        • unsigned long
•   Analog I/O                    pulseIn(pin, value)
•   int analogRead(pin)         • Time
•   analogWrite(pin, value) -   • unsigned long millis()
    PWM                         • delay(ms)
                                • delayMicroseconds(us)
Referencia - Funciones
•   Math                    •   Serial Communication
•   min(x, y)               •   Serial.begin(speed)
•   max(x, y)               •   int Serial.available()
•   abs(x)                  •   int Serial.read()
•   constrain(x, a, b)      •   Serial.flush()
•   Random Numbers          •   Serial.print(data)
•   randomSeed(seed)        •   Serial.println(data)
•   long random(max)
•   long random(min, max)
Librerías
• ARDUINO                        • WIRING
• SoftwareSerial - for serial    • Matrix - Basic LED Matrix
  communication on any digital     display manipulation library
  pins                           • Sprite - Basic image sprite
• Stepper - for controlling        manipulation library for use in
  stepper motors                   animations with an LED matrix
• EEPROM - reading and writing   • Wire - Two Wire Interface
  to "permanent" storage           (TWI/I2C) for sending and
                                   receiving data over a net of
                                   devices or sensors. On the
                                   Arduino, SDA is on analog
                                   input pin 4, and SCL on analog
                                   input pin 5.
Librerias no oficiales
•   Simple Message System - send messages between Arduino and the
    computer
•   OneWire - control devices (from Dallas Semiconductor) that use the One
    Wire protocol.
•   LCD - control LCDs (using 8 data lines)
•   LCD 4 Bit - control LCDs (using 4 data lines)
•   LedControl - for controlling LED matrices or seven-segment displays with a
    MAX7221 or MAX7219.
•   TextString - handle strings
•   Metro - help you time actions at regular intervals
•   Servo - provides software support for Servo motors on any pins.
•   Servotimer1 - provides hardware support for Servo motors on pins 9 and 10
•   X10 - Sending X10 signals over AC power lines
•   LedControl - an alternative to the Matrix library for driving multiple LEDs
    with Maxim chips.
Ejemplos que veremos
•   Blink, hacer parpadear un LED
•   Ejercicios con LEDs
•   AnalogRead, leer una señal del ADC
•   AnalogWrite, escribir PWM
•   Ejercicios con Processing
•   Sonido piezoeléctrico
•   Display LCD
•   Motor CD
Blink
• Ya hay un LED SMD conectado al pin 13
• También se puede conectar un LED y
  observarlos simultáneamente
Blink - Código
int ledPin = 13; // LED connected to digital pin 13

void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}

void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); //waits for a second

}
Ejercicio
• Hacerlo parpadear con un tiempo de
  encendido de 500 ms y de apagado de
  2000 ms
Ejercicio 2
• Conectar 2 LEDs y hacer que parpadeen
  simultáneamente
• OJO: utilizando puertos diferentes
• Con esos 2 LEDs hacer que parpadeen
  alternadamente (ambos tiempos de 500
  ms)
• Hacer lo mismo con 3 LEDs (tiempo de
  ms)
AnalogRead
• Conectamos un potenciómetro como
  divisor de voltaje
• Leemos ese voltaje
• Un LED parpadea proporcionalmente al
  voltaje leído
AnalogRead - Código
int potPin = 2; // select the input pin for the potentiometer
Int ledPin = 13; // select the pin for the LED
int val = 0; // variable to store the value coming from the sensor

void setup()
{
pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT
}

void loop()
{
val = analogRead(potPin); // read the value from the sensor
digitalWrite(ledPin, HIGH); // turn the ledPin on
delay(val); // stop the program for some time
digitalWrite(ledPin, LOW); // turn the ledPin off
delay(val); // stop the program for some time

}
Ejercicios
• Invertir el sentido del potenciómetro sin
  cambiar las conexiones eléctricas
• Con Processing graficar el valor leído del
  potenciómetro
Para graficar con Processing
• http://www.arduino.cc/
  en/Tutorial/Graph
• Leeremos el puerto
                           void setup()
  análogo 0                {
                           Serial.begin(9600);
• Primero programar        }
  Arduino con el           void loop()
                           {
  siguiente código (sí,    Serial.println(analogRead(0));
  es realmente             delay(20);
  pequeño):                }
Para graficar con Processing
• Ahora cerrar la aplicación de Arduino y
  abrir Processing
• Volver a checar en Device Manager qué
  puerto tenemos asignado al COM USB
• Pegar el código de la página poniéndo
  atención en la sección que aparece en
  negrita en la siguiente diapositiva:
import processing.serial.*;
Serial port; String buff = "";
int NEWLINE = 10; // Store the last 64 values received so
   we can graph them.
int[] values = new int[64];
void setup() { size(512, 256);

println("Available serial ports:");
println(Serial.list());

port = new Serial(this, Serial.list()[0], 9600);
// If you know the name of the port used by the Arduino
   board, you
// can specify it directly like this.
//port = new Serial(this, "COM1", 9600); }

void draw() { background(53); stroke(255);
for (int i = 0; i < 63; i++)
line(i * 8, 255 - values[i], (i + 1) * 8, 255 - values[i +
   1]);
Debemos obtener esto:
Ejercicio
• Lograr escribir en la misma ventana de la
  gráfica el valor de la altura de la línea (el
  rango es de 0 a 255)
• Se sugiere promediar algunos valores
  para que el valor no oscile
• Se sugiere leer y entender el ejemplo
  examples > basics > typography > words
El resultado debe ser así:
Trabajo Independiente
• Investigar e implementar demostraciones
  de las siguientes técnicas:
• Switch debouncing
• Habilitar resistencia de Pull-Up para
  entradas digitales
Ejercicios Sugeridos
• Programar y mostrar un contador binario
  de 4 bits
• Programar secuencias de LED’s
  (incrementos lineales, El Auto Increíble,
  etc.)
• Reducir y aumentar el brillo de un LED
  con PWM
• Programar un vúmetro con una entrada
  análoga y 8 LED’s
Ejercicios Sugeridos
• Cargar la librería LCD para enviar
  mensajes a una pantalla de cristal líquido
• Leer el valor de temperatura de un sensor
  LM35
• Escribir ese valor en el display LCD
Ejercicios Sugeridos
• Utilizando Processing lograr variar la
  intensidad de un LED moviendo el mouse

Weitere ähnliche Inhalte

Was ist angesagt?

Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Jose Antonio Vacas
 
Arduino aplicado a la maqueta digital
Arduino aplicado a la maqueta digitalArduino aplicado a la maqueta digital
Arduino aplicado a la maqueta digitalDaniel Guisado
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Jose Antonio Vacas
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino El Gfe Davidson
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-unoAngelik Hdez
 
Arduino - Cuarta sesión
Arduino - Cuarta sesiónArduino - Cuarta sesión
Arduino - Cuarta sesiónJavier Gamarra
 
Workshop iniciacion arduino d2
Workshop iniciacion arduino d2Workshop iniciacion arduino d2
Workshop iniciacion arduino d2José Pujol Pérez
 
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Yamil Lambert
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTechAdolfo García
 
Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino3D Print Barcelona
 
S4 a + arduino
S4 a + arduinoS4 a + arduino
S4 a + arduinoVisemi VI
 
Presentación taller arduino
Presentación taller arduinoPresentación taller arduino
Presentación taller arduinogruposirp
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...Carlos Camacho
 

Was ist angesagt? (20)

Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
Seminario de Arduino
Seminario de ArduinoSeminario de Arduino
Seminario de Arduino
 
Arduino aplicado a la maqueta digital
Arduino aplicado a la maqueta digitalArduino aplicado a la maqueta digital
Arduino aplicado a la maqueta digital
 
Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014Curso intensivo de arduino createc3 d marzo 2014
Curso intensivo de arduino createc3 d marzo 2014
 
ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino ITT 18 Practicas Basicas de Arduino
ITT 18 Practicas Basicas de Arduino
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Arduino - Ejercicios Básicos
Arduino - Ejercicios BásicosArduino - Ejercicios Básicos
Arduino - Ejercicios Básicos
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
Introducción a arduino
Introducción a arduinoIntroducción a arduino
Introducción a arduino
 
Arduino - Cuarta sesión
Arduino - Cuarta sesiónArduino - Cuarta sesión
Arduino - Cuarta sesión
 
Workshop iniciacion arduino d2
Workshop iniciacion arduino d2Workshop iniciacion arduino d2
Workshop iniciacion arduino d2
 
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
 
Seminario de arduino DeustoTech
Seminario de arduino DeustoTechSeminario de arduino DeustoTech
Seminario de arduino DeustoTech
 
Curso de introducción a arduino
Curso de introducción a arduinoCurso de introducción a arduino
Curso de introducción a arduino
 
Arduino practicas
Arduino practicasArduino practicas
Arduino practicas
 
S4 a + arduino
S4 a + arduinoS4 a + arduino
S4 a + arduino
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
 
Presentación taller arduino
Presentación taller arduinoPresentación taller arduino
Presentación taller arduino
 
Proyecto Arduino y Proteus
Proyecto Arduino y ProteusProyecto Arduino y Proteus
Proyecto Arduino y Proteus
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
 

Ähnlich wie Tutorial arduino 03 programación

P4: Kiwibot Basic Shield: Interruptor crepuscular
P4: Kiwibot Basic Shield: Interruptor crepuscularP4: Kiwibot Basic Shield: Interruptor crepuscular
P4: Kiwibot Basic Shield: Interruptor crepuscularJosé Pujol Pérez
 
Taller fabricación de robots-d1
Taller fabricación de robots-d1Taller fabricación de robots-d1
Taller fabricación de robots-d1José Pujol Pérez
 
Introducción a la Programación de Arduino.pptx
Introducción a la Programación de Arduino.pptxIntroducción a la Programación de Arduino.pptx
Introducción a la Programación de Arduino.pptxmaamunozt
 
Introducción arduino
Introducción arduinoIntroducción arduino
Introducción arduinotoni
 
presentación arduino, ARDUINO Y SUS PARTES
presentación arduino, ARDUINO Y SUS PARTESpresentación arduino, ARDUINO Y SUS PARTES
presentación arduino, ARDUINO Y SUS PARTESjairomauriciocamargo
 
Memoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggMemoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggredondoredondoenriqu
 
Fundamentos de programacion robotica con Arduino
Fundamentos de programacion robotica con ArduinoFundamentos de programacion robotica con Arduino
Fundamentos de programacion robotica con ArduinoChristian Farinango
 
03 Arduino - Analogo (2).pdf
03 Arduino - Analogo (2).pdf03 Arduino - Analogo (2).pdf
03 Arduino - Analogo (2).pdfAaronContreras28
 
Clase de Introducción a Arduino y domotica
Clase de Introducción a Arduino y domoticaClase de Introducción a Arduino y domotica
Clase de Introducción a Arduino y domoticaMartnMuozT1
 
Introducción a plataformas de prototipado: Arduino (rev. 2)
Introducción a plataformas de prototipado: Arduino (rev. 2)Introducción a plataformas de prototipado: Arduino (rev. 2)
Introducción a plataformas de prototipado: Arduino (rev. 2)Sol Smart Open Lab
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Oscar Pastrana
 
Laboratorio # 1 introducción a arduino
Laboratorio # 1   introducción a arduinoLaboratorio # 1   introducción a arduino
Laboratorio # 1 introducción a arduinoCASERA
 

Ähnlich wie Tutorial arduino 03 programación (20)

Arduino
ArduinoArduino
Arduino
 
P4: Kiwibot Basic Shield: Interruptor crepuscular
P4: Kiwibot Basic Shield: Interruptor crepuscularP4: Kiwibot Basic Shield: Interruptor crepuscular
P4: Kiwibot Basic Shield: Interruptor crepuscular
 
Arduino uno
Arduino unoArduino uno
Arduino uno
 
arduino
arduinoarduino
arduino
 
Taller fabricación de robots-d1
Taller fabricación de robots-d1Taller fabricación de robots-d1
Taller fabricación de robots-d1
 
Introducción a la Programación de Arduino.pptx
Introducción a la Programación de Arduino.pptxIntroducción a la Programación de Arduino.pptx
Introducción a la Programación de Arduino.pptx
 
Introducción arduino
Introducción arduinoIntroducción arduino
Introducción arduino
 
presentación arduino, ARDUINO Y SUS PARTES
presentación arduino, ARDUINO Y SUS PARTESpresentación arduino, ARDUINO Y SUS PARTES
presentación arduino, ARDUINO Y SUS PARTES
 
Memoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCgggggggggggMemoria y acciones con un PLCggggggggggg
Memoria y acciones con un PLCggggggggggg
 
Práctica04.Programando Arduino
Práctica04.Programando ArduinoPráctica04.Programando Arduino
Práctica04.Programando Arduino
 
Fundamentos de programacion robotica con Arduino
Fundamentos de programacion robotica con ArduinoFundamentos de programacion robotica con Arduino
Fundamentos de programacion robotica con Arduino
 
03 Arduino - Analogo (2).pdf
03 Arduino - Analogo (2).pdf03 Arduino - Analogo (2).pdf
03 Arduino - Analogo (2).pdf
 
Proceso de señal
Proceso de señalProceso de señal
Proceso de señal
 
Clase de Introducción a Arduino y domotica
Clase de Introducción a Arduino y domoticaClase de Introducción a Arduino y domotica
Clase de Introducción a Arduino y domotica
 
Introduccion vhdl
Introduccion vhdlIntroduccion vhdl
Introduccion vhdl
 
Introducción a plataformas de prototipado: Arduino (rev. 2)
Introducción a plataformas de prototipado: Arduino (rev. 2)Introducción a plataformas de prototipado: Arduino (rev. 2)
Introducción a plataformas de prototipado: Arduino (rev. 2)
 
Introducción a Arduino r2
Introducción a Arduino r2Introducción a Arduino r2
Introducción a Arduino r2
 
Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)Arduino(Tipos y su Programacion)
Arduino(Tipos y su Programacion)
 
2. algoritmos
2. algoritmos2. algoritmos
2. algoritmos
 
Laboratorio # 1 introducción a arduino
Laboratorio # 1   introducción a arduinoLaboratorio # 1   introducción a arduino
Laboratorio # 1 introducción a arduino
 

Mehr von Rubén Loredo

Movimiento uniformemente acelerado
Movimiento uniformemente aceleradoMovimiento uniformemente acelerado
Movimiento uniformemente aceleradoRubén Loredo
 
Rubrica de Reporte de practica de la materia de Física
Rubrica de Reporte de practica de la materia de FísicaRubrica de Reporte de practica de la materia de Física
Rubrica de Reporte de practica de la materia de FísicaRubén Loredo
 
Control de motores de cd con modulo l298N y Raspberry Pi3
Control de motores de cd con modulo l298N y Raspberry Pi3Control de motores de cd con modulo l298N y Raspberry Pi3
Control de motores de cd con modulo l298N y Raspberry Pi3Rubén Loredo
 
Transmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lanTransmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lanRubén Loredo
 
Comunicación RS-232
Comunicación RS-232Comunicación RS-232
Comunicación RS-232Rubén Loredo
 
Modulacion de ancho de pulso con Raspberry pi
Modulacion de ancho de pulso con Raspberry piModulacion de ancho de pulso con Raspberry pi
Modulacion de ancho de pulso con Raspberry piRubén Loredo
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programarRubén Loredo
 
Lab Windows Intro Actualizado
Lab Windows Intro ActualizadoLab Windows Intro Actualizado
Lab Windows Intro ActualizadoRubén Loredo
 
Programacion Melfa Iv
Programacion Melfa IvProgramacion Melfa Iv
Programacion Melfa IvRubén Loredo
 
Electrónica II, Tyristores
Electrónica II, TyristoresElectrónica II, Tyristores
Electrónica II, TyristoresRubén Loredo
 
Sistemas De Medici%80%A0%A6%F3n Coordenado
Sistemas De Medici%80%A0%A6%F3n CoordenadoSistemas De Medici%80%A0%A6%F3n Coordenado
Sistemas De Medici%80%A0%A6%F3n CoordenadoRubén Loredo
 
Historia De La Maquina Herramienta
Historia De La Maquina HerramientaHistoria De La Maquina Herramienta
Historia De La Maquina HerramientaRubén Loredo
 
Interfazamiento De Sistemas Digital Analogo
Interfazamiento De Sistemas Digital AnalogoInterfazamiento De Sistemas Digital Analogo
Interfazamiento De Sistemas Digital AnalogoRubén Loredo
 
Semáforo Microcontrolado
Semáforo MicrocontroladoSemáforo Microcontrolado
Semáforo MicrocontroladoRubén Loredo
 
Sistema minimo de microcontrolador AT89S8252
Sistema minimo de microcontrolador AT89S8252Sistema minimo de microcontrolador AT89S8252
Sistema minimo de microcontrolador AT89S8252Rubén Loredo
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Rubén Loredo
 
Unidad 1 El Amplificador Operacional X
Unidad 1 El Amplificador Operacional XUnidad 1 El Amplificador Operacional X
Unidad 1 El Amplificador Operacional XRubén Loredo
 

Mehr von Rubén Loredo (18)

Movimiento uniformemente acelerado
Movimiento uniformemente aceleradoMovimiento uniformemente acelerado
Movimiento uniformemente acelerado
 
Rubrica de Reporte de practica de la materia de Física
Rubrica de Reporte de practica de la materia de FísicaRubrica de Reporte de practica de la materia de Física
Rubrica de Reporte de practica de la materia de Física
 
Control de motores de cd con modulo l298N y Raspberry Pi3
Control de motores de cd con modulo l298N y Raspberry Pi3Control de motores de cd con modulo l298N y Raspberry Pi3
Control de motores de cd con modulo l298N y Raspberry Pi3
 
Transmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lanTransmisión de datos de temperatura por medio de red lan
Transmisión de datos de temperatura por medio de red lan
 
Comunicación RS-232
Comunicación RS-232Comunicación RS-232
Comunicación RS-232
 
Modulacion de ancho de pulso con Raspberry pi
Modulacion de ancho de pulso con Raspberry piModulacion de ancho de pulso con Raspberry pi
Modulacion de ancho de pulso con Raspberry pi
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Lab Windows Intro Actualizado
Lab Windows Intro ActualizadoLab Windows Intro Actualizado
Lab Windows Intro Actualizado
 
Programacion Melfa Iv
Programacion Melfa IvProgramacion Melfa Iv
Programacion Melfa Iv
 
Electrónica II, Tyristores
Electrónica II, TyristoresElectrónica II, Tyristores
Electrónica II, Tyristores
 
Sistemas De Medici%80%A0%A6%F3n Coordenado
Sistemas De Medici%80%A0%A6%F3n CoordenadoSistemas De Medici%80%A0%A6%F3n Coordenado
Sistemas De Medici%80%A0%A6%F3n Coordenado
 
Historia De La Maquina Herramienta
Historia De La Maquina HerramientaHistoria De La Maquina Herramienta
Historia De La Maquina Herramienta
 
Interfazamiento De Sistemas Digital Analogo
Interfazamiento De Sistemas Digital AnalogoInterfazamiento De Sistemas Digital Analogo
Interfazamiento De Sistemas Digital Analogo
 
Interface Digial a
Interface Digial aInterface Digial a
Interface Digial a
 
Semáforo Microcontrolado
Semáforo MicrocontroladoSemáforo Microcontrolado
Semáforo Microcontrolado
 
Sistema minimo de microcontrolador AT89S8252
Sistema minimo de microcontrolador AT89S8252Sistema minimo de microcontrolador AT89S8252
Sistema minimo de microcontrolador AT89S8252
 
Curso de microcontrolador MCS51
Curso de microcontrolador MCS51Curso de microcontrolador MCS51
Curso de microcontrolador MCS51
 
Unidad 1 El Amplificador Operacional X
Unidad 1 El Amplificador Operacional XUnidad 1 El Amplificador Operacional X
Unidad 1 El Amplificador Operacional X
 

Kürzlich hochgeladen

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Kürzlich hochgeladen (13)

9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Tutorial arduino 03 programación

  • 1. Computación Física: Introducción al Arduino Programando Arduino / Processing
  • 2. Programación • Se programa en un dialecto de C • Se requiere (forzosamente) una función setup y una función loop • Setup es la preparación • Loop es la ejecución
  • 3. Referencia - Estructura • Control Structures • Further Syntax • if • ; (semicolon) • if...else • {} (curly braces) • for • // (single line comment) • switch case • /* */ (multi-line comment) • while • do... while • break • continue • return
  • 4. Referencia - Estructura • Arithmetic • Comparison Operators Operators • plus (addition) • == (equal to) • - (subtraction) • != (not equal to) • * (multiplication) • < (less than) • / (division) • > (greater than) • % (modulo) • <= (less than or equal to) • >= (greater than or equal to)
  • 5. Referencia - Estructura • Boolean Operators • && (and) • || (or) • ! (not) • Compound Operators • ++ (increment) • -- (decrement) • += (compound addition) • -= (compound subtraction) • *= (compound multiplication) • /= (compound division)
  • 6. Referencia - Variables • Constants • Data Types • Constants are particular values • Variables can have various with specific meanings. types, which are described • HIGH | LOW below. • INPUT | OUTPUT • boolean • true | false • char • Integer Constants • byte • int • unsigned int • long • unsigned long • float • double • string • array
  • 7. Referencia - Funciones • Digital I/O • Advanced I/O • pinMode(pin, mode) • shiftOut(dataPin, • digitalWrite(pin, value) clockPin, bitOrder, value) • int digitalRead(pin) • unsigned long • Analog I/O pulseIn(pin, value) • int analogRead(pin) • Time • analogWrite(pin, value) - • unsigned long millis() PWM • delay(ms) • delayMicroseconds(us)
  • 8. Referencia - Funciones • Math • Serial Communication • min(x, y) • Serial.begin(speed) • max(x, y) • int Serial.available() • abs(x) • int Serial.read() • constrain(x, a, b) • Serial.flush() • Random Numbers • Serial.print(data) • randomSeed(seed) • Serial.println(data) • long random(max) • long random(min, max)
  • 9. Librerías • ARDUINO • WIRING • SoftwareSerial - for serial • Matrix - Basic LED Matrix communication on any digital display manipulation library pins • Sprite - Basic image sprite • Stepper - for controlling manipulation library for use in stepper motors animations with an LED matrix • EEPROM - reading and writing • Wire - Two Wire Interface to "permanent" storage (TWI/I2C) for sending and receiving data over a net of devices or sensors. On the Arduino, SDA is on analog input pin 4, and SCL on analog input pin 5.
  • 10. Librerias no oficiales • Simple Message System - send messages between Arduino and the computer • OneWire - control devices (from Dallas Semiconductor) that use the One Wire protocol. • LCD - control LCDs (using 8 data lines) • LCD 4 Bit - control LCDs (using 4 data lines) • LedControl - for controlling LED matrices or seven-segment displays with a MAX7221 or MAX7219. • TextString - handle strings • Metro - help you time actions at regular intervals • Servo - provides software support for Servo motors on any pins. • Servotimer1 - provides hardware support for Servo motors on pins 9 and 10 • X10 - Sending X10 signals over AC power lines • LedControl - an alternative to the Matrix library for driving multiple LEDs with Maxim chips.
  • 11. Ejemplos que veremos • Blink, hacer parpadear un LED • Ejercicios con LEDs • AnalogRead, leer una señal del ADC • AnalogWrite, escribir PWM • Ejercicios con Processing • Sonido piezoeléctrico • Display LCD • Motor CD
  • 12. Blink • Ya hay un LED SMD conectado al pin 13 • También se puede conectar un LED y observarlos simultáneamente
  • 13. Blink - Código int ledPin = 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); //waits for a second }
  • 14. Ejercicio • Hacerlo parpadear con un tiempo de encendido de 500 ms y de apagado de 2000 ms
  • 15. Ejercicio 2 • Conectar 2 LEDs y hacer que parpadeen simultáneamente • OJO: utilizando puertos diferentes • Con esos 2 LEDs hacer que parpadeen alternadamente (ambos tiempos de 500 ms) • Hacer lo mismo con 3 LEDs (tiempo de ms)
  • 16. AnalogRead • Conectamos un potenciómetro como divisor de voltaje • Leemos ese voltaje • Un LED parpadea proporcionalmente al voltaje leído
  • 17. AnalogRead - Código int potPin = 2; // select the input pin for the potentiometer Int ledPin = 13; // select the pin for the LED int val = 0; // variable to store the value coming from the sensor void setup() { pinMode(ledPin, OUTPUT); // declare the ledPin as an OUTPUT } void loop() { val = analogRead(potPin); // read the value from the sensor digitalWrite(ledPin, HIGH); // turn the ledPin on delay(val); // stop the program for some time digitalWrite(ledPin, LOW); // turn the ledPin off delay(val); // stop the program for some time }
  • 18. Ejercicios • Invertir el sentido del potenciómetro sin cambiar las conexiones eléctricas • Con Processing graficar el valor leído del potenciómetro
  • 19. Para graficar con Processing • http://www.arduino.cc/ en/Tutorial/Graph • Leeremos el puerto void setup() análogo 0 { Serial.begin(9600); • Primero programar } Arduino con el void loop() { siguiente código (sí, Serial.println(analogRead(0)); es realmente delay(20); pequeño): }
  • 20. Para graficar con Processing • Ahora cerrar la aplicación de Arduino y abrir Processing • Volver a checar en Device Manager qué puerto tenemos asignado al COM USB • Pegar el código de la página poniéndo atención en la sección que aparece en negrita en la siguiente diapositiva:
  • 21. import processing.serial.*; Serial port; String buff = ""; int NEWLINE = 10; // Store the last 64 values received so we can graph them. int[] values = new int[64]; void setup() { size(512, 256); println("Available serial ports:"); println(Serial.list()); port = new Serial(this, Serial.list()[0], 9600); // If you know the name of the port used by the Arduino board, you // can specify it directly like this. //port = new Serial(this, "COM1", 9600); } void draw() { background(53); stroke(255); for (int i = 0; i < 63; i++) line(i * 8, 255 - values[i], (i + 1) * 8, 255 - values[i + 1]);
  • 23. Ejercicio • Lograr escribir en la misma ventana de la gráfica el valor de la altura de la línea (el rango es de 0 a 255) • Se sugiere promediar algunos valores para que el valor no oscile • Se sugiere leer y entender el ejemplo examples > basics > typography > words
  • 24. El resultado debe ser así:
  • 25. Trabajo Independiente • Investigar e implementar demostraciones de las siguientes técnicas: • Switch debouncing • Habilitar resistencia de Pull-Up para entradas digitales
  • 26. Ejercicios Sugeridos • Programar y mostrar un contador binario de 4 bits • Programar secuencias de LED’s (incrementos lineales, El Auto Increíble, etc.) • Reducir y aumentar el brillo de un LED con PWM • Programar un vúmetro con una entrada análoga y 8 LED’s
  • 27. Ejercicios Sugeridos • Cargar la librería LCD para enviar mensajes a una pantalla de cristal líquido • Leer el valor de temperatura de un sensor LM35 • Escribir ese valor en el display LCD
  • 28. Ejercicios Sugeridos • Utilizando Processing lograr variar la intensidad de un LED moviendo el mouse