Índice:

Alternativa de $ 3 para Makey Makey: 4 etapas (com fotos)
Alternativa de $ 3 para Makey Makey: 4 etapas (com fotos)

Vídeo: Alternativa de $ 3 para Makey Makey: 4 etapas (com fotos)

Vídeo: Alternativa de $ 3 para Makey Makey: 4 etapas (com fotos)
Vídeo: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Novembro
Anonim
Alternativa de $ 3 para Makey Makey
Alternativa de $ 3 para Makey Makey
Alternativa de $ 3 para Makey Makey
Alternativa de $ 3 para Makey Makey

O Makey Makey é um pequeno dispositivo excelente que emula um teclado USB e permite fazer teclas de qualquer coisa condutiva (folha de alumínio, bananas, massinha, etc.), que pode então ser usado como um controlador para jogos e projetos educacionais. O Makey Makey tem duas desvantagens: (1) custo e (2) a necessidade de uma conexão de aterramento.

Este projeto é uma alternativa barata usando uma placa STM32F1 de $ 2 e sensor capacitivo. Possui apenas 10 entradas, ao contrário dos 12 do Makey Makey, mas tem a vantagem de que, além de emular um teclado, pode emular um controlador de gamepad USB (joystick digital).

Partes:

  • Placa "comprimido preto" STM32F103c8 (US $ 1,90 no Aliexpress; mais informações aqui)
  • placa de ensaio (menos de US $ 1 no Aliexpress) e fios de jumper; ou apenas um monte de conectores duplos macho-fêmea (US $ 0,70 no Aliexpress por um pacote de 40)
  • clipes de papel, clipes de crocodilo, etc.

Ferramentas:

  • computador
  • Adaptador UART para USB para programação inicial da placa (um Arduino Uno ou Mega fará o trabalho, assim como uma unidade CH340 barata)
  • ferro de solda para soldar cabeçotes à placa (você também pode usar um monte de clipes de teste sem soldar, mas às vezes eles caem)

O software é um esboço de exemplo incluído na minha biblioteca ADCTouchSensor que permite a detecção capacitiva com um único pino na placa STM32F1 por sensor (é baseado na biblioteca do martin2250 para AVR).

Aviso: Em tempo seco ou onde a estática for um problema (por exemplo, em um tapete), não toque nos conectores de metal expostos para não causar danos eletrostáticos à placa STM32F1. Espero que a resistência de batatas, bananas, massinha, etc. ajude a proteger o tabuleiro, mas se você usar papel alumínio, poderá ter problemas. Por outro lado, a mesa é de apenas $ 1,90.

Ideias de atividades educacionais:

  • Experimente descobrir quais itens são condutores e podem ser usados como superfícies de controle. (Por exemplo, grafite x giz de cera; massinha x vela.)
  • Escreva jogos de raspar que usem um controlador feito em casa.
  • Modifique o código do Arduino que alimenta o projeto para permitir clique / movimento do mouse, outras teclas, mais de quatro direções de joystick, etc.

Etapa 1: Instale o Bootloader na placa de desenvolvimento

Instale o Bootloader na placa de desenvolvimento
Instale o Bootloader na placa de desenvolvimento
Instale o Bootloader na placa de desenvolvimento
Instale o Bootloader na placa de desenvolvimento
Instale o Bootloader na placa de desenvolvimento
Instale o Bootloader na placa de desenvolvimento

Solde os dois cabeçotes de três pinos no meio do sistema de desenvolvimento Black Pill (B0- / center / B0 +; B1- / center / B1 +) e os cabeçotes longos ao longo das bordas (se você estiver com pressa ou quiser para evitar pinos desnecessários que podem confundir as crianças, você só precisa de pinos para A0-A10 e G).

Você precisa de uma ponte UART para USB compatível com dispositivos 3.3v. Você pode pedir um ch340 da Aliexpress por $ 0,66, mas eu tinha uma cópia do Arduino Mega por aí e havia um truque legal que encontrei online. Se em um Arduino você encurtar o pino de reinicialização ao aterramento com um fio curto, ele se tornará uma ponte UART para USB - nenhum esboço necessário. O único truque é que a rotulagem RX e TX torna-se invertida: o pino "RX" do Arduino transmite e seu pino "TX" recebe. O Arduino funciona a 5v e o Black Pill a 3,3v, mas os pinos PA9 e PA10 no stm32f103 são tolerantes a 5V de acordo, então isso não deve ser um problema.

Nos conectores que você soldou, coloque um jumper de B0 + para o centro e de B1- para o centro.

Faça as seguintes conexões:

  • PA9 para UART bridge RX ("TX" se você estiver usando o truque do Arduino)
  • PA10 para ponte UART TX ("RX" se você estiver usando o truque do Arduino)
  • G para aterramento da ponte UART

Você pode usar uma placa de ensaio ou jumpers macho-fêmea ou, se quiser fazer isso antes de soldar os cabeçalhos, pode usar clipes de teste (como na foto).

Baixe o binário do bootloader. Você deseja generic_boot20_pb12.bin.

