Microcontroladores e robôs
A placa que vocês usam na aula não é um brinquedo: é um computador completo, só que minúsculo e dedicado a uma única tarefa. Com ela você pode construir semáforos, cancelas e robôs que realmente percebem o que acontece ao redor. Como um portão de estacionamento sabe que um carro chegou? No final desta página você vai saber responder.
O microcontrolador: um computador pequeno
Você já conhece algoritmos e blocos (Scratch, App Inventor). Agora o programa vai sair da tela e controlar objetos reais.
Como o programa chega à placa? Você o escreve em um computador, em blocos ou em texto. O programa é então traduzido para a linguagem de máquina, que a placa entende, e enviado pelo cabo USB (é o «carregar» ou «gravar»). A placa guarda esse programa na memória, mesmo desligada. Depois disso ela funciona sozinha, sem computador, executando o programa em ciclo.
Explique o que é um microcontrolador (um computador completo, mas pequeno, integrado em uma placa) e duas diferenças em relação a um computador de mesa: o que cada um…
Explique o que é um microcontrolador (um computador completo, mas pequeno, integrado em uma placa) e duas diferenças em relação a um computador de mesa: o que cada um pode fazer e para que é utilizado.
Explique como um programa chega à placa: onde ele é escrito, o que acontece ao «carregá-lo» por meio do cabo e por que razão a placa depois funciona de forma autônoma,…
Explique como um programa chega à placa: onde ele é escrito, o que acontece ao «carregá-lo» por meio do cabo e por que razão a placa depois funciona de forma autônoma, sem computador, executando o programa em ciclo.
Pinos de entrada e saída: onde tudo se liga
Além dos pinos digitais e analógicos, a placa tem o conector USB (para carregar o programa e, às vezes, alimentar a placa), pinos de alimentação (5 V) e o pino GND.
Para classificar um componente, pergunte: ele informa algo à placa ou recebe ordens dela? Botão, LDR e potenciômetro informam (entradas). LED e buzzer (besouro) recebem ordens dela (saídas).
A figura mostra uma placa microcontroladora com seus grupos de pinos rotulados, exceto um. O pino tapado é a referência comum à qual retornam todos os circuitos que você…
A figura mostra uma placa microcontroladora com seus grupos de pinos rotulados, exceto um.
O pino tapado é a referência comum à qual retornam todos os circuitos que você ligar à placa. Nomeie-o e explique para que serve, qual a diferença entre os pinos digitais (tudo ou nada) e os analógicos (leem valores contínuos) e para que se usa o conector USB.
Classifique estes elementos conforme se liguem a um pino de entrada ou a um pino de saída da placa, e justifique um de cada tipo: um botão de pressão, um LED, um LDR, um…
Classifique estes elementos conforme se liguem a um pino de entrada ou a um pino de saída da placa, e justifique um de cada tipo: um botão de pressão, um LED, um LDR, um besouro e um potenciômetro.
Indique se são verdadeiras ou falsas estas afirmações e justifique cada resposta: (a) a placa executa o programa exatamente como o escrevemos, sem traduzi-lo antes; (b)…
Indique se são verdadeiras ou falsas estas afirmações e justifique cada resposta: (a) a placa executa o programa exatamente como o escrevemos, sem traduzi-lo antes; (b) os pinos da placa suportam qualquer corrente, portanto o LED pode ser ligado sem resistor; (c) um servomotor pode se posicionar em um ângulo específico comandado pelo programa; (d) a placa memoriza o último programa mesmo que seja desligada da tomada.
Sensores e atuadores do robô
O «cérebro» do robô é a placa microcontroladora. Ela recebe as leituras dos sensores (distância, luz, temperatura, cor do chão) e envia ordens aos atuadores (girar rodas, acender LED, tocar o buzzer). A bateria é a fonte de energia.
| Sensor | O que mede | Projeto de exemplo |
|---|---|---|
| Ultrassom | distância | cancela, robô que desvia de obstáculos |
| LDR | luz | luz que acende quando escurece |
| Temperatura | temperatura | ventilador automático |
| Infravermelho de linha | claro ou escuro no chão | robô seguidor de linha |
| Atuador | O que faz |
|---|---|
| LED | emite luz |
| Buzzer | emite som |
| Servomotor | gira até um ângulo indicado e fica parado |
| Motor de corrente contínua | gira continuamente, mais rápido ou mais devagar |
A figura mostra um robô móvel visto de cima, com seus elementos rotulados e o seu «cérebro» coberto com um ponto de interrogação. Nomeie a peça coberta, explique que…
A figura mostra um robô móvel visto de cima, com seus elementos rotulados e o seu «cérebro» coberto com um ponto de interrogação.
Nomeie a peça coberta, explique que informação ela recebe dos sensores e que ordens envia aos atuadores, e classifique os elementos rotulados (rodas com motor, sensor de ultrassom, buzzer, LED, bateria) como entrada, saída ou fonte de energia.
Indique o que mede cada sensor que você pode ligar à placa e um projeto em que você o utilizaria: sensor de ultrassom (distância), LDR (luz), sensor de temperatura e…
Indique o que mede cada sensor que você pode ligar à placa e um projeto em que você o utilizaria: sensor de ultrassom (distância), LDR (luz), sensor de temperatura e sensor de linha por infravermelho (distingue claro de escuro no chão).
Indique o que faz cada atuador que se pode ligar à placa e uma diferença fundamental entre eles: um LED, um besouro, um servomotor (gira até a posição indicada) e um…
Indique o que faz cada atuador que se pode ligar à placa e uma diferença fundamental entre eles: um LED, um besouro, um servomotor (gira até a posição indicada) e um motor de corrente contínua (gira continuamente a maior ou menor velocidade).
Os motores de um robô não são alimentados a partir de um pino da placa, mas sim da bateria através de uma placa «controladora de motores». Explique por quê (os pinos…
Os motores de um robô não são alimentados a partir de um pino da placa, mas sim da bateria através de uma placa «controladora de motores». Explique por quê (os pinos fornecem muito pouca corrente e o motor exigiria muito mais), que função a placa controladora desempenha e que relação isso tem com o relé dos circuitos eletrônicos.
Programar com condições: ler, comparar, agir
Um semáforo, por exemplo, usa três saídas (LED verde, amarelo e vermelho) e uma sequência que se repete: verde $4\ \text{s}$, amarelo $1\ \text{s}$, vermelho $4\ \text{s}$, e volta ao verde.
Você quer que um LED se acenda quando a luminosidade do cômodo ficar abaixo de determinado nível. Explique qual pino você usa para ler o LDR (um analógico), o que…
Você quer que um LED se acenda quando a luminosidade do cômodo ficar abaixo de determinado nível. Explique qual pino você usa para ler o LDR (um analógico), o que significa definir um «limiar» no programa e escreva em pseudocódigo as três linhas fundamentais: ler, comparar e atuar.
A figura mostra o fluxograma do controle de uma cancela de estacionamento com um sensor de ultrassom, mas a decisão está tapada. Escreva a condição que a placa deve…
A figura mostra o fluxograma do controle de uma cancela de estacionamento com um sensor de ultrassom, mas a decisão está tapada.
Escreva a condição que a placa deve verificar (se a distância medida for menor que determinado valor, há um carro), explique o que faz o laço enquanto não chega ninguém e o que aconteceria se a cancela descesse sem aguardar alguns segundos.
Conceba um semáforo com a placa: decida de quantos pinos de saída você precisa e para quê, escreva a sequência de estados com os respectivos tempos (verde $4\ \text{s}$,…
Conceba um semáforo com a placa: decida de quantos pinos de saída você precisa e para quê, escreva a sequência de estados com os respectivos tempos (verde $4\ \text{s}$, amarelo $1\ \text{s}$, vermelho $4\ \text{s}$) e explique por que o programa é escrito como um laço que nunca termina.
O sensor de ultrassom e o seguidor de linha
O sensor tem dois «olhos»: um emite o pulso e o outro escuta o eco. Ele pode falhar com objetos macios (que absorvem o som) e com superfícies inclinadas (que desviam o eco para outro lado).
Para a sequência do robô que desvia de obstáculos: caminho livre → avança; obstáculo próximo → para, gira e mede de novo. Com um único sensor voltado para a frente, o robô não sabe se há espaço dos lados.
O sensor de ultrassom mede distâncias como um morcego. Explique o princípio (emite um pulso de som e mede quanto tempo o eco demora para voltar), por que razão tem dois…
O sensor de ultrassom mede distâncias como um morcego. Explique o princípio (emite um pulso de som e mede quanto tempo o eco demora para voltar), por que razão tem dois «olhos» (um emite e o outro escuta) e duas situações em que pode falhar: objetos macios que absorvem o som e superfícies inclinadas que desviam o eco.
Descreva o comportamento de um robô que desvia de obstáculos em linhas gerais: o que o sensor frontal mede, o que o robô faz quando o caminho está livre e que sequência…
Descreva o comportamento de um robô que desvia de obstáculos em linhas gerais: o que o sensor frontal mede, o que o robô faz quando o caminho está livre e que sequência executa ao detectar algo próximo (parar, girar, verificar novamente). O que aconteceria se ele tivesse apenas o sensor voltado para a frente?
Você está desenhando a calibração e a montagem de um robô seguidor de linha que percorre um circuito branco com uma linha preta de 2 cm de largura. O robô dispõe de dois…
Você está desenhando a calibração e a montagem de um robô seguidor de linha que percorre um circuito branco com uma linha preta de 2 cm de largura. O robô dispõe de dois sensores infravermelhos de refletância ($S_I$ e $S_D$) montados na parte frontal e tração diferencial com dois motores independentes.
- a) Preveja que comportamento errôneo o robô terá se você montar os sensores separados por apenas 1 cm entre si (distância menor do que a largura da linha). E se você os separar 6 cm? Justifique qual deve ser a separação geométrica ideal.
- b) Desenhe a tabela de decisões do robô indicando o estado de cada motor (para a frente, parado ou marcha à ré) para cada uma das 4 combinações possíveis de leitura (Branco/Preto).
- c) Ao chegar a uma curva fechada à esquerda, se o robô apenas desligar o motor esquerdo e mantiver o direito para a frente, tende a sair da linha por inércia. Justifique que alteração você deve fazer no controle dos motores para conseguir uma rotação muito mais fechada sobre o próprio eixo.
Projetar e diagnosticar um robô real
Ao projetar, liste: entradas (sensores e botões), saídas (atuadores), estados (as fases) e tempos (quanto dura cada ação). Em sistemas com contador (como um estacionamento) ou botão, pense também no que pode dar errado na vida real: carros que desistem, botões apertados várias vezes, leituras ruidosas. Para sensores de ambiente, como temperatura, ler a cada $10\ \text{ms}$ é exagero (ela muda devagar) e ler uma vez por dia é pouco para reagir.
Voltando à pergunta do início: a cancela do estacionamento tem um sensor de ultrassom que mede a distância em laço; se a distância é menor que o limiar, a placa conclui que há um carro e comanda o servo a levantar a cancela.
Para movimentar a cancela de um estacionamento você pode usar um servomotor ou um motor de corrente contínua. Compare ambos: qual alcança uma posição exata e permanece…
Para movimentar a cancela de um estacionamento você pode usar um servomotor ou um motor de corrente contínua. Compare ambos: qual alcança uma posição exata e permanece imóvel, qual gira sem parar, qual precisa de menos componentes eletrônicos adicionais neste projeto e por quê.
O seu programa deveria acender um LED ao pressionar um botão, mas acontece o contrário: ele está aceso e apaga ao pressionar. Explique duas causas possíveis (a lógica do…
O seu programa deveria acender um LED ao pressionar um botão, mas acontece o contrário: ele está aceso e apaga ao pressionar. Explique duas causas possíveis (a lógica do programa está invertida ou o botão está ligado ao contrário, em «nível lógico baixo») e como você verificaria cada uma delas.
Um grupo de alunos programou um semáforo de pedestres com botão com a seguinte lógica: assim que o pedestre pressiona o botão, o semáforo de veículos passa de verde a…
Um grupo de alunos programou um semáforo de pedestres com botão com a seguinte lógica: assim que o pedestre pressiona o botão, o semáforo de veículos passa de verde a vermelho de forma instantânea e o de pedestres fica verde durante 15 s. Após testá-lo em uma maquete viária, observam freadas bruscas dos veículos e engarrafamentos contínuos se vários pedestres apertarem repetidamente o botão.
- a) Justifique duas falhas de segurança e fluidez viária que este programa inicial apresenta.
- b) Desenhe o fluxograma ou a sequência temporal corrigida (indicando entradas, saídas e tempos recomendados) para resolver ambos os problemas, incorporando uma fase de transição (amarelo) e garantindo um tempo mínimo de verde contínuo para carros antes de atender outra chamada de pedestres.
- c) Se você quiser adicionar um aviso sonoro intermitente para pessoas com deficiência visual durante os últimos 3 s do verde para pedestres, como deve modificar a temporização dessa saída?
Em um estacionamento de 10 vagas controlado por cancela, um estudante propõe este algoritmo: «O sensor de entrada soma 1 aos carros no interior ao detectar um veículo e…
Em um estacionamento de 10 vagas controlado por cancela, um estudante propõe este algoritmo: «O sensor de entrada soma 1 aos carros no interior ao detectar um veículo e abre a cancela; o sensor de saída subtrai 1 ao sair; se os carros no interior chegarem a 10, acende-se a luz de COMPLETO e a cancela não abre». Durante a primeira semana de testes, o sistema marca COMPLETO havendo vagas livres, e às vezes a cancela atinge o teto dos carros.
- a) Analise e identifique duas situações físicas reais pelas quais o contador se desregula ao longo das horas (pistas: veículos que desistem após acionar o sensor, passagem de pedestres, falsas detecções).
- b) Desenhe a lógica de controle completa (especificando condições com os sensores de entrada, cancela e saída) para que a contagem seja confiável e não dependa de uma única leitura instantânea.
- c) Que condição de segurança deve ter prioridade absoluta na programação para garantir que a cancela nunca desça enquanto houver um obstáculo ou veículo passando?
Você é encarregado de projetar o sistema de controle e registro de uma estação ambiental para uma estufa escolar por meio de uma placa programável. a) Selecione três…
Você é encarregado de projetar o sistema de controle e registro de uma estação ambiental para uma estufa escolar por meio de uma placa programável.
- a) Selecione três sensores adequados para monitorar as condições das plantas, classifique-os em analógicos ou digitais e justifique a taxa de amostragem ideal para cada um (argumente por que medir a temperatura a cada 10 ms seria um erro técnico e por que medi-la uma vez por dia seria insuficiente).
- b) Escreva a condição lógica booleana que ative simultaneamente a ventilação e a irrigação automática se a temperatura superar os 32 °C e a umidade do solo cair abaixo dos 30 %.
- c) Ao analisar os dados do registro gráfico diário, você observa que às 13:00 a leitura de luminosidade é máxima, mas a sonda de temperatura marca de repente 0 °C durante 15 minutos antes de voltar a 28 °C. Interprete essa anomalia, justificando se ela se deve a um fenômeno meteorológico ou a uma falha instrumental (fiação/sensor).
Deves desenhar o sistema de controlo autónomo para um robô estafeta de biblioteca que transporta livros entre dois postos (Mesa 1 e Mesa 2) guiando-se por uma linha no…
Deves desenhar o sistema de controlo autónomo para um robô estafeta de biblioteca que transporta livros entre dois postos (Mesa 1 e Mesa 2) guiando-se por uma linha no chão. O ciclo completo consiste em: aguardar a ordem de partida através de um botão de pressão, seguir a linha até encontrar uma marca transversal de paragem, imobilizar-se e avisar com um sinalizador sonoro (buzzer) durante 3 s, aguardar que o utilizador retire o livro (detetado por um sensor de presença ou peso), e regressar à Mesa 1 realizando uma rotação de 180° para ficar pronto para o serviço seguinte.
- a) Identifique os sensores e atuadores necessários, classificando cada um conforme seja de entrada ou de saída.
- b) Desenhe a máquina de estados ou fluxograma do sistema, indicando com precisão os diferentes estados do robô e qual condição desencadeia a transição para o estado seguinte.
- c) Adicione ao projeto um protocolo de segurança reativa: qual sensor você deve incorporar e como deve atuar o ciclo principal se um aluno cruzar a menos de 20 cm do robô em movimento?