Introducción al lenguaje PROCESSING para ARDUINO

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

ING SEC 3 - UCSC Agosto 2009 Laboratorio Lenguaje de Programación ING – Universidad Católica SSMA Concepción Semestre II Tema:
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Estructuras de Decisión I IF - THEN - ELSE
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Unidad 1 DISEÑO DE ALGORITMOS ING. Nelwi Baez. MSC
PROGRAMACIÓN DE OBJETOS TECNOLÓGICOS CONTROL DE BARRERA DE PARKING
Estructuras de control
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
COMUNICACIÓN SERIAL Javier Garcia Ramos.
3. INTRODUCCIÓN A LA PROGRAMACIÓN
Los condicionales IF en PHP Programación en Internet II.
Controla tu entorno con un microcontrolador PIIISA /2/2014
ESTRUCTURAS DE SECUENCIA
Una breve introducción
Estructuras de Repetición
PROGRAMACION 2 MICROCONTROLADORES BASIC STAMP.
VISUAL BASIC CONSOLA Todas las ordenes o instrucciones se digitan dentro de sub Main() y End Sub ÁREA DE TRABAJO: Las aplicaciones de consola son aquellas.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Programación.
APLICACIONES DE PILAS Estructuras de Datos.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
Ingeniero Anyelo Quintero
FUNCIÓN IGUAL (Lo que entra igual (=) a lo que sale)
Programación de Computadores
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
FUNDAMENTOS DE PROGRAMACIÓN
Unidad III Elementos del lenguaje C++
Tema 2: Los tipos de datos
Switch en PHP Programación en Internet II. Switch en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa Elegir.
Capítulo 1 “Elementos de Programación”
Valor X Valor Y Punto (0,0) Coordenadas.
Sistemas de numeración
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Informática Ingeniería en Electrónica y Automática Industrial
PHP-MYSQL Introducción Prof. Juan Carlos Lima Cruz Colegio IPTCE.
Introducción Lenguaje de Programación ING2101 SECC Ayud. Ariel Fierro Sáez.
Estructuras de Control.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Introducción a la programación
Unidad 1: FUNDAMENTOS DE COMPUTACIÓN Y PSEUDOLENGUAJE
Physical Computing Clase 4. Memoria y Variables decimal, binario, hexadecimal Ver anexo 4.1. por favor.
INTERMITENCIA VAMOS A APRENDER A ESPERAR. En este programa vamos a presentar una instrucción que nos sirve para esperar antes de ejecutar la instrucción.
INTRODUCCIÓN A ARDUINO
Sistema Numérico Binario Prof. Carlos Rodríguez Sánchez.
Conceptos Básicos de Programación. Put a pin into input mode Loop Check if the pin is 0 or 5 volts If the pin has 5 volts Do something End if End Loop.
Términos algoritmo diseñar algoritmo implementar algoritmo
FUNCIÓN OR Una O otra, para que funcione. Función suma OR abS Es aquella función que es cierta (1), si una o las dos entradas son ciertas.
Programación Básica con NQC Patricio A. Castillo 12/04/2008.
FUNCIÓN AND Para hacer que funcione, debo accionar un pulsador Y el otro.

FUNCIÓN NOR Una Opuesto a una OR. Función suma NOR abS Equivale a la asociación de la función OR, con la función NOT. Por tanto estamos.
Tema 11 Bases de Datos y el Lenguaje SQL
Práctica Profesional PHP.
Estructuras de Decisión
Lic. Carla Aguirre Montalvo
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
ESPECIFICACIONES DE OPERACIÓN DEL MICROCONTROLADOR
El Hardware El Software La Comunidad  Software Libre  Hardware Libre  Puerto USB  Fácil de usar  Precio reducido  Completamente independiente 
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Ciclos de Repeticion Yoel Gutierrez Unidad 6. Contenido DefinicionExplicacionEjemplosReferencias.
Sistema Numérico Binario Prof. Carlos Ortiz Muñoz.
Practica 1 Componentes del Robot. Sensor Ultrasónico El Sensor Ultrasónico de Distancia PING (o "PING)))" como lo denomina el fabricante) tiene una interfaz.
INTRODUCCIÓN A ARDUINO
SISTEMAS DE AUTOMATIZACIÓN Y CONTROL ORIENTADO AL CONOCIMIENTO Y APLICACIÓN DE LOS SISTEMAS EMBEBIDOS SESION 04 José Luis Albites Sanabria MSc. Biomedical.
Transcripción de la presentación:

Introducción al lenguaje PROCESSING para ARDUINO

Índice Declaración de variables Estructura básica de programas ARDUINO Escribir los pines del ARDUINO Leyendo los pines del ARDUINO Estructuras condicionales Comunicación serial

