quarta-feira, 5 de setembro de 2018

Tutoriais C++ Para Controladores Arduino-based






Nesta postagem estão referências a dois tutoriais em C++ elaborados pela comunidade científica. São cartilhas de ensino condensado de programação para MCUs baseados na IDE (Inteface) dos Arduinos.

Créditos são dados aos devidos autores, intencionando o blog apenas divulgar o material a interessados.

Neste LINK, pode-se obter os dois documentos:
  • A - Programação em Arduino - Módulo Básico - UFSC

  • B - Cartilha do Arduino - Revista do Arduino

domingo, 2 de setembro de 2018

Primeiro programa utilizando NodeMCU ESP8266 e IDE do Arduino

Salve, caro entusiasta de eletrônica.

A seguir será disponibilizado o primeiro programa utilizando NodeMCU ESP8266 especificamente na IDE do Arduino.

É um programa que simplesmente faz o LED interno do controlador piscar. Porém, ao final da postagem, tome tempo para exercitar em cima das alterações propostas para o mesmo programa.

Itens recomendados:

  • 1x Protoboard
  • NodeMCU ESP8266
  • Cabos de conexão ao Protoboard
  • Cabo USB para interface com computador/notebook
Com a IDE do Arduino configurada para a NodeMCU (veja postagem anterior), inicialmente insira o seguinte código em um novo programa na IDE do arduino


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
//Blink
//Acende um LED por um segundo, então apaga o LED por mais um segundo, repetidamente.




// A funcao setup roda uma vez que voce pressione reset, ou alimente a placa

void setup() {
  // inicializa o pino digital LED_BUILTIN (que eh o LED interno) como saida.
  pinMode(LED_BUILTIN, OUTPUT);
}

// A funcao loop eh executada repetidamente eternamente
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // acende o LED (HIGH eh o nivel de voltagem ALTO)
  delay(1000);                       // espera de 1 segundo
  digitalWrite(LED_BUILTIN, LOW);    // apaga o LED (LOW eh o nivel de voltagem BAIXO)
  delay(1000);                       // espera de 1 segundo
}



A partir de agora, conecte o NodeMCU via USB, selecione a porta desejada na aba TOOLS/PORT e compile/envie o programa ao controlador clicando no botão .

Ao término da compilação e descarga para o controlador, o LED interno deverá assumir o comportamento de piscar a cada 1 segundo.

Atenção à configuração de pinos do MCU.

Figura 1 - Pinout NodeMCU


Como sugestão de exercício, propõe-se agora fazer a modificação do código do programa para algumas situações interessantes:


  • Modificar o período de HIGH e período de LOW

  • Realizar duas piscadas a cada 3 segundos.

  • Realizar 2 piscadas, seguido de LED aceso por 1 segundo

  • Inserir o Buzzer (campainha) em série com o LED

  • Reproduzir Som e Luz para uma Letra do Código Morse da imagem a seguir

  • Reproduzir Som e Luz para todas as Letras do Código Morse 

  • Captar letras de um teclado e transmitir a mensagem em Codígo Morse (Som e Luz)

Algumas situações demandarão mais conhecimento em C++.

Figura 2 - Código Morse


Segue vídeo de representação do Código Morse.










sábado, 1 de setembro de 2018

Configurando NodeMCU com a IDE (interface) Arduino



Os novos MCU's (microcontroladores) NodeMCU e suas variantes, baseados no chip ESP8266, usualmente são programados em scriptLua. São mais interessantes que os Arduino no sentido de terem já conectividade Wifi, e são amplamente utilizados em IoT (Internet of Things).


Figura 1 - Variantes NodeMCU


Há possibilidade de se programar, compilar e transferir código executável C++ para esses processadores utilizando-se a IDE (interface) do Arduino, mostrada na imagem a seguir. Isto traz praticidade de se usar a mesma interface para um range maior de MCUs.



Figura 2 - IDE do Arduino


Inicialmente é necessário instalar o driver que reconhece este MCU no seu sistema operacional (Base Windows). Há duas versões deste mesmo MCU, e é necessário saber qual driver gerencia a versão de MCU que você tem em mãos, a saber:

  • ESP8266 12-E
                    Esta versão é controlada pelo driver CP210x.
  • ESP8266 12-F

                    Esta versão é controlada pelo driver CH340G.


Siga a imagem a seguir para diferenciar qual driver instalar:


Figura 3 - Identificando Drivers


OBSERVAÇÃO IMPORTANTE: 

Terminada a instalação do driver, uma boa forma de testar a funcionalidade da NodeMCU é através de evidência de sua instalação no GERENCIADOR DE TAREFAS (TASK MANAGER) do Windows. Ao conectar via USB o microcontrolador, o mesmo deverá estar sinalizado no gerenciador de tarefas na aba PORTS; ver imagem a seguir.


Figura 4 - Reconhecimento do MCU no TASK MANAGER do Windows


CONFIGURANDO A IDE

A configuração da IDE para os NodeMCU é baseada em bibliotecas. Para isto, deve-se adicionar o caminho a seguir nas URL'S DO GERENCIADOR DE PLACAS, localizado na aba FILE/PREFERENCES, como mostrado na figura:


http://arduino.esp8266.com/stable/package_esp8266com_index.json


Figura 5 - URLs do gerenciador de placas


A seguir, deve-se abrir o gerenciador de placas selecionando-se o caminho TOOLS/BOARD/BOARDS MANAGER.


Figura 6 - Gerenciador de placas



Instale a nova library (biblioteca) para a família de controladores baseado no chip ESP8266, como mostrado na imagem a seguir.



Figura 7 - Library(Biblioteca) dos MCU's ESP8266


Tendo finalizado esta última etapa, é necessário selecionar a placa específica com que se deseja operar. Selecionar o ESP8266 GENERIC MODULE (Módulo genérico ESP8266).

A IDE está pronta para programação, compilação e transferir programas para a placa NodeMCU (ESP8266).

Atenção à configuração de pinos.

Figura 8 - Pinout config