🇧🇷 · Garoa Hacker Clube · Gwiethaus
Criou página com '=Programando Keyboard com Atmega32u4= 1) Instalar o QMF MSYS. Instale da pasta padrão "c:\QMK_MSYS" para facilidades e eventuais problemas. 2) Durante a instalação marque a opção "Add QMK SYS profile to Windows Terminal", Figura 1. Isso irá faciltiar a chamada do terminal de comando do MSYS. Figura 1 - "001 - Instalacao QMK MSYS.png" Figura 2 - "002 - QMK MSYS Command Profile.png" 3) ao executar o icone da Figura 2 a tela de trminal comandos irá ser...' Página nova =Programando Keyboard com Atmega32u4= 1) Instalar o QMF MSYS. Instale da pasta padrão "c:\QMK_MSYS" para facilidades e eventuais problemas. 2) Durante a instalação marque a opção "Add QMK SYS profile to Windows Terminal", Figura 1. Isso irá faciltiar a chamada do terminal de comando do MSYS. Figura 1 - "001 - Instalacao QMK MSYS.png" Figura 2 - "002 - QMK MSYS Command Profile.png" 3) ao executar o icone da Figura 2 a tela de trminal comandos irá ser executda como mostrado na Figura 3. Figura 3 - "003 - QMK MSYS Command.png" 4) Para criar um firmware precisamos antes a partir do terminal de comnado QMK MSYS executar o comando “qmk setup” caso não existir ainda o firmware na pasta do atual usuário, por exemplo, “c/Users/Wiethaus/qmk_firmware” 5) O QMK CLI irá baixar e configura a estrutura básica de firmware. 6) Após concluído, podemos executar o comando "qmk new-keyboard" que irá criar um novo teclado ao bel prazer. Ele irá fazer algumas perguntas fundamentais - Keyboard name: keyboard_delwie - your githubusername? [gwiethaus] - Your Real Name? [gwiethaus] - Default Layout? 41 --> Layout orto_4x12 - Using Development Board? [y/n] y - Development Board? 13 --> na segunda tela [atmega32u4] Pronto ele criou os arquivos necessarios na pasta com a seguinte mensagem na tela: Created a new keyboard called keyboard_delwie Build command: qmk compile -kb keyboard_delwie -km default Project location C:/Users/Wiethaus/qmk_firmware/keyboards/keyboard_delwie Now update the config files to match the hardware! Figura 4 - "004 - Aviso Comando Keyboard Criado.png" Aqui houve um pequenino problema, na última etapa eu apertei demais a tecla enter, pois acabei não escoilhendo o hardware que será usado, no caso seria o "atmega32u4". Mas não criemos pânicos, basta ir ao arquivo de configuração e inserir este. Abra o arquivo keyboard.json e verifique se está tudo em ordem, caso a linha não estiver com a microcontroladora correta troque para a que voce está utilizando no projeto. Procure e altere a linha da tag "processor" para a microcontroladora correta como "processor": "atmega32u4". Isso deve ficar algo parecido como o código abaixo. ... "matrix_pins": { "cols": ["C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2"], "rows": ["D1", "D1", "D1", "D1"] }, "processor": "atmega32u4", "url": "", ... Como a matriz é 12 colunas por 4 linhas veja que no código json acima está representado corretamente. se estiver presente no arquivo rules.mk MOUSEKEY_ENABLE = no # Mouse keys AUDIO_ENABLE = no # Audio output BOOTMAGIC_ENABLE = no MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = no NKRO_ENABLE = no entao remova do arquivo keyboard.json: "features": { "bootmagic": false, "extrakey": false, "mousekey": false, "nkro": false }, se estiver presente nos dois lugares, ocorrerá uma mensagem na compilação de "WARNING" Mudanças da API do QMK ---------------------- Leia a documentacao, para codigos e artigos na web. A nova versão houve alterações drásticas nas funcoes do QMK. Perceba na Figura 10 que ocorre alguns erros de compilação devido a nao existencia de funcoes. figura: "010 - Erro de Compilacao - Funcao nao Existe.png" Segundo link https://docs.qmk.fm/ChangeLog/20240225 mostra algumas mudanças na versão do QMK Notable core changes Renaming Arduino-style GPIO pin functions (#23085, #23093) QMK has long used Arduino-style GPIO naming conventions. This has been confusing for users, as over time they've had new variations added, as well as users mistakenly thinking that QMK supports the rest of the Arduino ecosystem. The decision was made to rename the GPIO manipulation functions with ones matching QMK Firmware's code styling. Old New setPinInput(pin) gpio_set_pin_input(pin) setPinInputHigh(pin) gpio_set_pin_input_high(pin) setPinInputLow(pin) gpio_set_pin_input_low(pin) setPinOutput(pin) gpio_set_pin_output(pin) setPinOutputPushPull(pin) gpio_set_pin_output_push_pull(pin) setPinOutputOpenDrain(pin) gpio_set_pin_output_open_drain(pin) writePinHigh(pin) gpio_write_pin_high(pin) writePinLow(pin) gpio_write_pin_low(pin) writePin(pin, level) gpio_write_pin(pin, level) readPin(pin) gpio_read_pin(pin) togglePin(pin) gpio_toggle_pin(pin) I2C driver API Changes (#22905) Much like the GPIO refactoring, I2C APIs were also updated to conform to QMK naming standards. This is largely irrelevant to people using subsystem abstractions such as touchpads or RGB lighting, and only affects people manually communicating with other peripherals. Old API New API i2c_readReg() i2c_read_register() i2c_readReg16() i2c_read_register16() i2c_writeReg() i2c_write_register() i2c_writeReg16() i2c_write_register16() Erro na compilação ------------------ Realmente quando parece que tudo estava certo .... Murphis age incasavelmente para dar tudo errado bem no finalzinho da compilação. Quando tentei compilar diversas vezes nao entendia que significava as mensagens, possivelmente é indicativo que alguma sintaxe estava incorreta (Figura 15), principalemten no arquivo de include ou comentarios do arquivo rules.mk que ele poderia estar itnerpretando como uma constante. Removi todas as linhas de comentarios e compoilou coretamente sem erros. Figura 15: "015 - Erro de sintaxe.png" Nome do Layout -------------- O nome do layout deve seguir o seguinte formato "LAYOUT_", por exemplo "LAYOUT_delwie". Este deve estar presente no arquivo keyboard.json e keymap.c Escrevendo a Flash ------------------ Apesar do QMK Toolbox não ter para linux, pode-se enviar o arquivo .hex pelo próprio QMK MSYS o que na minha opinião é tão fácil quanto usar o QMK Toolbox. Figura 20: "020 - Transferencia arquivo hex para flash.png" Comando para enviar para a flash se encontra abaixo. Quando aparecer a mensagem "Waiting for USB serial port - reset your controller now (Ctrl+C to cancel)....." pressione o botão de reset da MCU para iniciar a gravação do arquivo hexadecimal para a flash (Figura 20). Ele automaticamente reconhece a USB conectada a placa embarcada ou dispositivo USB (controladora). bash: qmk flash -kb keyboard_delwie -km default UART Driver x Serial Driver --------------------------- O UART Driver é usado para a comuncicao entre dispositivos MCU usando porta serial. Já o Serial Driver é apra a comucnicao entre teclado split (quebrado em duas partes) onde um lado da MCU que controla uma parte do teclado se comunica com o outro lado da MCU. Isso pdoe ser esclaredido nestes dois documentos oficiais: UART Driver: https://docs.qmk.fm/drivers/uart 'serial' Driver: https://docs.qmk.fm/drivers/serial Referencias: ------------ 1. Adding Your Keyboard to QMK https://docs.qmk.fm/porting_your_keyboard_to_qmk 2. UART Driver https://docs.qmk.fm/drivers/uart 3. QMK Breaking Changes - 2024 February 25 Changelog https://docs.qmk.fm/ChangeLog/20240225 4. GPIO Control https://docs.qmk.fm/drivers/gpio 5. Adding Underglow to DZ65RGB and QMK https://halogenica.net/hardware/adding-underglow-to-dz65rgb-and-qmk/ 6. IO expanders with RP2040 https://deskthority.net/viewtopic.php?t=27708 7. Config QMK Web https://config.qmk.fm/#/planck/rev1/LAYOUT_ortho_4x12
🇧🇷 · Garoa Hacker Clube · Gwiethaus
← Edição anterior Edição das 13h11min de 21 de junho de 2026 (Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) Linha 24: Linha 24: * Desenho e modelagem intermediário em Solidworks e Solidworks CAM * Desenho e modelagem intermediário em Solidworks e Solidworks CAM =Artigos= = Categoria dos Artigos= <br> <br> * [[/KiCad|Kicad]] * [[/KiCad|Kicad]] * [[/QMK|Keyboard com QMK Firmware]] =Hobbies e Projetos Atuais= =Hobbies e Projetos Atuais=
🇧🇷 · Garoa Hacker Clube · Gwiethaus
← Edição anterior Edição das 12h31min de 21 de junho de 2026 Linha 19: Linha 19: <br> <br> Aparentemente o nome do footprint "CAPC3216X180N" está correto e associado ao símbolo, mas isso não é bem verdade. Eu não sei se isso é devido a versão atual com algum bug e se nas versões anteriores funcionava corretamente. Para solucionar o problema pode-se fazer de duas forma, a mais rápida é apresentada na '''Figura 3'''. Aparentemente o nome do footprint "CAPC3216X180N" está correto e associado ao símbolo, mas isso não é bem verdade. Eu não sei se isso é devido a versão atual com algum bug e se nas versões anteriores funcionava corretamente. Pode verificar ao clicar no botão ao lado do campo footprint (inocne de livros) ainda não aparece a imagem do foot print correspondente ao símbolo ( '''Figura 3''' ) . <br> <br> <br> <br> [[File:Footprint_003.png|none|thumb|800px|'''Figura 3''' - Ajustando a propriedade footprint do símbolo de componente]] [[File:Footprint_003.png|none|thumb|800px|'''Figura 3''' - Footprint do símbolo de componente não está sendo exibido ]] <br> <br> Para solucionar o problema pode-se fazer de duas forma, a mais rápida é apresentada na '''Figura 4'''. ⚫ Edite o campo footprint colocando o nome do objeto símbolo a que o footprint pertence, exatamente como mostra a '''Figura 3 ''' como esta forma "GRM31CR71E475KA88L:CAPC3216X180N" ⚫ Edite o campo footprint colocando o nome do objeto símbolo a que o footprint pertence, exatamente como mostra a '''Figura 4 ''' como esta forma "GRM31CR71E475KA88L:CAPC3216X180N" <br> [[File:Footprint_004.png|none|thumb|800px|'''Figura 4''' - Ajustando a propriedade footprint do símbolo de componente]] <br> Após editado, clique novamente no botão ao lado do campo footprint (icone de livros) e abrirá a caixa de dialógo na '''Figura 4'''. Note que agora o footprint correspondente está associado ao símbolo ('''Figura 5'''). <br> <br> [[File:Footprint_005.png|none|thumb|800px|'''Figura 5''' - Footprint agora associado ao símbolo de componente]] <br> <br>