Вы находитесь на странице: 1из 12

En el presente escrito de aprendizaje, se pretende familiarizar a los usuarios con los diferentes usos que presentan cada uno

de los puertos de la tarjeta de desarrollo Arduino.

Encender un LED Primero que nada se debe recordar que los LEDs tienen polaridad, lo que significa que solo encender si los orientas debidamente. Generalmente el terminal mas largo es el positivo y deber estar conectado al pin 13. El terminal corto debe conectarse con la tierra (GND); adicionalmente el bulbo del LED tiene un borde plano en su extremo. Si el LED no enciende, trata de conectarlo de manera opuesta, intercambiando los terminales de posicin (No se daar el LED si lo conectas en sentido opuesto por un periodo de tiempo corto).

Figura 1

Figura 2

Abra el software de programacin arduino y pegue el siguiente cdigo, luego crguelo al Arduino con el botn de carga desde el software. Para mayor informacin sobre como cargar el software revise el Manual de software. int led = 13; //se declara el pin 13 como led, para poder llamarlo con mas facilidad

void setup() { pinMode(led, OUTPUT); } void loop() { digitalWrite(led, HIGH); }

// Configuramos el pin 13, como salida

// Activa el pin 13, enviando la seal HIGH, entregando 5v. // Se enciande el LED

Encender y Apagar un LED Utilizando el conexionado de las figuras 2 y 3; cargaremos el siguiente cdigo, el cual nos permitir encender y apagar un Led

Figura 3

Figura 4

Abra el software de programacin arduino y peque el siguiente cdigo, luego crguelo al Arduino con el botn de carga.

/* Inicia una seccin de comentarios ----------------------------------Encender y apagar un LED ----------------------------------El LED enciende y apaga de manera infinita mientras el arduino se encuentre con suministro elctrico */ cierra la seccin de comentarios

int led = 13;

//se declara el pin 13 como led, //para poder llamarlo con mas //facilidad // Configuramos el pin 13, como

void setup() { pinMode(led, OUTPUT); salida } void loop() { digitalWrite(led, HIGH); seal HIGH, entregando 5v. delay(1000); digitalWrite(led, LOW); delay(1000); }

// Activa el pin 13, enviando la // // // // // // // Se enciende el LED Esperamos 1000ms o 1 segundo Desactivamos el pin 13, enviando la seal LOW entregando 0v y apagamos el led Esperamos 1000ms o 1 segundo El ciclo se reniciara

Encender un led utilizando un pulsador Realice el siguiente conexionado en la placa arduino con la ayuda de una protoboar de entrenamiento.

Abra el software de programacin arduino y peque el siguiente cdigo, luego crguelo al Arduino con el botn de carga.

/* Inicia una seccin de comentarios ----------------------------------Encender LED con un pulsador ----------------------------------Oprimir un pulsador y mientras este se mantenga accionado un LED se enciende */ Cierra la seccin de comentarios

//-----------------------------------//Declara puertos de entradas y salidas //-----------------------------------int pulsador=2; //Pin donde se encuentra el pulsador, entrada int led=13; //Pin donde se encuentra el LED, salida //-----------------------------------//Funcion principal //-----------------------------------void setup() // Se ejecuta cada vez que el Arduino se inicia { pinMode(pulsador, INPUT); //Configurar el pulsador como una entrada pinMode(led,OUTPUT); //Configurar el LED como una salida } //------------------------------------

//Funcin cclica //------------------------------------

void loop() {

// Esta funcin se mantiene ejecutando // cuando este energizado el Arduino HIGH= activo

//Preguntados en que estado esta el pulsador LOW= Desactivado if (digitalRead(pulsador)==HIGH) { //Pulsador oprimido digitalWrite(led,HIGH); //Enciende el LED } else { //Pulsador NO oprimido digitalWrite(led,LOW); //Apaga el LED } } //Fin programa

En los anteriores ejemplos se ha realizado diferentes operaciones utilizando las seales digitales como entrada o salida.

Entradas Analgicas

Un potencimetro es un botn simple que proporciona una resistencia variable, que se puede leer en la placa Arduino como un valor analgico. En este ejemplo, se conectara un potencimetro a una entrada analgica para controlar el tiempo de encendido y tiempo de apagado de un led.

Abra el software de programacin arduino y peque el siguiente cdigo, luego crguelo al Arduino con el botn de carga

int sensorPin = A0; // Selecciona el pin para conectar el potenciometro int ledPin = 13; // Selecciona el pin para conectar el led int sensorValue = 0;

//Declara una variable, para almaccenar el valor del potenciometro void setup() { pinMode(ledPin, OUTPUT); // declara le ledPin como una salida } void loop() { sensorValue = analogRead(sensorPin); //lee el valor del sensor y lo almacena en la variable sensorvalue digitalWrite(ledPin, HIGH); // enciende el led delay(sensorValue); //el led se mantendra encendido, segn el valor de sensorvalue //modificado por el motenciometro digitalWrite(ledPin, LOW); // Apaga el led delay(sensorValue); // apagara el led durante un tiempo, dado por el valor de //sensorvalue modificado con el poetenciometro}

Control de un servomotor
En el siguiente ejemplo se proceder a manipular la posicin de un servomotor, a travez de un potencimetro. Los servomotores tienen tres cables: alimentacin, tierra, y de la seal. El cable de alimentacin es tpicamente rojo, y debe ser conectado al pin de 5V en la placa Arduino. El cable a tierra es tpicamente negro o marrn y debe ser conectado a un pin Gnd o tierra de la placa Arduino. El pin de la seal es generalmente de color amarillo o naranja y debe ser conectado al pin 9 en la placa Arduino. El potencimetro debe ser conectado de modo que las dos conexiones exteriores estn conectado a la alimentacin (+5 V) y tierra, y la conexin del medio estar conectado a la entrada analgica 2 en el Arduino.

#include <Servo.h> //Se debe incluir la libreria Servo.h para la manipulacion de los //servos. Servo myservo;

// Creamos un objeto llamado servo, para poder manipularlo mas //facilmente int potepin = 2; // la variable potepin almacenara el pin en que esta conectado el //potenciometro int val=0; //variable que almacenara el valor leido desde el potenciometro void setup() { myservo.attach(9); //Configuraremos que el objeto myservo tendr el pin 9 para //comunicarse } void loop() { val = analogRead(potepin); //lee el valor desde el potenciometro (este valor estara //comprendido entre 0 y 1023) val = map(val, 0, 1023, 0, 179); // En la variable val almacenara un escalamiento entre los 1023 //posibles datos transmitidos desde el potenciometro y los 180 //posibles datos que pueden ser recibidos por el servomotor. myservo.write(val); Escribe el valor de la variable val en el pin del servo, para poder manipular la posicin del servo. delay(15); // Espera 15 milisegundos para que el servo alcance la posicion indicada }

Con este programa a travs de la manipulacin del potencimetro, manipularemos la posicin del servomotor.

Controlar la velocidad de un motor DC de 9v. por PWM Como se explica en la seccin sobre los voltajes e intensidades que puede manejar la placa Arduino, el lector podr comprender que la tarjeta de desarrollo NO podr operar sobre un motor que opere a ms de 5v. y consuma una intensidad de mas de 40mA. Para este caso, en que se tiene un motor de 9v y con un consumo promedio de 300mA. El usuario deber realizar circuito de potencia previo, el cual ser controlado con la seal PWM proveniente de la Placa Arduino. Materiales a Utilizar: 1 Potencimetro de 10k. 1 Mosfet IRF540 o IRF540N 1 Resistencia de de 220 ohm. 1 Diodo 1N4007 1 Fuente de Alimentacin externa, de acuerdo al voltaje e intensidad mxima de operacin del motor, en este caso 9v. y 500 mA. Cable pin de colores

Realice el circuito anterior en protoboard, desconete la placa Arduino de cualquier alimentacin

Nota: Debe tener en cuanta que la ping Gnd o tierra de la placa Arduino, debe ir conectada al Gnd o tierra de la fuente de alimentacin externa. Una vez realizado el circuito, conecte la placa Arduino al computador mediante un cable USB, abra el software de programacin arduino, y cargue el siguiente programa:

int potepin = 3; // la variable potepin almacenara el pin en que esta conectado el //potencimetro int motor = 8; // la variable motor almacenara el pin en que esta conectado el //motor int val; //variable que almacenara el valor leido desde el potenciometro void setup(){ } void loop(){ val = analogRead(potepin); //lee el valor desde el potenciometro (este valor estar //comprendido entre 0 y 1023) val = map(val, 0, 1023, 0, 255); // En la variable val almacenara un escalamiento entre los 1023 //posibles datos transmitidos desde el potenciometro y los 255 //posibles datos que pueden ser recibidos por el pwm del motor analogWrite(motor, val); //Escribe el valor de la variable val en la salida pwm numero 8, //para poder manipular la velocidad del motor, (para pwm=0 la //velocidad=0, anlogamente pwm=255 la velocidad ser mxima) delay(500); // Esperar 500 milisegundos para que el motor alcance la velocidad //indicada }

Conectar una pantalla LCD 16x2 a la placa de desarrollo Arduino.

Las pantallas de cristal lquido LCD o display LCD para mensajes (Liquid Cristal Display) tienen la capacidad de mostrar cualquier carcter alfanumrico, permitiendo representar la informacin que genera cualquier equipo electrnico de una forma fcil y econmica. En ocasiones es imprescindible entregar al usuario u operador informacin proveniente desde la placa de entrenamiento Arduino. Si bien, a travs del software de programacin de Arduino, mediante su monitor serie, es posible monitorear datos o informacin proveniente desde la placa de desarrollo, en ocasiones la placa no se encuentra fsicamente conectada a un computador, por lo que esta opcin no es viable. Para estos casos, arduino dispone de una librera LiquidCrystal.h que permite utilizar y manipular de forma sencilla pantallas LCD de diferentes tamaos y formatos. Anlogamente se podr comparar una pantalla LCD con una matriz de la siguiente forma:

Diseo a implementar

Componentes: 1 Potenciometro de 4,7 K. 1 resistencia de 220 ohm 1 Display LCD 16x2 (16 columnas y 2 filas)

Segn el fabricante, en ocasiones la disposicin de los pines de salida de la pantalla LCD pueden variar, remplace el conexionado segn la disposicin de los pines del datachip y la siguiente referencia: LCD RS pin al pin digital numero 52 de la placa Arduino LCD Enable pin al pin digital numero 50 de la placa Arduino

LCD R/W pin al pin Gnd Arduino LCD DB4 pin al pin digital numero 48 de la placa Arduino LCD DB5 pin al pin digital numero 46 de la placa Arduino LCD DB6 pin al pin digital numero 44 de la placa Arduino LCD DB7 pin al pin digital numero 42 de la placa Arduino LCD Vcc pin a alimentacion 5v. LCD GND pin al Gnd del arduino

Adicionalmente se deber conectar un potenciometro en cuyos extremos deberemos conectar +Vcc a 5v y Gnd correspondientemente. La pata interior del potenciometro se deber conectar el pin V0 del LCD. El potenciometro permitir modificar el contraste de la pantalla LCD Por ultimo se proceder a conectar la conexin USB de la placa de desarrollo, abriremos el software de desarrollo de Arduino y procederemos a carga el siguiente cdigo. // Incluiremos la siguiente librerapara controlar LCD #include <LiquidCrystal.h> // Inicializaremos la librera segn los pines de conexin en la //placa de desarrollo LiquidCrystal lcd(52, 50, 48, 46, 44, 42); void setup() { // configuremos el LCD dando sus caractersticas sobre 16 columnas //y 2 filas lcd.begin(16, 2); // posicionaremos el cursor en la posicin 0,0, eso es extremo superior izquierdo lcd.setCursor(0, 1); // Se imprime por por la pantalla LCD, el mensaje lcd.print("Guia Inacap!"); } void loop() { // posicionaremos el cursor en la posicin 0,1, eso es extremo inferior izquierdo lcd.setCursor(0, 1); // Se imprime el numero de segundo desde el ultimo reinicio del arduino lcd.print(millis()/1000); }

Вам также может понравиться