Tabla de contenido:
- Paso 1: Recursos utilizados
- Paso 2: Montaje
- Paso 3: Nuevo programa en MBED
- Paso 4: Importación de la biblioteca DS18b20
- Paso 5: Nuevo programa en MBED
- Paso 6: código fuente
- Paso 7: datos recibidos
- Paso 8: Incluir más sensores
- Paso 9: Ver fuente
- Paso 10: archivos
Video: ¡Increíblemente fácil de programar !: 10 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Hoy, hablaré sobre el STM32 Core, el L476RG, que es el rostro de Ultra Low Power. Puedes verlo a la izquierda de la imagen. Este dispositivo tiene dos barras de pines hembra, una a cada lado, que no son más que los conectores para el escudo arduino. Esto es genial, ¿no?
En mi opinión, STMicroelectronics hizo esto en su kit de desarrollo porque sabe que los profesionales usan este chip. Esta empresa se inclina cada vez más hacia el arduino. Y esto también es cierto para varios otros kits profesionales de STMicroelectronics.
Finalmente, en lo que respecta al proyecto de hoy, utilizaremos dos sensores DS18b20 además del L476RG. Entonces, haremos un ensamblaje simple usando el L476RG, importaremos una biblioteca en el entorno MBED, crearemos un programa en el entorno MBED y obtendremos datos del L476RG a través de USB / Serial.
Ya he hablado un poco del L476RG en este video: LA FORMA MÁS FÁCIL DE PROGRAMAR UN MICROCONTROLADOR, donde muestro cómo configurar el entorno MBED, que es online.
Algunas personas que siguen mis videos me preguntan si STM32 reemplaza a ESP32. Digo una cosa: no reemplaza y no podría, porque son dos cosas completamente distintas.
Este chip STM32 es un microcontrolador, o mejor dicho; no es un "grupo de cosas" como el ESP32. Entonces, el nombre puede parecer similar, pero son completamente diferentes. El STM32 es un microcontrolador de propósito general, como un PIC, un Atmel, por ejemplo.
Paso 1: Recursos utilizados
1 núcleo L476RG
2 sensores DS18b20 (utilizamos los módulos impermeables comunes en el mercado)
1 resistencia 4k7
Mini protoboard
Jumpers para conexión
Paso 2: Montaje
Inicialmente realizaremos el montaje utilizando uno de los sensores de temperatura.
Su potencia será de 5V.
Se usará una resistencia de 4k7 para hacer un pull-up en la línea de datos (1-Wire).
Leeremos los datos usando el pin A0.
Paso 3: Nuevo programa en MBED
Una vez que tenga su cuenta configurada en MBED y acceda a ella, crearemos un nuevo programa. Para hacer esto, haga clic derecho en "Mis programas" y seleccione "Nuevo programa …"
Confirme que la "Plataforma" se ajusta a la placa que está utilizando.
Ahora hacemos clic en "Plantilla".
Crearemos un programa basado en el ejemplo, "Mostrar un mensaje en la PC usando UART".
Introduzca el nombre del programa en "Nombre del programa".
Marque la opción "Actualizar este programa y las bibliotecas a la última revisión".
Se creará una nueva carpeta para su programa, incluida la biblioteca MBED predeterminada y el archivo main.cpp.
Puede usarlo para probar si todo está funcionando bien. Para hacer esto, simplemente compílelo y cópielo en la plataforma.
Usando un terminal serial de su elección, puede recibir los siguientes mensajes.
Paso 4: Importación de la biblioteca DS18b20
Como hay varias versiones de bibliotecas para Ds18b20, importaremos usando una URL para que su ejemplo use la misma biblioteca.
Paso 5: Nuevo programa en MBED
En el campo "URL de origen", complete: https://os.mbed.com/users/Sissors/code/DS1820/ y haga clic en importar.
Su biblioteca DS1820 debería aparecer en la carpeta de su programa.
Paso 6: código fuente
Incluye
Empezamos por incluir las bibliotecas necesarias.
#incluir "mbed.h" // inclusión de la biblioteca padrão do MBED # incluir "DS1820.h" // inclusión de la biblioteca del sensor DS1820
Definimos constantes que representarán los pines utilizados.
Tenga en cuenta que el DS18b20 es un sensor con comunicación de 1 HILO. Por este motivo utilizamos la librería que se encargará de todo el protocolo de comunicación con los dispositivos. Esto incluye la identificación de cada dispositivo hasta los comandos de lectura.
#define PINO_DE_DADOS A0 // define o pino para leitura dos dados # define MAX_SENSORES 16 // define o número máximo para o vetor de sensores
Creamos un vector que apuntará a cada uno de los 16 posibles dispositivos conectados a la línea de datos.
Sensor DS1820 * [MAX_SENSORES]; // cria um vetor com 16 posiciones para os sensores
Comenzamos el método main (), donde, usando el método "unassignedProbe ()" contenido en la biblioteca DS1820, buscamos todos los dispositivos disponibles en la línea de comunicación.
Rellenamos el vector sensor con las instancias que representarán cada uno de los sensores disponibles.
Hacemos esto hasta encontrar el último o hasta llegar al máximo de 16 sensores.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia una búsqueda por sensores sensor [encontrados] = nuevo DS1820 (PINO_DE_DADOS); // cria uma instancia para el sensor encontrado ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; }
Enviamos la cantidad de sensores encontrados en la línea.
printf ("Dispositivos encontrados (s):% d / r / n / n", encontrados);
Comenzamos un ciclo infinito, solicitando que todos los sensores disponibles calculen sus respectivas temperaturas, y luego iteramos a través del vector del sensor enviando las lecturas obtenidas.
printf ("Dispositivos encontrados (s):% d / r / n / n", encontrados); while (1) {sensor [0] -> convertTemperature (verdadero, DS1820:: all_devices); // solicita una lectura de temperatura para todos los dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna una temperatura printf ("\ r / n"); esperar (1); }
Paso 7: datos recibidos
Usando un solo sensor, obtenemos la siguiente salida serial.
Paso 8: Incluir más sensores
Para probar el código, introducimos otro sensor en la línea de comunicación, simplemente conectándolo en paralelo con el primer sensor.
Recuerde apagar el conjunto antes de conectar nuevos sensores.
Al reiniciar el ensamblado, obtuvimos el siguiente resultado, sin ningún cambio en el código fuente.
Paso 9: Ver fuente
#include "mbed.h" // inclusión de la biblioteca padrão do MBED # incluye "DS1820.h" // inclusión de la biblioteca del sensor DS1820 #define PINO_DE_DADOS A0 // define o pino para leitura dos dados #define MAX_SENSORES 16 // define o número máximo para o vetor de sensores DS1820 * sensor [MAX_SENSORES]; // cria um vetor com 16 posiciones para los sensores int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia una búsqueda por sensores sensor [encontrados] = nuevo DS1820 (PINO_DE_DADOS); // cria uma instancia para el sensor encontrado ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores break; } printf ("Dispositivos encontrados (s):% d / r / n / n", encontrados); while (1) {sensor [0] -> convertTemperature (verdadero, DS1820:: all_devices); // solicita una lectura de temperatura para todos los dispositivos encontrados for (int i = 0; itemperature ()); //… e retorna una temperatura printf ("\ r / n"); esperar (1); }}
Paso 10: archivos
Otros
Recomendado:
¿Cómo programar Arduino Mega 2560 Core ?: 3 pasos
¿Cómo programar Arduino Mega 2560 Core ?: Encontré esta gran placa Arduino de factor de forma pequeño en eBay. Es una versión más pequeña de Arduino mega 2560 y aparentemente se llama Arduino mega core … ¡Sin embargo, había un problema! No incluye conectividad USB y no hay mucho en
¡La forma más fácil de programar un microcontrolador !: 9 pasos
¡La forma más fácil de programar un microcontrolador !: ¿Le interesa tener un microcontrolador que use mucha menos energía? Hoy, les presentaré el STM32 Ultra Low Power - L476RG, que usa 4 veces menos energía que un Arduino Mega y tiene un potente procesador Cortex. También lo haré
DIY MusiLED, LED sincronizados con música con una aplicación de Windows y Linux con un clic (32 bits y 64 bits). Fácil de recrear, fácil de usar, fácil de portar: 3 pasos
DIY MusiLED, LED sincronizados con música con una aplicación de Windows y Linux con un solo clic (32 bits y 64 bits). Fácil de recrear, fácil de usar, fácil de portar: este proyecto lo ayudará a conectar 18 LED (6 rojos + 6 azules + 6 amarillos) a su placa Arduino y analizar las señales en tiempo real de la tarjeta de sonido de su computadora y transmitirlas a los LED para iluminarlos según los efectos de ritmo (Snare, High Hat, Kick)
¡Cómo construir una linterna LED increíblemente brillante !: 8 pasos (con imágenes)
¡Cómo construir una linterna LED increíblemente brillante !: En este Instructable (mi primero) voy a mostrarte cómo construí esta linterna LED de mano ridículamente brillante para que tú también puedas convertir la noche en día … e impresionar a tus amigos. de nosotros usamos linternas con bastante frecuencia para actividades como acampar
Recupere los archivos eliminados, muy fácil y fácil de usar .: 7 pasos
Recupere los archivos eliminados, muy fácil y fácil de usar: ¿Alguna vez eliminó un archivo de su disco duro de repuesto, su cámara, mp3 o incluso vació su papelera de reciclaje y luego se dio cuenta de que todavía quería ese archivo? Esta es una manera simple de recuperar esos archivos. Agregué este instrucatable porque eliminé todos los episodios de family g