About this project
engineering-manufacturing / others-3
Open
Eu preciso de um firmware para arduino uno com código aberto para nodificacao de alguns parâmetros durante testes que controlará um display lcd alfanumérico simples de 4 linhas de 20 caracteres cada. Também controlará 5 saídas e uma entrada, sendo uma saída do tipo pwm que controlará um conversor ad para geração de uma tensão dc entre 0 e 10 v. O parâmetro correspondente a esse PWM no código será ajustado durante testes, por isso o código deve ser aberto.
Ao energizar o arduino, uma tela de inicialização deve aparecer, sendo um nome e um site durante 2 segundos, aproximadamente. A tela seguinte deve ter as opções para ajuste da tensão dc gerada pelo pwm (pode ser entre 50hz e 50khz, com duty cycle entre 10 e 90%), número de pulsos totais emitidos por outra saída (sendo pulsos de largura de 1 ms cada), frequência dessa saída (entre 1 e 10 hz, ou seja, entre 1 pulso de 1ms por segundo e 10 pulsos de 1 ms por segundo) e as duas opções na última linha para "preparar" e "acionar". As escolhas das opções no display será feira por encoder rotativo, sendo a confirmação efetuada pelo clique central do encoder.
Ao clicar em "preparar" uma saída digital passará para nível alto e aguardará 3 segundos monitorando uma entrada. Se mudar o nível da entrada, indicará no display "Preparado com sucesso", caso contrário, "Falha no preparo" e retornará a tela anterior em 2 segundos. Se acionado com sucesso, habilitará o acionamento do "botão" no display "acionar". Quando acionado pelo encoder, mudará seu ticket no display para reset, ativará o nível alto de uma saída por 2 segundos (buzzer) e logo em seguida manterá outra saída habilitada e gerará os pulsos no número e frequência informados no display. Se selecionar e clicar em reset, todas as saídas são desligadas.
Project overview
O projeto consiste em pequeno circuito de teste, por isso feito em arduino mesmo para poupar tempo de desenvolvimento de hardware.
Para referências do encoder, utilizarei o modelo apontado pela referência no link abaixo:
https://a.aliexpress.com/_m06wmw4
O display pode utilizar tanto a comunicação paralela quanto por I2C, economizando portas do arduino.
Também posso empregar Arduino Mega ao invés de UNO se for melhor para o desenvolvimento desse projeto.
Category Engineering & Manufacturing
Subcategory Other
Project size Medium
Is this a project or a position? Project
Required availability As needed
Delivery term: Not specified
Skills needed