⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
El documento describe un curso sobre el desarrollo de aplicaciones con el microcontrolador PIC16F886. Cubre temas como las características técnicas del PIC16F886, entradas y salidas digitales y analógicas, periféricos, y una introducción a la programación. Incluye 21 prácticas sobre el uso de diferentes sensores, actuadores y periféricos conectados al PIC16F886.
Este documento presenta el informe de laboratorio N°1 de un curso sobre microcontroladores PIC. El objetivo del laboratorio era familiarizarse con las aplicaciones de compilación, simulación y programación para microcontroladores PIC, y aprender a definir y controlar terminales de entrada y salida. Como actividad, los estudiantes diseñaron e implementaron un semáforo simulado con luces LED y botones para automóviles y peatones utilizando un PIC16F84A. El informe explica conceptos teóricos como fuses, funciones de E/
Construccion seguidor de línea por joaquín berrocal verano 2017joaquinin1
Velocista seguidor de línea realizado por Joaquín Berrocal Piris, peso del vehículo 507grs, motores con reductora de 30:1 alimentados a 7 Voltios. aceptan hasta los 12V.
Prototipo velocista seguidor de líneas blancas sobre fondo de color irregular, lo que agrava la dificultad de calibración de los sensores de infrarrojos.
Está basado en el proyecto Lamborghino.
Lleva control PID por lo que es muy necesario adaptarlo a las condiciones de tensión, peso y luminosidad de la pista. cualquier modificación en los mismos habría que reajustar los valores proporcional, integral y, en menor incidencia, el derivativo.
Como se puede observar ha sido de gran dificultad los ajustes debido a tener el suelo un color oscuro nada regular. Lo ideal es que la cinta blanca (de grosor 19mm) estuviera sobre fondo negro perfecto.
Para descargar:
+ Dirección de mis proyectos en el youtube:
https://www.youtube.com/user/joaquininbp/videos?sort=dd&shelf_id=0&view=0
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
Este documento presenta un curso sobre el desarrollo de aplicaciones con el microcontrolador PIC16F886. Cubre temas como las características técnicas del PIC16F886, entradas y salidas digitales y analógicas, periféricos, y una introducción a la programación. Incluye 21 prácticas sobre el uso de diferentes sensores, actuadores y módulos de comunicación.
Este documento proporciona instrucciones para conectar y programar un módulo LCD controlado por conexión serie o I2C. Incluye cómo enviar comandos de control al LCD, programar mensajes predefinidos, mostrar la hora y fecha, y configurar una alarma.
Este documento proporciona una introducción al Arduino Uno, incluyendo sus especificaciones, funcionalidades y ejemplos de prácticas comunes. Explica que el Arduino Uno es una placa de desarrollo basada en el microcontrolador ATmega328 que contiene 14 pines de entrada/salida digital, 6 entradas analógicas y puede alimentarse a través de USB o una fuente de alimentación externa. También describe brevemente algunas prácticas básicas como encender y apagar LEDs, usar pulsadores, bucles y lect
Este documento proporciona una introducción al Arduino Uno, incluyendo sus especificaciones, funcionalidades y ejemplos de prácticas comunes. Explica que el Arduino Uno es una placa de desarrollo basada en el microcontrolador ATmega328 que contiene 14 pines de entrada/salida digital, 6 entradas analógicas y puede alimentarse a través de USB o una fuente de alimentación externa. También describe brevemente algunas prácticas básicas como encender y apagar LEDs, usar pulsadores y leer valores anal
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
Se diseñó un circuito para lectura de temperatura utilizando el sensor LM35 que muestra la lectura en 4 displays de siete segmentos mediante un multiplexor. El circuito se desarrolló con una tarjeta Arduino Uno que lee la señal del sensor LM35 y la muestra en los displays después de convertirla a grados centígrados.
⭐⭐⭐⭐⭐ (Práctica 5) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
El documento describe un curso sobre el desarrollo de aplicaciones con el microcontrolador PIC16F886. Cubre temas como las características técnicas del PIC16F886, entradas y salidas digitales y analógicas, periféricos, y una introducción a la programación. Incluye 21 prácticas sobre el uso de diferentes sensores, actuadores y periféricos conectados al PIC16F886.
Este documento presenta el informe de laboratorio N°1 de un curso sobre microcontroladores PIC. El objetivo del laboratorio era familiarizarse con las aplicaciones de compilación, simulación y programación para microcontroladores PIC, y aprender a definir y controlar terminales de entrada y salida. Como actividad, los estudiantes diseñaron e implementaron un semáforo simulado con luces LED y botones para automóviles y peatones utilizando un PIC16F84A. El informe explica conceptos teóricos como fuses, funciones de E/
Construccion seguidor de línea por joaquín berrocal verano 2017joaquinin1
Velocista seguidor de línea realizado por Joaquín Berrocal Piris, peso del vehículo 507grs, motores con reductora de 30:1 alimentados a 7 Voltios. aceptan hasta los 12V.
Prototipo velocista seguidor de líneas blancas sobre fondo de color irregular, lo que agrava la dificultad de calibración de los sensores de infrarrojos.
Está basado en el proyecto Lamborghino.
Lleva control PID por lo que es muy necesario adaptarlo a las condiciones de tensión, peso y luminosidad de la pista. cualquier modificación en los mismos habría que reajustar los valores proporcional, integral y, en menor incidencia, el derivativo.
Como se puede observar ha sido de gran dificultad los ajustes debido a tener el suelo un color oscuro nada regular. Lo ideal es que la cinta blanca (de grosor 19mm) estuviera sobre fondo negro perfecto.
Para descargar:
+ Dirección de mis proyectos en el youtube:
https://www.youtube.com/user/joaquininbp/videos?sort=dd&shelf_id=0&view=0
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
Este documento presenta un curso sobre el desarrollo de aplicaciones con el microcontrolador PIC16F886. Cubre temas como las características técnicas del PIC16F886, entradas y salidas digitales y analógicas, periféricos, y una introducción a la programación. Incluye 21 prácticas sobre el uso de diferentes sensores, actuadores y módulos de comunicación.
Este documento proporciona instrucciones para conectar y programar un módulo LCD controlado por conexión serie o I2C. Incluye cómo enviar comandos de control al LCD, programar mensajes predefinidos, mostrar la hora y fecha, y configurar una alarma.
Este documento proporciona una introducción al Arduino Uno, incluyendo sus especificaciones, funcionalidades y ejemplos de prácticas comunes. Explica que el Arduino Uno es una placa de desarrollo basada en el microcontrolador ATmega328 que contiene 14 pines de entrada/salida digital, 6 entradas analógicas y puede alimentarse a través de USB o una fuente de alimentación externa. También describe brevemente algunas prácticas básicas como encender y apagar LEDs, usar pulsadores, bucles y lect
Este documento proporciona una introducción al Arduino Uno, incluyendo sus especificaciones, funcionalidades y ejemplos de prácticas comunes. Explica que el Arduino Uno es una placa de desarrollo basada en el microcontrolador ATmega328 que contiene 14 pines de entrada/salida digital, 6 entradas analógicas y puede alimentarse a través de USB o una fuente de alimentación externa. También describe brevemente algunas prácticas básicas como encender y apagar LEDs, usar pulsadores y leer valores anal
LECTOR DE TEMPERATURA CON LM35 Y MULTIPLEXOR DE DISPLAY DE 7 SEGMENTOS CON AR...Fernando Marcos Marcos
Se diseñó un circuito para lectura de temperatura utilizando el sensor LM35 que muestra la lectura en 4 displays de siete segmentos mediante un multiplexor. El circuito se desarrolló con una tarjeta Arduino Uno que lee la señal del sensor LM35 y la muestra en los displays después de convertirla a grados centígrados.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
Este documento describe un proyecto para implementar un juego de tres en raya utilizando un microcontrolador ATmega164P y una pantalla LCD gráfica. El proyecto incluye el diseño de software dividido en módulos, el circuito esquemático y la lista de materiales. El software controla el juego, la interfaz con la pantalla y las funciones de cada jugador, mientras que el circuito conecta los componentes hardware incluyendo la pantalla, el microcontrolador y los pulsadores.
Presentación que muestra las generalidades de Arduino y muestra una programación sencilla.
Para esta presentación se necesita tener conceptos básicos de programación.
Este documento presenta 11 prácticas básicas simuladas con Tinkercad para iniciar con Arduino. Las prácticas incluyen encender y apagar LEDs en secuencias, simular semáforos y efectos de luz, generar tonos con el piezo, controlar un servomotor y detectar objetos con un sensor ultrasónico. El documento proporciona el código necesario para cada práctica.
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Práctica 1
▷ Entradas y Salidas Digitales
✅ Objetivo
▷ Aprender a hacer uso del botón MCLR como entrada digital PORTE.3
▷ Mostrar valores binarios en los LEDs
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del botón MCLR y los LEDs.
▷ Al presionar el botón MCLR se hace un incremento del valor mostrado en los LEDs
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
Diapositiva de estudios: PPT - Microchip PIC18.pdfjorgejvc777
Este documento presenta información sobre el PIC18F14K50 de Microchip. Brevemente describe las características principales de la familia PIC18 como su arquitectura de 8 bits, mapa de memoria y osciladores. Luego se enfoca en las características especiales del PIC18F14K50 como su programación ICSP, amplio rango de voltaje y memoria EEPROM mejorada. Finalmente, introduce conceptos básicos de USB como su arquitectura de bus maestro-esclavo y ejemplos de periféricos USB.
Este documento presenta el uso de Ardublock para generar aplicaciones gráficas para Arduino. Describe las capacidades de Ardublock, incluida su instalación y uso. Luego proporciona una serie de ejemplos de aplicaciones como parpadeo, funciones lógicas, comparación de entrada analógica y más, con diagramas de bloques de Ardublock y código de Arduino generado.
Este documento describe el uso de Ardublock para generar aplicaciones gráficas para Arduino. Presenta varios ejemplos de programas que se pueden crear con Ardublock como parpadeo de LED, funciones lógicas, sistema combinacional, comparador de entrada analógica, generador de impulsos, termostato, semáforo y control de confort. Explica cómo instalar y usar Ardublock como una herramienta dentro del IDE de Arduino para crear programas de forma gráfica sin necesidad de escribir código.
UNIDAD II CONTROL Y MANEJO DE PERIFÉRICOS(TECLADO 4X4 ,LCD GRficas 128x64) 20...SistemadeEstudiosMed
Este documento describe cómo controlar y manejar periféricos como teclados matriciales 4x4 y pantallas LCD gráficas 128x64 con un PIC18F4550. Explica cómo configurar el bus de datos y control de las pantallas LCD, e incluye código de ejemplo para mostrar imágenes monocromáticas. También proporciona detalles sobre sentencias para graficar en la pantalla LCD, como dibujar líneas, rectángulos y círculos. Finalmente, brinda una breve descripción sobre cómo funcionan los tecl
Este documento contiene un examen de microcontroladores de 20 preguntas con 4 opciones cada una. El examen cubre temas como programación en bucles, arreglos, conversión analógico-digital, comunicación serial y uso de puertos y registros internos del PIC16F877. El estudiante debe marcar con una X la alternativa correcta en la tabla de respuestas al final.
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
Clase 12 arduino y el display de 7 segmentos controlado por puerto serialMarlonAguilarGmez
Clase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serial
Brazo robotico ksr10 ps2 x mayo 2015 a 9v_version_3joaquinin1
El brazo tiene 5 motores de corriente continua (no paso a paso ni servomotores). Se pueden controlar desde la mesa con 3 Joystick o bien desde el mando de la playstation. Asímismo permite la grabación de los movimientos que realicemos del brazo y luego podemos secuenciar dichos movimientos de forma continua. Para ello, se utiliza un interruptor que permite la grabación de todos los movimientos que efectuemos y otro interruptor para secuenciarlos cuando deseemos, lo que permite a cualquier operario fácilmente modificar la trayectoria de los movimientos sin que tenga que venir un especialista para reprogramar los movimientos.
Construccion sonometro nov dic 16 21 pgs-joaquinjoaquinin1
Este documento describe un proyecto de semáforo control de ruido realizado con Arduino. El proyecto incluye un circuito electrónico con un sensor de sonido LM358N, cuatro LEDs para indicar diferentes niveles de ruido, y cuatro LEDs adicionales para mostrar caritas felices o enfadadas. El documento explica el esquema electrónico, la placa PCB diseñada, el programa de Arduino utilizado y las pruebas realizadas para controlar el semáforo en función del nivel de decibelios detectado.
Este documento presenta información sobre sistemas digitales combinacionales. Explica conceptos como multiplexores, demultiplexores y decodificadores, y cómo se pueden usar estos componentes para implementar funciones lógicas. También cubre temas como PLA, PAL, ROM y FPGA, y el uso de lenguajes de descripción hardware.
Este documento describe cómo configurar un contador de un dígito con un display de 7 segmentos. Explica que el circuito integrado 74XX90 funciona como un contador decimal y cómo conectarlo para obtener una división por 10. También describe el decodificador 74XX47 para mostrar números BCD en el display. El montaje final usa un contador 74LS90, decodificador 74LS47 y display para contar de 0 a 9 de forma secuencial.
Este documento describe cómo configurar un microcontrolador ATMEGA128 para controlar un display de 7 segmentos. Explica el hardware del display, incluidos los pines de datos y selección. Proporciona un esquema del circuito y una biblioteca para inicializar el display y mostrar valores. También incluye ejemplos de prácticas como contadores ascendentes, descendentes y automáticos usando el display.
El documento compara las plataformas Galileo y Arduino para su implementación en los laboratorios de sistemas embebidos de la Universidad Santiago de Cali. Galileo tiene capacidades superiores a Arduino como su procesador Intel Quark y sistema operativo Linux, pero es totalmente compatible con escudos de Arduino. Ambas plataformas usan lenguajes basados en C/C++ y soportan otros lenguajes de programación. La implementación de Galileo permitiría desarrollar aplicaciones en un entorno diferente al de Arduino actualmente usado.
⭐⭐⭐⭐⭐ (Práctica 4) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Objetivo
▷ Aprender hacer uso de dos displays cátodo común.
▷ Implementar un contador decimal de dos dígitos.
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
▷ Dos dislays 7 segmentos cátodo común
✅ Descripción
▷ El presente proyecto hace uso de dos display de 7 segmentos cátodo común.
Implementaremos un contador decimal de dos dígitos cuyo incremento será mediante el botón MCLR.
Este documento describe un proyecto para implementar un juego de tres en raya utilizando un microcontrolador ATmega164P y una pantalla LCD gráfica. El proyecto incluye el diseño de software dividido en módulos, el circuito esquemático y la lista de materiales. El software controla el juego, la interfaz con la pantalla y las funciones de cada jugador, mientras que el circuito conecta los componentes hardware incluyendo la pantalla, el microcontrolador y los pulsadores.
Presentación que muestra las generalidades de Arduino y muestra una programación sencilla.
Para esta presentación se necesita tener conceptos básicos de programación.
Este documento presenta 11 prácticas básicas simuladas con Tinkercad para iniciar con Arduino. Las prácticas incluyen encender y apagar LEDs en secuencias, simular semáforos y efectos de luz, generar tonos con el piezo, controlar un servomotor y detectar objetos con un sensor ultrasónico. El documento proporciona el código necesario para cada práctica.
⭐⭐⭐⭐⭐ (Práctica 1) DESARROLLO DE APLICACIONES CON #PIC16F886Victor Asanza
✅ Práctica 1
▷ Entradas y Salidas Digitales
✅ Objetivo
▷ Aprender a hacer uso del botón MCLR como entrada digital PORTE.3
▷ Mostrar valores binarios en los LEDs
✅ Duración
▷ 30min
✅ Materiales
▷ Módulo de desarrollo PIC16F886
✅ Descripción
▷ El presente proyecto hace uso del botón MCLR y los LEDs.
▷ Al presionar el botón MCLR se hace un incremento del valor mostrado en los LEDs
✅ Desarrollo
▷ Para realizar la práctica planteada es necesario ubicar algunos JUMPER de tal manera que permita el uso de los componentes necesarios para esta práctica.
Diapositiva de estudios: PPT - Microchip PIC18.pdfjorgejvc777
Este documento presenta información sobre el PIC18F14K50 de Microchip. Brevemente describe las características principales de la familia PIC18 como su arquitectura de 8 bits, mapa de memoria y osciladores. Luego se enfoca en las características especiales del PIC18F14K50 como su programación ICSP, amplio rango de voltaje y memoria EEPROM mejorada. Finalmente, introduce conceptos básicos de USB como su arquitectura de bus maestro-esclavo y ejemplos de periféricos USB.
Este documento presenta el uso de Ardublock para generar aplicaciones gráficas para Arduino. Describe las capacidades de Ardublock, incluida su instalación y uso. Luego proporciona una serie de ejemplos de aplicaciones como parpadeo, funciones lógicas, comparación de entrada analógica y más, con diagramas de bloques de Ardublock y código de Arduino generado.
Este documento describe el uso de Ardublock para generar aplicaciones gráficas para Arduino. Presenta varios ejemplos de programas que se pueden crear con Ardublock como parpadeo de LED, funciones lógicas, sistema combinacional, comparador de entrada analógica, generador de impulsos, termostato, semáforo y control de confort. Explica cómo instalar y usar Ardublock como una herramienta dentro del IDE de Arduino para crear programas de forma gráfica sin necesidad de escribir código.
UNIDAD II CONTROL Y MANEJO DE PERIFÉRICOS(TECLADO 4X4 ,LCD GRficas 128x64) 20...SistemadeEstudiosMed
Este documento describe cómo controlar y manejar periféricos como teclados matriciales 4x4 y pantallas LCD gráficas 128x64 con un PIC18F4550. Explica cómo configurar el bus de datos y control de las pantallas LCD, e incluye código de ejemplo para mostrar imágenes monocromáticas. También proporciona detalles sobre sentencias para graficar en la pantalla LCD, como dibujar líneas, rectángulos y círculos. Finalmente, brinda una breve descripción sobre cómo funcionan los tecl
Este documento contiene un examen de microcontroladores de 20 preguntas con 4 opciones cada una. El examen cubre temas como programación en bucles, arreglos, conversión analógico-digital, comunicación serial y uso de puertos y registros internos del PIC16F877. El estudiante debe marcar con una X la alternativa correcta en la tabla de respuestas al final.
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
✅ Objetivo: Aprender el funcionamiento del módulo Adaptador IDC LCD 2X16.
Conocer las diferentes funciones que tiene la librería LCD de MikroBasic.
✅ Duración: 30min
✅ Materiales:
⇨ Módulo de desarrollo PIC16F886
⇨ Módulo adaptador ICD LCD 2X16
✅ Descripción: El presente proyecto se basa en el módulo Adaptador IDC LCD 2X16.
Se va a conectar el módulo LCD en el conector IDC de 5X2 del modulo PIC16F886, en el cual se visualizará las cadenas de caracteres programadas.
Clase 12 arduino y el display de 7 segmentos controlado por puerto serialMarlonAguilarGmez
Clase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serialClase 12 arduino y el display de 7 segmentos controlado por puerto serial
Brazo robotico ksr10 ps2 x mayo 2015 a 9v_version_3joaquinin1
El brazo tiene 5 motores de corriente continua (no paso a paso ni servomotores). Se pueden controlar desde la mesa con 3 Joystick o bien desde el mando de la playstation. Asímismo permite la grabación de los movimientos que realicemos del brazo y luego podemos secuenciar dichos movimientos de forma continua. Para ello, se utiliza un interruptor que permite la grabación de todos los movimientos que efectuemos y otro interruptor para secuenciarlos cuando deseemos, lo que permite a cualquier operario fácilmente modificar la trayectoria de los movimientos sin que tenga que venir un especialista para reprogramar los movimientos.
Construccion sonometro nov dic 16 21 pgs-joaquinjoaquinin1
Este documento describe un proyecto de semáforo control de ruido realizado con Arduino. El proyecto incluye un circuito electrónico con un sensor de sonido LM358N, cuatro LEDs para indicar diferentes niveles de ruido, y cuatro LEDs adicionales para mostrar caritas felices o enfadadas. El documento explica el esquema electrónico, la placa PCB diseñada, el programa de Arduino utilizado y las pruebas realizadas para controlar el semáforo en función del nivel de decibelios detectado.
Este documento presenta información sobre sistemas digitales combinacionales. Explica conceptos como multiplexores, demultiplexores y decodificadores, y cómo se pueden usar estos componentes para implementar funciones lógicas. También cubre temas como PLA, PAL, ROM y FPGA, y el uso de lenguajes de descripción hardware.
Este documento describe cómo configurar un contador de un dígito con un display de 7 segmentos. Explica que el circuito integrado 74XX90 funciona como un contador decimal y cómo conectarlo para obtener una división por 10. También describe el decodificador 74XX47 para mostrar números BCD en el display. El montaje final usa un contador 74LS90, decodificador 74LS47 y display para contar de 0 a 9 de forma secuencial.
Este documento describe cómo configurar un microcontrolador ATMEGA128 para controlar un display de 7 segmentos. Explica el hardware del display, incluidos los pines de datos y selección. Proporciona un esquema del circuito y una biblioteca para inicializar el display y mostrar valores. También incluye ejemplos de prácticas como contadores ascendentes, descendentes y automáticos usando el display.
El documento compara las plataformas Galileo y Arduino para su implementación en los laboratorios de sistemas embebidos de la Universidad Santiago de Cali. Galileo tiene capacidades superiores a Arduino como su procesador Intel Quark y sistema operativo Linux, pero es totalmente compatible con escudos de Arduino. Ambas plataformas usan lenguajes basados en C/C++ y soportan otros lenguajes de programación. La implementación de Galileo permitiría desarrollar aplicaciones en un entorno diferente al de Arduino actualmente usado.
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMJuan Martín Martín
Examen de Selectividad de la EvAU de Geografía de junio de 2023 en Castilla La Mancha. UCLM . (Convocatoria ordinaria)
Más información en el Blog de Geografía de Juan Martín Martín
http://blogdegeografiadejuan.blogspot.com/
Este documento presenta un examen de geografía para el Acceso a la universidad (EVAU). Consta de cuatro secciones. La primera sección ofrece tres ejercicios prácticos sobre paisajes, mapas o hábitats. La segunda sección contiene preguntas teóricas sobre unidades de relieve, transporte o demografía. La tercera sección pide definir conceptos geográficos. La cuarta sección implica identificar elementos geográficos en un mapa. El examen evalúa conocimientos fundamentales de geografía.
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Juan Martín Martín
Criterios de corrección y soluciones al examen de Geografía de Selectividad (EvAU) Junio de 2024 en Castilla La Mancha.
Soluciones al examen.
Convocatoria Ordinaria.
Examen resuelto de Geografía
conocer el examen de geografía de julio 2024 en:
https://blogdegeografiadejuan.blogspot.com/2024/06/soluciones-examen-de-selectividad.html
http://blogdegeografiadejuan.blogspot.com/
En la ciudad de Pasto, estamos revolucionando el acceso a microcréditos y la formalización de microempresarios informales con nuestra aplicación CrediAvanza. Nuestro objetivo es empoderar a los emprendedores locales proporcionándoles una plataforma integral que facilite el acceso a servicios financieros y asesoría profesional.
Ofrecemos herramientas y metodologías para que las personas con ideas de negocio desarrollen un prototipo que pueda ser probado en un entorno real.
Cada miembro puede crear su perfil de acuerdo a sus intereses, habilidades y así montar sus proyectos de ideas de negocio, para recibir mentorías .
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
microbit_practicas_2_BACH.pdf
1. 2º BACHILLERATO
UDI 3 – SISTEMAS LÓGICOS PROGRAMABLES
PRÁCTICAS CON LA TARJETA CONTROLADORA BBC micro:bit
ÍNDICE CON ENLACES
ESTRUCTURA DE CONTROL SECUENCIAL DE UN CICLO
- Salidas Digitales
PG1 a PG7
PA1 a PA7
ESTRUCTURA DE CONTROL SECUENCIAL DE BUCLE INDEFINIDO
- Salidas Digitales
PG8 a PG12
PA8 a PA11
ESTRUCTURA DE CONTROL SECUENCIAL DE BUCLE INDEFINIDO
- Salidas Analógicas
PG13 a PG14
PA13-1 a PA14
ESTRUCTURA DE CONTROL DE DECISIÓN IF
- Salidas Digitales
PG15 a PG16
PA15 a PA16
ESTRUCTURA DE CONTROL DE DECISIÓN IF-ELSE
- Salidas Digitales
PG17
PA17-1 a PA17-2
SISTEMAS COMBINACIONALES DE UNA SALIDA
ESTRUCTURA DE CONTROL DE DECISIÓN IF-ELSE
PG18
PA18
SISTEMAS COMBINACIONALES DE VARIAS SALIDASVARIAS
ESTRUCTURAS DE CONTROL DE DECISIÓN IF-ELSE
PG19
PA19
LIBRERÍA TIME
PG20
PA20
ACTUADORES CON UN CONSUMO SUPERIOR A 5 mA
PA21
2. SISTEMAS SECUENCIAL CON ETAPAS PREVIAS
PG22
PA22
SISTEMAS SECUENCIAL CON REALIMENTACIÓN
PG23 a PG24
PA23 a PA24
CONTADORES DE PULSADORES
PG25 a PG27
PA26 a PA27-2
NÚMEROS ALEATORIOS
PG28 a PG29
PA29
SENSOR DE TEMPERATURA
PG30 a PG32
PA32-1 a PA32-2
SENSOR DE LUZ
PG33
PA33-1 a PA33-2
BUCLES DE REPETICIÓN CON LA ESTRUCTURA FOR
PG34 a PG35
PA34-1 a PA34-2
SALIDAS ANALÓGICAS
PA35-1 a PA35-3
COMENTARIOS
PRÁCTICAS DE APLICACIÓN
P-APLICACIÓN-1 a P-APLICACIÓN-7
PRÁCTICAS DE DOMÓTICA
PRÁCTICA DE DOMÓTICA-1 a PRÁCTICA DE DOMÓTICA-3
3. 2º BACHILLERATO
UDI 3 – SISTEMAS LÓGICOS PROGRAMABLES
PRÁCTICAS CON LA TARJETA CONTROLADORA BBC micro:bit
Las Prácticas Guiadas (PG) se realizan al mismo tiempo que son explicadas.
Las Prácticas de Aplicación (PA) tienen mayor valoración y deben realizarlas cada equipo
sin indicaciones del profesor.
Por cada práctica, cada equipo de alumnos, debe enviar una captura a pantalla completa de
MakeCode y/o MycroPython donde se observe el programa de bloques gráficos y la simulación
del funcionamiento y/o el listado de instrucciones de micropython. Las capturas deben tener el
mismo nombre de la práctica que se trate.
ESTRUCTURA DE CONTROL SECUENCIAL DE UN CICLO
- Salidas Digitales
DIAGRAMA DE FLUJO:
GRUPOS DE BLOQUES GRÁFICOS USADOS EN ESTE TIPO DE PROGRAMAS:
FIN
4. PG1. Mostrar números
PA1. Muestra el número 9
PG2. Mostrar matriz de diodos LED
PA2. Muestra una matriz de diodos LED con una “+” y una “X” superpuestas
PG3. Mostrar icono
LISTA DE ICONOS:
• Image.HEART
• Image.HEART_SMALL
• Image.HAPPY
• Image.SMILE
• Image.SAD
• Image.CONFUSED
• Image.ANGRY
• Image.ASLEEP
• Image.SURPRISED
• Image.SILLY
• Image.FABULOUS
• Image.MEH
from microbit import *
display.show(7)
from microbit import *
i = Image(
"90009:"
"00000:"
"00900:"
"00000:"
"90009")
display.show(i)
from microbit import *
display.show(Image.STICKFIGURE)
6. PG4-2. Mostrar cadena de texto deslizándose en bucle
PG4-3. Mostrar cadena de texto letras sustituidas
PA4. Muestra una cadena de texto con vuestros nombres en bucle
PG5. Mostrar flechas
PA5. Muestra una flecha en dirección Suroeste
PG6. Encendido de diodos LED determinados
CÓDIGO: los dos primeros números son las coordenadas y el tercer número es el brillo de 0 a 9.
PA6. Enciende el diodo LED situado donde se corta la fila del centro y la columna derecha
from microbit import *
display.scroll("Hola mundo", loop=True)
from microbit import *
display.show("Hola mundo")
from microbit import *
display.show(Image.ARROW_SW)
from microbit import *
display.set_pixel(2,2,9)
7. PG7. Encendido y apagado de diodos LED determinados
PA7. Enciende y apaga cada medio segundo, los diodos LED situados en las esquinas del cuadrado
más pequeño que puedas formar
from microbit import *
display.set_pixel(0,0,9)
sleep(1000)
display.set_pixel(4,0,9)
sleep(500)
display.set_pixel(4,0,0)
sleep(1000)
display.set_pixel(0,0,0)
8. ESTRUCTURA DE CONTROL SECUENCIAL DE BUCLE INDEFINIDO
- Salidas Digitales
DIAGRAMA DE FLUJO:
GRUPOS DE BLOQUES GRÁFICOS USADOS EN ESTE TIPO DE PROGRAMAS:
9. PG8. Intermitente
PA8. Crea una intermitencia con el icono con forma de corazón, de manera que esté encendido 200
milisegundos y apagado 100 milisegundos.
PG9. Intermitente doble
PA9. Crea un intermitente doble entre los 2 iconos que quieras, con una duración de 1 segundo para
cada uno
from microbit import *
while True:
display.show(Image.SQUARE)
sleep(1000)
display.clear()
sleep(500)
from microbit import *
while True:
display.show(Image.SQUARE)
sleep(500)
display.clear()
display.show(Image.SQUARE_SMALL)
sleep(500)
display.clear()
10. PG10. Semáforo con diodos LED externos.
P0: LED rojo (5 segundos)
P1: LED amarillo (1 segundo)
P2: LED verde (3 segundos)
from microbit import *
while True:
pin0.write_digital(1)
sleep(5000)
pin0.write_digital(0)
pin2.write_digital(1)
sleep(3000)
pin2.write_digital(0)
pin1.write_digital(1)
sleep(1000)
pin1.write_digital(0)
11. PA10. Secuencia de 7 colores en diodo LED RGB externo.
Rojo – Verde – Azul – Amarillo – Magenta – Cian – Blanco (3 segundos cada color)
P0: rojo
P1: verde
P2: azul
12. PG11-1. Animaciones de la matriz de LEDS de diseño propio.
Pausa de 200 ms entre cada imagen.
PG11-2. Animaciones de relojes.
loop=True, significa que funciona en bucle indefinido.
El delay de 100 ms es el retardo de cada imagen.
from microbit import *
display.show(Image.ALL_CLOCKS, loop=True, delay=100)
from microbit import *
imagen1 = Image(
"00000:"
"00000:"
"00900:"
"00000:"
"00000")
imagen2 = Image(
"00000:"
"09990:"
"00900:"
"09990:"
"00000")
imagen3 = Image(
"99999:"
"09990:"
"00900:"
"09990:"
"99999")
imagen4 = Image(
"00000:"
"00000:"
"00000:"
"00000:"
"00000")
imagenes = [imagen1, imagen2, imagen3, imagen4]
display.show(imagenes, loop=True, delay=200)
13. PG11-3. Animaciones de flechas.
loop=True, significa que funciona en bucle indefinido.
El delay de 100 ms es el retardo de cada imagen.
PA11. Crea una animación libre.
from microbit import *
display.show(Image.ALL_ARROWS, loop=True, delay=100)
14. PG12. Intermitente con todos los LEDS encendidos.
En MakeCode, para encender todos los leds, usar la matriz de leds. Para apagarlos todos, usar el
bloque borrar la pantalla.
Otra alternativa al encendido de todos los leds de la matriz:
from microbit import *
while True:
i = Image(
"99999:"
"99999:"
"99999:"
"99999:"
"99999")
display.show(i)
sleep(1000)
display.clear()
sleep(1000)
from microbit import *
while True:
for x in range(0, 5):
for y in range(0, 5):
display.set_pixel(x,y,9)
sleep(1000)
display.clear()
sleep(1000)
15. ESTRUCTURA DE CONTROL SECUENCIAL DE BUCLE INDEFINIDO
- Salidas Analógicas
DIAGRAMA DE FLUJO:
GRUPOS DE BLOQUES GRÁFICOS USADOS EN ESTE TIPO DE PROGRAMAS:
PG13. Regulación de brillo de un LED de la matriz. LED central (2,2) a media potencia
(brillo: 128).
En MakeCode, el brillo de un LED está comprendido entre 0 y 255.
En MicroPython el brillo está comprendido entre 0 y 9.
from microbit import *
display.set_pixel(2,2,4)
16. PA13-1. Crea un programa en el que el diodo LED de la esquina superior izquierda funcione con un
brillo que sea la cuarta parte del brillo máximo
PA13-2. Encendido progresivo cíclico del LED de la matriz, superior derecha.
Se mantendrá 2 segundos en cada uno de los siguientes estados:
- Apagado.
- 1 / 3 de potencia (brillo: 85).
- 2 / 3 de potencia (brillo: 170).
- Encendido completo.
OTRAS OPCIONES
PG14. Regulación del brillo de la matriz de LEDS. (Solo en MakeCode).
PA14. Enciende toda la matriz de diodos LED con un brillo de 2 / 3 del brillo total
17. ESTRUCTURA DE CONTROL DE DECISIÓN IF
- Salidas Digitales
DIAGRAMA DE FLUJO:
GRUPOS DE BLOQUES GRÁFICOS USADOS EN ESTE TIPO DE PROGRAMAS:
si
entonces
18. PG15. Encendido de diodos LED de la matriz mediante un pulsador interno A con memoria (Set) y
apagado con el otro pulsador interno B (Reset). Biestable.
PA15. Encendido del diodo LED central con el pulsador interno A con memoria (Set) y apagado
con el otro pulsador interno B (Reset). Biestable.
PG16. Encendido de diodos LED de la matriz mediante un pulsador externo (P0) con memoria
(Set)
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HOUSE)
if button_b.is_pressed():
display.clear()
from microbit import *
while True:
if pin0.is_touched():
display.show(Image.HOUSE)
19. PA16. Encendido de diodos LED de la matriz con tres modos de funcionamiento mediante
pulsadores internos (A – B - AB) y apagado mediante pulsador exterior.
Pulsador A: encendido del diodo LED central.
Pulsador B: encendido los 4 diodos LED de las esquinas de la matriz (usar el bloque graficar).
Pulsador AB: encendido de toda la matriz de diodos LED.
Pulsador exterior P0: apagado de todos los diodos LED.
20. ESTRUCTURA DE CONTROL DE DECISIÓN IF-ELSE
- Salidas Digitales
DIAGRAMA DE FLUJO:
GRUPOS DE BLOQUES GRÁFICOS USADOS EN ESTE TIPO DE PROGRAMAS:
PG17. Encendido y apagado de diodos LED de la matriz mediante un pulsador interno A sin
memoria.
entonces
si
from microbit import *
while True:
if button_a.is_pressed():
display.show(Image.HEART)
else:
display.clear()
21. PA17-1. Encendido y apagado de un diodo LED externo (conectado a pin1) al darle a un pulsador
externo (conectado a pin2) sin memoria.
PA17-2. Animaciones de la matriz de LEDS de la práctica PG11-1 que debe funcionar al darle al
botón A y apagarse al soltar el botón (sin memoria).
Debe eliminarse el loop=True, para que la animación solo se vea mientras que el botón A esté
pulsado.
from microbit import *
while True:
if pin2.is_touched():
pin1.write_digital(1)
else:
pin1.write_digital(0)
22. SISTEMAS COMBINACIONALES DE UNA SALIDA
ESTRUCTURA DE CONTROL DE DECISIÓN IF-ELSE
DIAGRAMA DE FLUJO:
PG18. Lámpara conmutada. Para encendido, el display muestra “1”. Para apagado, el display
muestra “0”.
Tabla de Verdad:
a b F
0 0 0
0 1 1
1 0 1
1 1 0
Ecuación Lógica:
F = a . b + a . b
Al principio del bucle, definimos las variables de las entradas (a – b) y la salida (F).
entonces
si
from microbit import *
while True:
a = button_a.is_pressed()
b = button_b.is_pressed()
F = a and not b or not a and b
if F:
display.show(1)
else:
display.show(0)
23. PA18. Obtener la Ecuación Lógica y el programa que implemente la siguiente Tabla de Verdad.
Cuando la función vale “1” deben encenderse todos los LEDS de la matriz. Cuando la función vale
“0” la matriz debe estar apagada.
Tabla de Verdad:
a b F
0 0 1
0 1 1
1 0 0
1 1 1
24. SISTEMAS COMBINACIONALES DE VARIAS SALIDAS
VARIAS ESTRUCTURAS DE CONTROL DE DECISIÓN IF-ELSE
DIAGRAMA DE FLUJO:
entonces
si
C
C D
D
25. PG19. La salida F1 debe encender el LED central de la fila superior. La salida F2 debe encender el
LED central de la fila inferior. La salida F3 debe encender el LED central. Si una salida vale “0” su
LED correspondiente debe estar apagado.
Tabla de Verdad:
a b F1 F2 F3
0 0 0 0 0
0 1 0 1 0
1 0 1 0 0
1 1 1 1 1
F1 = a
F2 = b
F3 = a . b
PA19. TRIBUNAL DE 3 MIEMBROS.
Pulsadores: interno (A); interno (B); externo (P0)
Mayoría (2 pulsadores activados): icono YES.
Unanimidad (3 pulsadores activados): matriz encendida con todos los diodos LEDS.
Si la salida vale “0” la matriz de LEDS debe estar apagada.
from microbit import *
while True:
a = button_a.is_pressed()
b = button_b.is_pressed()
F1 = a
F2 = b
F3 = a and b
if F1:
display.set_pixel(2,0,9)
else:
display.clear()
if F2:
display.set_pixel(2,4,9)
else:
display.clear()
if F3:
display.set_pixel(2,2,9)
else:
display.clear()
26. LIBRERÍA TIME
Esta librería nos permite que el valor del tiempo en las pausas del programa (sleep), pueda
expresarse en segundos en lugar de milisegundos.
Para ello debemos activar la librería en la parte superior del programa con:
import time
Por ejemplo, para detener el programa durante 2,5 segundos, usaremos:
time.sleep(2.5)
PG20. Intermitencia de toda la matriz de LEDS. Tiempo de encendido: 1 segundo. Tiempo de
apagado: 1,5 segundos.
PA20. INTERMITENCIA DOBLE CON LA LIBRERÍA TIME
Intermitencia doble con tiempos de 1 segundo y 0,5 segundos (0.5).
En una intermitencia deben encenderse las 3 filas superiores y en la otra las 3 filas inferiores.
Para el encendido, usar las instrucciones del doble bucle for.
Recuerda que al terminar el tiempo de cada intermitencia, debe apagarse toda la matriz de LEDS.
from microbit import *
import time
while True:
for x in range(0, 5):
for y in range(0, 5):
display.set_pixel(x,y,9)
time.sleep(1)
display.clear()
time.sleep (1.5)
27. ACTUADORES CON UN CONSUMO SUPERIOR A 5 mA
Si la corriente en el actuador supera los 5 mA, no puede conectarse de forma directa a la placa
micro:bit porque puede dañarla. En este caso entre la placa y el actuador hay que conectar un
transistor con su resistencia de base de 1kΩ.
Esto permite que el actuador pueda alimentarse a una tensión diferente a la de la placa micro:bit
(3 V). Debemos tener en cuenta que el el terminal negativo de la placa (GND) debe conectarse al
polo negativo de la fuente de alimentación del actuador.
Si el actuador es de tipo inductivo (bobinas) como sucede con las electroválvulas o los relés
electromagnéticos, debemos conectar un diodo de unión en polarización inversa en paralelo con la
bobina.
En el caso de motores es conveniente conectarlos a la placa micro:bit mediante relés
electromagnéticos o circuitos integrados drivers, como sucede con los microbots (robots móviles).
PA21. Obtener el programa que permita el funcionamiento intermitente de un zumbador con un
consumo superior a 5 mA conectado al pin0, al mantener accionado el pulsador A.
Tiempo de funcionamiento de la intermitencia: 3 segundos.
Tiempo de parada de la intermitencia: 1 segundo.
28. SISTEMAS SECUENCIAL CON ETAPAS PREVIAS
Para que el programa avance es necesario que se haya cumplido la etapa anterior.
Usamos la instrucción mientras (while) con la condición de avance negada. Esto implica que si no
se cumple la condición, se ejecuta el bucle while de forma indefinida. En MycroPython, dentro del
bucle ponemos una instrucción sleep (1). Esto no es necesario con los bloques gráficos de
MakeCode.
DIAGRAMA DE FLUJO:
while
not condición
B
B
29. PG22. Al darle al pulsador A, se muestra en el display el carácter “A”. Una vez mostrado el carácter
anterior, si le damos al pulsador B, se muestra en el display el carácter “B”. Una vez mostrado el
carácter anterior, si le damos al pulsador exterior conectado al pin0, se muestra en el display el
carácter el número 0.
Comprobar como el programa no avanza si le damos a algún pulsador desde una etapa que no sea la
anterior.
PA22. Al darle al pulsador exterior conectado al pin1, debe mostrarse el número 1. Al darle al
pulsador exterior conectado al pin2, debe mostrarse el número 2. Al darle al pulsador A, debe
mostrarse el número 3. Al darle al pulsador B, debe mostrarse el número 4.
from microbit import *
while True:
while not button_a.is_pressed():
sleep(1)
display.show("A")
while not button_b.is_pressed():
sleep(1)
display.show("B")
while not pin0.is_touched():
sleep(1)
display.show("0")
30. SISTEMAS SECUENCIAL CON REALIMENTACIÓN
Al darle a un pulsador o sensor, se inicia un proceso secuencial, por ejemplo una intermitencia, sin
necesidad de mantener activado el pulsador. Es como un biestable pero que actúa sobre un proceso
secuencial. Para que el proceso secuencial se siga ejecutando después de soltar el pulsador y tenga
memoria tenemos que usar una variable.
La variable, por ejemplo A, se pone a 0 al principio del programa y toma el valor 1 al activar el
pulsador.
Para que el proceso secuencial se siga ejecutando después de soltar el pulsador debemos usar el
operador “or” para unir el pulsador con la variable “A”.
En el caso de que al darle a otro pulsador se detenga el proceso secuencial anterior, tendremos que
poner la variable a 0, al darle a este segundo pulsador.
PG23. Al darle al pulsador A comienza una intermitencia con el icono del corazón (HEART)
estando encendido durante 1 segundo y apagado durante medio segundo. Al darle al pulsador B se
apaga la matriz.
Debido a que el momento en el que le damos al pulsador B puede que no coincida con el punto por
el que pasa el programa, debemos mantener activado el pulsador B hasta que se apague la pantalla.
PA23. Cuando le damos al pulsador A, comienza una intermitencia con el carácter “A” en el
display. Tiempo de encendido de 1 segundo y apagado de medio segundo.
Cuando le damos al pulsador B, comienza una intermitencia con el carácter “B” en el display.
Tiempo de encendido de 1 segundo y apagado de medio segundo.
Apagamos la matriz al darle al pulsador externo conectado al pin0.
Debemos mantener presionado cada pulsador hasta que se muestre el carácter correspondiente o se
apague.
from microbit import *
A = 0
while True:
if button_a.is_pressed() or A:
A = 1
display.show(Image.HEART)
sleep(1000)
display.clear()
sleep(500)
if button_b.is_pressed():
A = 0
display.clear()
31. PG24. TELERRUPTOR (BIESTABLE T)
Cada vez que le damos al pulsador A, cambia el estado de la salida, icono de corazón (HEART).
El retardo de 500 ms es necesario para evitar el efecto de los rebotes del pulsador.
Las presiones al botón deben ser instantáneas, no mantenerlo pulsado.
PA24. TELERRUPTOR (BIESTABLE T)
Diseña un programa que funcione como un Biestable T. La entrada es un pulsador externo. La
salida es un diodo LED externo.
from microbit import *
while True:
while not button_a.is_pressed():
sleep(1)
display.show(Image.HEART)
sleep(500)
while not button_a.is_pressed():
sleep(1)
display.clear()
sleep(500)
32. CONTADORES DE PULSADORES
PG25. CONTADOR DEL NÚMERO DE VECES QUE LE DAMOS A UN PULSADOR
El retardo de 500 ms es necesario para evitar el efecto de los rebotes del pulsador.
Las presiones al botón deben ser instantáneas, no mantenerlo pulsado.
PG26. CONTADOR HACIAATRÁS DEL NÚMERO DE VECES QUE LE DAMOS A UN
PULSADOR A PARTIR DE UN NÚMERO
El retardo de 500 ms es necesario para evitar el efecto de los rebotes del pulsador.
Las presiones al botón deben ser instantáneas, no mantenerlo pulsado.
PA26. Diseñar un programa que permita el encendido de un led externo verde al darle 3 veces al
pulsador A y el encendido de un led externo rojo al darle 5 veces al mismo pulsador A. Los leds
deben apagarse al darle al pulsador B mostrándose por el display el número 0.
En la matriz de diodos leds debe mostrarse el número de veces que le hemos dado al pulsador.
Utilizar el operador de comparación == para la variable en la estructura IF,
from microbit import *
A = 0
while True:
if button_a.is_pressed():
A = A + 1
sleep (500)
display.scroll(A)
from microbit import *
A = 10
while True:
if button_a.is_pressed():
A = A - 1
sleep (500)
display.show(A)
33. PG27. REGULACIÓN DE BRILLO CONTINUA. ENCENDIDO CON UNA PULSACIÓN
MANTENIDA Y APAGADO IGUAL DESDE OTRO PULSADOR
En el código debemos limitar el valor de A, porque si este valor se sale fuera de los límites
admitidos por el brillo del led (0 a 9), aparece un error. Este problema no existe con MakeCode.
PA27-1. REGULACIÓN DE BRILLO POR ESCALONES. ENCENDIDO CON UNA
PULSACIÓN MANTENIDA Y APAGADO IGUAL DESDE OTRO PULSADOR
Podemos conseguir una regulación del brillo por escalones, haciendo que los cambios de brillo
vayan más rápido. Para ello debemos sumar y restar a la variable, un número mayor que 1, por
ejemplo 3.
Diseñar un programa que permita el encendido y apagado de toda la matriz de LEDS mediante 2
pulsadores. Usar el número 3 para sumar y restar a la variable.
Usar un retardo de 50 ms en lugar de 200.
PA27-2. ENCENDIDO PROGRESIVO DE LOS LEDS DE UNA FILA O COLUMNAAL
MANTENER ACCIONADO UN PULSADOR. APAGADO COMPLETO DESDE OTRO
PULSADOR.
Puedes elegir una fila o columna cualquiera.
El encendido de cada led es medio segundo después del anterior.
El pulsador A se usará para el encendido debiéndose mantener presionado.
El pulsador B provoca el apagado completo de la matriz y deja al sistema preparado para repetir
otro ciclo de funcionamiento.
from microbit import *
A = 0
while True:
if button_a.is_pressed() and A < 9:
A = A + 1
display.set_pixel(2,2,A)
sleep(200)
if button_b.is_pressed() and A > 0:
A = A - 1
display.set_pixel(2,2,A)
sleep(200)
34. NÚMEROS ALEATORIOS
PG28. NÚMEROS ALEATORIOS SUCESIVOS CADA SEGUNDO
Aparece un número cada segundo. En este caso los números estarán comprendidos entre 0 y 9,
ambos incluidos.
PG29. NÚMEROS ALEATORIOS AL DARLE A UN PULSADOR
Aparece un número entero cada vez que le damos al pulsador. En este caso los números estarán
comprendidos entre 0 y 9, ambos incluidos. El retardo de 500 ms es para evitar el efecto rebote del
pulsador.
PA29. Diseñar un programa que muestre números aleatorios en scroll, comprendidos entre 0 y 100,
cada 2 segundos. Para iniciar este proceso de muestra de números debemos darle una vez al
pulsador A una vez. Si le damos al pulsador B, se apaga la matriz de LEDS.
from microbit import *
import random
while True:
if button_a.is_pressed():
display.show(random.randint(0, 9))
sleep(500)
from microbit import *
import random
while True:
display.show(random.randint(0, 9))
sleep(1000)
35. SENSOR DE TEMPERATURA
Características del sensor de temperatura de la placa micro:bit:
- Rango: -25ºC / 75ºC
- Resolución: 0,25ºC
- Resolución: + - 4ºC (sin calibrar)
El valor de la temperatura del sensor - temperature() - se almacena en una variable, por ejemplo A:
A = temperature()
El sensor nos da la temperatura en grados Celsius (ºC) pero con un valor superior a la temperatura
real porque suma la temperatura del recinto y de la placa. Si sabemos la temperatura real, podemos
restar el exceso de grados en la variable que almacena la temperatura.
PG30. MOSTRAR LA TEMPERATURA DEL SENSOR (Solo números)
La temperatura se actualiza cada medio segundo.
PG31. MOSTRAR LA TEMPERATURA DEL SENSOR (Números y C)
La temperatura se actualiza cada medio segundo.
PG32. MOSTRAR LA TEMPERATURA DEL SENSOR CORREGIDA EN 3ºC
PA32-1. CALIBRADO DEL SENSOR CON UN TERMÓMETRO
Teniendo en cuenta la medida de la temperatura del recinto ofrecida por el termómetro, crear un
programa que calibre el valor ofrecido por el sensor de temperatura.
La temperatura debe ser visible en intervalos de 1 segundo y luego apagarse durante medio
segundo. Deben aparecer los números y C.
from microbit import *
while True:
A = temperature()
display.scroll (A)
sleep(500)
from microbit import *
while True:
A = temperature()
display.scroll (str(A) + "C")
sleep(500)
from microbit import *
while True:
A = temperature()
display.scroll (A-3)
sleep(500)
36. PA32-2. TERMOSTATO PARA VENTILADOR
Cuando la temperatura alcance una valor determinado debe funcionar un ventilador para refrigerar.
En lugar de un ventilador deberán encenderse todos los LEDS de la matriz.
Si la temperatura desciende del nivel anterior, se apagarán los LEDS de la matriz.
El sensor debe hacer las lecturas de temperatura cada medio segundo.
No hace falta visualizar el valor de la temperatura.
SENSOR DE LUZ
Nos ofrece el nivel de luz que llega a la matriz de LEDS.
El valor del nivel de luz - display.read_light_level() - se almacena en una variable, por ejemplo A:
A = display.read_light_level()
El valor se esta señal analógica está comprendido entre 0 y 255.
PG33. MOSTRAR EL NIVEL DE LUZ DEL SENSOR
El nivel de luz mostrado se actualiza cada segundo.
PA33-1. INTERRUPTOR CREPUSCULAR
Crea un programa que encienda todos los LEDS de la matriz cuando el nivel de luz es inferior a 50
y los apague en caso contrario.
Tomar lecturas cada 50 ms.
Estructura IF-ELSE.
PA33-2. REGULACIÓN DEL BRILLO DE TODA LA MATRIZ DE LEDS SEGÚN EL NIVEL
DE LUZ
Al aumentar el nivel de luz ambiental, debe disminuir el brillo de los LEDS. Con máxima luz
ambiental, deben estar apagados y con ambiente oscuro deben estar encendidos.
Además la variable A que almacena la señal del sensor de luz, crear la variable L que es el tercer
parámetro (brillo) de las coordenadas de la matriz de LEDS.
L se calcula con la fórmula L = int(9 - (A * 9 / 255)) y se coloca debajo de la instrucción con la
variable A.
Tomar lecturas cada segundo.
from microbit import *
while True:
A = display.read_light_level()
display.scroll(A)
sleep(1000)
37. BUCLES DE REPETICIÓN CON LA ESTRUCTURA FOR
PG34. INTERMITENCIA UN NÚMERO DE VECES
Al usar la instrucción for A in range (0,4,1): el programa crea la variable A y le asigna el valor 0
(no hace falta inicializarla al principio del programa) y ejecuta las instrucciones que hay dentro del
bucle. Cuando llega al final del bucle, el programa incrementa la variable en el valor establecido en
el tercer parámetro. El bucle se seguirá ejecutando hasta que la variable valga lo que indica el
segundo parámetro menos uno.
Si el tercer parámetro es negativo, entonces al final del bucle se decrementa (resta) el valor de
la variable. En este caso el bucle se ejecuta hasta que la variable valga lo que indica el segundo
parámetro más uno.
Cuando en lugar de utilizar 3 parámetros, empleamos uno solo, por ejemplo:
for A in range (0,4,1):
estamos considerando que el primer parámetro (valor inicial) es 0 y el tercer parámetro
(incremento) es 1.
Una vez que se inicia el funcionamiento del bucle, no es necesario que se mantenga la condición
que provocó su inicio, en este caso no hace falta mantener presionado el pulsador A.
En esta práctica, cuando le damos al pulsador A se inicia el bucle for y se ejecutará 4 veces, que es
cuando la variable A vale 0, 1, 2, 3 y 4.
38. PA34-1. Crea un programa en el que al darle al pulsador A produzca una intermitencia de todos los
LEDS de la matriz durante 3 veces. Tiempo de encendido: 2 segundos. Tiempo de apagado:
1segundo.
El programa tendrá una estructura IF para el pulsador y 3 estructuras FOR, la primera encargada de
controlar el número de intermitencias y las otras dos para el encendido de filas y columnas de
LEDS.
PA34-2. Crea un programa que, al darle al pulsador A, muestre en scroll cada segundo, todos los
números menores de 20 que sean pares.
PG35. REGULACIÓN DE BRILLO DE UN LED. ENCENDIDO PROGRESIVO CON UN
PULSADOR EXTERNO Y APAGADO COMPLETO CON OTRO PULSADOR EXTERNO
Observar que en MakeCode, el máximo nivel se alcanza con 255 pero en MicroPython el nivel es 9,
por lo que en el rango de for debemos poner 10.
from microbit import *
while True:
if button_a.is_pressed():
for A in range (0,4,1):
display.show("X")
sleep(1000)
display.clear()
sleep(500)
from microbit import *
while True:
if pin0.is_touched():
for A in range (0,10,1):
display.set_pixel(2,2,A)
sleep(1000)
if pin1.is_touched():
display.set_pixel(2,2,0)
39. SALIDAS ANALÓGICAS
Si queremos que una salida, por ejemplo un LED externo conectado al pin0, funcione de forma
digital usamos la instrucción:
pin0.write_digital(1)
Para que el LED anterior se apague, usamos la instrucción:
pin0.write_digital(0)
Podemos conseguir un funcionamiento analógico (por ejemplo con un brillo a media potencia) con
la instrucción:
pin0.write_analog(128)
El número que está dentro del paréntesis es el nivel de brillo o potencia de la salida. Este número
puede estar comprendido entre 0 (apagado) y 255 (máximo brillo).
PA35-1. Crea un programa que permita el encendido progresivo de un diodo LED externo
conectado al pin0 al darle al pulsador A y el apagado al darle al pulsador B. Puedes poner el tiempo
que quieras para que se observe el progreso del encendido.
PA35-2. Modifica el programa anterior para que al darle al pulsador B se produzca el apagado
progresivo del diodo LED. Para ello debes incluir otro bucle for que se encarga del apagado
progresivo. Para fijar los parámetros de este bucle tener en cuenta que el incremento es negativo. se
recomienda leer el párrafo de color verde de la PG34.
PA35-3. Basado en el programa anterior, crea un programa que permita el encendido progresivo de
toda la matriz de LEDS al darle al pulsador A y el apagado progresivo al darle al pulsador B. Cada
nivel de brillo debe durar un segundo.
40. COMENTARIOS
Es un texto del programa que el ordenador no interpreta como código y que sirve para aclarar el
significado de los elementos utilizados (sensores, actuadores o variables), y el funcionamiento del
programa.
Comentarios de cada línea después del símbolo #
PRÁCTICAS DE APLICACIÓN
P-APLICACIÓN-1. MARCADOR DE GOLES DE UN PARTIDO DE FÚTBOL
Puedes usar la variable L para almacenar los goles del equipo local y la variable V para guardar los
goles del equipo visitante. Al principio del programa inicializa las variables a cero.
Al darle al pulsador A se incrementa un gol el marcador del equipo local.
Al darle al pulsador B se incrementa un gol el marcador del equipo visitante.
Visualizar el resultado con 2 puntos de separación entre goles, por ejemplo:
3:2
Para combinar los números de las variables con el carácter “:”, debemos convertir números a
caracteres (ver PG31).
La puesta a cero del marcador es con el botón Reset.
Añade comentarios con el significado de cada variable.
El programa utiliza 2 estructuras IF.
P-APLICACIÓN-2. MARCADOR DE PUNTOS DE UN PARTIDO DE BALONCESTO
Puedes usar las siguientes variables:
LD para almacenar los puntos dobles del equipo local.
LT para almacenar los puntos triples del equipo local.
VD para almacenar los puntos dobles del equipo visitante.
VT para almacenar los puntos triples del equipo visitante.
LP para almacenar los puntos totales del equipo local.
VP para almacenar los puntos totales del equipo visitante.
Al principio del programa inicializa las variables a cero.
Utiliza los siguientes pulsadores:
Pulsador A incrementa los puntos dobles del equipo local.
Pulsador exterior (pin1) incrementa los puntos triples del equipo local.
Pulsador B incrementa los puntos dobles del equipo visitante.
Pulsador exterior (pin2) incrementa los puntos triples del equipo visitante.
Pulsador exterior (pin0) pone a cero todas las variables.
Visualizar el resultado con 2 puntos de separación entre puntos, por ejemplo:
12:20
Para combinar los números de las variables con el carácter “:”, debemos convertir números a
caracteres (ver PG31 y práctica anterior).
Añade comentarios con el significado de cada variable.
El programa utiliza 5 estructuras IF.
41. P-APLICACIÓN-3. CONTADOR DE SEGUNDOS
Al ejecutar el programa se muestran los segundos que van pasando, en scroll.
Puedes usar la variable S que debes inicializarla a 0 al principio del programa.
Utiliza la librería time.
Añade comentarios con el significado de la variable.
P-APLICACIÓN-4. CRONÓMETRO CON PULSADOR DE PARADA
Si no le damos al pulsador A se muestran los segundos que van pasando, en scroll.
Al darle al pulsador A, se detiene la cuenta de segundos y se mantiene el resultado en el display
mientras que se mantenga accionado el pulsador A.
Puedes usar la variable S que debes inicializarla a 0 al principio del programa.
Utiliza la librería time.
Añade comentarios con el significado de la variable.
Utiliza una estructura IF-ELSE.
P-APLICACIÓN-5. PULSADOR CON TIEMPO DETERMINADO
Usar 2 variables (A y T) que debemos inicializar (igualar a cero) al principio del programa (antes
de while True:).
La variable A la usaremos como realimentación del pulsador A y la variable T para contar los ciclos
de ejecución del programa. Hay una relación aproximada entre el número de veces (ciclos) que se
ejecuta un programa y el tiempo. Consideramos que unos 2.000 ciclos equivalen a unos 5 segundos.
Al darle al pulsador A (secuencial con realimentación), se incrementa en una unidad la variable T.
Después de haberle dado al anterior pulsador A (dentro de su estructura IF), si la variable T es
menor de 2000 Y le damos al pulsador B, ponemos a cero las variables A y T, funcionando el LED
central de la matriz (coordenadas 2,2).
El programa lleva 2 estructuras IF, una dentro de la otra.
PRUEBA DE LA PRÁCTICA: para que se encienda el LED central, primero le damos al pulsador
A y luego, antes de que pasen 5 segundos, le damos al pulsador B.
P-APLICACIÓN-6. CLAVE DE PULSADORES
Usar 4 variables (A, P0, P1 y T) que debemos inicializar (igualar a cero) al principio del programa
(antes de while True:).
La variable A la usaremos como realimentación del pulsador A, la variable P0 es para realimentar
el pulsador conectado al pin0, la variable P1 se empleará para realimentar el pulsador conectado al
pin1 y la variable T para contar los ciclos de ejecución del programa. Hay una relación aproximada
entre el número de veces (ciclos) que se ejecuta un programa y el tiempo. Consideramos que unos
4.000 ciclos equivalen a unos 10 segundos.
Al darle al pulsador A (secuencial con realimentación), se incrementa en una unidad la variable T
y se enciende el LED de coordenadas 0,0.
Después de haberle dado al anterior pulsador A (dentro de su estructura IF), si la variable T es
menor de 4000 Y le damos al pulsador exterior conectado al pin0 (secuencial con realimentación),
se enciende el LED de coordenadas 1,0.
42. Después de haberle dado al anterior pulsador exterior conectado al pin0 (dentro de su estructura
IF), si la variable T es menor de 4000 Y le damos al pulsador exterior conectado al pin1
(secuencial con realimentación), se enciende el LED de coordenadas 2,0.
Después de haberle dado al anterior pulsador exterior conectado al pin1 (dentro de su estructura
IF), si la variable T es menor de 4000 Y le damos al pulsador B, se ponen a cero todas las variables
usadas (A, P0, P1 y T) y se encienden todos los LEDS de la matriz.
El programa lleva 4 estructuras IF, estando cada una de ellas dentro de la anterior.
PRUEBA DE LA PRÁCTICA: para que se enciendan todos los LEDS de la matriz, debemos darle a
los pulsadores en el siguiente orden, antes de que pasen 10 segundos:
pulsador A – pulsador exterior en pin0 – pulsador exterior en pin1 – pulsador B
Mantener presionado cada pulsador hasta que se encienda su LED correspondiente.
P-APLICACIÓN-7. JUEGO PIEDRA, PAPEL Y TIJERA
Podemos jugar contra una placa o 2 placas entre sí.
Al darle al pulsador A debe aparecer de forma aleatoria una imagen de una piedra, papel o tijera que
se mantendrá durante 3 segundos.
Las imágenes las obtenemos con los LEDS de la matriz:
piedra = Image(
"00000:"
"00900:"
"09990:"
"09990:"
"99999")
papel = Image(
"99999:"
"99999:"
"99999:"
"99999:"
"99999")
tijera = Image(
"99009:"
"99090:"
"00900:"
"99090:"
"99009")
43. PRÁCTICA DE DOMÓTICA-1. SISTEMA DE ALARMA DE ROBO
La alarma funciona cuando se abre la ventana, al activarse su relé reed (pulsador A) O (or) se abre
la puerta, al activarse su relé reed (pulsador B).
La alarma está formada por la matriz con todos los diodos LED que funciona de forma intermitente
(1 segundo encendidos y medio segundo apagados) junto con el zumbador en funcionamiento
permanente conectado al pin 0 (se alimenta mediante transistor a 6 V).
La estructura anterior debe tener realimentación porque si, una vez que la alarma está funcionando,
cerramos la puerta o la ventana, la alarma deberá seguir en funcionamiento.
Al darle al pulsador de parada conectado al pin 1, se detiene el funcionamiento de la alarma.
PRÁCTICA DE DOMÓTICA-2. SISTEMA DE ALARMA DE INCENDIO
Cuando sube la temperatura por encima de 50ºC, lo detecta el sensor de temperatura dando lugar
al encendido de todos los diodos LED de la matriz, a medio nivel de brillo.
Al elevarse la temperatura más de 50ºC Y (and) menos de 60ºC, lo detecta el sensor de
temperatura dando lugar al encendido de todos los diodos LED de la matriz, a máximo nivel de
brillo.
Otro aumento de temperatura (igual o mayor de 60ºC), lo detecta el sensor de temperatura dando
lugar al encendido único de un diodo LED externo conectado al pin 0.
En esta práctica no vamos a calibrar el sensor de temperatura al considerar que marca la
temperatura real.
Para probar la práctica, no es necesario calentar la placa sino que introduciremos el valor que
queramos en el programa.
PRÁCTICA DE DOMÓTICA-3. LUZ AUTOMÁTICA
El diodo LED RGB conectado a los pines 0, 1 y 2, nos da la luz blanca cuando el ambiente tiene
baja luminosidad (señal por debajo de 50) Y (and) el sensor de ultrasonidos (pulsador A) se activa.
El diodo LED RGB se apaga después de pasar 5 segundos cuando no se cumplen algunas de las
condiciones anteriores.