Monitor de uso de CPU, memória e bateria em Node com Arduino e display (16×2 controlado por I2C)

Necessário

  • 1 Arduino
  • 1 display 16×2
  • 1 controlador I2C
  • Fios para interligar os terminais

Ligações

No Arduino mega

No Arduino uno

Software do Arduino

Carregue seu Arduino com o seguinte firmware:

*Lembre de instalar as bibliotecas

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#if defined(ARDUINO) && ARDUINO >= 100
#define printByte(args)  write(args);
#else
#define printByte(args)  print(args,BYTE);
#endif

uint8_t bell[8]  = {0x4,0xe,0xe,0xe,0x1f,0x0,0x4};
uint8_t note[8]  = {0x2,0x3,0x2,0xe,0x1e,0xc,0x0};
uint8_t clock[8] = {0x0,0xe,0x15,0x17,0x11,0xe,0x0};
uint8_t heart[8] = {0x0,0xa,0x1f,0x1f,0xe,0x4,0x0};
uint8_t duck[8]  = {0x0,0xc,0x1d,0xf,0xf,0x6,0x0};
uint8_t check[8] = {0x0,0x1,0x3,0x16,0x1c,0x8,0x0};
uint8_t cross[8] = {0x0,0x1b,0xe,0x4,0xe,0x1b,0x0};
uint8_t retarrow[8] = {  0x1,0x1,0x5,0x9,0x1f,0x8,0x4};

String dadosRecebidos = ""; 


LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup() {
  Serial.begin(9600);
  
  lcd.init();                      
  lcd.backlight();
  
  lcd.createChar(0, bell);
  lcd.createChar(1, note);
  lcd.createChar(2, clock);
  lcd.createChar(3, heart);
  lcd.createChar(4, duck);
  lcd.createChar(5, check);
  lcd.createChar(6, cross);
  lcd.createChar(7, retarrow);
  lcd.home();
  
  lcd.print("Bem vindo!");
  lcd.setCursor(0, 1);
  lcd.print(" vc ");
  lcd.printByte(3);
  lcd.print(" arduinos?");
  delay(1000);

}

void loop() {
    Serial.write(" ");
        dadosRecebidos = Serial.readString();
        char dadosRecEmChar[dadosRecebidos.length()+1];
        dadosRecebidos.toCharArray(dadosRecEmChar, dadosRecebidos.length()+1);
        
        printFull(dadosRecEmChar);

}

void printFull(String texto){
    
      lcd.setCursor(0, 0);
      lcd.print(texto.substring(0,16));
      lcd.setCursor(0, 1);
      lcd.print(texto.substring(16,32));
  
}

Programa

Agora rode o programa que monitorara a maquina e fara a comunicação com o Arduino

Instale o node baixando aqui

Baixe o projeto/programa aqui, extraia o projeto do arquivo baixado para pasta que quiser.

Abra o arquivo “arduinoCommunicator.js” dentro de “scr” com o bloco de notas ou o editor de sua preferência, modifique a porta em que seu Arduino está conectado.

Para saber em que porta esta seu Arduino, abra o gerenciador de dispositivos

Dentro de portas mostrara os dispositivos conectados e suas portas (no meu caso eu tenho mais de um Arduino conectado, mas no seu caso isso não deve acontecer), caso haja mais de um dispositivo teste trocando e executando o programa até que funcione perfeitamente.

Antes de rodar o projeto

Abra um terminal cmd dentro do diretório em que baixou e descompactou o projeto (pressione shift + clique direito do mouse e selecione “abrir janela de comando aqui” ou “abrir janela do PowerShell aqui” ambos servem).

Execute o seguinte comando para instalar as bibliotecas necessárias para o projeto:

npm install

após isso feche essa aba.

Para executar o projeto

Abra um terminal cmd dentro do diretório em que baixou e descompactou o projeto (pressione shift + clique direito do mouse e selecione “abrir janela de comando aqui” ou “abrir janela do PowerShell aqui” ambos servem).

Após aberto, digite o comando:

npm start

Pronto, o projeto executara e devera mostrar o seguinte resultado na tela do arduino!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *