FVM Learning

Nosso maior compromisso é compartilhar conhecimentos, somos simples, mas não simplórios, astuto, mas não pacóvio, nos posicionamos empenhados em mostrar o caminho para desmistificação do opróbrio em legítima defesa do conhecimento compartilhado. Eng. Jemerson Marques!
Mostrando postagens com marcador ESP32/ESP8266. Mostrar todas as postagens
Mostrando postagens com marcador ESP32/ESP8266. Mostrar todas as postagens

sexta-feira, 7 de abril de 2023

Unit DualMCU: A Poderosa Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040!

Unit DualMCU: A Poderosa Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040! - fvml
Unit DualMCU: A Poderosa Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040!

Notícias Tecnológicas: Com DualMCU, Unit Electronics Junta os Microcontroladores ESP32 e Raspberry Pi RP2040 em uma Única Placa Compacta!

Você que é um leitor, inscrito em nosso Site, certamente já conhece o ESP32 e o Raspberry Pi, correto? Ambos são dispositivos de desenvolvimento populares e poderosos que muitos de nós makers, profissionais e entusiastas da tecnologia usamos em nossos projetos. 

Mas, e se eu disser que agora você pode ter o melhor desses dois mundos em uma única placa? Sim, você leu certo! 

No Post de hoje, iremos explorar essa placa incrível e descobrir como ela pode melhorar seus projetos de eletrônica. 

Unit Electronics lançou uma placa de desenvolvimento compacta, que combina as características únicas do microcontrolador da Espressif ESP32 com a flexibilidade e recursos do microcontrolador Raspberry Pi RP2040, em uma única placa, como mostrado na Figura 2 abaixo. 

Características Técnicas da DualMCU

A DualMCU é uma placa altamente integrada que inclui um ESP32 dual-core de 240 MHz com suporte para Bluetooth e Wi-Fi, juntamente com um RP2040 com núcleo Cortex-M0 + de 133 MHz

Combinando as capacidades de dois dos mais poderosos chips em uma única placa, a "Unit DualMCU" é uma ferramenta essencial para desenvolvedores de IoT e embarcados que buscam aprimorar o desempenho de seus projetos.

Além dos recursos dos chips, a DualMCU também oferece conectividade USB-C, dois conectores de antena externos para WiFi e Bluetooth, 34 pinos de entrada e saída (E/S), incluindo 14 pinos PWM e 10 pinos ADC, bem como um conector de bateria, como ilustrado na Figura 3 abaixo.

Fig. 3 - Placa de Desenvolvimento DualMCU porta USB-C e conector de bateria

A placa tem um tamanho compacto de 42 x 26 mm, o que a torna ideal para projetos que precisam de espaço limitado. A DualMCU tem um design de circuito integrado exclusivo, que permite que ela funcione como um dispositivo independente ou como um periférico conectado a um computador host.

Características Relevantes do DualMCU

  • Combina o microcontrolador Raspberry Pi RP2040 e o chip Espressif ESP32 em uma única placa.
  • Oferece conectividade Bluetooth e Wi-Fi para projetos de Internet das Coisas.
  • Tem um tamanho compacto de 36mm x 84mm e utiliza tecnologia de montagem em superfície.
  • Possui quatro núcleos programáveis com funções sem fio e recursos avançados.
  • O microcontrolador RP2040 possui velocidade de clock de 133MHz, 264kB de SRAM, suporte para até 16MB de memória flash externa, 30 pinos GPIO, 4 canais ADC e 16 canais PWM, entre outras características.
  • O chip ESP32 tem uma velocidade de clock de até 240MHz, conectividade Wi-Fi e Bluetooth integrada, e suporte para múltiplos protocolos sem fio, entre outras características.

Como Usar a DualMCU

A DualMCU é fácil de usar, pois é compatível com a maioria dos sistemas operacionais, incluindo Windows, Mac OS e Linux. Os usuários podem programar a placa usando a IDE Arduino ou a plataforma MicroPython. O firmware da placa também pode ser atualizado via OTA (Over-The-Air).

Com a DualMCU, podemos criar uma variedade de projetos, desde um simples dispositivo IoT com Wi-Fi e Bluetooth até um sistema complexo de robótica que usa diversos tipos de sensores e sistemas automatizados com atuadores

