Índice:

Caminhos Brilhantes (Ensinando MST): 5 Passos
Caminhos Brilhantes (Ensinando MST): 5 Passos

Vídeo: Caminhos Brilhantes (Ensinando MST): 5 Passos

Vídeo: Caminhos Brilhantes (Ensinando MST): 5 Passos
Vídeo: Expectativa x realidade. E você lindona, Opção 1 ou 2? 2024, Novembro
Anonim
Bright Paths (Ensinando MST)
Bright Paths (Ensinando MST)

O objetivo do Bright Paths é ensinar aos alunos sobre Árvores de Extensão Mínima (MSTs). O nó A é a fonte e todos os outros nós têm um certo peso (custo) para chegar até eles. Este auxílio de ensino mostra esse custo escurecendo cada nó, dependendo do custo para aquele nó. Pretendo falar dos nós como se fossem lojas que precisam de entregas e dependendo do caminho que for percorrido, o custo da luz (peso) será muito alto. O resultado disso é um LED que fica escuro ou apagado, dependendo novamente do peso. No geral, uma ótima maneira de simplificar esse problema para os alunos. Esse problema também é conhecido como Problema do Caixeiro Viajante.

Etapa 1: Ferramentas e suprimentos

Ferramentas e suprimentos
Ferramentas e suprimentos

Suprimentos

  • Foamcore para segurar seu MST
  • Alguns fios de ligação para conectar seu beadboard ao MST
  • Alguns cabos de ligação para conectar o Arduino à placa de ensaio
  • Oito LEDs, da mesma cor, para representar nós
  • Oito resistores de 220 ohm para os LEDs
  • Um Arduino para controlar o brilho
  • Um Shift Register para obter mais saídas PWM

Ferramentas

  • Pistola de cola quente para segurar os LEDs
  • Materiais de arte para desenhar o MST
  • Computador para programação

Etapa 2: Desenho e LEDs para o MST

Desenho e LEDs para o MST
Desenho e LEDs para o MST
Desenho e LEDs para o MST
Desenho e LEDs para o MST
Desenho e LEDs para o MST
Desenho e LEDs para o MST
  1. Imprimi um de um antigo livro meu e fiz furos, através dos nós da impressão, no núcleo de espuma.
  2. Desenhei as bordas com seus respectivos pesos no núcleo de espuma, também rotulando os nós de A-H.
  3. Empurrei os LEDs pela placa (em cima dos nós) mantendo o pino longo voltado para cima para saber para qual pino enviar o sinal mais tarde. Além disso, empurre os pinos para baixo para mantê-los no lugar.
  4. Cole os LEDs no lugar com cola quente.
  5. Coloque os fios fêmea para macho nos pinos do LED. Fiz fios de cores mais claras em nossos pinos altos, ou aqueles voltados para cima.

Etapa 3: placa de ensaio

Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão
Tábua de pão

Sparkfun tem um ótimo guia para o registro de deslocamento e você pode segui-lo para toda a fiação. A única diferença é que os LEDs são conectados por cabos de jumper longos, não diretamente à placa. Para o meu código, pino 0-7 na linha de registro de deslocamento com A-H no MST.

Etapa 4: Código

Código
Código
Código
Código

O objetivo do código é alterar o brilho dos LEDs com base nos pesos dos nós. Na imagem à direita, mostra wgtA a wgtH. Estes são os valores que você pode alterar para mostrar a quantidade de peso em um determinado LED. A mudança no brilho é alcançada por:

sr.set (ledA, 255 / wgtA * 1.1)

Esta linha define o led para o brilho máximo dividido pelo peso vezes uma quantidade para manter a luz visível. O brilho pode então diminuir à medida que o peso aumenta e isso é feito para todos os LEDs.

Etapa 5: Problemas e futuro

Problemas e Futuro
Problemas e Futuro

Comecei este projeto com quatro LEDs azuis e quatro LEDs verdes, mas tive um problema ao tentar comparar os brilhos. Eu consertei isso encontrando mais quatro azuis, mas mantenha isso em mente ao escolher LEDs. Também preciso carregar o Arduino, a placa de ensaio e o laptop separadamente, portanto, fazer um gabinete para conter o Arduino e a placa de ensaio seria uma grande melhoria futura. Também seria legal adicionar animações aos LEDs para ajudar a visualizar o caminho que está sendo percorrido. No geral, uma ótima maneira de mostrar como os MSTs funcionam e estou ansioso para usá-lo mais.

Recomendado: