Índice:
- Etapa 1: MASTER e SLAVE no mesmo código
- Etapa 2: Módulos BLUETOOTH conversam via leitura e gravação serial
- Etapa 3: controlando a corrida
- Etapa 4: O resto do código
- Etapa 5: o que vem a seguir?
Vídeo: Arduino Hot Wheels Speed Track Parte 2 - Código: 5 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Na primeira parte deste projeto, construímos o hardware para o protótipo em 2 placas de ensaio.
E nesta parte iremos repassar o código, como ele funciona e então testá-lo.
Assista ao vídeo acima para ver a revisão completa do código e mostrar o código em funcionamento.
Etapa 1: MASTER e SLAVE no mesmo código
O código está em 2 partes, mas dentro do mesmo arquivo. Eu uso #define e #ifdef para determinar qual código será compilado ou ignorado para que eu possa separar qualquer código que seja apenas para a breadboard MASTER e o código que seja apenas para a breadboard SLAVE.
Basicamente, se o define MASTER for encontrado, então qualquer código que esteja dentro do bloco de código MASTER será compilado e qualquer código fora desse bloco será removido em tempo de compilação.
#ifdef MASTER
// O código específico do mestre está aqui
#outro
#define SLAVE
// Código específico do escravo está aqui
#fim se
Também estou usando a mesma técnica para #define SLAVE quando MASTER é compilado, então você só precisa se preocupar em definir MASTER ou não habilitar a definição de SLAVE.
Etapa 2: Módulos BLUETOOTH conversam via leitura e gravação serial
Neste projeto, apenas a placa de ensaio SLAVE se comunica com a placa de ensaio MASTER. O MASTER nunca responde, apenas ouve e age de acordo com os dados que chegam.
Os módulos falam e ouvem usando a classe Serial integrada no ecossistema de codificação do Arduino.
Módulos Bluetooth se comunicam a 38400 baud, então ambos os caminhos de código inicializam suas comunicações seriais usando:
Serial.begin (38400);
E o SLAVE usa:
Serial.write (dados aqui);
Para falar com o MASTER, e o MASTER usa:
dados = Serial.read ();
Para ouvir o fluxo serial e ler seu conteúdo e armazená-lo dentro de uma variável.
Etapa 3: controlando a corrida
O SLAVE diz ao MASTER se ele está em modo de corrida mais ou pronto através do botão verde conectado ao seu microcontrolador. No modo pronto, os sensores IV não fazem nada e o MASTER mostrará 8 traços no visor para indicar que está no modo pronto.
Quando o SLAVE diz ao MASTER que uma corrida vai começar, o SLAVE começa a consultar os sensores IR em seu lado (o início da pista de corrida) para que os carros passem por baixo.
Conforme cada carro passa sob cada sensor IR, ele envia um A (carro 1) ou B (carro 2) para o MASTER.
Quando o MASTER recebe um A ou B, ele habilita o cronômetro para aquele carro específico e então espera que o carro passe por baixo do sensor IR correspondente na linha de chegada.
O display é atualizado a cada 50ms para mostrar a hora atual de cada carro em segundos com 2 casas decimais.
Assim que os dois carros atingirem a linha de chegada, o MASTER decide qual carro foi o mais rápido e pisca esse tempo no visor para indicar o vencedor.
Etapa 4: O resto do código
O resto do código é apenas um código de utilitário que controla a exibição de dados no display de 8 dígitos ou lida com a lógica de pressionamento de botão, etc.
No final do vídeo na seção de introdução deste projeto, mostro um exemplo do código em execução nas 2 placas de ensaio, portanto, certifique-se de verificar isso!
Você pode obter o código para este projeto no meu repositório github.
Etapa 5: o que vem a seguir?
Por enquanto é isso … na parte 3, veremos como mover os componentes da placa de ensaio para algo mais permanente … fique ligado!
Espero que você esteja gostando desse projeto!
Siga-me:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Recomendado:
Estação de loop MIDI multi-track Arduino: 6 etapas
Arduino Multi-track MIDI Loop Station: Uma estação de loop, ou um looper, é essencialmente uma ferramenta para reproduzir em tempo real seus riffs instrumentais (loops). Não se destina a ser uma mídia de gravação, mas um instrumento para moldar a inspiração sem distração (e, eventualmente, tocar ao vivo …)
Robô Mecanum Omni Wheels com GRBL Stepper Motors Arduino Shield: 4 etapas
Mecanum Omni Wheels Robot com GRBL Stepper Motors Arduino Shield: Mecanum Robot - um projeto que eu queria construir desde que o vi no blog de mecatrônica do Dejan: howtomechatronics.com Dejan realmente fez um bom trabalho cobrindo todos os aspectos de hardware e impressão 3D , eletrônicos, código e um aplicativo Android (MIT
Como modificar Hot Wheels padrão para Hot Wheels R / C: D: 6 etapas (com imagens)
Como modificar Hot Wheels padrão para Hot Wheels R / C: D: Desde que eu era criança, eu adoro carros Hot Wheels. Deu-me inspiração para criar veículos de fantasia. Desta vez, eles se superaram com as Star War Hot Wheels, C-3PO. No entanto, eu quero mais do que apenas empurrar ou viajar em uma pista, eu decidi, “L
Star Track - Arduino Powered Star Pointer and Tracker: 11 etapas (com imagens)
Star Track - Arduino Powered Star Pointer and Tracker: Star Track é um sistema de rastreamento de estrelas baseado em Arduino e inspirado em montagem GoTo. Ele pode apontar e rastrear qualquer objeto no céu (coordenadas celestes são fornecidas como entrada) com 2 Arduinos, um giroscópio, módulo RTC, dois motores de passo de baixo custo e uma estrutura impressa em 3D
Arduino Hot Wheels Speed Track - Parte 1 - Protótipo: 4 etapas
Pista de Velocidade Arduino Hot Wheels - Parte 1 - Protótipo: Não deveria ser surpresa que meu filho adore rodas quentes e corridas de carros por toda a casa! Uma de suas coisas favoritas a fazer é correr com todos os seus carros (mais de 100 agora) para determinar qual é o carro mais rápido. Agora ele faz tudo a olho nu e