A DualMCU também é ideal para projetos de automação doméstica, como sensores de temperatura, sistemas de segurança e monitoramento de energia. Além disso, a placa pode ser usada para criar soluções de IoT industrial, como controle de processos e monitoramento de equipamentos.

O fato de a placa ter um ESP32 e um RP2040 torna-a uma escolha perfeita para projetos que exigem conectividade sem fio de alta velocidade e capacidade de processamento avançada.

Operação dos Microcontroladores

Os dois microcontroladores, operam de forma independente. Os pinos de entrada/saída de propósito geral (GPIO), são alocados em lados opostos da placa, para cada microcontrolador, permitindo que seja tratada como duas placas independentes em uma.

A interligação dos microcontroladores é realizado através de conexões via UART, SPI, I2C entre diversas outras opções de conexões, isso permite o uso interativo de recursos entre os microcontroladores.

Para quem deseja os esquemas e exemplos de aplicação dos programas, os arquivos estão disponíveis no GitHub sob uma licença não especificada.

Pinagem Pinout do Unit DualMCU

Pinagem Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040 - fvml
Fig. 4 - Pinagem Placa de Desenvolvimento com ESP32 e Raspberry Pi RP2040

Conclusão

A Unit Electronics criou uma placa de desenvolvimento de última geração compacta e poderosa que combina a potência e eficiência dos chips ESP32 e RP2040 em uma única placa. Compatível com a plataforma de desenvolvimento Arduino e a linguagem de blocos "Blockly", é acessível e fácil de usar para desenvolvedores de todos os níveis.

Com conectividade USB-C, e conectores de antena externos para WiFi e Bluetooth, a DualMCU é uma escolha perfeita para desenvolvedores que desejam criar projetos de IoT, incluindo robótica, sensores, monitores e dispositivos inteligentes. Com design inovador e recursos avançados, de forma compacta.

E por hoje é só, espero que tenham gostado!

Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. 


Se inscreva no nosso BlogClique Aqui — FVM Learning!

Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

Forte abraço.
Deus vos Abençoe!
Shalom!

sexta-feira, 30 de setembro de 2022

Como Utilizar o Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini!

Como Utilizar o Sensor Ultra-Sônico HC-SR04 com ESP8266 D1 Mini! - fvml
Como Utilizar o Sensor Ultra-Sônico HC-SR04 com ESP8266 D1 Mini!

Como Utilizar o Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini!

Olá a todos!

No Post de hoje, aprenderemos como utilizar o Sensor Ultra-sônico HC-SR04, utilizando um Módulo ESP8266, mostraremos como efetuar as ligações do módulo sensor no módulo ESP8266, e explicaremos o desenvolver da programação do código na IDE Arduino.

O módulo HC-SR04 já é bastante bem conhecido de todos nós que nos aventuramos nesse mudo das automações. Esse módulo se tornou bastante popular na utilização de medição de distâncias, para trenas eletrônicas, ou sensores de ré para carros, ou mesmos em pequenos robôs, para que ele desvie de obstáculos em sua frente.

Como o Módulo Sensor HC-SR04 Funciona?

O sensor ultrassônico HC-SR04, usa o som para determinar a distância entre o sensor e o objeto mais próximo em seu caminho. Como os sensores ultrassônicos fazem isso?

O sensor envia uma onda sonora em uma frequência acima da audição humana. Em seguida, ele recebe essa onda sonora rebatida de um objeto em sua frente. O sensor calcula o tempo de envio da onda sonora e tempo de retorno, como ilustrado na Figura 2 abaixo. 

Emissão e recepção de som sensor utra-sônico HC-SR04 - fvml
Fig. 2 - Emissão e recepção de som sensor utra-sônico HC-SR04

Através do tempo que se leva para o som chegar ao objeto e voltar para o sensor receptor, podemos encontrar a distância percorrida, utilizando a Equação abaixo.

  • Equaçãod = v × t

Devemos considerar que existem outras intempéries no caminho do som como, temperatura, umidade, pressão, orientação do objeto, tipo de superfície do objeto, etc. que podem alterar o resultado das medições e a equação apresentada acima é uma equação básica para entendermos, não é o foco do nosso Post. 

Diagrama de Conexões!

As conexões do circuito são bastantes simples, temos no sensor ultra-Sônico com 4 pinos, sendo todos eles com marcação na própria placa, então não tem como se confundir, com o sensor virado de frente para você, como dispostos na Figura 3 abaixo, temos a sequência: +VCC, Trigger, Echo, GND.

Caso queira mais informações sobre esse Sensor, podes clicar na Figura 3, e serás aberto uma nova aba do seu navegador com a descrição completa do sensor.

A alimentação do sensor será ligada ao 5V do Wemos D1 Mini, esse pino recebe a entrada 5V USB através de um diodo, com isso temos a tensão da porta USB 5V menos a queda de tensão do diodo que é de ~0,6V, resultando aproximadamente uma tensão de 4, 4V no pino 5V do Wemos.

  • Pino Vcc do Sensor HC-SR04 ==> Pino Vcc do Wemos
  • Pino GND do Sensor ==> Pino GND do Wemos
  • Pino Trigger do sensor ==> Pino D6 do Wemos
  • Pino Echo do Sensor ==> Pino D5 do Wemos.

Fizemos o diagrama de conexão do módulo HC-SR04 e o Wemos D1 Mini ESP8266, que é bastante simples, e está disposto na Figura 4 abaixo.  


Diagrama de Conexão Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini! - fvml
Fig. 4 - Diagrama de Conexão Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini! 

Na Sketch abaixo, você pode conferir o Código completo do projeto Como Utilizar o Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini! na IDE Arduino!


Finalizamos aqui o nosso pequeno projeto exemplo, na Figura 5 abaixo, temos o mesmo funcionando perfeitamente, sendo lido a distância entre uma caixa e o sensor, no código, foi feito para ser lido a distância tanto em centímetro como também em polegadas, mas, não é obrigado utilizar os dois tipos de medições.

Funcionamento Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini! - fvml
Fig. 5 - Funcionamento Sensor Ultrassônico HC-SR04 com ESP8266 Wemos D1 Mini!

E por hoje é só, espero que tenhamos alcançado suas expectativas!

Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. 

Se inscreva no nosso Blog! Clique Aqui — FVM Learning!

Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

Forte abraço!
Shalom.
Deus vos Abençoe!

sexta-feira, 23 de setembro de 2022

Como Instalar Biblioteca ESP8266 na Nova IDE Arduino 2.0 - Passo a Passo!

Como Instalar Biblioteca ESP8266 na Nova IDE Arduino 2.0 - Passo a Passo! - fvml
Como Instalar Biblioteca ESP8266 na Nova IDE Arduino 2.0 - Passo a Passo!

Olá a Todos!

No post de hoje, faremos um passo a passo de como instalar a Biblioteca dos módulos ESP8266 e ESP32 na nova plataforma da IDE Arduino 2.0

Já fizemos isso a um tempo atrás, em um post e um vídeo no nosso canal do YouTube, no entanto, muitas pessoas têm dúvidas sobre como fazer isso na Nova IDE Arduino, já que muitas coisas mudaram.

