Curso de Arduino

Embed Size (px)

Citation preview

Presentacin de PowerPoint

BIENVENIDOS CURSO DE ARDUINOCONTENIDOQUE ES ARDUINO?ESTRUCTURA DE UN ARDUINOPROGRAMACION EN ARDUINOEJERCICIOSENCENDER UN LEDLUCES SECUENCIALESDISPLAY DE 7 SEGMENTOSCI LM293DSERVOMOTORESLCD 16X2ULTRASONICO SRF04QUE ES ARDUINO?Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseada para facilitar el uso de la electrnica en proyectos multidisciplinares.

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores ms usados son el Atmega168, Atmega328, Atmega1280 (2560), ATmega8 por su sencillez y bajo coste que permiten el desarrollo de mltiples diseos. Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programacin Processing/Wiring y el cargador de arranque (boot loader) que corre en la placaESTRUCTURA DE UN ARDUINO

Terminal de referencia analgica (naranja) Tierra digital (verde claro) Terminales digitales 2-13 (verde) Terminales digitales 0-1/ E/S serie - TX/RX (verde oscuro) - Estos pines no se pueden utilizar como e/s digitales (digitalRead() y digitalWrite()) si ests utilizando comunicacin serie (por ejemplo Serial.begin). Botn de reinicio - S1 (azul oscuro) Programador serie en circuito "In-circuit Serial Programmer" o "ICSP" (azul celeste) Terminales de entrada analgica 0-5 (azul claro) Terminales de alimentacin y tierra (alimentacin: naranja, tierras: naranja claro) Entrada de alimentacin externa (9-12VDC) - X1 (rosa) Selector de alimentacin externa o por USB (coloca un jumper en los dos pines mas cercanos de la alimentacin que quieras) - SV1 (prpura). En las versiones nuevas de Arduino la seleccin de alimentacion es automtica por lo que puede que no tengas este selector. USB (utilizado para subir programas a la placa y para comunicaciones serie entre la placa y el ordenador; puede utilizarse como alimentacin de la placa) (amarillo)PROGRAMACION EN ARDUINOsetup() es la parte encargada de recoger la configuracin, debe contener la declaracin de las variables. Es la primera funcin a ejecutar en el programa, se ejecuta slo una vez, y se utiliza para configurar o inicializar pinMode (modo de trabajo de las E/S), configuracin de la comunicacin en serie y otras.

loop() es la que contienen el programa que se ejecutar cclicamente (lectura de entradas, activacin de salidas, etc) Esta funcin es el ncleo de todos los programas de Arduino y la que realiza la mayor parte del trabajo.void setup(){estamentos;}void loop(){estamentos;}high/lowEstas constantes definen los niveles de salida altos o bajos y se utilizan para la lectura o la escritura digital para las patillas. ALTO se define como en la lgica de nivel 1, ON, 5 voltios, mientras que BAJO es lgica nivel 0, OFF, o 0 voltios.digitalWrite(13, HIGH); // activa la salida 13 con un nivel alto (5v.)

input/outputEstas constantes son utilizadas para definir, al comienzo del programa, el modo de funcionamiento de los pines mediante la instruccin pinMode de tal manera que el pin puede ser una entrada INPUT o una salida OUTPUT.pinMode(13, OUTPUT); // designamos que el PIN 13 es una salida

pinMode(pin, OUTPUT/INPUT);

digitalWrite(pin, HIGH7LOW);

delay(1000); // espera 1 segundoSerial.begin(9600);Serial.println(analogValue); pinMode(pin, mode)digitalRead(pin)digitalWrite(pin, value)analogRead(pin)analogWrite(pin, value)delay(ms)Serial.begin(rate)Serial.println(data)

ENCENDER UN LEDint ledPin = 10; // Definicin de la salida en el PIN 10void setup() //Configuracin{pinMode(ledPin, OUTPUT); // designa la salida digital al PIN 10}void loop() // bucle de funcionamiento{digitalWrite(ledPin, HIGH); // activa el LEDdelay(1000); // espera 1 seg. (tiempo encendido)digitalWrite(ledPin, LOW); // desactiva el LEDdelay(1000); // espera 1 seg. (tiempo apagado)}

