Índice:

Um indicador direcional micro: bit para capacetes de bicicleta: 5 etapas
Um indicador direcional micro: bit para capacetes de bicicleta: 5 etapas

Vídeo: Um indicador direcional micro: bit para capacetes de bicicleta: 5 etapas

Vídeo: Um indicador direcional micro: bit para capacetes de bicicleta: 5 etapas
Vídeo: Basic AK Course Session 2 | Chiropractic Kinesiology 2024, Dezembro
Anonim
Um indicador direcional micro: bit para capacetes de bicicleta
Um indicador direcional micro: bit para capacetes de bicicleta
Um indicador direcional micro: bit para capacetes de bicicleta
Um indicador direcional micro: bit para capacetes de bicicleta
Um indicador direcional micro: bit para capacetes de bicicleta
Um indicador direcional micro: bit para capacetes de bicicleta

Versão atualizada 12 de maio de 2018

Abaixo você instruções como construir um indicador direcional baseado em micro: bit simples para capacetes de bicicleta (ou similar). Ele usa os acelerômetros embutidos no micro: bit como controles.

Os scripts micro python fornecidos são otimizados para mu, um editor micro python com um "modo" específico para o micro: bit. Em sua versão mais recente ele vem com um plotter serial e eu inicialmente queria entender como usá-lo para exibir valores medidos (dica: envie dados como tuplas: print ((x, y, z)), usando colchetes duplos).

Quatro padrões são exibidos no micro: display LED 5x5 do bit:

  • No estado de repouso, um bom padrão aleatório é exibido. Atualmente você encontra scripts para três padrões diferentes, um padrão de 'vaga-lume', uma 'chuva' e um padrão de 'estrela cadente'. Dê uma olhada e escolha o que você mais gosta. Sinta-se à vontade para ajustar os parâmetros, para torná-los mais ou menos densos ou funcionar mais rápido ou mais devagar.
  • Depois, há indicadores de "virar à direita" ou "virar à esquerda" em forma de setas móveis. Eles são ativados inclinando a cabeça para a esquerda ou direita, pressionando os botões do micro: bit. Na versão de botão externo do script, ative pressionando um dos botões externos conectados aos pinos 0 e 1.
  • Se você inclinar a cabeça para trás ou ambos os botões do micro: bit forem ativados ao mesmo tempo, um padrão de "alerta" ou "quebra" será exibido.

Este micro: bit de exibição de padrão pode ser usado como um indicador direcional, por exemplo, para andar de bicicleta, patinar ou esquiar. Conserte o micro: morda seu capacete e controle-o com a posição de sua cabeça. Ou fixe-o na sua bicicleta, carregue o script do botão externo e controle-o com dois interruptores externos ligados ao micro: bit através de alguns cabos.

Para aqueles que trabalham com MakeCode, adicionei um script de bloco na última etapa, que pode ser copiado diretamente para o micro: bit. É menos sofisticado, mas oferece a funcionalidade básica sem a necessidade de instalar mu.

Por favor considerem:

  • Embora este projeto possa ser útil para sua segurança, certifique-se de sempre dar indicações claras sobre onde deseja dirigir usando as mãos e os braços.
  • O conceito não foi testado exaustivamente na estrada e foi concebido apenas como um exemplo de programação. Use-o por sua própria conta e risco.
  • Use a versão básica apenas em condições de tempo seco, pois o micro: bit e a bateria ou pacotes de LiPo são sensíveis à umidade. Há uma descrição de como construir uma versão encapsulada mais abaixo.

Etapa 1: Materiais Usados

Um micro: bit. Um computador com o editor mu instalado. Bateria ou pacote LiPo para o micro: bit. Um capacete de bicicleta. Usei um que tinha retroiluminação LED. Um pedaço de cartão de polipropileno de 3mm, como distanciador entre a micro: broca e o capacete. Fita adesiva dupla-face para fixar a micro: broca na distanciadora e esta no capacete. fita, para fixar o micro: broca e bateria no capacete.