No Windows, instale o Flash Loader Demonstrator do ST. No Linux (e talvez no OS X e até no Windows se você preferir ferramentas de linha de comando), use este script python, mas minhas instruções serão para o Windows. Conecte sua ponte UART ao computador.

Ligue o Black Pill por meio de sua porta USB (se você usar o computador, ele provavelmente reclamará de um dispositivo USB não reconhecido; ignore isso). Inicie o Flash Loader Demonstrator. Escolha a porta COM para sua ponte UART. Escolha "Remover proteção", se disponível. Escolha uma versão flash de 64kb em vez de 128kb. E carregue o binário do bootloader.

Desligue tudo e mova o jumper de B0 + / centro para B0- / centro. Agora você tem um carregador de boot que pode ser usado com o IDE do Arduino.

Etapa 2: configurar o IDE do Arduino

Configurar IDE Arduino
Configurar IDE Arduino

Presumo que você tenha o IDE do Arduino mais recente instalado.

Em ferramentas | Placas | Boards Manager, instale o suporte para o Arduino Zero (basta colocar Zero na pesquisa, clicar na entrada encontrada e, em seguida, Instalar). Sim, você não está trabalhando com um Zero, mas isso instalará o compilador gcc correto.

Em seguida, baixe o núcleo stm32duino. No Windows, recomendo baixar o arquivo zip, pois quando fiz o check-out dos arquivos (reconhecidamente, com svn), tive alguns problemas de permissão com arquivos no diretório de ferramentas do Windows que precisavam de conserto. Coloque o branch em Arduino / Hardware / Arduino_STM32 (assim você terá pastas como Arduino / Hardware / Arduino_STM32 / STM32F1, etc.) No Windows, instale os drivers executando drivers / win / install_drivers.bat.

Etapa 3: Instalar CapacitiveController Sketch

Instalar CapacitiveController Sketch
Instalar CapacitiveController Sketch
Instalar CapacitiveController Sketch
Instalar CapacitiveController Sketch
Instalar CapacitiveController Sketch
Instalar CapacitiveController Sketch

No IDE Arduino, escolha Sketch | Incluir Biblioteca | Gerenciar bibliotecas. Procure por "ADCTouchSensor" e instale a versão 0.0.6 ou mais recente. Repita e procure por "USBHID" e instale minha biblioteca USBHID_stm32f1.

Escolha o arquivo | Exemplo | ADCTouchSensor | CapacitiveController.

Certifique-se de ter as seguintes configurações em Ferramentas:

  • Placa: STM32F103C8 genérico
  • Método de upload: STM32duino Bootloader

Conecte a placa no computador e clique no botão "upload" da seta para a direita. Você pode precisar reiniciar a placa (pressione o botão de reinicialização nela) assim que a mensagem de upload for exibida no console.

Etapa 4: conexões e botões

Conexões e botões
Conexões e botões
Conexões e botões
Conexões e botões
Conexões e botões
Conexões e botões

Com o dispositivo desconectado, passe os fios dos pinos STM32F1 para as superfícies de controle. Conecte-se com pinças de crocodilo, clipes de papel ou apenas colando jumpers em objetos. Você pode usar um breadboard ou jumpers feminino para masculino. Para o Tetris no computador, usamos o modo teclado e as teclas de seta; para Pac Man no tablet, usamos um cabo USB OTG e modo de joystick.

O esboço CapacitiveController calibra os sensores capacitivos quando é ligado. Certifique-se de que, ao ligá-lo, você não está tocando nas superfícies de controle, fios ou pinos. E se você modificar qualquer superfície de controle, você precisa recalibrar desconectando e reconectando ou pressionando o botão branco de reset na placa.

A maioria dos aplicativos aqui funcionará, assim como muitos outros. Você também pode ver quantos projetos do Makey Makey você pode adaptar.

Algumas boas superfícies de controle:

  • frutas e vegetais
  • massa de modelar
  • folha de alumínio (exceto em condições de alta estática)
  • botões / conexões pesadamente desenhados a lápis no papel (as linhas de conexão não devem ser muito longas - na foto, o botão mais abaixo não funcionou)
  • experimente muitos mais! (você também pode tentar ajustar a linha 25 in if (sensores -> read ()> 25) no código-fonte para algumas superfícies)

Conexões de modo de teclado:

  • Deixe A10 desconectado
  • A0: espaço
  • A1: para cima
  • A2: esquerda
  • A3: baixo
  • A4: certo
  • A5: w
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Conexões do modo Gamepad / Joystick:

  • Conecte A10 ao solo (G) para definir o modo joystick
  • A0: botão 1
  • A1: para cima
  • A2: esquerda
  • A3: baixo
  • A4: certo
  • A5-A7, B0, B1: botões 2-6

Dica:

Se estiver usando jumpers homem-para-mulher, você pode fazer a conexão de aterramento do modo de joystick A10 encaixando as extremidades masculinas de dois jumpers uma na outra, formando assim um jumper feminino-para-mulher.

Recomendado: