Melhorias

A primeira atividade feita durante a quinta semana foram os Diagramas de Software. Como apontado pelos professores, os diagramas anteriores estavam bastante pobres, portanto foram empregadas 5 horas de trabalho adicionais para que os diagramas ficassem melhor apresentados. Os novos diagramas podem ser vistos em:

Entrega Software

Firmware

Hardware

Após isso, foi emposto um ritmo de trabalho no hardware. A pedido dos professores, foi comprado um outro componente para testarmos o I2C. O componente escolhido foi o conversor do LCD para I2C, uma vez que tínhamos certeza que o LCD em si estava funcional. Para o teste também foi necessário um conversor lógico, uma vez que as GPIO's do Raspberry utilizam tensão de 3V3 e o LCD precisa ser alimentado com 5V. Os testes não foram bem sucedidos, o que indica que a Raspberry utilizada pelo grupo está com problemas na comunicação I2C. Optamos então por tentar resolver o problema fazendo a identificação das cores e formas via Azure. Todo o processo levou 2h para ser feito.

Também por pedido dos professores, foi feita uma fonte externa, uma vez que o Raspberry não daria conta de fornecer a corrente desejada para a movimentação dos quatro motores. Foi comprada então uma fonte de 5V, seu cabo foi cortado e soldado para que tivéssemos os conectores positivo e negativo da fonte separados e prontos para serem conectados ao protoboard. Todo o processo levou 2h para ser feito.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/36e0b9c4-86eb-4e09-8c95-9dbc242494b2/Untitled.png

Então, nos concentramos em formular a versão final do circuito. Para tal, por restrições de tempo, estamos utilizando um protoboard, apesar de não ser a solução ideal. O LCD foi soldado e parafusado. O PIR foi fixado a placa de metal e os 4 drivers foram fixados na parte interna inferior do robô. Os fios então foram passados um a um e os componentes testados novamente um por um, para garantirmos que o seu funcionamento foi preservado desde os testes individuais. Todo o processo levou 6h para ser concluído.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/6052d0a1-e0c1-4ed4-b8be-b251e4fe9f93/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d81b8869-ad04-4e1e-a84c-94fa384fd7e1/teste.jpeg

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/57ea4854-62f9-4ad4-89a6-862d987e3d3b/leftArm.wav

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/81afd29c-5d14-4bdc-8551-bcb0a9b4b392/Untitled.png

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ab685665-8e0c-489d-aa04-f81fac514bb9/Untitled.png

https://youtu.be/r5-MK9XN7v4

Com isso tivemos um total de 10h de trabalho no Hardware, que está finalizado.

Aplicativo

A parte faltante do aplicativo era somente a conexão bluetooth com o Raspberry. Foi alterado o código da pagina de simulação para fazer a comuniação, porém achamos um problema no módulo usado em flutter uma das bibliotecas antes mapeadas foi deprecated na null safety e está com incompatibilidades com o RFCOMM do raspberry pi, parte do codigo será refatorado. Foi decidido que será trocado o modulo Bluetooth Serial pelo Flutter Blue.

Com isso tivemos 5h de trabalho no Aplicativo, com um atraso de aproximadamente 4h para trocar o módulo e testar.

Firmware

https://youtu.be/uN3cTbEFXH4

Como explicado anteriormente, o desenvolvimento do teste de cor e forma feito através do sensor acabou comprometido pelo mal funcionamento do I2C, no entanto implementamos uma solução alternativa utilizando a Azure. O algoritmo ainda precisa de mais fotos com iluminações diferentes por questões de robustez, mas já apresenta resultados positivos.

Mecânica/Hardware → 8h previstas/10h trabalhadas/On schedule