Você pode se interessar também:

    Faremos isso de forma bem didática, colocaremos as imagens de cada passo que fizemos, para que você poder acompanhar, sem ter muitas preocupações.

    Como Instalar Módulo ESP32 e ESP8266 na Nova Plataforma IDE Arduino 2.0 - Passo a Passo!

    Pressupondo que você já tenha baixado a nova IDE Arduíno no site oficial deles, arduino.cc, e instalado. Proponho iniciarmos!

    1° Passo — Abra sua IDE Arduino:

    • Abra sua IDE Arduino normalmente como se fosse realizar uma programação, como ilustrado na Figura 2 abaixo!

    Fig. 2 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    2° Passo — Configuração da IDE para Instalação da Biblioteca ESP8266:

    • 1  Clique no MENU → ARQUIVO [FILE]
    • 2  Clique na opção → PREFERÊNCIA [PREFERENCE]
      Como ilustrado na
      Figura 3 abaixo.

    Fig. 3 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    Uma sub-janela irá se abri, nela você encontrará duas abas: 

    O primeiro é a aba CONFIGURAÇÕES [SETTINGS] a segunda é a aba REDE [NETWORK]. Como mostrado na Figura 4 abaixo.

    • 3 — Clique na aba → CONFIGURAÇÕES [SETTINGS]. (se já não tiver ativa)

    • 4 — No final da sub-janela, vá até a caixa de diálogo onde está escrito:
    URLs ADICIONAIS PARA GERENCIADORES DE PLACAS [ADDITIONAL BOARDS MANANGER URLs].

    Fig. 4 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    • COPIE o endereço disponibilizado abaixo:
      http://arduino.esp8266.com/stable/package_esp8266com_index.json 

    • Após copiar → COLE [PASTE] na caixa de diálogo em branco, onde tem escrito: 
      URL's Adicionais para Gerenciadores de Placas: 

    Como ilustrado na Figura 5 abaixo.

    Fig. 5 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    Depois clique em OK, para confirmar, como mostrado na Figura 5 acima. Agora sua IDE está pronto para instalar a biblioteca do ESP8266 e ESP32.

    3° Passo: Instalação da Biblioteca EPS8266

    • 6 — Clique no Atalho do → Gerenciador de Placas, como mostrado na Figura 6 abaixo.
      Outra opção é: → Ferramentas [Tools], → Placas [Boards], → Gerenciador de Placas [Board Mananger], trará o mesmo resultado.
    • 7 — Na caixa de Diálogo, → digite ESP8266. Ele irá localizar e mostrar as bibliotecas disponíveis.

    Fig. 6 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    • 8 — Com o Scroll do Mouse, role para baixo e procure pela biblioteca da placa com o nome: esp8266 by ESP8266 Community

    • 9 — Na parte de baixo você tem a opção de instalar, clique em → INSTALAR [INSTALL]. Como mostrado na Figura 7 abaixo.

    Fig. 7 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    Dependendo das configurações do seu computador, o software levará menos de um minuto para instalará a biblioteca, você pode visualizar o andamento na barra de status que fica na parte inferior do software, como mostrado na Figura 8 abaixo. 

    Fig. 8 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    Após ter terminado a instalação, em alguns casos é necessário reiniciar a IDE Arduino, em outros, não. No meu caso não foi necessário.

    4° Passo: Confirmar se a Biblioteca EPS8266 foi instalada com sucesso!

    Para confirmarmos que o software foi instalado com êxito, abra a nova IDE Arduíno.

    • 11 — Clique no menu → FERRAMENTAS [TOOLS]
    • 12 — Vá em → PLACAS [BOARDS]
    • 13 — Vá em→ ESP8266
    • 14 — E aí está! 😀😀😀! 

    Todos os Módulos desta biblioteca  ESP32, ESP8266, Wemos, ESPDuino, NodeMCU, etc. como mostrado na Figura 9 abaixo.


    Fig. 9 - Instalando Biblioteca do Módulo ESP8266 na nova IDE Arduino 2.0!

    E por hoje é só, espero que tenhamos alcançado suas expectativas!

    Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. 

    Se inscreva no nosso Blog! Clique Aqui — FVM Learning!

    Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

    Forte abraço!
    Deus vos Abençoe!
    Shalom.

    sexta-feira, 16 de setembro de 2022

    Como Ler Valores Analógicos ADC Usando NodeMCU ESP8266 - IDE Arduíno!

    Como Ler Valores Analógicos ADC Usando NodeMCU ESP8266 - IDE Arduíno - fvml
    Como Ler Valores Analógicos ADC Usando NodeMCU ESP8266 - IDE Arduíno

    Olá a Todos!

    No post de hoje, faremos um guia rápido sobre leitura analógica no pino A0 do ESP8266, utilizaremos um potenciômetro para variar o range analógico 0 à 1023, e enviaremos esses dados para ser visualizado no Serial Monitor.

    Converteremos o valor analógico com a função map(), e converteremos para um range de 0 a 255, para ser usado na saída D2, e controlaremos a intensidade do LED.

    Esse tipo de circuito servirá para qualquer tipo de módulo; ESP8266, ESP32, Arduino, etc. já que o código é escrito na IDE Arduino, e só precisaremos mudar a pinagem do módulo que usaremos no código.


    Para podermos falar sobre a GPIO ADC, temos que conhecer as GPIOs disponíveis no ESP8266, e você pode conferir o Pinout do NodeMCU ESP8266 clicando no link abaixo.

    Resolução ADC ESP8266

    A GPIO analógica do ESP8266 tem uma resolução de 10 bits, o que significa que você irá obter valores que variam entre 0 à 1023.

    É importante saber também que a faixa de tensão de entrada do pino ADC do ESP8266 é de 0 à 1V, isso para os módulos puros, como os; ESP-07, ESP-12E, ESP-05, etc. como mostrado na Figura 2 Abaixo. 

    Módulos ESP-12E, ESP-07, ESP-05 - fvml
    Fig. 2 - Módulos ESP-12E, ESP-07, ESP-05 

    No entanto, a maioria das placas de desenvolvimento ESP8266 como os NodeMCU, Wemos, D1 Mini, etc. veem com um divisor de tensão interno. Isso nos permite a utilização de sinais com a faixa de tensão de entrada de 0 à 3.3V, o que nos facilita a utilização do potenciômetro ligado a alimentação de 3.3V direto do Módulo ESP com mais praticidade. 

    O que precisaremos para montar esse circuito?

    Para realizarmos a demonstração da GPIO analógico do ESP, utilizaremos:
    • Um potenciômetro de 5 ou 10K.
    • Um NodeMCU ESP8266 ou mesmo um Wemos D1 Mini, ou qualquer outro módulo embarcado ESP8266 que você tiver.
    • Uma Protoboard, “Para facilitar o manuseio”, se não tiver podes ligar direto.
    • Fios para conexão, etc.

    O que faremos?

    Utilizaremos um potenciômetro para gerar uma tensão de 0 à 5V, simulando um sinal analógico, ligaremos na porta analógica A0 do NodeMCU, faremos a leitura dos valores analógicos provindos do potenciômetro, controlaremos o LED com valores de 0 à 255, e imprimiremos no Serial Monitor.

    Para controlar a intensidade de luminosidade do LED, utilizaremos um potenciômetro de 5K ou 10K, conectado a porta A0 do módulo ESP8266.

    Os materiais que utilizaremos!

    Os componentes que utilizaremos são três: O hardware principal que é o NodeMCU ESP8266, um LED para podermos variar o seu brilho, e o Potenciômetro que utilizaremos para controlar o brilho do LED.

    Como Ler Valores Analógicos no ESP8266 NodeMCU ADC IDE Arduíno - fvml
    Fig. 3 - Como Ler Valores Analógicos no ESP8266 NodeMCU ADC IDE Arduíno

    Diagrama de Ligação!

    Na Figura 4 abaixo, temos o diagrama esquemático do circuito que utilizaremos. As conexões são bastante simples, a ligação dos pinos do potenciômetro ao NodeMCU são feitas da seguinte forma:

    1. Pino Esquerdo - Fio Vermelho - Ligado ao Pino 3V3
    2. Pino Central - Fio Verde - Ligado a Porta Analógica A0
    3. Pino Direito - Fio Preto - Ligado ao GND

    O LED é ligado diretamente na GPIO D2 do NodeMCU, não estou utilizando nenhum resistor em série com o LED, diferente do mostrado no diagrama da Figura 4 abaixo, pois não ha necessidade de se utilizar nenhum resistor para o LED branco.

    Mas, é recomendado o uso do resistor de 100 ohms, se você for fazer uso contínuo do LED na GPIO, por períodos muito grandes, se não usar o resistor, o LED gradualmente “cerca de um ano” vai perdendo o seu brilho.

    Como Ler Valores Analógicos no ESP8266 NodeMCU ADC IDE Arduíno - fvml
    Fig. 4 - Como Ler Valores Analógicos no ESP8266 NodeMCU ADC IDE Arduíno

    Na Figura 5 abaixo, temos a ligação real que fizemos, como podemos observar o resistor não foi utilizado, já que a saída da GPIO é de 3.3V máximo.

    Controlando Brilho do LED com Potenciômetro Porta Analógicos no ESP8266 NodeMCU ADC IDE Arduíno - fvml
    Fig. 5 - Controlando Brilho do LED com Potenciômetro Porta Analógicos no ESP8266 NodeMCU ADC IDE Arduíno

    O Código Explicado!

    O código é bastante simples, incrementamos um LED, só para realizarmos a demonstração, não sendo exatamente necessário para o funcionamento.
     
    Nas linhas 9, 10, iniciamos com duas constantes, que serão as constantes associadas aos pinos de entrada do potenciômetro e o de saída para o LED, esses são a constante "potentiometer" associada a porta A0, e a constante "Led" associada a porta D2.

    Nas linhas 12, 13, são também duas constantes "potValue" e a constante "pwmOutput", essas não são associadas a pino algum, são constantes de armazenamento, a primeira irá armazenar os valores advindos da leitura do potenciômetro, e a segunda será valores convertidos pela função map() para controlar o brilho do LED.

    Na linha 15, temos o Void Setup(), temos a inicialização do Serial Monitor

    Na linha 17, temos a função Serial.begin(9600), onde o valor dentro da função determina a velocidade de comunicação serial, que no caso está em 9600 bits por segundo.

    Na linha 20, temos o Void Loop(), e é aqui onde todos os parâmetros dentro da função loop, ficará rodando sem parar.

    Na linha 22, já dentro do loop, encontramos a função analogRead(); que ler o valor do potenciômetro e a variável potValue recebe esses dados.

    Na linha 24, temos a função map(), que converte o valor analógico de 0 à 1023 recebido do potenciômetro através da variável potValue, e converte parao range entre 0 à 255, que é o valor de range do PWM.

    Na linha 26, a função analogWrite(), ativa o LED conforme o que recebeu do potenciômetro sendo convertido para a variável pwmOutput

    Nas linhas 29, 30, 31 e 32, são as linhas que imprimem as informações digitadas e coletadas das variáveis potValue e pwmOutput.

    Na linha 36, temos a famosa função delay(), que estipula um tempo de 2 milissegundos, para o loop continuar a refazer todas as leituras.

    E por hoje é só, espero que tenhamos alcançado suas expectativas!

    Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. 

    Se inscreva no nosso BlogClique Aqui — FVM Learning!

    Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

    Forte abraço!
    Deus vos Abençoe!
    Shalom.

    terça-feira, 12 de outubro de 2021

    Controlando Cargas Através do Serial Monitor com Arduino ou ESP

    Fig. 1 - Controlando Cargas Através do Serial Monitor com Arduino ou ESP

    Olá a Todos!

    No post de hoje, faremos um controle de Cargas, através do Serial Monitor da IDE Arduino, utilizando a função digitalReadString(), que receberá a String que você digitar no Serial Monitor, para acionar uma carga que utilizaremos um LED para exemplificar. 

    Mas nada impede que você possa utilizar um módulo Relé para acionar qualquer carga, como; Motor, Lâmpadas, Equipamento de som ou qualquer outra coisa que você necessite. 

    Você pode se interessar também!


    Quando temos um Arduino ou mesmo um ESP conectado ao PC, com o Serial Monitor, podemos enviar uma String com o comando, que em nosso exemplo será Ligar LED e Desligar LED, como isso o Arduino receberá essa String de comando e acionará o LED.

    Hardware necessário

    • Placa Arduino
    • LED - Resistor de Diodo Emissor de Luz 220 Ohm - (vermelho, vermelho, marrom, dourado)
    • Fios de ligação
    • Protoboard (opcional)

    O circuito

    O circuito é bastante simples. Conectamos um LED em série com um resistor de 220 ohms para limitar a corrente no LED e conectamos a porta 9 do Arduino UNO conforme mostrado na Figura 2 abaixo.

    Fig. 2 -  Controlando Cargas Através do Serial Monitor com Arduino ou ESP 


    Foi utilizada uma protoboard para facilitar as conexões, mas você também pode conectar os fios diretamente ao Arduino.

    O código

    A função Serial.readString() é a responsável por lê os caracteres do buffer serial e os move para uma determinada string.

    No nosso exemplo, faremos algo muito simples, ligar e desligar um LED usando o comando digitado no Serial Monitor.

    Após construir o circuito, conecte sua placa Arduino ao seu computador, execute o software Arduino (IDE), copie o código abaixo e cole-o em seu IDE Arduino.

    Esse algoritmo foi retirado como exemplo de uma das aulas do Curso Básico de Arduino do nosso parceiro Electronic Circuits.

    Para ficar claro para os mais iniciantes em programação de Arduino, expliquemos o código linha a linha:
    • Na linha 3, declaramos ledPin associado ao pino digital 9, onde conectamos o LED.

    • Na linha 4, declaramos a String DataIn que receberá os Comandos do Serial Monitor.

    • Na linha 6, entramos na função void setup(). Esta função é lida apenas uma vez quando o Arduino ou o ESP é iniciado.

    • Na linha 7, começamos a comunicação serial declarando a função Serial.begin(). A 115200 bits de dados por segundo, esta é a velocidade em que seu computador se comunicará com o Arduino Serial.

    • Na linha 8, definimos a porta 9 como a saída, usando a função pinMode();
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // Controlando Cargas Através do Serial Monitor

    int ledPin = 9;                   // LED connected to digital pin 9
    String DataIn;                   // String that will receive the commands

    void setup() {
      Serial.begin(115200);                 //Begin the Serial Monitor with bounce rate in 115200
      pinMode(ledPin, OUTPUT);      // Set the digital pin as output:
    }
    //------------------------------------- www.elcircuits.com --------------------------------------------
    • Na linha 11, entramos na função void loop() que faz exatamente o que seu nome sugere, loops consecutivamente.

    • Na linha 12, entramos em uma condicional if, para verificar se o Serial Monitor está disponível, se sim chamamos a próxima função.

    • Na linha 13, chamamos a função Serial.readString() para ler os caracteres do Serial Monitor e enviá-los ao String DataIn.

    • Na linha 15, inserimos uma condicional if, neste caso para comparar se os caracteres são os mesmos que os escritos no Monitor Serial, em nosso exemplo "acender led", se sim ...

    • Na linha 16, entramos na função digitalWrite(), o comando ativa o ledPin para o nível HIGH, ou seja, passa de 0V a 5V, que liga o LED.

    • Na linha 17, inserimos uma condicional if, que compara se os caracteres são os mesmos que os escritos no Monitor Serial, em nosso exemplo "desligar led", se sim ...
    • Na linha 18, entramos na função digitalWrite(), o comando desativa o ledPin para o nível LOW, ou seja, passa de 5V a 0V, que desliga o LED.
    1
    ...
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    // Controlando Cargas Através do Serial Monitor

    void loop() { // The loop function runs over and over again forever
      if (Serial.available()) {                   // Check if there is any data on the serial monitor
        DataIn = Serial.readString();       // String DataIn receives the data typed in the Serial Monitor
      }
      if (DataIn == "ligar led") {            // Check if the received String is equal to "ligar led"  
        digitalWrite(ledPin, HIGH);        // If yes, the function digitalWrite turn Led ON
      } if (DataIn == "desligar led") {    // Check if the received String is equal to "desligar led" 
        digitalWrite(ledPin, LOW);         // If yes, the function digitalWrite turn Led OFF 
      }
    }
    //------------------------------------- www.elcircuits.com --------------------------------------------

    O código completo é mostrado no esboço abaixo!

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    // Controlando Cargas Através do Serial Monitor

    int ledPin = 9;                   // LED connected to digital pin 9
    String DataIn;                   // String that will receive the commands

    void setup() {
      Serial.begin(115200);                     //Begin the Serial Monitor with bounce rate in 115200
      pinMode(ledPin, OUTPUT);   
    }

    void loop() { // The loop function runs over and over again forever
      if (Serial.available()) {                   // Check if there is any data on the serial monitor
        DataIn = Serial.readString();       // String DataIn receives the data typed in the Serial Monitor
      }
      if (DataIn == "turn led on") {         // Check if the received String is equal to "turn led on"  
        digitalWrite(ledPin, HIGH);        // If yes, the function digitalWrite turn Led ON
      } if (DataIn == "desligar led") {    // Check if the received String is equal to "turn led off" 
        digitalWrite(ledPin, LOW);         // If yes, the function digitalWrite turn Led OFF 
      }
    }
    //------------------------------------- www.elcircuits.com --------------------------------------------

    E por hoje é só, espero que tenham gostado!

    Agradecemos por visitar o nosso blog e esperamos tê-lo(a) novamente por aqui em breve. Não deixe de conferir nossos outros conteúdos sobre tecnologia e assuntos variados. 

    Se inscreva no nosso BlogClique Aqui — FVM Learning!

    Nos ajude a divulgar nosso trabalho, compartilha nas redes sociais, Facebook, Instagram, nos grupos de WhatsAppuma simples atitude sua, faz com que cresçamos juntos e melhoremos o nosso trabalho!

    Forte abraço.

    Deus vos Abençoe!
    Shalom!