Declaración de variables Las variables se declaran por lo general al principio de un programa. Las variables se pueden utilizar para darle nombre a datos obtenidos o para asignarle un nombre fácil de recordar a ciertos datos. Estas se declarar poniendo primero el tipo de variable(Puede ser decimal, entera, booleana, binaria, caracter, texto, servo, etc) luego el nombre y por ultimo su valor numérico (si lo tiene) seguido de un fin de línea ( o sea «;»)

Ejemplo 1 int caliente = 39; Tipo de variable (en este caso es una variable entera) int caliente = 39; La variable se llama caliente Este es el valor numérico de la variable, en este caso es igual a 39, seguido de un fin de linea

Tipo de variable (en este caso es un servo) Ejemplo 2 Tipo de variable (en este caso es un servo) servo codo ; El servo se llama codo Aquí debería haber un valor, pero ya que no podemos definir un servo como un número, no escribimos nada y solo ponemos el fin de línea, de ahora en adelante podremos utilizar la variable «codo» para manejar ese servo

Ejemplo 3 int temperatura ; Tipo de variable (en este caso es una variable entera) int temperatura ; La variable se llama temperatura Este es el valor numérico de la variable queda en blanco, lo podemos modificar mas adelante en el programa

Estructura básica de programas arduino Todos los programas arduino deben contener dos rutinas, que son setup() y loop() (significan instalación y bucle respectivamente) la rutina setup() se usa para definir pines como entradas o salidas, o para hacer cualquier otra cosa que solo se tenga que hacer al iniciar el programa, luego la rutina loop() repite el código que contenga una y otra vez infinitamente

Ejemplo int led = 13; void setup() { pinMode(led,OUTPUT); } Esta rutina se repite infinitamente, no hay nada que la detenga, primero escribe un uno lógico(estado alto, 5v ) en el pin «led», luego hay un delay (retraso o pausa) de 1000ms ( 1 segundo), luego escribe un cero lógico (estado bajo,0v) y luego hay un retraso de 1000ms otra vez, al final del programa vuelve al principio de la rutina loop, por lo que vuelve a escribir un uno lógico y así sucesivamente Declaramos la variable «led» con el valor del entero 13 int led = 13; void setup() { pinMode(led,OUTPUT); } Declaramos el pin led (13) como salida (OUTPUT) void loop() { digitalWrite(led,HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); }

Escribir los pines del ARDUINO Los pines del ARDUINO pueden ser escritos de manera digital (previamente declarados como salidas) con 0 y 1 lógico o sea valores de 0 y 5v (3.3 para el ARDUINO DUE) y escritos de manera casi análoga mediante los pines que soporten PWM (modulación por ancho de pulsos). Los pines se pueden escribir de acuerdo a lo que programemos, puede ser como un valor fijo o que cambie mediante estructuras condicionales (if… else). Se pueden escribir todos los pines de E/S incluyendo los pines de entrada análoga.

Se define que se va a escribir con estructura: Ejemplo 1 El comando digitalWrite() implica escribir digitalmente (con cero o uno lógicos) digitalWrite (3, HIGH) ; Se define que se va a escribir con estructura: ( numero de pin, estado) Fin de linea

Se define que se va a escribir con estructura: Ejemplo 2 El comando analogWrite() implica escribir análogamente (o casi análogamente por que se trata de PWM) con valores entre 0v y 5v con una resolución de 8 bits o sea que puede ser cualquier valor entre 0 y 255 (2^8=256 valores posibles) analogWrite (3, 125) ; Se define que se va a escribir con estructura: ( numero de pin, valor ) Fin de linea

Leyendo pines del ARDUINO Los pines pueden ser leídos para tomarse como variables (previamente declarados como entradas en la rutina setup con pinMode()). Los pines digitales ( 0 – 13) pueden leer estados digitales (alto o bajo) y únicamente los pines análogos pueden ser usados para leer voltajes con una resolución de 10 bits ( 1024 valores posibles entre 0v y 5v)

El comando digitalRead() lee el estado digital de una de las entradas Ejemplo 2 El comando digitalRead() lee el estado digital de una de las entradas Lectura = digitalRead (11) ; Si queremos para no escribir el comando digitalRead() para el mismo pin podemos declarar la lectura del pin como una variable dentro del programa en nuestro caso, el valor que obtenemos del pin 11 se llama «Lectura» y lo podemos usar con ese nombre cuando queramos Fin de linea Ente parentesis debemos poner el numero del pin del que queremos tomar la entrada

El comando analogRead() lee el estado digital de una de las entradas Ejemplo 1 El comando analogRead() lee el estado digital de una de las entradas eanaloga0 = analogRead (A0) ; Si queremos para no escribir el comando analogRead() para el mismo pin podemos declarar la lectura del pin como una variable dentro del programa en nuestro caso, el valor que obtenemos del pin A0 se llama «eanaloga0» y lo podemos usar con ese nombre cuando queramos Fin de linea Ente parentesis debemos poner el numero del pin del que queremos tomar la entrada para los pines analogos ponemos una A antes del numero del pin analogo

