O microlcd da CNLohr usa a magia Bit-Bang para adicionar USB, LCD e toque ao RISC-V CH32V003



O microlcd da CNLohr usa a magia Bit-Bang para adicionar USB, LCD e toque ao RISC-V CH32V003

O RISC-V CH32V003 de 10 centavos não possui USB nativo, LCD ou {hardware} de controlador de toque. No entanto, o CNLohr implementa todos os três com técnicas criativas de bit banging. O microlcd de três dígitos é um dongle USB-C programável sem botões físicos ou conectores USB-C.

Anteriormente, CNLohr criou o arquivo de 1.920 bytes carregador de inicialização rv003usb. Este pequeno código permite reprogramar o microcontrolador sem USB por USB. Embora esse recurso seja valioso por si só, você pode reutilizar cerca de 250 linhas do código C do bootloader para adicionar suporte USB a um WCH CH32V003 projeto. Ao reutilizar esse driver de software program, o CNLohr pode facilmente reprogramar o microcontrolador e enviar atualizações para exibir os valores no LCD.

CNLohr ressalta que telas como LCDs baratos de três dígitos e sete segmentos usam óxido de índio e estanho (ITO) para obter uma tela transparente. ITO é o mesmo materials usado em telas sensíveis ao toque. Portanto, parecia possível que um show também pudesse atuar como um elemento de toque. No entanto, antes que esse recurso pudesse ser implementado, o CNLohr teve que superar o desafio de controlar os LCDs com um MCU que não possuía um driver de LCD integrado.

Mergulhar segmentos de LCD pode ser complicado, pois exigem formas de onda CA. Independentemente disso, CNLohr foi capaz de escrever algum código meeting para lidar com o tempo necessário para obter sinais adequados dos pinos digitais do CH32V003. Confira por aí 5:43 no vídeo do projeto para mais detalhes sobre o método de condução.

A próxima tarefa estranha foi usar o LCD como sensor de toque capacitivo. O módulo LCD se conecta à entrada MCU ADC. Um código de tempo inteligente interrompe a atualização do LCD ao detectar a presença de um dedo humano. A tensão detectada pelo ADC está correlacionada à distância do dedo. Usar o ADC em vez de um pino digital oferece mais flexibilidade para determinar se o usuário está realizando um gesto ou uma ação de pressão.

No Fio X ao anunciar o vídeo, @thornley_david sugeriu que uma luz de fundo RGB programável period o único recurso que faltava no microled de 3 dígitos. No entanto, CNLohr rapidamente apontou que você não precisa de uma rotina bit bang personalizada para isso!

O componente mais caro do Microlcd é a placa de circuito impresso (PCB). O LCD e o MCU representam US$ 0,31 do custo da lista de materiais, mas o PCB custa cerca de 10 vezes mais! No entanto, esse custo adicional tornou-se necessário porque a CNLohr queria implementar uma conexão USB-C sem conector. Este requisito significa que o PCB precisa de uma espessura de 0,6 milímetros e um acabamento superficial ENIG (Gold). O acabamento dourado evita que o fabricante aplique solda no conector de “borda”.

Bit Banging LCD + Contact + USB no ch32v003

Confira o vídeo completo do projeto para explicações detalhadas de como funcionam o sensor de toque e o LCD. CNLohr também fornece uma breve explicação do código do bootloader rv003usb. Você pode baixar o código e os arquivos de design do KiCad no website ch32v003_3digit_lcd_usb Repositório GitHub.

Deixe um comentário

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