Para uma versão encapsulada: uma caixa de plástico transparente de 59 x 59 x 30 mm, Modulor, Berlin: 0, 70 Euro Kitronic MI: placa de força, fita adesiva dupla face de 5 GBP e um pedaço das placas PP

Para a versão de comutadores externos (detalhes não mostrados aqui): cabos de jumper e dois comutadores, dois LEDs brancos, um resistor de 10 kOhm, uma placa de ensaio. Pinças de crocodilo. Parafusos de latão M3 (20 mm), porcas de nylon M3; quatro cada, para pino 0, pino 1, 3V e terra. Coloque os parafusos nos orifícios da placa de circuito impresso do micro: bit e fixe com os parafusos. Eles simplificam para anexar grampos de crocodilo.

Etapa 2: Configurando o Dispositivo, Instalação do Script

Configurando o Dispositivo, Instalação do Script
Configurando o Dispositivo, Instalação do Script
Configurando o Dispositivo, Instalação do Script
Configurando o Dispositivo, Instalação do Script
  • Instale o editor mu no seu computador.
  • Conecte o micro: bit ao computador.
  • Carregue o script desejado.
  • Atualize o script para o micro: bit.
  • No caso dos scripts do acelerômetro (capacete), fixe o micro: bit e a bateria no seu capacete. Usei um pequeno pedaço de papelão plástico, um material que você encontra em sua loja de ferragens, como distanciador e duto dupla face fita em ambos os lados para fixar a micro: broca no capacete. Em seguida, fixe a micro: broca e a bateria com fita adesiva em seu capacete.
  • Para fazer a prova do tempo, dê uma olhada em uma etapa posterior.
  • Se necessário, ajuste os valores dos limites x e z de acordo com suas necessidades.

No caso do script acionado por botão e se você gosta de usar botões externos, conecte os trilhos de alimentação da placa de ensaio às portas Gnd e 3V do micro: bit. Conecte os botões às portas Gnd e Pin0 e Pin1

Etapa 3: os scripts Micro Python

Em anexo, você encontra os scripts micro python para mu e micro: bit.

Existem quatro scripts: um que controla a exibição usando os botões integrados e externos, três usando os acelerômetros integrados do micro: bit. Eles têm diferentes geradores de padrões aleatórios para o estado de repouso.

Há um padrão de 'vaga-lume', um padrão de 'chuva' e um padrão de 'estrela cadente' (estilo matriz). O script do firefly / acelerômetro está listado abaixo. Há também um script que possui todos os três padrões e os executa em uma ordem aleatória, com uma nova seleção sempre que um indicador é ativado.

Os valores do acelerômetro são enviados ao computador e podem ser lidos através do monitor serial do editor mu ou exibidos no plotter serial.

É fácil alterar os parâmetros para ajustar os scripts de acordo com seus requisitos e preferências.