Estructuras condicionales Las estructuras condicionales permiten establecer un «¿Qué pasa si?/¿Y sino?» esto es útil cuando queremos evaluar una condición y que pase algo si es cierta o falsa, las hay de varios tipos la mas común es la «if…» que evalúa una condición y hace algo si es cierta, luego las «if… else» que hacen algo si la condición es cierta y hacen otra cosa si no es cierta, también existe la estructura «switch case» que evalúa múltiples resultados para múltiples condiciones respecto a una variable.

Operadores lógicos en las estructuras Para establecer nuestra condicion podemos usar operadores lógicos matématicos y booleanos como: Matemáticos Booleanos igual a «==» AND «&&» distinto de «!=» OR «||» Menor que «<» NOT «!» Mayor que «>» (||se escribe con Alt Gr+ 1) Menor o igual que «<=» Mayor o igual que «>=»

Ejemplo1 if(analogRead(A0)>=125) { digitalWrite(3,HIGH) } ; El comando if() evalúa una condicion y ejecuta una accion si se cumple, la condición se escribe dentro del parentesis y la acción a ejecutar se escribe entre llaves Ponemos lo que queremos que pase cuando la condición sea cierta, en nuestro caso cuando el valor de A0 sea igual o mayor que 125, va a poner el pin 3 en estado alto, pero este no pasara a bajo cuando el valor sea menor a 125, para eso necesitamos usar una estructura if..else { digitalWrite(3,HIGH) } ; Los fines de línea se colocan solo en el código dentro de las llaves, al cerrar corchetes no es necesario un fin de linea

Ejemplo 2 if(analogRead(A0)>=125) { digitalWrite(3,HIGH); } else { El comando if() evalúa una condición y ejecuta una acción si se cumple, la condición se escribe dentro del paréntesis y la acción a ejecutar se escribe entre llaves if(analogRead(A0)>=125) Ponemos lo que queremos que pase cuando la condicion sea cierta, en nuestro caso cuando el valor de A0 sea igual o mayor que 125, va a poner el pin 3 en estado alto { digitalWrite(3,HIGH); } else { digitalWrite(3,LOW); } Ahora cuando la condición no sea verdadera , se escribirá un estado bajo en el pin 3

Ejemplo 3 switch (LecturaA) { Case «0» : digitalWrite (13,HIGH); Usamos la estructura switch() para que haga algo según el valor de la variable «LecturaA» que temos que declarar previemente, esta lectura viene de una entrada análoga que como sabemos puede tomar valores entre 0 y 255 «Case» indica el valor de la variable que tomara como condicion y luego de los dos puntos lo que queremos hacer cuando el caso se cumpla, en este ejemplo solo son 2 casos, pero se pueden agregar todos los que se necesiten switch (LecturaA) { } Luego de los dos puntos de ponen las líneas de código a ejecutar en caso de que la condición se cumpla, se pone un break; al final para que solo ejecute la acción una vez y siga con el resto del programa Case «0» : Case «128»: digitalWrite (13,HIGH); break; digitalWrite (13,LOW);

Comunicación serial La placa ARDUINO puede comunicarse por medio de pulsos, cuando estos se organizan según un protocolo podemos transmitir mas que solo estados altos y bajos y podemos comenzar a transmitir datos por el puerto serial, esto se hace con los pines RX y TX (para recibir datos y transmitir datos), podemos enviar datos a otras placas ARDUINO o a otros dispositivos que soporten comunicación serial. SI tenemos la placa arduino conectada por USB, todo lo que imprimamos en el puerto serial aparecerá en el monitor serial del ARDUINO IDE.

Ejemplo Void setup (){ Serial.begin(9600); } Void loop (){ Usamos el comando Serial.println() Para imprimir en el puerto serial un dato y luego saltar una línea, si lo queremos mandar de corrido usamos el comando Serial.print() Esto se puede visualizar en el monitor serial del ARDUINO IDE. El delay se coloca para no imprimir el «Hola mundo» tantas veces como pueda el arduino (unas miles de veces por segundo) El comando Serial.begin () inicia el puerto serial, el numero 9600 el numero de baudios que manejaremos en la transmision (numero de caracteres por segundo) Void setup (){ Serial.begin(9600); } Void loop (){ Serial.println( ); delay(1000); } «Hola mundo» Los mensajes de texto siempre van entre comillas (entiéndase texto por letras y números que cuyo unico objetivo sea darnos un mensaje), en caso de que se quiera escribir el valor contenido en una variable solo se pone el nombre de la variable sin comillas