10/06/2019
Modulo de escuta.
Desenvolvi um modulo que faz a escuta dos dados que chegam da serial.
Este módulo auxiliará a desenvolver e debugar o SSC durante seu desenvolvimento.
Incluído no git.
Modulo de escuta.
Desenvolvi um modulo que faz a escuta dos dados que chegam da serial.
Este módulo auxiliará a desenvolver e debugar o SSC durante seu desenvolvimento.
Incluído no git.
Ser programador não é tarefa fácil.
A tecnologia corre e se você não estudar constantemente, estará defasado rapidamente.

Já completei 20% do meu primeiro treinamento em Android. Espero chegar hoje a uns 80% do curso.
Vamos a luta.
Comprei uma bateria pelo ML, eu a utilizarei para permitir que o robô tenha autonomia de movimentação.
A que comprei inicialmente, ficou velha e não segura carga.
Estou aguardando a chegada da bateria para publicar novos posts.
Montei um vídeo de demonstração da aplicação hoje,
Ontem dia 08, finalizei o instalador do MAC.
Fiz a instalação do aplicativo em meu MAC e deu tudo certo, agora vou esperar o retorno do pessoal.
O próximo passo é implementar o controle de ponto, que acredito ser a peça chave deste projeto.
Implementação do primeiro protótipo do relógio para MAC.
Ficou pronto apenas a contagem do tempo.
Foi necessário desenvolver um novo projeto. Pois algumas das features do projeto windows, não serão compatíveis com o MAC.

Disponibilizei o projeto no GIT e em breve lançarei um instalador.
Infelizmente a bateria de 4200mah esta ruim, passou o dia inteiro carregando e ainda esta com 4.5Volts.
Hoje implementei o controle de carga automática do módulo base.
A bateria é o módulo que inicia, desta forma se o robô estiver desconectado da fonte ele consegue dar partida.
O problema é quando a bateria esta baixa. Mas é assim que irá ficar!
O Controle de Carga automática testa a tensão da bateria, abaixo de 9Volts, ele desliga automaticamente.
De 10V até 9.0V ele dá avisos sobre a bateria, também inclui um pino 6, que pode ser conectado um led, e irá piscar quando a bateria estiver baixa.
Quando a bateria acima de 10V o led ficará aceso.
Quando a bateria estiver abaixo de 9V, ficará apagado.
Inclui também um controle, para que toda vez que chavear para bateria, o carregador de bateria irá desligar. Desta forma, evito quebrar o carregador.
Implementei, também o controle de carga automática caso a bateria esteja na alimentação externa, e a bateria estiver baixa. Desta forma, dou alguma inteligência ao circuito.
Ontem chegou o sensor de tensão e conector da bateria de lipo.
Com estes dois últimos equipamentos, agora eu consigo finalizar a montagem da base.
Devido a pouca memória, estarei retirando o modulo do GPS da Base, e incluindo no módulo do meio.
Infelizmente nem tudo dá para fazer com o arduino nano. Com esta modificação, o espaço do processador esta em 39%, o que garante um funcionamento coerente.
Criei um novo comando VBAT, e mudei o VOLTS para leitura da voltagem do sistema.
Ficando o VBAT, para leitura apenas da bateria. A diferença entre o VBAT e o VOLTS, é que o VBAT esta lendo a tensão antes do relê. Desta forma, quando o relê estiver chaveado para a alimentação externa, ainda sim, o VBAT lerá a bateria.
Estou em um dilema, pois quando a bateria estiver totalmente descarregada, o sistema não conseguirá inicializar. Pois o primeiro start é sempre com a bateria.
Talvez, inverta a entrada, deixando o padrão para Externa.
Agora, comecarei a implementar a verificação da necessidade de recarga.
Desta forma, quando o sistema verificar que a bateria esta descarregada, automáticamente chaveia a recarga da bateria. Deixando para alimentação externa.
A questão da Bateria, ainda tem uma ultima duvida. Preciso incluir um diodo para evitar medir a tensão da externa, quando ambas estiverem ativas no sensor da bateria.
Outra atividade que melhorei foi a impressão do suporte Laser.
Segue as fotos do projeto:




Hoje foi um dia longo, escrevi praticamente do zero, o módulo MBase.
Hardwares instalados na Base:
O pinout é o posicionamento dos pinos, representando as ligações com o processador.
//Motor
define PINO_ENA 6
define PINO_IN1 8
define PINO_IN2 9
define PINO_IN3 10
define PINO_IN4 11
define PINO_ENB 7
int pinHumidade = A2; //ok
int pinVoltagem = A5;
int pinAmp = A4;
int pinReleVago= 4;
int pinReleChave = A0;
int pinReleCarregador= 5;
int pinLedGreen = 6; //Aviso de bateria
int pinBTTX = A7;
int pinBTRX = A6;
int pinVoltagemBat = A1;
Os comandos disponíveis de ação, permitem realizar as leituras ou ações no dispositivo:
Serial.println("MAN - Manual de comandos");
Serial.println("VOLTS - Leitura de voltagem do sistema");
Serial.println("VBATT - Leitura de voltagem da bateria");
Serial.println("AMPS - Leitura de corrente da bateria");
Serial.println("FRENTE - Avança o robô");
Serial.println("PARAR - Para o robo");
Serial.println("GIRADIR - Gira a direita");
Serial.println("BATERIA - Chaveia P Bateria");
Serial.println("EXTERNA - Chaveia P alim. externa");
Serial.println("LE_ALIMENTACAO - Verifica alimentacao ");
Serial.println("GIRAESQ - Gira a esquerda");
Serial.println("CARR_ON - Ativa o carregador");
Serial.println("CARR_OFF - Desativa o carregador");
Serial.println("VAGOON - Ativa o Rele Vago");
Serial.println("VAGOOFF - Desativa o Rele Vago");
Serial.println("DHT11 - HUMIDADE/TEMPERATURA");
O Arduino, permite um ciclo constante de Leituras para os devices. Algumas são constantes, outras sazonais.
//Realiza Leituras de dispositivos
void Leituras()
{
Serial_Read();
Bluetooth_Read();
Le_Volts();
Le_Amp();
Le_DHT11();
Le_GPS();
}
Falta implementar os controles e monitoramento da bateria.
Seguindo a regra a seguir:
Apresentação do módulo
netcat é uma ótima solução para quem precisa realizar testes de conexão no linux.
Para instalar:
apt-get install nc
Para conectar no servidor:
nc <ip> <porta>
Para conectar como servidor:
nc -l <porta> [hello client]