Faça uma Máquina Separadora
Projetar, montar e programar uma máquina que possa identificar, pelo menos, três cores diferentes de peças LEGO® e separá-las em locais distintos.
Plano de aula
Preparar
- Leia o material do professor.
- Se você sentir que é necessário, planeje uma aula usando o material do guia de introdução no software EV3 ou aplicativo de programação EV3. Isso ajudará seus alunos a se familiarizarem com o LEGO® MINDSTORMS® Education EV3.
Envolver (30 min.)
- Use as ideias da seção Iniciar uma Discussão abaixo para envolver seus alunos em uma discussão relacionada a esta aula.
- Explique o projeto.
- Divida sua turma em equipes de 2 alunos.
- Permita que seus alunos tenham um tempo para terem ideias.
Explorar (30 min.)
- Faça com que seus alunos criem múltiplos protótipos.
- Incentive-os a explorarem a montagem e a programação.
- Faça com que cada dupla de alunos monte e teste 2 soluções.
- Forneça aos alunos copos ou outros recipientes para guardar os objetos separados.
Explicar (60 min.)
- Peça que seus alunos testem suas soluções e escolham a melhor.
- Certifique-se de que eles conseguem criar suas próprias tabelas de teste.
- Permita que cada equipe tenha tempo para finalizar seu projeto e coletar dados para documentar seus trabalhos.
Elaborar (60 Min.)
- Dê a seus alunos algum tempo para produzirem seus relatórios finais.
- Facilite uma sessão de compartilhamento em que cada equipe apresente seu resultado.
Avaliar
- Dê feedback sobre o desempenho de cada aluno.
- Você pode utilizar as rubricas de avaliação fornecidas para simplificar o processo.
Iniciar uma Discussão
Máquinas separadoras podem separar objetos com base em propriedades como tamanho, peso, qualidade ou cor. Elas usam uma variedade de sensores para medir essas propriedades e então separam cada objeto na categoria correta.
Incentive um processo de geração de ideias ativo.
Peça que seus alunos reflitam sobre essas questões:
- Quais cores você vai separar?
- Quais tamanhos de peças você vai separar?
- Que tipo de mecanismo motorizado pode mover essas peças?
- Como a máquina conseguirá detectar os locais diferentes?
- Quais recursos de projeto irão garantir que os movimentos da máquina sejam precisos e repetíveis?
Incentive os alunos a documentarem suas ideias iniciais e explicarem porque eles escolheram a solução que irão usar em seus primeiros protótipos. Peça a eles que descrevam como eles irão avaliar suas ideias durante o projeto. Dessa forma, quando eles estiverem analisando e revisando, eles terão informações específicas que poderão usar para avaliar sua solução e decidir se foi eficaz ou não.
Extensões
Extensão de Linguagem e Literatura
Opção 1
Para incorporar habilidades de desenvolvimento de linguagem, faça com que seus alunos:
- Usem o trabalho escrito, rascunhos e/ou fotos deles para resumirem o processo de projeto e criarem um relatório final.
- Criem um vídeo demonstrando seu processo de projeto começando com suas ideias iniciais e finalizando com seus projetos concluídos.
- Criem uma apresentação sobre o programa deles.
- Criem uma apresentação que conecte o projeto deles com aplicações de sistemas similares do mundo real e descrevam novas invenções que possam ser feitas com base no que eles criaram.
Opção 2
Nessa aula, seus alunos criaram uma máquina classificadora. As indústrias de alimentos e agricultura usam máquinas classificadoras para gerenciar a produção e distribuição de produtos em grande escala.
Para incorporar habilidades de desenvolvimento de linguagem, faça com que seus alunos:
- Descrevam a escala dos seus setores locais e regionais de alimentos ou agricultura
- Escolham um alimento ou produto agrícola específico em uma escala determinada que vá desde pequenas empresas/fazendas até uma produção a nível nacional ou global, e pesquisem questões de cibersegurança relacionadas às indústrias de alimentação e agricultura (p.ex., como garantir uma produção de alimentos segura e confiável)
Extensão de Matemática
Nessa aula, seus alunos construíram uma máquina de classificação que classificou objetos com base nas suas cores. O machine learning é uma técnica que os engenheiros podem usar para construir máquinas que classificam objetos de acordo com diferenças que são ainda mais complexas que as cores. Para isso, os desenvolvedores usam um processo de machine learning chamado classificação.
Para incorporar o desenvolvimento de habilidades matemáticas e explorar o processo do machine learning chamado classificação, faça com que seus alunos:
- Coletem algum tipo de objetos classificáveis (p. ex., pedras, tipos de frutas, pulseiras) e, em seguida, preencham uma tabela de dados listando as diferenças qualitativas e quantitativas observáveis entre os objetos
- Definam quais diferenças observáveis levariam a critérios de classificação "desejados" vs. "não desejados" (p.ex., peso, cor, tamanho, imperfeições) para qualquer categoria única de objetos
- Proponham e eventualmente construam um novo algoritmo de design de classificação e programação para seus robôs que lhes permita classificar partindo de características adicionais, como tamanho ou peso
Dicas de Montagem
Dicas para Montagem:
Dê aos seus alunos uma oportunidade para montarem alguns exemplos dos links abaixo. Incentive-os a explorarem como esses sistemas funcionam e a darem ideias de como esses sistemas poderiam inspirar uma solução para o resumo do projeto.
Dicas de Teste
Incentive seus alunos a projetarem suas próprias configurações e procedimentos de testes para selecionarem a melhor solução. Essas dicas podem ajudar seus alunos na configuração de seus testes:
- Marque o local para mostrar onde a máquina deve colocar os objetos.
- Use copos ou outros recipientes para guardar os objetos separados.
- Crie tabelas de teste para registrar suas observações.
- Avalie a precisão de sua máquina comparando os resultados esperados com os reais.
- Repita o teste pelo menos três vezes.
Exemplo de Solução
Veja um exemplo de solução que atende os critérios do resumo do projeto:
Dicas de Programação
Exemplo de Programa do MicroPython EV3
#!/usr/bin/env pybricks-micropython
from pybricks import ev3brick as brick
from pybricks.ev3devices import Motor, TouchSensor, ColorSensor
from pybricks.parameters import (Port, Button, Color, ImageFile,
SoundFile)
from pybricks.tools import wait
# The Color Squares are red, green, blue, or yellow.
POSSIBLE_COLORS = (Color.RED, Color.GREEN, Color.BLUE, Color.YELLOW)
# Configure the belt motor with default settings. This motor drives
# the conveyor belt.
belt_motor = Motor(Port.D)
# Configure the feed motor with default settings. This motor ejects
# the Color Squares.
feed_motor = Motor(Port.A)
# Set up the Touch Sensor. It is used to detect when the belt motor
# has moved the sorter module all the way to the left.
touch_sensor = TouchSensor(Port.S1)
# Set up the Color Sensor. It is used to detect the color of the Color
# Squares.
color_sensor = ColorSensor(Port.S3)
# This is the main part of the program. It is a loop that repeats
# endlessly.
#
# First, it moves the 2 motors to their correct starting positions.
# Second, it waits for you to scan and insert up to 8 Color Squares.
# Finally, it sorts them by color and ejects them in their correct
# positions.
#
# Then the process starts over, so you can scan and insert the next set
# of Color Squares.
while True:
# Initialize the feed motor. This is done by running the motor
# forward until it stalls. This means that it cannot move any
# further. From this end point, the motor rotates backward by 180
# degrees. This is the starting position.
feed_motor.run_until_stalled(120)
feed_motor.run_angle(450, -180)
# Initialize the conveyor belt motor. This is done by first
# running the belt motor backward until the Touch Sensor is
# pressed. Then the motor stops and the angle is reset to "0."
# This means that when it rotates backward to "0" later on, it
# returns to this starting position.
belt_motor.run(-500)
while not touch_sensor.pressed():
pass
belt_motor.stop()
wait(1000)
belt_motor.reset_angle(0)
# Clear all the contents from the Display.
brick.display.clear()
# Scanning a Color Square stores the color in a list. The list is
# empty to start. It will grow as colors are added to it.
color_list = []
# This loop scans the colors of the objects. It repeats until 8
# objects are scanned and placed in the chute. This is done by
# repeating the loop while the length of the list is less than 8.
while len(color_list) < 8:
# Display an arrow that points to the Color Sensor.
brick.display.image(ImageFile.RIGHT)
# Display how many Color Squares have been scanned so far.
brick.display.text(len(color_list))
# Wait until the Center Button is pressed or a Color Square is
# scanned.
while True:
# Store "True" if the Center Button is pressed or "False"
# if not.
pressed = Button.CENTER in brick.buttons()
# Store the color measured by the Color Sensor.
color = color_sensor.color()
# If the Center Button is pressed or one of the possible
# colors is detected, break out of the loop.
if pressed or color in POSSIBLE_COLORS:
break
if pressed:
# If the button was pressed, end the loop early. It will
# no longer wait for any Color Squares to be scanned and
# added to the chute.
break
else:
# Otherwise, a color was scanned, so it is added (appended)
# to the list.
brick.sound.beep(1000, 100, 100)
color_list.append(color)
# It should not register the same color again if it is
# still looking at the same Color Square. So, before
# continuing, wait until the sensor no longer sees the
# Color Square.
while color_sensor.color() in POSSIBLE_COLORS:
pass
brick.sound.beep(2000, 100, 100)
# Display an arrow pointing down and wait 2 seconds to
# allow some time to slide the Color Square into the
# motorized chute.
brick.display.image(ImageFile.BACKWARD)
wait(2000)
# Play a sound and display an image to indicate that scanning is
# complete.
brick.sound.file(SoundFile.READY)
brick.display.image(ImageFile.EV3)
# Now sort the bricks using the list of colors that have been
# stored. Do this by looping over each color in the list.
for color in color_list:
# Wait for 1 second between each sorting action.
wait(1000)
# Run the conveyor belt motor to the position that corresponds
# to the stored color.
if color == Color.BLUE:
brick.sound.file(SoundFile.BLUE)
belt_motor.run_target(500, 10)
elif color == Color.GREEN:
brick.sound.file(SoundFile.GREEN)
belt_motor.run_target(500, 132)
elif color == Color.YELLOW:
brick.sound.file(SoundFile.YELLOW)
belt_motor.run_target(500, 360)
elif color == Color.RED:
brick.sound.file(SoundFile.RED)
belt_motor.run_target(500, 530)
# Now that the conveyor belt is in the correct position, eject
# the colored object.
feed_motor.run_angle(1500, 90)
feed_motor.run_angle(1500, -90)
Conexões de Carreira
Os alunos que gostaram dessa aula podem ter interesse em explorar essas carreiras:
- Agricultura e Horticultura (Mecânica e Tecnologia da Agricultura)
- Engenharia e Manufatura (Tecnologia de Máquinas)
Oportunidades de Avaliação
Lista de Observações do Professor
Crie uma escala que corresponda com suas necessidades, por exemplo:
- Concluído parcialmente
- Concluído completamente
- Além do esperado
Use os seguintes critérios de sucesso para avaliar o progresso dos seus alunos:
- Os alunos conseguem avaliar soluções distintas de projeto com base em critérios de prioridade e prós/contras.
- Os alunos são autônomos ao desenvolverem uma solução funcional e criativa.
- Os alunos conseguem comunicar com clareza suas ideias.
Autoavaliação
Uma vez que seus alunos tenham coletado alguns dados de desempenho, dê a eles tempo para refletirem nas soluções. Ajude-os fazendo perguntas como:
- Sua solução está obedecendo os critérios do Resumo do Projeto?
- Os movimentos da sua máquina podem ser mais precisos?
- Quais foram as formas com as quais os outros solucionaram esse problema?
Peça que seus alunos tenham ideias e documentem duas maneiras através das quais eles poderiam melhorar suas soluções.
Feedback por Pares
Incentive um processo de “Feedback por Pares” no qual cada grupo seja responsável por avaliar seu próprio projeto e os dos outros. Esse processo de revisão pode ajudar os alunos a desenvolverem habilidades em dar feedback construtivo, assim como aprimorar suas habilidades de análise e a habilidade de usar dados objetivos para dar suporte a um argumento.
Suporte ao Professor
Os alunos irão:
-Usar o processo de projeto para solucionar um problema do mundo real
Conjunto Principal LEGO® MINDSTORMS® Education EV3
Copos ou outros recipientes para guardar os objetos separados
Fita para marcar os locais
BNCC
• (EM13LP34) Produzir textos para a divulgação do conhecimento e de resultados de levantamentos e pesquisas – texto monográfico, ensaio, artigo de divulgação científica, verbete de enciclopédia (colaborativa ou não), infográfico (estático ou animado), relato de experimento, relatório, relatório multimidiático de campo, reportagem científica, podcast ou vlogcientífico, apresentações orais, seminários, comunicações em mesas redondas, mapas dinâmicos etc. –, considerando o contexto de produção e utilizando os conhecimentos sobre os gêneros de divulgação científica, de forma a engajar-se em processos significativos de socialização e divulgação do conhecimento.
• (EM13LP35) Utilizar adequadamente ferramentas de apoio a apresentações orais, escolhendo e usando tipos e tamanhos de fontes que permitam boa visualização, topicalizando e/ou organizando o conteúdo em itens, inserindo de forma adequada imagens, gráficos, tabelas, formas e elementos gráficos, dimensionando a quantidade de texto e imagem por slide e usando, de forma harmônica, recursos (efeitos de transição, slides mestres, layouts personalizados, gravação de áudios em slides etc.).
• (EM13CNT301) Construir questões, elaborar hipóteses, previsões e estimativas, empregar instrumentos de medição e representar e interpretar modelos explicativos, dados e/ou resultados experimentais para construir, avaliar e justificar conclusões no enfrentamento de situações-problema sob uma perspectiva científica.
• (EM13CNT308) Investigar e analisar o funcionamento de equipamentos elétricos e/ou eletrônicos e sistemas de automação para compreender as tecnologias contemporâneas e avaliar seus impactos sociais, culturais e ambientais.
• (EM13MAT405) Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
• (EM13MAT406) Construir e interpretar tabelas e gráficos de frequências com base em dados obtidos em pesquisas por amostras estatísticas, incluindo ou não o uso de softwares que interrelacionem estatística, geometria e álgebra.
Material do aluno
Planilha do Aluno
Baixe, visualize ou compartilhe como uma página HTML online ou um PDF para imprimir.