'' 'Versão controlada por ângulo / acelerômetro ou botões integrados. 2018-maio-07 Um script simples que produz um padrão "vaga-lume" em estado de repouso, setas para a esquerda ou direita se movendo na direção correspondente, ou os botões A ou B são pressionados ou um indicador de quebra / padrão de alerta se ambos os botões forem pressionados ou o bit m for dobrado para trás. Pode ser usado para iluminação de fundo de capacete de bicicleta ou similar. Construído para o editor mu micro python pelo Dr. H. https://www.instructables.com/id/A-Microbit-Direction-Indicator-for-Biking-Helmets/ '' 'from microbit import * import random random.seed (3433) # insira seu número da sorte de = 100 # define o tempo de atraso de exibição em ms ff1 = 100 # define o tempo de atraso do firefly 1 em ms ff2 = 50 # define o tempo de atraso do firefly 2 em ms fn = 3 # define o número de pontos de semente do firefly thresh_z = 80 # valor limite para trás thresh_x = 350 # valor limite para lateral # define imagens image_l_1 = Imagem ("00900:" "09000:" "97531:" "09000:" "00900") image_l_2 = Imagem ("09000:" "90000:" "75319:" "90000:" "09000") image_l_3 = Imagem ("90000:" "00009:" "53197:" "00009:" "90000") image_l_4 = Imagem ("00009:" "00090: "" 31975: "" 00090: "" 00009 ") image_l_5 = Imagem (" 00090: "" 00900: "" 19753: "" 00900: "" 00090 ") image_r_1 = Imagem (" 00900: "" 00090: " "13579:" "00090:" "00900") image_r_2 = Imagem ("00090:" "00009:" "91357:" "00009:" "00090") image_r_3 = Imagem ("00009:" "90000:" "79135: "" 90000: "" 00009 ") image_r_4 = Imagem ("90000:" "09000:" "57913:" "09000:" "90000") image_r_5 = Imagem ("09000:" "00900:" "35791:" "00900:" "09000") image_z_1 = Imagem ("90009:" "00000:" "00900:" "00000:" "90009") image_z_2 = Imagem ("09090:" "90009:" "00000:" "90009:" "09090") # inicie o programa enquanto True: print ((accelerometer.get_x (), accelerometer.get_y (), accelerometer.get_z ())) # para ser usado com monitor serial ou plotter para otimização de valor limite; # mudo com '#' se não for usado if ((accelerometer.get_z ()> thresh_z) # cabeça inclinada para trás, ajuste se necessário ou (button_a.is_pressed () e button_b.is_pressed ())): # para fins de controle de exibição. show (Image. DIAMOND_SMALL) sleep (de) display.show (Image. DIAMOND) sleep (de) display.show (image_z_2) sleep (de) display.show (image_z_1) sleep (de) display.clear () elif ((accelerometer.get_x () thresh_x) # indicador de direção para a direita; para ativar a cabeça de curvatura cerca de 20 graus para a direita ou button_b.is_pressed ()): display.show (image_r_1) sleep (de) display.show (image_r_2) sleep (des) display. show (image_r_3) sleep (de) display.show (image_r_4) sleep (de) display.show (image_r_5) sleep (de) display.clear () else: # gerador de padrão 'firefly' para g no intervalo (0, fn): # semeia um determinado número (fn) de pixels x = random.randint (0, 4) # escolhe uma posição aleatória y = random.randint (0, 4) v = 9 # brilho de semente máximo # v = random.randint (0, 9) # opcional: exibição de brilho de semente aleatória.set_pixel (x, y, v) # definir sono de velocidade do firefly (ff1) # display para ff ms # reduz a intensidade de todos os pixels em um passo para j no intervalo (0, 5): # para cada pixel da matriz de LED para i no intervalo (0, 5): b = display.get_pixel (i, j) # obtém a intensidade da corrente se (b> 0): f = b - 1 # reduz o brilho em um outro: f = 0 # define 0 como o menor valor permitido display.set_pixel (i, j, f) sleep (ff2)

Etapa 4: uma versão encapsulada à prova de clima

Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima
Uma versão encapsulada à prova de clima

Conforme mencionado acima, a versão básica não é à prova de intempéries. Portanto, criei uma versão encapsulada.

Para alimentar o micro: bit aqui usei um Kitronic MI: power board. É alimentado por uma célula tipo moeda de 3V e pode ser fixado ao micro: broca com três parafusos e porcas. Ele também tem um interruptor de alimentação integrado. Alternativamente, você pode usar uma bateria LiPo.

Como caixa, estou usando uma caixa de plástico transparente de 59 x 59 x 30 mm. Um pedaço de papelão plástico de 3 mm coberto com fita adesiva dupla-face foi usado como pedaço de distanciamento. É necessário como parte de trás do MI: a potência não é nem mesmo devida às porcas e mantém o micro: bit no lugar.

A caixa com o micro: bit é então fixada ao capacete por outro pedaço de papelão plástico coberto com fita dupla-face.

Etapa 5: um script MakeCode

Para aqueles que não desejam ou não podem instalar o mu, adicionei um script de bloco MakeCode com funcionalidades semelhantes. De longe não tão sofisticado, mas bom o suficiente para mostrar o princípio.

Você pode apenas copiar o arquivo para o seu micro: bit e jogar.

Recomendado: