Objetivo da aula
- Aprender a usar variáveis para armazenar e reutilizar informações no programa.
- Compreender o funcionamento de loops (repetições automáticas de comandos).
- Entender como as condições permitem que o robô tome decisões lógicas.
- Aplicar esses conceitos em programas práticos no PyBricks.
1. Variáveis — guardando informações
Uma variável é como uma “caixinha” onde guardamos um valor para usar mais tarde.
Podemos armazenar números, textos, cores e até leituras de sensores.
No Python, criamos uma variável simplesmente dando um nome e atribuindo um valor:
velocidade = 400 rotacoes = 720 motorA.run_angle(velocidade, rotacoes) motorB.run_angle(velocidade, rotacoes)
Assim, se quisermos mudar a velocidade do robô, basta alterar o valor da variável velocidade — sem precisar editar várias linhas.
Variáveis tornam o código mais limpo, fácil de entender e rápido de ajustar durante os testes.
2. Loops — repetindo ações automaticamente
Um loop (ou laço de repetição) serve para executar um mesmo trecho de código várias vezes.
Em Python, usamos o comando for para repetir algo um número específico de vezes.
for i in range(3): motorA.run_angle(400, 360) motorB.run_angle(400, 360) wait(500)
O robô repetirá esse bloco 3 vezes.
A variável i representa o número da repetição (0, 1 e 2 neste caso).
Loop infinito
Se quisermos que uma ação continue para sempre (até o robô ser desligado ou parado manualmente), usamos o comando while True:
while True:
hub.light.on(Color.BLUE)
wait(300)
hub.light.off()
wait(300)
Esse loop piscará a luz azul do hub continuamente até que o programa seja interrompido.
3. Condições — decisões inteligentes
As condições permitem que o robô tome decisões com base em uma regra ou comparação.
O comando usado é if, que significa “se”.
Também podemos usar elif (senão se) e else (senão).
distancia = sensor_ultrassonico.distance() if distancia < 100: motorA.stop() motorB.stop() elif distancia < 300: motorA.run(200) motorB.run(200) else: motorA.run(400) motorB.run(400)
Nesse exemplo, o robô ajusta sua velocidade conforme a distância detectada pelo sensor ultrassônico.
Se algo estiver muito perto, ele para; se estiver longe, acelera.
Combinando tudo: variáveis + loops + condições
Agora podemos unir os três conceitos em um único programa.
Veja o exemplo abaixo, onde o robô avança repetidas vezes e reage a um obstáculo:
velocidade = 400 distancia_minima = 150 for i in range(5): leitura = sensor_ultrassonico.distance() if leitura < distancia_minima: motorA.stop() motorB.stop() hub.light.on(Color.RED) wait(500) else: motorA.run(velocidade) motorB.run(velocidade) hub.light.on(Color.GREEN) wait(1000)
Observe como o robô toma decisões baseadas em variáveis (velocidade, distancia_minima), repete ações com o for e muda seu comportamento com o if.
Resumo dos comandos principais
| Comando | Função | Exemplo |
|---|---|---|
= |
Atribui um valor a uma variável. | velocidade = 400 |
for |
Repete o código um número definido de vezes. | for i in range(3): |
while |
Repete enquanto a condição for verdadeira. | while True: |
if / elif / else |
Cria decisões lógicas no programa. | if distancia < 100: |
Erros comuns
- Esquecer a indentação: todos os comandos dentro de um loop ou condição precisam estar recuados igualmente.
- Escrever comparações com um “=”: em Python, o sinal de comparação é
==, e não apenas=. - Usar variáveis antes de criá-las: o Python precisa “conhecer” a variável antes de usá-la.
Atividade prática
- Crie um código que use um
forpara fazer o robô andar para frente cinco vezes. - Adicione uma condição (
if) para parar se o sensor detectar algo a menos de 200 mm. - Use uma variável para definir a velocidade e teste diferentes valores.
- Acrescente uma luz vermelha no hub quando o robô parar e verde quando ele estiver se movendo.