SlideShare una empresa de Scribd logo
1 de 17
Descargar para leer sin conexión
Maestros Online www.maestronline.com 
Solicita una cotización a través de nuestros correos 
Maestros Online Microcontroladores Grupo de problemas 
Servicio de asesorías y solución de ejercicios 
Envía tus actividades a ciencias_help@hotmail.com
Maestros Online www.maestronline.com 
Instrucciones: ¡Bienvenido al mundo de los microcontroladores! en esta práctica haremos nuestro primer proyecto en tecnologías embebidas basadas en microcontrolador, en este caso particular con un micro ATMEL ATmega328 de última generación, la tarjeta a utilizar es la Arduino UNO, que cumple los requisitos para el desarrollo de proyectos de tu materia de microcontroladores, primordialmente haciendo lo que te gusta, desarrollando proyectos de procesos mecatrónicos. Te recomendamos, consultes la página http://www.arduino.cc para descargar el Arduino software, de la pestaña Download, la necesitarás para todos los proyectos que vas a desarrollar. Por otro lado, te servirá repasar tu curso previo de C para que se te facilite la programación, que aunque no seas muy experto podrás desarrollar tu conocimiento en algo práctico. Fig. 1 Tarjeta Arduino UNO En este tarea desarrollarás la lectura desde tu microcontrolador hasta tu computadora, en otras palabras construirás tu primer módulo de comunicación hacia tu PC. Para lograr lo anterior requeriremos el siguiente material:  Tarjeta Arduino UNO  Un botón o switch, de preferencia momentáneo, en el caso del botón normalmente abierto.  Una resistencia de 10000 ohms ó 10Kohms, a ¼ watt.  Una tablilla de experimentos o protoboard  Alambre del número 22, suficiente para interconectar el circuito (obténganlo de cable de red) A continuación hay que armar el siguiente circuito:
Maestros Online www.maestronline.com 
Cuyo diagrama esquemático es el siguiente: A continuación se escribirá el siguiente programa en donde se explica cada una de las etapas del algoritmo y evidentemente se validará que funcione y sus características para comunicarse con la computadora y su respectiva lectura en uno de los puertos en donde se conecta el botón a sensar. Utiliza el Arduino software para escribir tu programa. A continuación el código a validar: /* Lectura Serial Digital Lee una entrada digital conectada al pin 2 del Arduino UNO, e imprime el resultado en el monitor serial. Este ejemplo es de dominio público. */ // El pin 2 tiene conectado el botón o switch. El nombre en el programa es: int pushButton = 2; // La rutina setup se ejecuta cuando presionas reset: void setup() { // Inicializa la comunicación serial a 9600 bps* Serial.begin(9600); // Declaro el pin 2 como entrada: pinMode(pushButton,INPUT); }
Maestros Online www.maestronline.com 
// La rutina loop hace el que programa se ejecute indefinidamente: void loop() { // Lee el pin: int buttonState =digitalRead(pushButton); // Imprime el estado del botón o switch: Serial.println(buttonState); delay(1); // haz un retardo para ajustar la estabilidad de lectura } Después que hayas probado el anterior programa, cambia el switch o botón a otro pin de entrada, haz los ajustes en el programa para que veas que puedes tener acceso a los puertos del procesador. Reporta tus observaciones y conclusiones. Instrucciones: Realiza una investigación bibliográfica en fuentes confiables sobre microcontroladores, por lo menos tres artículos de uso común donde los microcontroladores son empleados y que están sustituyendo a un dispositivo mecánico. Elabora un reporte, tomando como referencia el siguiente concepto. La aplicación de los microcontroladores, por tener gran cantidad de dispositivos de entrada y salida, permite controlar y monitorear el funcionamiento de diferentes dispositivos que se usan hoy en día. Instrucciones: El evitar falsos disparos cuando oprimimos un botón momentáneo es un reto interesante si consideramos el efecto que puede tener el no tenerlo, para mejorar o bien en el peor caso disminuir este efecto hagamos un circuito que evita los rebotes, el material necesario es el siguiente:  Una tarjeta Arduino UNO  Una tablilla de experimentos o protoboard  Una resistencia de 10K ohms a ¼ watt  Un botón momentáneo, normalmente abierto  Alambre del número 22, la cantidad necesaria El circuito a ensamblar es el siguiente: Su esquemático es:
Maestros Online www.maestronline.com 
El programa a desarrollar hace una inversión de niveles de voltaje, para lo cual se tiene el siguiente código a validar en el circuito anterior. /* Rebote Cada vez el pin de entrada va de abajo a arriba, la salida es conmutada al valor contrario de bajo a alto o alto a bajo. Hay un mínimo retardo entre cambios para rebotar el circuito. * Nota: En la mayoría de los Arduinos, un led esta conectado en el pin 13, por lo que no necesitas component extra. Creado por David A. Mellis y es de dominio public. */ // constantes const int buttonPin = 2; // número de pin en donde va el botón const int ledPin = 13; // número de pin en donde va el led // variables int ledState = HIGH; // estado actual del pin int buttonState; // lectura actual del pin int lastButtonState = LOW; // lectura previa del pin // Las siguientes variables son grandes por el tiempo en que se utiliza que son milisegundos, se usan números en formato int. long lastDebounceTime = 0; // la última vez que el tiempo se switcheo long debounceDelay = 50; // el tiempo de rebote; incrementa la seguridad en el sensado del botón void setup() { pinMode(buttonPin, INPUT);
Maestros Online www.maestronline.com 
pinMode(ledPin, OUTPUT); } void loop() { // lee el estado del botón en una variable: int reading = digitalRead(buttonPin); // verifica el estado del botón y si has esperado tiempo desde la última vez para ignorer ruido. // Si el switch ha cambiado: if (reading != lastButtonState) { // resetea el temporizador del rebote lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // Hace el comparative de tiempos y actualize el estado buttonState = reading; } // ajusta el led con el estado actual: digitalWrite(ledPin, buttonState); // salva la lectura. La próxima vez en el loop será lastButtonState: lastButtonState = reading; } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Utilizando un microcontrolador y un cable procedente de las bujías como señal, realiza un medidor de revoluciones contando los pulsos de la bujía en contraparte del reloj de microcontrolador de 12 MHz. Contabiliza los ciclos de máquina del micro y cuenta los pulsos de la bujía para determinar las revoluciones del motor. Especifica cómo lo realizarías y qué tipo de conversión programarías para determinar las revoluciones. Elabora un reporte con los resultados obtenidos. Instrucciones: En esta tarea desarrollaras tu futura “caja de música” con un generador de tonos, el cual tiene una función integrada en el proyecto, en lo particular este proyecto te generará futuras ideas para procesamiento de voz y otras cosas interesantes. Por lo pronto requerimos el siguiente material para empezar:  Una tarjeta Arduino ONE  Una bocina de 8 ohms pequeña  Una resistencia de 100 ohms a ½ watt  Cable de red, para interconectar la bocina En este proyecto se requiere conectar tu tarjeta Arduino de la siguiente manera:
Maestros Online www.maestronline.com 
Cuyo esquemático es el siguiente: El código hace uso de un archivo extra que hay que obtener de la página de Arduino (http://www.arduino.cc), dicho archivo se llama pitches.h, dicho archivo contiene todos los posibles valores para las notas musicales. A continuación el código a probar: /* Melodía Toca una melodía, creado por Tom Igoe y el código es de dominio publico. */
Maestros Online www.maestronline.com 
// inclusión del archivo pitches.h, el cual viene mas abajo #include "pitches.h" // notas en la melodia: int melody[] = { NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4}; // duración de notas: 4 = nota cuarta, 8 = octava, etc.: int noteDurations[] = { 4, 8, 8, 4,4,4,4,4 }; void setup() { // itera sobre las notas de la melodía: for (int thisNote = 0; thisNote < 8; thisNote++) { // para calcular la duración de la nota, toma un segundo // dividida por el tipo de nota. //e.g. nota cuarta n = 1000 / 4, octava = 1000/8, etc. int noteDuration = 1000/noteDurations[thisNote]; tone(8, melody[thisNote],noteDuration); // para distinguir las notas, ajuste el mínimo tiempo entre ellas. // la duración de la nota + 30% para que trabaje bien: int pauseBetweenNotes = noteDuration *1.30; delay(pauseBetweenNotes); // pare la ejecución de la nota: noTone(8); } } void loop() { // no necesita repetir la melodía. } A continuación te damos las constantes de las notas musicales que vienen en el archivo pitches.h: Notas musicales Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Tomando como referencia los conceptos vistos en el tema, así como el libro de texto y otras fuentes confiables de consulta, realiza el siguiente ejercicio. Siguiendo las instrucciones del ejercicio al final del tema y el diagrama de distribución de la memoria del microcontrolador 8051, efectúa los siguientes cambios:
Maestros Online www.maestronline.com 
Modifica las siguientes memorias de direcciones del microcontrolador, cambiar a 1 los bits, 57H, 56H, 55H, 54H, 53H el quinto bit del byte 25H, el cuarto bit del byte 23H, el sexto bit del byte 24H, el segundo bit de byte 23, el primer bit del byte 2AH. Escríbelos en forma secuencial con la instrucción indicada para su realización. Instrucciones: Para el desarrollo de la tarea haremos uso de una instrucción muy conocida y de mucha importancia en el ámbito de la programación, de allí que el desarrollo de algoritmos mas complejos hagan uso de estrategias de “ Si ….. entonces …. y sino ……”, pudiendo llegar a ser comparaciones con evaluación simple o compleja de variables o bien con varias opciones de salida. Para lograr esto necesitamos el siguiente material:  Una tarjeta Arduino ONE  Un potenciómetro de 10k ohms, sin switch  Una resistencia de 220 ohms a ¼ watt  Un led  Una tablilla de experimentación  Cable de red, para interconectar la bocina Ensamble el siguiente circuito:
Maestros Online www.maestronline.com 
Su respectivo diagrama electrónico:
Maestros Online www.maestronline.com 
El programa es muy sencillo, el cual únicamente leerá una señal continua y la comparará a un valor de umbral para activar que ya llego a un determinado voltaje, el código es el siguiente: /* Condicionales - If Evalúa un cierto nivel de voltaje y si lo supera enciende el led. creado por Tom Igoe y es de dominio publico. */ const int analogPin = A0; // pin en donde va el sensor const int ledPin = 13; // pin en donde va el led const int threshold = 400; // umbral establecido void setup() { // inicializa led como salida: pinMode(ledPin, OUTPUT); // inicializa la salida serial: Serial.begin(9600); } void loop() { // lee el potenciometro: int analogValue = analogRead(analogPin); // Si supera el umbral, enciende el led: if (analogValue > threshold) { digitalWrite(ledPin, HIGH);
Maestros Online www.maestronline.com 
} else { digitalWrite(ledPin,LOW); } // pone en pantalla el resultado de lectura: Serial.println(analogValue); delay(1); // retardo para estabilidad del convertidor análogo-digital } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: De acuerdo a lo expuesto referente a programación de microcontroladores y tomando como referencia conceptos de fuentes confiables, da respuesta a la siguiente pregunta detonante: ¿Cuál es la serie de instrucciones para habilitar las interrupciones del temporizador 1 y habilitar la interrupción externa en lenguaje ensamblador? En un reporte escribe las instrucciones, indica el análisis y explica cómo están estructurados. Instrucciones: Esta tarea es básica para el desarrollo de proyectos mas avanzados, como lo es la conversión análoga-digital y viceversa, dado que en el caso de digital análogo digital se usan técnicas como la Modulación de Ancho de Pulso (PWM) para que se genere un pulso con ancho variable de acuerdo a un valor numérico digital; para este caso utilizaremos una entrada analógica basada en un potenciómetro que ajusta la luminosidad de un led, controlada por el potenciómetro. Tome en cuenta lo siguiente que una señal analógica la convierte a digital y después una digital a analógica. A continuación el material necesario para el desarrollo del proyecto:  Una tarjeta Arduino UNO  Un potenciómetro de 10K ohms, sin switch.  Un led  Una resistencia de 220 ohms a ¼ watt  Cable del número 22, necesario para completar tarea Prepare el siguiente circuito para la prueba de controlador de destello:
Maestros Online www.maestronline.com 
Su correspondiente esquemático a desarrollar es el siguiente: Conecte uno de los pines de las orillas a 5 volts y el otro a tierra (0 volts), el central va a la entra analógica 0. Conecte al pin digital 9 una resistencia de 220 ohms y en serie el led con la polaridad correcta, el cátodo del led va a tierra. Enseguida escriba el siguiente programa en el Arduino Software para que lo valide en el circuito y verifique su funcionamiento, en los comentarios del programa se explica la funcionalidad del programa: /* Entrada análoga, salida análoga, salida serial Lee una entrada análoga, mapea el resultado en un rango de 0 a 255 y usa el resultado para ajustar la modulación de ancho de pulso (PWM) de un pin de salida. También, presenta los resultados en el monitor serial del
Maestros Online www.maestronline.com 
Arduino Software. Código creado por Tom Igoe y es de dominio publico. */ // Constantes para nombrar pines const int analogInPin = A0; // Entrada análoga const int analogOutPin = 9; // Salida análoga int sensorValue = 0; // valor leido del potenciometro int outputValue = 0; // valor de la salida PWM voidsetup() { // inicializa la salida serial a 9600: Serial.begin(9600); } voidloop() { // lee el valor análogo: sensorValue = analogRead(analogInPin); // mapea el valor leído al PWM: outputValue = map(sensorValue, 0, 1023, 0, 255); // cambia el valor de la salida: analogWrite(analogOutPin, outputValue); // Imprime los resultados en el monitor: Serial.print("sensor = " ); Serial.print(sensorValue); Serial.print("t salida = "); Serial.println(outputValue); // Espera 2 milisegundos antes del siguiente ciclo // para dar oportunidad de restablecer el convertidor A/D // después de la lectura previa: delay(2); } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Investiga sobre periféricos internos en Biblioteca Digital o en alguna otra fuente confiable de información y realiza el siguiente ejercicio. Escriba un programa para crear una onda cuadrada en P1.0 con frecuencia de 1 khz y una onda cuadrada en P2.0 con frecuencia de 10 khz, describe las acciones realizadas por el programa paso por paso. Instrucciones: En el desarrollo de esta tarea tendrás la oportunidad de generar señales de voltaje analógicas en un dispositivo netamente digital, cabe aclarar que el microcontrolador ATMEL incluido en la tarjeta Arduino NO tiene convertidor Digital-Analógico, por tanto hay que generarlo mediante un sistema de modulación de ancho de pulso, conocido como PWM, en tu tarea descubrirás como hacerlo; los materiales necesarios para el proyecto son:
Maestros Online www.maestronline.com 
 Una tarjeta Arduino UNO  Un led  Una resistencia de 220 ohms a ¼ watt  Cable del número 22, necesario para completar tarea Ensamble el siguiente circuito: y su respectivo esquemático es:
Maestros Online www.maestronline.com 
El programa para la generación de pulsos es el siguiente, vea el uso FOR´s para generar las secuencias de pulsos para el led, el código es el siguiente a validar en la tarea: /* Barrido Este ejemplo muestra como usar las salidas analógicas con analogWrite(). Creado por Tom Igoe y es de Dominio Público. */ int ledPin = 9; // led conectado al pin 9 void setup() { // nada sucede en el setup } void loop() { // barre del valor min a max en incrementos de 5 en 5: for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { // ajusta el valor, de 0 a 255 en rango: analogWrite(ledPin, fadeValue); // espera de 30 milisegundos para el efecto de traqueo. delay(30); }
Maestros Online www.maestronline.com 
// barre del valor max a min en incrementos de 5 en 5: for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { // ajusta el valor, de 0 a 255 en rango: analogWrite(ledPin, fadeValue); // espera de 30 milisegundos para el efecto de traqueo. delay(30); } } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Investiga sobre puertos de comunicación y controladores en Biblioteca Digital o en alguna otra fuente confiable de información y realiza el siguiente ejercicio. Realiza un programa para activar todos los temporizadores y los contadores y al terminar, detenga los temporizadores. Escribe el programa indicando paso por paso lo que realiza cada instrucción y sugiere una aplicación para este tipo de programa. 
El objetivo de este proyecto es que demuestres que eres capaz de desarrollar proyectos de control de procesos mecatrónicos, utilizando herramientas de alto desempeño para programación de alto rendimiento. El uso de tarjetas de microcontroladores embebidos o incrustados en sistemas de aplicación en la industria metal-mecánica, alimenticia, ambiental, y prácticamente cualquier tipo, que involucre que deba de existir un control, se hace indispensable; además de que podrás aplicar tus conocimientos previos en el proyecto que a continuación te proponemos. 
Se requiere un diseño de alto desempeño para arrancar un motor tipo derivado o “shunt” de corriente continua, para lo cual se requiere disminuir el voltaje al arranque del motor, para lo cual dicho arrancador debe ser controlado por PWM, el cual cada segundo va aumentando su valor del voltaje aplicado a la armadura del motor, por tanto después de 10 segundos se alcanza la tensión plena en el motor. Para la construcción del prototipo se tiene un motor de bajo voltaje, pero se puede hacer con un motor de alto voltaje al conectar un relevador a la salida digital del Arduino. Para el arranque y paro del motor se usan botones diferentes conectados al Arduino. 
Construya su prototipo a escala con sensores y motores, ya sean eléctricos o neumáticos, todo controlado con su tarjeta Arduino ONE, pero no limitado al uso de una sola. 
Desarrolle su software correspondiente y explíquelo dentro del código y un diagrama de flujo basado en Máquinas de Estado Finito o Redes de Petri; reporta tus observaciones y conclusiones.

Más contenido relacionado

La actualidad más candente

Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2Gonzalo Gomez
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Jose Antonio Vacas
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a ArduinoJosué Herrera
 
Minibloq+ arduino
Minibloq+ arduinoMinibloq+ arduino
Minibloq+ arduinoilusaud
 
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-unoAngelik Hdez
 
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de ArduinoArduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de ArduinoSANTIAGO PABLO ALBERTO
 
Presentación arduino conferencia
Presentación arduino conferenciaPresentación arduino conferencia
Presentación arduino conferenciagruposirp
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieÁngel Acaymo M. G.
 
Programando en bitbloq
Programando en bitbloqProgramando en bitbloq
Programando en bitbloqVisemi VI
 

La actualidad más candente (19)

Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2Introduccion a los_microcontroladores_v2
Introduccion a los_microcontroladores_v2
 
Práctica08.Comunicaciones
Práctica08.ComunicacionesPráctica08.Comunicaciones
Práctica08.Comunicaciones
 
Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015Robotica Educativa CEP Granada 2015
Robotica Educativa CEP Granada 2015
 
Presentación ArduBlock
Presentación ArduBlockPresentación ArduBlock
Presentación ArduBlock
 
Manual programacion arduino
Manual programacion arduinoManual programacion arduino
Manual programacion arduino
 
Introducción a Arduino
Introducción a ArduinoIntroducción a Arduino
Introducción a Arduino
 
Minibloq+ arduino
Minibloq+ arduinoMinibloq+ arduino
Minibloq+ arduino
 
Cerradura Electrónica
Cerradura ElectrónicaCerradura Electrónica
Cerradura Electrónica
 
Programación Basada en Autómatas
Programación Basada en AutómatasProgramación Basada en Autómatas
Programación Basada en Autómatas
 
GUIA BASICA ARDUINO
GUIA BASICA ARDUINOGUIA BASICA ARDUINO
GUIA BASICA ARDUINO
 
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de ArduinoArduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
Arduino: Libro ING Santiago Manzano diseño y proyectos básicos de Arduino
 
Programación básica de Arduino
Programación básica de Arduino Programación básica de Arduino
Programación básica de Arduino
 
Presentación arduino conferencia
Presentación arduino conferenciaPresentación arduino conferencia
Presentación arduino conferencia
 
Arduino mfc y puerto serie
Arduino mfc y puerto serieArduino mfc y puerto serie
Arduino mfc y puerto serie
 
Arduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serieArduino delphi tokio 10.2 y puerto serie
Arduino delphi tokio 10.2 y puerto serie
 
Equipo7 Arduino
Equipo7 ArduinoEquipo7 Arduino
Equipo7 Arduino
 
Programando en bitbloq
Programando en bitbloqProgramando en bitbloq
Programando en bitbloq
 

Destacado (14)

En tu amor
En tu amorEn tu amor
En tu amor
 
Leveraging The Power Of Social - Real Estate Market
Leveraging The Power Of Social - Real Estate MarketLeveraging The Power Of Social - Real Estate Market
Leveraging The Power Of Social - Real Estate Market
 
Estadistica administrativa
Estadistica administrativaEstadistica administrativa
Estadistica administrativa
 
Proyecto Pizzacool
Proyecto PizzacoolProyecto Pizzacool
Proyecto Pizzacool
 
Datar la presencia
Datar la presenciaDatar la presencia
Datar la presencia
 
Cota antes que coto
Cota antes que cotoCota antes que coto
Cota antes que coto
 
Solo en jesus salvo por la sangre
Solo en jesus   salvo por la sangreSolo en jesus   salvo por la sangre
Solo en jesus salvo por la sangre
 
Matematicas ii 09102
Matematicas ii 09102Matematicas ii 09102
Matematicas ii 09102
 
Diseño interactivo ss14
Diseño interactivo ss14Diseño interactivo ss14
Diseño interactivo ss14
 
Administración financiera 13251
Administración financiera 13251Administración financiera 13251
Administración financiera 13251
 
Intervenções psicológicas em saúde pública
Intervenções psicológicas em saúde públicaIntervenções psicológicas em saúde pública
Intervenções psicológicas em saúde pública
 
Aforismos. parte xxi.
Aforismos. parte xxi.Aforismos. parte xxi.
Aforismos. parte xxi.
 
Electricidadestatica
ElectricidadestaticaElectricidadestatica
Electricidadestatica
 
Financial systems role of market participants
Financial systems role of market participantsFinancial systems role of market participants
Financial systems role of market participants
 

Similar a Microcontroladores ss13

Similar a Microcontroladores ss13 (20)

Arduino 1
Arduino 1Arduino 1
Arduino 1
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
Microcontroladores: Programación del microcontrolador ATMega328P.pdf
Microcontroladores: Programación del microcontrolador ATMega328P.pdfMicrocontroladores: Programación del microcontrolador ATMega328P.pdf
Microcontroladores: Programación del microcontrolador ATMega328P.pdf
 
03-arduino.pdf
03-arduino.pdf03-arduino.pdf
03-arduino.pdf
 
Arduino: programación básica de Arduino
Arduino: programación básica de ArduinoArduino: programación básica de Arduino
Arduino: programación básica de Arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Proy iker4
Proy iker4Proy iker4
Proy iker4
 
Manual programacion-arduino
Manual programacion-arduinoManual programacion-arduino
Manual programacion-arduino
 
Presentación ArduBlock
Presentación ArduBlockPresentación ArduBlock
Presentación ArduBlock
 
62962340 manual-arduino-uno
62962340 manual-arduino-uno62962340 manual-arduino-uno
62962340 manual-arduino-uno
 
Lab 01 micro
Lab 01 microLab 01 micro
Lab 01 micro
 
Laboratorio 7-Control de un motor de CD.docx
Laboratorio 7-Control de un  motor de CD.docxLaboratorio 7-Control de un  motor de CD.docx
Laboratorio 7-Control de un motor de CD.docx
 
Arduino corrimiento de bits con leds
Arduino corrimiento de bits con ledsArduino corrimiento de bits con leds
Arduino corrimiento de bits con leds
 
3 juanpedro montero_cap.4-5
3 juanpedro montero_cap.4-53 juanpedro montero_cap.4-5
3 juanpedro montero_cap.4-5
 
Microcontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR StudioMicrocontroladores: Introducción al AVR Studio
Microcontroladores: Introducción al AVR Studio
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 

Más de Maestros Online

Gobernabilidad de tecnologías de información
Gobernabilidad de tecnologías de informaciónGobernabilidad de tecnologías de información
Gobernabilidad de tecnologías de informaciónMaestros Online
 
Simulación de eventos discretos
Simulación de eventos discretosSimulación de eventos discretos
Simulación de eventos discretosMaestros Online
 
El emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional certEl emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional certMaestros Online
 
Derecho bancario, bursátil, litigios, fiscal cert
Derecho bancario, bursátil, litigios, fiscal certDerecho bancario, bursátil, litigios, fiscal cert
Derecho bancario, bursátil, litigios, fiscal certMaestros Online
 
Desarrollo de proyecto en desarrollo internacional cert
Desarrollo de proyecto en desarrollo internacional certDesarrollo de proyecto en desarrollo internacional cert
Desarrollo de proyecto en desarrollo internacional certMaestros Online
 
Desarrollo de proyecto de mercadotecnia digital cert
Desarrollo de proyecto de mercadotecnia digital certDesarrollo de proyecto de mercadotecnia digital cert
Desarrollo de proyecto de mercadotecnia digital certMaestros Online
 
Administración de proyectos de software y java cert
Administración de proyectos de software y java certAdministración de proyectos de software y java cert
Administración de proyectos de software y java certMaestros Online
 
Computación avanzada en java cert
Computación avanzada en java certComputación avanzada en java cert
Computación avanzada en java certMaestros Online
 
Productividad basada en herramientas tecnológicas cert
Productividad basada en herramientas tecnológicas certProductividad basada en herramientas tecnológicas cert
Productividad basada en herramientas tecnológicas certMaestros Online
 
Manejo de la producción y cadena de suministro cert
Manejo de la producción y cadena de suministro certManejo de la producción y cadena de suministro cert
Manejo de la producción y cadena de suministro certMaestros Online
 
Tecnología de los materiales cert
Tecnología de los materiales certTecnología de los materiales cert
Tecnología de los materiales certMaestros Online
 
Desarrollo de proyecto de procesos de manufactura cert
Desarrollo de proyecto de procesos de manufactura certDesarrollo de proyecto de procesos de manufactura cert
Desarrollo de proyecto de procesos de manufactura certMaestros Online
 
Esquemas de retiro y protección financiera cert
Esquemas de retiro y protección financiera certEsquemas de retiro y protección financiera cert
Esquemas de retiro y protección financiera certMaestros Online
 
Análisis financiero y esquemas de financiamiento cert
Análisis financiero y esquemas de financiamiento certAnálisis financiero y esquemas de financiamiento cert
Análisis financiero y esquemas de financiamiento certMaestros Online
 
Crédito, riesgo, inversiones y seguros cert
Crédito, riesgo, inversiones y seguros certCrédito, riesgo, inversiones y seguros cert
Crédito, riesgo, inversiones y seguros certMaestros Online
 
Manufactura esbelta cert
Manufactura esbelta certManufactura esbelta cert
Manufactura esbelta certMaestros Online
 
Desarrollo de proyecto de psicología organizacional cert
Desarrollo de proyecto de psicología organizacional certDesarrollo de proyecto de psicología organizacional cert
Desarrollo de proyecto de psicología organizacional certMaestros Online
 
Probabilidad y estadísticas descriptiva ebc
Probabilidad y estadísticas descriptiva ebcProbabilidad y estadísticas descriptiva ebc
Probabilidad y estadísticas descriptiva ebcMaestros Online
 
El emprendedor y la innovación cert
El emprendedor y la innovación certEl emprendedor y la innovación cert
El emprendedor y la innovación certMaestros Online
 

Más de Maestros Online (20)

Gobernabilidad de tecnologías de información
Gobernabilidad de tecnologías de informaciónGobernabilidad de tecnologías de información
Gobernabilidad de tecnologías de información
 
Simulación de eventos discretos
Simulación de eventos discretosSimulación de eventos discretos
Simulación de eventos discretos
 
El emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional certEl emprendedor y el empresario profesional cert
El emprendedor y el empresario profesional cert
 
Derecho bancario, bursátil, litigios, fiscal cert
Derecho bancario, bursátil, litigios, fiscal certDerecho bancario, bursátil, litigios, fiscal cert
Derecho bancario, bursátil, litigios, fiscal cert
 
Desarrollo de proyecto en desarrollo internacional cert
Desarrollo de proyecto en desarrollo internacional certDesarrollo de proyecto en desarrollo internacional cert
Desarrollo de proyecto en desarrollo internacional cert
 
Desarrollo de proyecto de mercadotecnia digital cert
Desarrollo de proyecto de mercadotecnia digital certDesarrollo de proyecto de mercadotecnia digital cert
Desarrollo de proyecto de mercadotecnia digital cert
 
Administración de proyectos de software y java cert
Administración de proyectos de software y java certAdministración de proyectos de software y java cert
Administración de proyectos de software y java cert
 
Computación avanzada en java cert
Computación avanzada en java certComputación avanzada en java cert
Computación avanzada en java cert
 
Productividad basada en herramientas tecnológicas cert
Productividad basada en herramientas tecnológicas certProductividad basada en herramientas tecnológicas cert
Productividad basada en herramientas tecnológicas cert
 
Manejo de la producción y cadena de suministro cert
Manejo de la producción y cadena de suministro certManejo de la producción y cadena de suministro cert
Manejo de la producción y cadena de suministro cert
 
Tecnología de los materiales cert
Tecnología de los materiales certTecnología de los materiales cert
Tecnología de los materiales cert
 
Desarrollo de proyecto de procesos de manufactura cert
Desarrollo de proyecto de procesos de manufactura certDesarrollo de proyecto de procesos de manufactura cert
Desarrollo de proyecto de procesos de manufactura cert
 
Esquemas de retiro y protección financiera cert
Esquemas de retiro y protección financiera certEsquemas de retiro y protección financiera cert
Esquemas de retiro y protección financiera cert
 
Análisis financiero y esquemas de financiamiento cert
Análisis financiero y esquemas de financiamiento certAnálisis financiero y esquemas de financiamiento cert
Análisis financiero y esquemas de financiamiento cert
 
Unidad de negocio cert
Unidad de negocio certUnidad de negocio cert
Unidad de negocio cert
 
Crédito, riesgo, inversiones y seguros cert
Crédito, riesgo, inversiones y seguros certCrédito, riesgo, inversiones y seguros cert
Crédito, riesgo, inversiones y seguros cert
 
Manufactura esbelta cert
Manufactura esbelta certManufactura esbelta cert
Manufactura esbelta cert
 
Desarrollo de proyecto de psicología organizacional cert
Desarrollo de proyecto de psicología organizacional certDesarrollo de proyecto de psicología organizacional cert
Desarrollo de proyecto de psicología organizacional cert
 
Probabilidad y estadísticas descriptiva ebc
Probabilidad y estadísticas descriptiva ebcProbabilidad y estadísticas descriptiva ebc
Probabilidad y estadísticas descriptiva ebc
 
El emprendedor y la innovación cert
El emprendedor y la innovación certEl emprendedor y la innovación cert
El emprendedor y la innovación cert
 

Último

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 

Último (20)

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 2do Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 2do Grado Educacion Primaria 2024 Ccesa007.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 

Microcontroladores ss13

  • 1. Maestros Online www.maestronline.com Solicita una cotización a través de nuestros correos Maestros Online Microcontroladores Grupo de problemas Servicio de asesorías y solución de ejercicios Envía tus actividades a ciencias_help@hotmail.com
  • 2. Maestros Online www.maestronline.com Instrucciones: ¡Bienvenido al mundo de los microcontroladores! en esta práctica haremos nuestro primer proyecto en tecnologías embebidas basadas en microcontrolador, en este caso particular con un micro ATMEL ATmega328 de última generación, la tarjeta a utilizar es la Arduino UNO, que cumple los requisitos para el desarrollo de proyectos de tu materia de microcontroladores, primordialmente haciendo lo que te gusta, desarrollando proyectos de procesos mecatrónicos. Te recomendamos, consultes la página http://www.arduino.cc para descargar el Arduino software, de la pestaña Download, la necesitarás para todos los proyectos que vas a desarrollar. Por otro lado, te servirá repasar tu curso previo de C para que se te facilite la programación, que aunque no seas muy experto podrás desarrollar tu conocimiento en algo práctico. Fig. 1 Tarjeta Arduino UNO En este tarea desarrollarás la lectura desde tu microcontrolador hasta tu computadora, en otras palabras construirás tu primer módulo de comunicación hacia tu PC. Para lograr lo anterior requeriremos el siguiente material:  Tarjeta Arduino UNO  Un botón o switch, de preferencia momentáneo, en el caso del botón normalmente abierto.  Una resistencia de 10000 ohms ó 10Kohms, a ¼ watt.  Una tablilla de experimentos o protoboard  Alambre del número 22, suficiente para interconectar el circuito (obténganlo de cable de red) A continuación hay que armar el siguiente circuito:
  • 3. Maestros Online www.maestronline.com Cuyo diagrama esquemático es el siguiente: A continuación se escribirá el siguiente programa en donde se explica cada una de las etapas del algoritmo y evidentemente se validará que funcione y sus características para comunicarse con la computadora y su respectiva lectura en uno de los puertos en donde se conecta el botón a sensar. Utiliza el Arduino software para escribir tu programa. A continuación el código a validar: /* Lectura Serial Digital Lee una entrada digital conectada al pin 2 del Arduino UNO, e imprime el resultado en el monitor serial. Este ejemplo es de dominio público. */ // El pin 2 tiene conectado el botón o switch. El nombre en el programa es: int pushButton = 2; // La rutina setup se ejecuta cuando presionas reset: void setup() { // Inicializa la comunicación serial a 9600 bps* Serial.begin(9600); // Declaro el pin 2 como entrada: pinMode(pushButton,INPUT); }
  • 4. Maestros Online www.maestronline.com // La rutina loop hace el que programa se ejecute indefinidamente: void loop() { // Lee el pin: int buttonState =digitalRead(pushButton); // Imprime el estado del botón o switch: Serial.println(buttonState); delay(1); // haz un retardo para ajustar la estabilidad de lectura } Después que hayas probado el anterior programa, cambia el switch o botón a otro pin de entrada, haz los ajustes en el programa para que veas que puedes tener acceso a los puertos del procesador. Reporta tus observaciones y conclusiones. Instrucciones: Realiza una investigación bibliográfica en fuentes confiables sobre microcontroladores, por lo menos tres artículos de uso común donde los microcontroladores son empleados y que están sustituyendo a un dispositivo mecánico. Elabora un reporte, tomando como referencia el siguiente concepto. La aplicación de los microcontroladores, por tener gran cantidad de dispositivos de entrada y salida, permite controlar y monitorear el funcionamiento de diferentes dispositivos que se usan hoy en día. Instrucciones: El evitar falsos disparos cuando oprimimos un botón momentáneo es un reto interesante si consideramos el efecto que puede tener el no tenerlo, para mejorar o bien en el peor caso disminuir este efecto hagamos un circuito que evita los rebotes, el material necesario es el siguiente:  Una tarjeta Arduino UNO  Una tablilla de experimentos o protoboard  Una resistencia de 10K ohms a ¼ watt  Un botón momentáneo, normalmente abierto  Alambre del número 22, la cantidad necesaria El circuito a ensamblar es el siguiente: Su esquemático es:
  • 5. Maestros Online www.maestronline.com El programa a desarrollar hace una inversión de niveles de voltaje, para lo cual se tiene el siguiente código a validar en el circuito anterior. /* Rebote Cada vez el pin de entrada va de abajo a arriba, la salida es conmutada al valor contrario de bajo a alto o alto a bajo. Hay un mínimo retardo entre cambios para rebotar el circuito. * Nota: En la mayoría de los Arduinos, un led esta conectado en el pin 13, por lo que no necesitas component extra. Creado por David A. Mellis y es de dominio public. */ // constantes const int buttonPin = 2; // número de pin en donde va el botón const int ledPin = 13; // número de pin en donde va el led // variables int ledState = HIGH; // estado actual del pin int buttonState; // lectura actual del pin int lastButtonState = LOW; // lectura previa del pin // Las siguientes variables son grandes por el tiempo en que se utiliza que son milisegundos, se usan números en formato int. long lastDebounceTime = 0; // la última vez que el tiempo se switcheo long debounceDelay = 50; // el tiempo de rebote; incrementa la seguridad en el sensado del botón void setup() { pinMode(buttonPin, INPUT);
  • 6. Maestros Online www.maestronline.com pinMode(ledPin, OUTPUT); } void loop() { // lee el estado del botón en una variable: int reading = digitalRead(buttonPin); // verifica el estado del botón y si has esperado tiempo desde la última vez para ignorer ruido. // Si el switch ha cambiado: if (reading != lastButtonState) { // resetea el temporizador del rebote lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // Hace el comparative de tiempos y actualize el estado buttonState = reading; } // ajusta el led con el estado actual: digitalWrite(ledPin, buttonState); // salva la lectura. La próxima vez en el loop será lastButtonState: lastButtonState = reading; } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Utilizando un microcontrolador y un cable procedente de las bujías como señal, realiza un medidor de revoluciones contando los pulsos de la bujía en contraparte del reloj de microcontrolador de 12 MHz. Contabiliza los ciclos de máquina del micro y cuenta los pulsos de la bujía para determinar las revoluciones del motor. Especifica cómo lo realizarías y qué tipo de conversión programarías para determinar las revoluciones. Elabora un reporte con los resultados obtenidos. Instrucciones: En esta tarea desarrollaras tu futura “caja de música” con un generador de tonos, el cual tiene una función integrada en el proyecto, en lo particular este proyecto te generará futuras ideas para procesamiento de voz y otras cosas interesantes. Por lo pronto requerimos el siguiente material para empezar:  Una tarjeta Arduino ONE  Una bocina de 8 ohms pequeña  Una resistencia de 100 ohms a ½ watt  Cable de red, para interconectar la bocina En este proyecto se requiere conectar tu tarjeta Arduino de la siguiente manera:
  • 7. Maestros Online www.maestronline.com Cuyo esquemático es el siguiente: El código hace uso de un archivo extra que hay que obtener de la página de Arduino (http://www.arduino.cc), dicho archivo se llama pitches.h, dicho archivo contiene todos los posibles valores para las notas musicales. A continuación el código a probar: /* Melodía Toca una melodía, creado por Tom Igoe y el código es de dominio publico. */
  • 8. Maestros Online www.maestronline.com // inclusión del archivo pitches.h, el cual viene mas abajo #include "pitches.h" // notas en la melodia: int melody[] = { NOTE_C4, NOTE_G3,NOTE_G3, NOTE_A3, NOTE_G3,0, NOTE_B3, NOTE_C4}; // duración de notas: 4 = nota cuarta, 8 = octava, etc.: int noteDurations[] = { 4, 8, 8, 4,4,4,4,4 }; void setup() { // itera sobre las notas de la melodía: for (int thisNote = 0; thisNote < 8; thisNote++) { // para calcular la duración de la nota, toma un segundo // dividida por el tipo de nota. //e.g. nota cuarta n = 1000 / 4, octava = 1000/8, etc. int noteDuration = 1000/noteDurations[thisNote]; tone(8, melody[thisNote],noteDuration); // para distinguir las notas, ajuste el mínimo tiempo entre ellas. // la duración de la nota + 30% para que trabaje bien: int pauseBetweenNotes = noteDuration *1.30; delay(pauseBetweenNotes); // pare la ejecución de la nota: noTone(8); } } void loop() { // no necesita repetir la melodía. } A continuación te damos las constantes de las notas musicales que vienen en el archivo pitches.h: Notas musicales Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Tomando como referencia los conceptos vistos en el tema, así como el libro de texto y otras fuentes confiables de consulta, realiza el siguiente ejercicio. Siguiendo las instrucciones del ejercicio al final del tema y el diagrama de distribución de la memoria del microcontrolador 8051, efectúa los siguientes cambios:
  • 9. Maestros Online www.maestronline.com Modifica las siguientes memorias de direcciones del microcontrolador, cambiar a 1 los bits, 57H, 56H, 55H, 54H, 53H el quinto bit del byte 25H, el cuarto bit del byte 23H, el sexto bit del byte 24H, el segundo bit de byte 23, el primer bit del byte 2AH. Escríbelos en forma secuencial con la instrucción indicada para su realización. Instrucciones: Para el desarrollo de la tarea haremos uso de una instrucción muy conocida y de mucha importancia en el ámbito de la programación, de allí que el desarrollo de algoritmos mas complejos hagan uso de estrategias de “ Si ….. entonces …. y sino ……”, pudiendo llegar a ser comparaciones con evaluación simple o compleja de variables o bien con varias opciones de salida. Para lograr esto necesitamos el siguiente material:  Una tarjeta Arduino ONE  Un potenciómetro de 10k ohms, sin switch  Una resistencia de 220 ohms a ¼ watt  Un led  Una tablilla de experimentación  Cable de red, para interconectar la bocina Ensamble el siguiente circuito:
  • 10. Maestros Online www.maestronline.com Su respectivo diagrama electrónico:
  • 11. Maestros Online www.maestronline.com El programa es muy sencillo, el cual únicamente leerá una señal continua y la comparará a un valor de umbral para activar que ya llego a un determinado voltaje, el código es el siguiente: /* Condicionales - If Evalúa un cierto nivel de voltaje y si lo supera enciende el led. creado por Tom Igoe y es de dominio publico. */ const int analogPin = A0; // pin en donde va el sensor const int ledPin = 13; // pin en donde va el led const int threshold = 400; // umbral establecido void setup() { // inicializa led como salida: pinMode(ledPin, OUTPUT); // inicializa la salida serial: Serial.begin(9600); } void loop() { // lee el potenciometro: int analogValue = analogRead(analogPin); // Si supera el umbral, enciende el led: if (analogValue > threshold) { digitalWrite(ledPin, HIGH);
  • 12. Maestros Online www.maestronline.com } else { digitalWrite(ledPin,LOW); } // pone en pantalla el resultado de lectura: Serial.println(analogValue); delay(1); // retardo para estabilidad del convertidor análogo-digital } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: De acuerdo a lo expuesto referente a programación de microcontroladores y tomando como referencia conceptos de fuentes confiables, da respuesta a la siguiente pregunta detonante: ¿Cuál es la serie de instrucciones para habilitar las interrupciones del temporizador 1 y habilitar la interrupción externa en lenguaje ensamblador? En un reporte escribe las instrucciones, indica el análisis y explica cómo están estructurados. Instrucciones: Esta tarea es básica para el desarrollo de proyectos mas avanzados, como lo es la conversión análoga-digital y viceversa, dado que en el caso de digital análogo digital se usan técnicas como la Modulación de Ancho de Pulso (PWM) para que se genere un pulso con ancho variable de acuerdo a un valor numérico digital; para este caso utilizaremos una entrada analógica basada en un potenciómetro que ajusta la luminosidad de un led, controlada por el potenciómetro. Tome en cuenta lo siguiente que una señal analógica la convierte a digital y después una digital a analógica. A continuación el material necesario para el desarrollo del proyecto:  Una tarjeta Arduino UNO  Un potenciómetro de 10K ohms, sin switch.  Un led  Una resistencia de 220 ohms a ¼ watt  Cable del número 22, necesario para completar tarea Prepare el siguiente circuito para la prueba de controlador de destello:
  • 13. Maestros Online www.maestronline.com Su correspondiente esquemático a desarrollar es el siguiente: Conecte uno de los pines de las orillas a 5 volts y el otro a tierra (0 volts), el central va a la entra analógica 0. Conecte al pin digital 9 una resistencia de 220 ohms y en serie el led con la polaridad correcta, el cátodo del led va a tierra. Enseguida escriba el siguiente programa en el Arduino Software para que lo valide en el circuito y verifique su funcionamiento, en los comentarios del programa se explica la funcionalidad del programa: /* Entrada análoga, salida análoga, salida serial Lee una entrada análoga, mapea el resultado en un rango de 0 a 255 y usa el resultado para ajustar la modulación de ancho de pulso (PWM) de un pin de salida. También, presenta los resultados en el monitor serial del
  • 14. Maestros Online www.maestronline.com Arduino Software. Código creado por Tom Igoe y es de dominio publico. */ // Constantes para nombrar pines const int analogInPin = A0; // Entrada análoga const int analogOutPin = 9; // Salida análoga int sensorValue = 0; // valor leido del potenciometro int outputValue = 0; // valor de la salida PWM voidsetup() { // inicializa la salida serial a 9600: Serial.begin(9600); } voidloop() { // lee el valor análogo: sensorValue = analogRead(analogInPin); // mapea el valor leído al PWM: outputValue = map(sensorValue, 0, 1023, 0, 255); // cambia el valor de la salida: analogWrite(analogOutPin, outputValue); // Imprime los resultados en el monitor: Serial.print("sensor = " ); Serial.print(sensorValue); Serial.print("t salida = "); Serial.println(outputValue); // Espera 2 milisegundos antes del siguiente ciclo // para dar oportunidad de restablecer el convertidor A/D // después de la lectura previa: delay(2); } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Investiga sobre periféricos internos en Biblioteca Digital o en alguna otra fuente confiable de información y realiza el siguiente ejercicio. Escriba un programa para crear una onda cuadrada en P1.0 con frecuencia de 1 khz y una onda cuadrada en P2.0 con frecuencia de 10 khz, describe las acciones realizadas por el programa paso por paso. Instrucciones: En el desarrollo de esta tarea tendrás la oportunidad de generar señales de voltaje analógicas en un dispositivo netamente digital, cabe aclarar que el microcontrolador ATMEL incluido en la tarjeta Arduino NO tiene convertidor Digital-Analógico, por tanto hay que generarlo mediante un sistema de modulación de ancho de pulso, conocido como PWM, en tu tarea descubrirás como hacerlo; los materiales necesarios para el proyecto son:
  • 15. Maestros Online www.maestronline.com  Una tarjeta Arduino UNO  Un led  Una resistencia de 220 ohms a ¼ watt  Cable del número 22, necesario para completar tarea Ensamble el siguiente circuito: y su respectivo esquemático es:
  • 16. Maestros Online www.maestronline.com El programa para la generación de pulsos es el siguiente, vea el uso FOR´s para generar las secuencias de pulsos para el led, el código es el siguiente a validar en la tarea: /* Barrido Este ejemplo muestra como usar las salidas analógicas con analogWrite(). Creado por Tom Igoe y es de Dominio Público. */ int ledPin = 9; // led conectado al pin 9 void setup() { // nada sucede en el setup } void loop() { // barre del valor min a max en incrementos de 5 en 5: for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) { // ajusta el valor, de 0 a 255 en rango: analogWrite(ledPin, fadeValue); // espera de 30 milisegundos para el efecto de traqueo. delay(30); }
  • 17. Maestros Online www.maestronline.com // barre del valor max a min en incrementos de 5 en 5: for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) { // ajusta el valor, de 0 a 255 en rango: analogWrite(ledPin, fadeValue); // espera de 30 milisegundos para el efecto de traqueo. delay(30); } } Después que hayas probado el anterior programa, reporta tus observaciones y conclusiones. Instrucciones: Investiga sobre puertos de comunicación y controladores en Biblioteca Digital o en alguna otra fuente confiable de información y realiza el siguiente ejercicio. Realiza un programa para activar todos los temporizadores y los contadores y al terminar, detenga los temporizadores. Escribe el programa indicando paso por paso lo que realiza cada instrucción y sugiere una aplicación para este tipo de programa. El objetivo de este proyecto es que demuestres que eres capaz de desarrollar proyectos de control de procesos mecatrónicos, utilizando herramientas de alto desempeño para programación de alto rendimiento. El uso de tarjetas de microcontroladores embebidos o incrustados en sistemas de aplicación en la industria metal-mecánica, alimenticia, ambiental, y prácticamente cualquier tipo, que involucre que deba de existir un control, se hace indispensable; además de que podrás aplicar tus conocimientos previos en el proyecto que a continuación te proponemos. Se requiere un diseño de alto desempeño para arrancar un motor tipo derivado o “shunt” de corriente continua, para lo cual se requiere disminuir el voltaje al arranque del motor, para lo cual dicho arrancador debe ser controlado por PWM, el cual cada segundo va aumentando su valor del voltaje aplicado a la armadura del motor, por tanto después de 10 segundos se alcanza la tensión plena en el motor. Para la construcción del prototipo se tiene un motor de bajo voltaje, pero se puede hacer con un motor de alto voltaje al conectar un relevador a la salida digital del Arduino. Para el arranque y paro del motor se usan botones diferentes conectados al Arduino. Construya su prototipo a escala con sensores y motores, ya sean eléctricos o neumáticos, todo controlado con su tarjeta Arduino ONE, pero no limitado al uso de una sola. Desarrolle su software correspondiente y explíquelo dentro del código y un diagrama de flujo basado en Máquinas de Estado Finito o Redes de Petri; reporta tus observaciones y conclusiones.