LUCES SECUANCIALES

CODIGOint ledPin1 = 6int ledPin2 = 7;int ledPin3 = 8;void setup() { pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT);pinMode(ledPin3, OUTPUT);digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, LOW);}void loop(){ digitalWrite(ledPin1, HIGH); delay(200);digitalWrite(ledPin1, LOW);digitalWrite(ledPin2, HIGH);delay(200);digitalWrite(ledPin2, LOW);digitalWrite(ledPin3, HIGH);delay(200);digitalWrite(ledPin3, LOW);}DISPLAY DE 7 SEGMENTOS

Esquema elctrico

Digital 9Digital 8Digital 7Digital 13Digital 12Digital 11Digital 10

Conexionado placa board** Falta el cableado:Digital 7 aDigital 8 - bProgramacin

Variable que define el intervalo en ms entre cada dgitoAsignacin de las salidas digitales.

Programacin IIFuncin Display: recibe 7 variables (1 o 0) y las asigna a cada una de las salidas

Programacin IIIFuncin principal:Dependiendo de cada dgito, enva a la funcin display los estados (1 o 0) de cada uno de los segmentos

10111100111101CIRCUITO INTEGRADO LM 293D

MOTOR

PROGRAMACION PARA LM293DSERVOMOTORESServomotor Un servomotor industrial.Un servomotor (tambin llamado servo) es un dispositivo similar a un motor de corriente continua que tiene la capacidad de ubicarse en cualquier posicin dentro de su rango de operacin, y mantenerse estable en dicha posicin.1Un servomotor es un motor elctrico que consta con la capacidad de ser controlado, tanto en velocidad como en posicin.Los servos se utilizan frecuentemente en sistemas de radio control y en robtica, pero su uso no est limitado a estos. Es posible modificar un servomotor para obtener un motor de corriente continua que, si bien ya no tiene la capacidad de control del servo, conserva la fuerza, velocidad y baja inercia que caracteriza a estos dispositivos.CONTROLLos servomotores hacen uso de la modulacin por ancho de pulsos (PWM) para controlar la direccin o posicin de los motores de corriente continua. La mayora trabaja en la frecuencia de los cincuenta hercios, as las seales PWM tendrn un periodo de veinte milisegundos. La electrnica dentro del servomotor responder al ancho de la seal modulada. Si los circuitos dentro del servomotor reciben una seal de entre 0,5 a 1,4 milisegundos, este se mover en sentido horario; entre 1,6 a 2 milisegundos mover el servomotor en sentido antihorario; 1,5 milisegundos representa un estado neutro para los servomotores estndares.

VIDEOCONEXIN

PROGRAMACION

ULTRASONICO SR-04

Conexin con arduino

programacin#include Ultrasonic ultrasonic(12,13); void setup(){Serial.begin(9600); pinMode(echoPin, INPUT); pinMode(trigPin, OUTPUT);} void loop(){digitalWrite(trigPin, LOW);delayMicroseconds(2);digitalWrite(trigPin, HIGH);delayMicroseconds(10);digitalWrite(trigPin, LOW);int distancia = (ultrasonic.Ranging(CM)); Serial.print("Distancia em CM: ");Serial.println(distancia);delay(1000);}

LCD 16X2

Pines de lcd 16x2

Lcd 16x2 con arduino

programacin#include

// initialize the library with the numbers of the interface pinsLiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!");}

void loop() { // set the cursor to column 0, line 1 // (note: line 1 is the second row, since counting begins with 0): lcd.setCursor(0, 1); // print the number of seconds since reset: lcd.print(millis()/1000);}Ultrasnico sr-04 con LCD 16x2CURSO DE ARDUINOLOPEZ HERRERA CESAR HEBERTOHAZAEL HERNANDEZ MEZA PABLO MUOA SOLISGABRIELA VILLAFUERTE GOMEZ