arduino uno ejercicios prácticos
Post on 22-Jan-2018
185 Views
Preview:
TRANSCRIPT
Practicas con la placa electrónica Arduino Uno
Introducción
Este trabajo fue realizado con el objetivo de comprender las características yfuncionalidades que pueden desarrollarse con el Arduino Uno.
Con la realización de estas practicas pudimos visualizar los efectos querealizaba el “Arduino Uno” con la ayuda del Software (Arduino), en el cual seescribían los programas y se ejecutaban.
Gracias al apoyo del profesor pudimos despejar cada una de las dudas que senos presentaban, así como el apoyo en el seguimiento de cada programa que serealizo.
Materiales que se utilizaron
Zumbador Resistencias Pulsador
Arduino Uno
LED´s
Cable de impresora
Potenciómetro
Practica 1: Prender un led.
Materiales: Arduino, led, cable de impresora.
Procedimiento: Se coloco una de las patitas del led en el puerto numero 13 del
Arduino, se conecto el Arduino con el cable de impresora a la computadora.
Codigo:int led = 13;
void setup()
{
pinMode(led, OUTPUT);
}
void loop()
{
digitalWrite(led, HIGH);
delay(2000);
digitalWrite(led, LOW);
delay(2000);
}
Comentario:
Se coloco una variable de nombre led con salida 13, se coloco la instrucción
pinMode que acepta dos parámetros(led, OUTPUT), se indica la salida de señal
con el comando (led, HIGH) Y (led, LOW), se le agrega un retardo del led
delay(2000).
Conclusión:
Los resultados que obtuvimos fue que el led enciende y apaga y le podíamos
cambiar la frecuencia del encendido y apagado.
Practica 2: Prender 3 leds.
Materiales: Arduino, leds, resistencias, cable de impresora.
Procedimiento: se colocaron los leds en los puertos 6, 7 y 8 del Arduino, se
conectaron los leds mediante las resistencias que se le adaptaron en las patitas
mas cortas del led.
Codigo:int led1 = 6;
int led = 7;
int led = 8;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
}
void loop(){
digitalWrite(led1, HIGH);
delay(200);
digitalWrite(led1, LOW);
digitalWrite(led2, HIGH);
delay(200);
digitalWrite(led2, LOW);
digitalWrite(led3, HIGH);
delay(200);
digitalWrite(led3, LOW);
}
Comentario:
Se creo una variable para cada led, se declaro la salida de los leds con la
instrucción pinMode, se determinaron las instrucciones Low y High de forma
que los leds se apagaran y se encendieran.
Conclusión:El código permite que los tres leds enciendan al mismo tiempo.
Practica 3: Lectura de un pulsador.
Materiales: Arduino, leds, resistencias, pulsador, cable de impresora.
Procedimiento:
Se le conecta al pulsador en las dos partes inferiores los cables de color. A un
pulsador se le anexo un cable para el extremo de 5 voltios y del otro extremo de 5
se le anexo una resistencia que lo llevaba a tierra.
Código:
int led = 13;
int pulsador = 5;
int encendido = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(pulsador, INPUT);
}
void loop() {
encendido = digitalRead(pulsador);
If(encendido=HIGH){
digitalWrite(led, LOW);
}
else{
digitalWrite(led, LOW);
delay(200);
digitalWrite(led,HIGH);
delay(200);
}
}
Comentario:
Se creo una variable para el led, y una para el pulsador y el tiempo que
estará encendido, se inicializan el led y el pulsador, sucesivamente se leen la
entrada mediante la condición if.
Conclusión:
Al presionar el botón se apagaba el led y al soltarlo volvía a encender, este
suceso se debe a la condición “If” que se coloco en el código.
Practica 4: Recorrido de luces.
Materiales: Arduino, leds, resistencias, pulsador, cable de impresora.
Procedimiento:
Se conectan los leds en los puertos 13, 6 y 7 del arduino, se enlazan con ayuda
de los cables y la resistencia a modo de diseñar una red d leds pequeña.
Código:int leds[] ={13, 6, 7};
int contador = 0;
int temporizador = 100;
void setup() {
for (contador=0; contador<6;contador++){
pinMode(leds [contador],OUTPUT);
}
}
void loop() {
for (contador=0; contador<6;contador++){
digitalWrite(leds [contador],HIGH);
delay(temporizador);
digitalWrite(leds [contador],LOW);
delay(temporizador);
}
for (contador=5; contador>=0;contador--){
digitalWrite(leds [contador],HIGH);
delay(temporizador);
digitalWrite(leds [contador],LOW);
delay(temporizador);
}
}
Comentario:
Mediante la secuencia de control “for” se permite que los leds vayan encendiendo y
apagando de forma secuencial.
Conclusión:
Los leds ejecutan el programa correctamente de tal forma que encienden de una forma
continua y vuelven a encender de forma inversa
Practica 5: Estrella fugaz con leds.
Materiales: Arduino, leds, resistencias, pulsador, cable de impresora.
Procedimiento:
Se conectan los leds en los puertos 5, 6 y 7 del Arduino se enlazan los leds con la
resistencia y se conectan directamente con los cables.
Código:int pinArray[] = {5,6,7};
int controlLed = 13;
int waitNextLed = 100;
int tailLength = 4;
int lineSize = 11;
void setup()
{
int i;
pinMode (controlLed, OUTPUT);
for (i=0; i<lineSize; i++)
{
pinMode (pinArray[i],OUTPUT);
}
}
void loop() {
int i;
int tailCounter = tailLength;
digitalWrite(controlLed,HIGH);
for(i=0; i<lineSize; i++)
{
digitalWrite (pinArray[i],HIGH);
delay (waitNextLed);
if (tailCounter ==0)
{
digitalWrite(pinArray[i-tailLength],LOW);
}
else
if(tailCounter > 0)
tailCounter --;
}
for (i=(lineSize-tailLength); i<lineSize; i++)
{
digitalWrite(pinArray[i],LOW);
delay (waitNextLed);
}
}
Comentario:
El programa comienza encendiendo los leds hasta que llega al ultimo leds de la fila
Conclusión:
Los leds realizan la tarea definida por el programa todo con ayuda de la variable “delay
(waitNextLed)” que permite que los leds lleven un orden consecutivo al encenderse.
Practica 6: Contador con pulsador.
Materiales: Arduino, leds, resistencias, pulsador, cable de impresora.
Procedimiento:
El led se conecta en el puerto 13 del Arduino, se conecta la resistencia a una
parte del pulsador y se conecta al puerto 7.
Código:
int LED = 13;
int Boton = 7;
int valor = 0;
int contador = 0;
int estadoanteriorboton = 0;
void setup()
{
Serial.begin(9600);
pinMode(LED, OUTPUT);
pinMode(Boton, INPUT);
}
void loop()
{
valor = digitalRead(Boton);
digitalWrite(LED,valor);
if(valor != estadoanteriorboton){
if (valor == 1){
contador++;
Serial.print(contador);
Serial.write(10);
Serial.write(13);
if (contador==10);
contador=0;
}
}
}
Comentario:El programa lee el valor de la entrada del botón y de acuerdo este dato el led encenderá.
Conclusión:El led enciende un determinado numero de veces siempre y cuando se presione el botón.
Practica 7: Simulación de vela.
Materiales: Arduino, leds, resistencias, cable de impresora.
Procedimiento:
Las resistencias se unen con las patitas de cada led como son negativas se
conectan a tierra, y las patitas positivas se colocan en las líneas 13 y 7 del
Arduino.
Código:int ledPin = 13;
int ledPin2 = 7;
int val2 = 0;
int val = 0;
int delayval = 0;
void setup() {
randomSeed(0);
pinMode(ledPin, OUTPUT);
}
void loop() {
val=random(100,255);
val2=random(12,250);
analogWrite(ledPin, val);
analogWrite(ledPin2, val2);
delayval =random(50,150);
delay(delayval);
}
Comentario:El random seed inicializa los valores de los números, los datos que se le invirtieron permiten generar un orden aleatorio en ese rango y se realiza el proceso en la instrucción delay(delayval) que permitirá la duración que tenga el encendido y el apagado del led.
Conclusión:Los leds se apagan y se encienden lentamente.
Practica 8:Ciclo analógico con leds.
Materiales: Arduino, leds, resistencias, cable de impresora.
Procedimiento:
Se conecta el led a tierra y se toma la línea 13 del arduino.
Código:int value =0;
int ledpin = 13;
void setup()
{
// nothing fro setup
}
void loop()
{
for(value = 0 ; value <= 255; value+5)
{
analogWrite(ledpin, value);
delay(30);
}
for(value = 0 ; value <= 255; value+5)
{
analogWrite(ledpin, value);
delay(30);
} }
Comentario:Mediante el uso de los ciclos for se envia un valor ascendente y trascendente para elrango de entre el 0 y 255 en la implementación se cambia automáticamente lavariación porque se le va sumando un valor de 5.
Conclusión: El led cambia su frecuencia al encender y apagar.
Practica 9: Control de iluminación con botón.
Materiales: Arduino, leds, pulsador, resistencias, cable de impresora.
Procedimiento:
Se conecta el pulsador con un cable al puerto 2 del arduino, se le enlaza una
resistencia y un cable, el led se conecta a tierra en el puerto 2 y la resistencia
que se le agrego se conecta en el puerto 9.
Código:int ledpin = 9;
int inputpin = 2;
int val = 0;
int fadeval = 0;
void setup() {
pinMode(ledpin, OUTPUT);
pinMode (inputpin, INPUT);
}
void loop() {
val = digitalRead(inputpin);
if (val== HIGH){
digitalWrite (ledpin,LOW);
delay (50);
}
else{
for(fadeval =0; fadeval <=255; fadeval+=5) {
analogWrite(ledpin,fadeval);
delay (100);
}
for (fadeval = 255; fadeval >=0; fadeval-=5) {
analogWrite (ledpin,fadeval);
delay(100);
}
}
}
Comentario:Cuando se presionaba el pulsador el led cambiaba su luminosidad.
Conclusión: El led cambio su tipo de luminosidad con la ayuda de un pulsador.
Practica 10: Generar notas musicales con zumbador.
Materiales: Arduino, zumbador, resistencias, cable de impresora.
Procedimiento:
Se conecta un cable del zumbador al puerto 13 y el otro extremo al puerto 8.
Código:int piezo=10;
int notas[] = {1915, 1700, 1276};
int n=0;
int m= 0;
int tnota=100;
void setup() {
pinMode(piezo,OUTPUT);
}
void loop(){
for(n=0;n<8;n++){
for(m=0;m<=tnota;m++){
digitalWrite(piezo,HIGH);
delayMicroseconds(notas[n]);
digitalWrite(piezo,LOW);
delayMicroseconds(notas[n]);
}
delay(pausa);
}
}
Comentario:Se creo una variable con las notas que se desearon reproducir así también se creo el tiempo consecutivo para que se reprodujera cada nota, el ciclo for nos permito determinar el tiempo activo e inactivo del zumbador.
Conclusión: Se reprodujeron de forma secuencial las notas musicales dándole un pequeño lapso de tiempo para que continuaran.
Practica extra
Potenciómetro de lectura analógica.
Materiales: Arduino, led, potenciometro, cable de impresora.
Procedimiento:
Se conecto un led al puerto 12 y 13 del arduino y el potenciometro se conecto
con los cables al puerto GND.
Código:
Comentario:Se determinaron las variables con un numero que identificaba la potencia menory la mayor, lo que hacia que se ejecutara correctamente. Conclusión:Cuando se daba vuelta lentamente al potenciómetro, la luminosidad del ledaumentaba.
top related