Índice:
- Etapa 1: Recursos usados
- Etapa 2: Montagem
- Etapa 3: Novo programa em MBED
- Etapa 4: Importando a Biblioteca DS18b20
- Etapa 5: Novo programa em MBED
- Etapa 6: Código Fonte
- Etapa 7: Dados recebidos
- Etapa 8: Incluindo mais sensores
- Etapa 9: Ver fonte
- Etapa 10: Arquivos
Vídeo: Incrivelmente fácil de programar !: 10 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Hoje, vou falar sobre o STM32 Core, o L476RG, que é a cara do Ultra Low Power. Você pode vê-lo à esquerda da imagem. Este dispositivo possui duas barras de pinos fêmeas, uma de cada lado, que nada mais são do que os conectores para a blindagem do arduino. Isso é ótimo, não?
Na minha opinião, a STMicroelectronics fez isso em seu Kit de Desenvolvimento porque sabe que profissionais usam esse chip. Esta empresa está indo cada vez mais para o arduino. E isso também é verdade para vários outros kits profissionais de STMicroelectronics.
Finalmente, em relação ao projeto de hoje, usaremos dois sensores DS18b20 além do L476RG. Portanto, faremos uma montagem simples usando o L476RG, importaremos uma biblioteca para o ambiente MBED, criaremos um programa no ambiente MBED e obteremos dados do L476RG via USB / Serial.
Já falei um pouco sobre o L476RG neste vídeo: A MANEIRA MAIS FÁCIL DE PROGRAMAR UM MICROCONTROLADOR, onde mostro como configurar o ambiente MBED, que é online.
Algumas pessoas que seguem meus vídeos estão me perguntando se o STM32 substitui o ESP32. Digo uma coisa: não substitui e não poderia, porque são duas coisas completamente diferentes.
Este chip STM32 é um microcontrolador, ou melhor; não é um "aglomerado de coisas" como o ESP32. Portanto, o nome pode parecer semelhante, mas são totalmente diferentes. O STM32 é um microcontrolador de uso geral, como um PIC, um Atmel, por exemplo.
Etapa 1: Recursos usados
1 núcleo L476RG
2 sensores DS18b20 (usamos os módulos impermeáveis comuns no mercado)
1 resistor 4k7
Mini protoboard
Jumpers para conexão
Etapa 2: Montagem
Inicialmente, faremos a montagem com um dos sensores de temperatura.
Sua potência será de 5V.
Um resistor 4k7 será usado para fazer um pull-up na linha de dados (1 fio).
Vamos ler os dados usando o pino A0.
Etapa 3: Novo programa em MBED
Depois de configurar sua conta no MBED e acessá-la, criaremos um novo programa. Para fazer isso, clique com o botão direito em "Meus programas" e selecione "Novo programa …"
Confirme se a "Plataforma" está de acordo com a placa que você está usando.
Agora clicamos em "Template".
Vamos criar um programa baseado no exemplo, "Exibir uma mensagem no PC usando UART".
Digite o nome do programa em "Nome do programa".
Marque a opção "Atualizar este programa e bibliotecas para a revisão mais recente".
Uma nova pasta para o seu programa será criada, incluindo a biblioteca MBED padrão e o arquivo main.cpp.
Você pode usá-lo para testar se tudo está funcionando bem. Para fazer isso, basta compilá-lo e copiá-lo para a plataforma.
Usando um terminal serial de sua escolha, você pode receber as seguintes mensagens.
Etapa 4: Importando a Biblioteca DS18b20
Como existem várias versões de bibliotecas para o Ds18b20, importaremos usando uma url para que seu exemplo use a mesma biblioteca.
Etapa 5: Novo programa em MBED
No campo "URL da fonte", preencha: https://os.mbed.com/users/Sissors/code/DS1820/ e clique em importar.
Sua biblioteca DS1820 deve aparecer na pasta do programa.
Etapa 6: Código Fonte
Inclui
Começamos incluindo as bibliotecas necessárias.
#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820
Definimos constantes que representarão os pinos usados.
Observe que o DS18b20 é um sensor com comunicação 1-WIRE. Por este motivo, utilizamos a biblioteca que tratará de todo o protocolo de comunicação com os dispositivos. Isso inclui a identificação de cada dispositivo até os comandos de leitura.
# 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
Criamos um vetor que apontará para cada um dos 16 dispositivos possíveis conectados à linha de dados.
Sensor DS1820 * [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores
Iniciamos o método main (), onde, usando o método "unassignedProbe ()" contido na biblioteca DS1820, procuramos todos os dispositivos disponíveis na linha de comunicação.
Preenchemos o vetor de sensores com as instâncias que representarão cada um dos sensores disponíveis.
Fazemos isso até que o último seja encontrado ou até atingirmos o máximo de 16 sensores.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores sensores [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores de ruptura; }
Enviamos o número de sensores encontrados na linha.
printf ("Dispositivos encontrados (s):% d / r / n / n", encontrados);
Iniciamos um loop infinito, solicitando que todos os sensores disponíveis calculem suas respectivas temperaturas, e então iteramos através do vetor do sensor enviando as leituras obtidas.
printf ("Dispositivos encontrados (s):% d / r / n / n", encontrados); while (1) {sensor [0] -> convertTemperature (true, DS1820:: all_devices); // solicitação a leitura de temperatura para todos os dispositivos encontrados para (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); esperar (1); }
Etapa 7: Dados recebidos
Usando um único sensor, obtemos a seguinte saída serial.
Etapa 8: Incluindo mais sensores
Para testar o código, introduzimos outro sensor na linha de comunicação, simplesmente conectando-o em paralelo com o primeiro sensor.
Lembre-se de desligar o conjunto antes de conectar novos sensores.
Ao reiniciar a montagem, obtivemos a seguinte saída, sem nenhuma alteração no código-fonte.
Etapa 9: Ver fonte
#include "mbed.h" // inclusão da biblioteca padrão do MBED # include "DS1820.h" // inclusão da biblioteca do sensor DS1820 #define PINO_DE_DADOS A0 // define o pino para leitura dos dados #define MAX_SENSORES 16 // define o número máximo de vetores de sensores DS1820 * sensor [MAX_SENSORES]; // cria um vetor com 16 posições para os sensores int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// inicia a procura por sensores de sensores [encontrados] = new DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // verifica se atingiu o máximo de sensores de ruptura; } printf ("Dispositivos encontrados (s):% d / r / n / n", encontrados); while (1) {sensor [0] -> convertTemperature (true, DS1820:: all_devices); // solicitação a leitura de temperatura para todos os dispositivos encontrados para (int i = 0; itemperature ()); //… e retorna a temperatura printf ("\ r / n"); esperar (1); }}
Etapa 10: Arquivos
Outros
Recomendado:
Como programar o Arduino Mega 2560 Core ?: 3 etapas
Como programar o Arduino Mega 2560 Core ?: Eu encontrei esta grande placa mega Arduino de fator de forma pequeno no ebay. É uma versão menor do Arduino mega 2560 e aparentemente se chama Arduino mega core … Porém, havia um problema! Não inclui conectividade USB e não há muito em
Como atualizar ou programar o firmware ESP8266 AT usando o ESP8266 Flasher e o programador, módulo IOT Wifi: 6 etapas
Como fazer o Flash ou programar o firmware ESP8266 AT usando o ESP8266 Flasher e o Programador, Módulo IOT Wifi: Descrição: Este módulo é um adaptador / programador USB para módulos ESP8266 do tipo ESP-01 ou ESP-01S. É convenientemente equipado com um coletor fêmea 2x4P de 2,54 mm para conectar o ESP01. Também quebra todos os pinos do ESP-01 por meio de um macho 2x4P 2,54mm h
A maneira mais fácil de programar um microcontrolador !: 9 etapas
A maneira mais fácil de programar um microcontrolador !: Você tem interesse em ter um microcontrolador que usa muito menos energia? Hoje, vou apresentar a você o STM32 Ultra Low Power - L476RG, que usa 4 vezes menos energia do que um Arduino Mega e tem um processador Cortex poderoso. Eu também t
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: 3 etapas
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: Este projeto irá ajudá-lo a conectar 18 LEDs (6 vermelho + 6 azul + 6 amarelo) à sua placa Arduino e analisar os sinais em tempo real da placa de som do seu computador e retransmiti-los para os LEDs para iluminá-los de acordo com os efeitos da batida (caixa, chapéu alto, chute)
Como construir uma lanterna LED incrivelmente brilhante !: 8 etapas (com fotos)
Como construir uma lanterna LED incrivelmente brilhante !: Neste Instructable (meu primeiro), vou mostrar como construí esta lanterna LED portátil ridiculamente brilhante para que você também possa transformar a noite em dia … e impressionar seus amigos. de nós usamos lanternas com bastante frequência para atividades como acampamento