Robôs e placas controladoras
Um robô aspirador não "sabe" onde está o sofá, mas age como se soubesse. Todo robô segue a mesma receita: sentir o mundo, decidir o que fazer e atuar sobre ele. Vamos abrir essa caixa.
A cadeia sentir-decidir-atuar
Explique com palavras próprias quais três coisas um robô faz para ser considerado robô: perceber o seu ambiente, processar essa informação e atuar sobre o mundo. Aplique…
Explique com palavras próprias quais três coisas um robô faz para ser considerado robô: perceber o seu ambiente, processar essa informação e atuar sobre o mundo. Aplique esse princípio a um robô aspirador: com o que ele «sente» o cômodo, o que «decide» e o que «faz».
A figura mostra a cadeia de funcionamento de um robô móvel que se desvia de obstáculos, mas o elo central está tapado. Indique que elemento do robô está tapado na cadeia…
A figura mostra a cadeia de funcionamento de um robô móvel que se desvia de obstáculos, mas o elo central está tapado.
Indique que elemento do robô está tapado na cadeia (o seu «cérebro») e explique o papel de cada um dos três elos: que dados o sensor coleta, o que o elemento tapado faz com esses dados e que ordem os motores recebem quando há um obstáculo por perto.
Decida quais destes aparelhos são robôs e quais não são, justificando com a cadeia sentir-decidir-atuar: (a) um robô aspirador, (b) um carrinho de controle remoto, (c)…
Decida quais destes aparelhos são robôs e quais não são, justificando com a cadeia sentir-decidir-atuar: (a) um robô aspirador, (b) um carrinho de controle remoto, (c) um semáforo que muda apenas com o tempo e (d) um drone que mantém a altitude sozinho. O que falta aos que não são robôs?
Sensores: os sentidos do robô
O que chega ao programa é sempre um número. No sensor ultrassônico, por exemplo, é a distância em centímetros. Com esse número, o programa escreve regras como: «se a distância for menor que 20 cm, pare» ou «se a distância for maior que 50 cm, avance».
Os sensores são os «sentidos» do robô. Relacione cada sensor com o que ele percebe: (a) sensor de distância por ultrassom, (b) sensor de luz, (c) sensor de contato ou…
Os sensores são os «sentidos» do robô. Relacione cada sensor com o que ele percebe: (a) sensor de distância por ultrassom, (b) sensor de luz, (c) sensor de contato ou botão de pressão e (d) sensor de inclinação, com estas situações: o robô detecta que caiu de lado, percebe que bateu na parede, mede a que distância está o obstáculo e distingue o dia da noite.
O sensor ultrassônico mede a distância até o objeto mais próximo: emite um sinal sonoro e mede quanto tempo o eco demora para voltar. Explique que dado chega ao programa…
O sensor ultrassônico mede a distância até o objeto mais próximo: emite um sinal sonoro e mede quanto tempo o eco demora para voltar. Explique que dado chega ao programa (um número: os centímetros) e escreva duas regras de decisão que usem esse dado: uma para parar o robô antes de colidir e outra para que ele avance apenas se o corredor estiver livre.
O robô seguidor de linha funciona na sala de aula, mas falha no corredor: o piso é diferente e há mais luz. Explique por que os robôs precisam ser testados e ajustados…
O robô seguidor de linha funciona na sala de aula, mas falha no corredor: o piso é diferente e há mais luz. Explique por que os robôs precisam ser testados e ajustados no local real onde vão funcionar (os sensores leem valores diferentes dependendo do piso e da luz) e o que significa «calibrar» um sensor antes do teste.
Atuadores e a placa controladora
Um computador comum também tem entradas e saídas (teclado, tela), mas trabalha sobretudo com informação. O robô vai além: atua fisicamente sobre o mundo, como se mover, agarrar um objeto ou acionar um mecanismo.
micro:bit ou Arduino?
O micro:bit já vem com matriz de LEDs, botões e alguns sensores integrados: é só ligar e programar, sem cabos. O Arduino é mais aberto: você monta circuitos com componentes e escolhe que sensores e atuadores ligar. Para um primeiro robô, a placa pronta costuma ser a escolha mais simples; para um projeto sob medida, o Arduino dá mais liberdade.
Os atuadores são as partes do robô que atuam sobre o mundo. Classifique estes elementos em sensor ou atuador: motor, alto-falante, sensor de temperatura, luzes LED,…
Os atuadores são as partes do robô que atuam sobre o mundo. Classifique estes elementos em sensor ou atuador: motor, alto-falante, sensor de temperatura, luzes LED, sensor de distância, vibrador de celular e câmera. Explique a diferença geral entre uns e outros em uma frase.
A placa controladora (como o micro:bit ou o Arduino) é o cérebro do robô. Explique com palavras próprias o que é uma placa controladora: quais são as três coisas que…
A placa controladora (como o micro:bit ou o Arduino) é o cérebro do robô. Explique com palavras próprias o que é uma placa controladora: quais são as três coisas que ligamos a ela (sensores, atuadores e o programa que escrevemos) e por que se diz que ela é programável: quem decide o que o robô faz, a placa ou quem a programa?
Um computador normal também tem entradas e saídas (teclado, tela), mas não é um robô. Explique a diferença fundamental: o robô atua fisicamente sobre o mundo (move-se,…
Um computador normal também tem entradas e saídas (teclado, tela), mas não é um robô. Explique a diferença fundamental: o robô atua fisicamente sobre o mundo (move-se, agarra, aciona mecanismos) enquanto o computador trabalha sobretudo com informação. Dê dois exemplos que ilustrem essa diferença.
O micro:bit e o Arduino são as duas placas escolares mais utilizadas. Compare o que você sabe ou pesquise sobre elas: qual já traz luzes, botões e sensores integrados,…
O micro:bit e o Arduino são as duas placas escolares mais utilizadas. Compare o que você sabe ou pesquise sobre elas: qual já traz luzes, botões e sensores integrados, pronta para usar sem cabos, e qual é mais aberta para montar circuitos com componentes. Escolha uma para o primeiro robô que desvia de obstáculos e justifique a escolha.
Classifique estes componentes de um robô em entradas (levam informação à placa) ou saídas (recebem ordens da placa): botão de partida, sensor de linha, motor da roda,…
Classifique estes componentes de um robô em entradas (levam informação à placa) ou saídas (recebem ordens da placa): botão de partida, sensor de linha, motor da roda, luz LED de status, buzzer e sensor de colisão. Explique que relação essa classificação tem com a cadeia sentir-decidir-atuar.
Programar o comportamento: sequências, laços e condições
Antes de programar, descreva o algoritmo em palavras ou em um fluxograma. Nele, o óvalo marca início e fim, o retângulo é uma ação e o losango é uma decisão (pergunta com resposta sim ou não). Depois, monte o programa em blocos, como no MakeCode do micro:bit ou no Scratch.
Veja um fluxograma do robô que desvia de obstáculos. O programa roda dentro de um laço «para sempre»:
Dois limiares, para não ficar «piscando»
Imagine um ventilador automático que liga a 28 °C e desliga a 25 °C. Se ligasse e desligasse exatamente no mesmo valor, a temperatura oscilando em torno dele faria o ventilador ligar e desligar o tempo todo. Dois limiares diferentes criam uma folga e dão estabilidade.
Programamos o robô por blocos: uma sequência é «avançar 2 segundos, virar 90° à direita, avançar 2 segundos». Descreva o trajeto que o robô desenhará no chão ao executar…
Programamos o robô por blocos: uma sequência é «avançar 2 segundos, virar 90° à direita, avançar 2 segundos». Descreva o trajeto que o robô desenhará no chão ao executar essa sequência duas vezes seguidas e explique que diferença existe entre uma sequência e um laço de repetição em um programa de movimentos.
A figura mostra o fluxograma do programa de um robô que se desvia de obstáculos, mas a pergunta do losango está tapada. Escreva a pergunta que deveria estar no losango…
A figura mostra o fluxograma do programa de um robô que se desvia de obstáculos, mas a pergunta do losango está tapada.
Escreva a pergunta que deveria estar no losango para que o robô funcione (o que mede o sensor e com que valor se compara) e explique o comportamento completo do robô com esse fluxograma: o que faz quando não tem nada à frente e o que faz assim que detecta um obstáculo.
O programa «seguir a parede» repete para sempre esta lógica: se o sensor da direita detecta a parede longe, virar à direita; se a detecta perto, virar à esquerda; caso…
O programa «seguir a parede» repete para sempre esta lógica: se o sensor da direita detecta a parede longe, virar à direita; se a detecta perto, virar à esquerda; caso contrário, seguir em frente. Explique o papel do laço «para sempre» e das estruturas condicionais, e descreva que trajeto o robô fará junto a uma parede com uma esquina.
Pretende-se que o robô desenhe um quadrado no chão com um marcador. Escreva o programa utilizando um laço «repetir 4 vezes»: quais duas instruções ficam dentro do laço…
Pretende-se que o robô desenhe um quadrado no chão com um marcador. Escreva o programa utilizando um laço «repetir 4 vezes»: quais duas instruções ficam dentro do laço (avançar e virar) e qual ângulo deve girar a cada vez. Explique o que mudaria no programa para desenhar um triângulo equilátero em vez de um quadrado.
Elabore o programa de um ventilador automático com o micro:bit: ele deve ligar o ventilador quando a temperatura ultrapassar os $28\ \text{°C}$ e desligá-lo quando…
Elabore o programa de um ventilador automático com o micro:bit: ele deve ligar o ventilador quando a temperatura ultrapassar os $28\ \text{°C}$ e desligá-lo quando descer dos $25\ \text{°C}$. Escreva a lógica com laços e condições (por palavras, não em código) e explique por que razão se definem dois limiares diferentes em vez de apenas um (o que aconteceria se ligasse e desligasse exatamente com o mesmo valor).
Projetar e diagnosticar robôs reais
Prioridades quando há duas condições
Se o robô tem dois sensores (obstáculo e borda do «precipício»), o programa precisa de uma ordem de prioridade: a condição mais perigosa é testada primeiro. Se a borda for avaliada antes e o robô detectar as duas coisas ao mesmo tempo, ele recua da borda em vez de avançar contra o obstáculo e cair. Trocar a ordem das perguntas muda o comportamento do robô.
Robô diferencial
Em um robô com duas rodas motrizes independentes, para virar à esquerda a roda direita deve girar mais rápido (ou a esquerda mais devagar). Ligar o motor do mesmo lado em que o sensor viu a linha puxa o robô para o lado errado: confira sempre qual roda gira para qual lado.
Quem decide? Responsabilidade
Dizer «o robô decidiu atropelar o vaso» engana: o robô só executa o programa, dentro dos limites dos seus sensores. Quem decidiu foram as pessoas que o projetaram e programaram, e elas respondem pelo que a máquina faz no mundo. Por isso, um robô doméstico deve, por exemplo, parar ao detectar uma pessoa ou um animal, e nunca agir de modo que possa machucar alguém.
Descreva o ciclo completo sentir-decidir-atuar de um robô aspirador durante um minuto de funcionamento: que sensores ele usa (distância, colisão, desnível das escadas),…
Descreva o ciclo completo sentir-decidir-atuar de um robô aspirador durante um minuto de funcionamento: que sensores ele usa (distância, colisão, desnível das escadas), que decisões toma com esses dados (mudar de direção, voltar à base se estiver com pouca bateria) e que atuadores move em cada caso.
A figura mostra, vista de cima, um robô seguidor de linha com duas rodas motrizes independentes e dois sensores infravermelhos (a e b) que distinguem a linha escura do…
A figura mostra, vista de cima, um robô seguidor de linha com duas rodas motrizes independentes e dois sensores infravermelhos (a e b) que distinguem a linha escura do chão claro.
Um grupo de alunos programou o robô com esta regra: «Se o sensor a (esquerdo) detectar preto, liga no máximo o motor esquerdo para corrigir o rumo; se o sensor b (direito) detectar preto, liga no máximo o motor direito». Ao testá-lo, o robô sai da pista para a direita na primeira curva à esquerda.
-
Justifique por que razão falha o raciocínio do grupo: para que lado gira realmente um robô diferencial quando você acelera apenas a roda esquerda e o que deveria fazer cada motor para girar à esquerda?
-
Desenhe a tabela de controle completa para os dois motores (motor esquerdo e motor direito: avançar, parar ou recuar) diante dos 4 casos possíveis dos sensores a e b (branco/branco, preto/branco, branco/preto, preto/preto).
-
Alguém afirma: «É impossível que um robô siga uma linha com um único sensor». Demonstre que essa afirmação é falsa explicando que estratégia de movimento teria de seguir um robô com um único sensor infravermelho para se manter sobre a pista.
O robô que desvia de obstáculos sempre colide pelo lado direito. Faça o diagnóstico como engenheira: enumere três causas possíveis ordenadas da mais para a menos…
O robô que desvia de obstáculos sempre colide pelo lado direito. Faça o diagnóstico como engenheira: enumere três causas possíveis ordenadas da mais para a menos provável (um motor mais lento, o sensor mal orientado, um erro no programa de rotação) e descreva o teste concreto que você realizaria para descartar cada uma sem desmontar o robô.
Um robô tem dois sensores simultâneos: um de obstáculos e outro de linha preta no chão (que marca um precipício de brincadeira). Elabore as prioridades do programa: que…
Um robô tem dois sensores simultâneos: um de obstáculos e outro de linha preta no chão (que marca um precipício de brincadeira). Elabore as prioridades do programa: que ordem ele deve dar se detectar o obstáculo e a borda ao mesmo tempo, em que ordem se avaliam as condições e o que acontece se a ordem das perguntas for alterada. Justifique a hierarquia definida pensando na segurança do robô.
«O robô decidiu atropelar o vaso»: analise essa frase dita em casa e argumente por que ela é enganadora: quem decidiu verdadeiramente o comportamento dele, onde estavam…
«O robô decidiu atropelar o vaso»: analise essa frase dita em casa e argumente por que ela é enganadora: quem decidiu verdadeiramente o comportamento dele, onde estavam os limites dos sensores e do programa dele, e que responsabilidade têm aqueles que programam máquinas que atuam no mundo. Termine com duas regras que qualquer robô doméstico deveria cumprir.
Desafio do tema. Desenhe o protótipo virtual de um robô climatizador para otimizar o conforto térmico da sua casa usando uma placa controladora. 1. Coleta de dados…
Desafio do tema. Desenhe o protótipo virtual de um robô climatizador para otimizar o conforto térmico da sua casa usando uma placa controladora.
-
Coleta de dados reais: Consulte no site oficial do INMET as temperaturas máximas registradas no seu município durante os últimos $3$ dias e calcule a média aritmética delas (por exemplo, $26,4$ ºC). Esse valor será o limiar de ativação.
-
Desenho e simulação: No simulador gratuito MakeCode para micro:bit (ou Tinkercad), planeje a arquitetura do robô identificando as três partes essenciais: placa controladora, sensor (termômetro interno) e atuador (servomotor simulando a abertura de uma grade ou aviso na matriz de LED).
-
Programação: Programe o algoritmo de controle por meio de blocos. Ele deve ler continuamente a temperatura e, se esta superar o limiar calculado, ativar o atuador; caso contrário, permanecerá em repouso.
-
Relatório final: Elabore um relatório breve (máximo $1$ página no LibreOffice Writer) que inclua os dados do INMET, a justificativa dos componentes escolhidos e uma captura de tela do código funcionando no simulador.
Será valorizado:
-
Obtenção rigorosa dos dados reais do INMET e cálculo correto do limiar térmico.
-
Identificação precisa e justificada da placa controladora, dos sensores e dos atuadores do robô.
-
Algoritmo funcional e sem erros no simulador de acordo com as condições fornecidas.
-
Qualidade técnica, clareza e organização na redação do relatório final.
Voltando ao início: o robô aspirador não precisa de um mapa mental nem «saber» onde está o sofá: os sensores detectam a proximidade do móvel, a placa processa a leitura e manda os motores mudarem de direção na hora.