NOTAS DO PROFESSOR
- Os três verbos são as três realizações do referencial: escrever, interligar, depurar.
- Pergunta: onde há microcontroladores em casa? Máquina de lavar, comando da garagem, contador.
- Analogia: o microcontrolador é um computador sem ecrã que vive dentro das coisas.
NOTAS DO PROFESSOR
- O µC é um sistema completo; o µP precisa de companhia.
- Erro comum: dizer que o Arduino é um microcontrolador. O Arduino é a placa; o ATmega328P é o µC.
- Analogia: o µC é uma cozinha pequena pronta a usar; o µP é só o fogão.
NOTAS DO PROFESSOR
- A escolha parte dos requisitos, não da moda.
- Pergunta: que placa para uma sonda de solo com Wi-Fi e bateria? ESP32.
- Exemplo: painel com 40 LED e 12 botões precisa de 52 pinos; o UNO não chega, o Mega sim.
NOTAS DO PROFESSOR
- Uma regra sem número não é testável.
- Pergunta à turma: que regra falta? O que acontece se o sensor se desligar?
- Exemplo: o termóstato com dois limiares (26 e 24 graus) em vez de um.
NOTAS DO PROFESSOR
- Os periféricos trabalham em paralelo com a CPU.
- Erro comum: achar que o programa corre na SRAM. Corre da Flash.
- Analogia: a CPU é o chefe; os periféricos são funcionários com a sua secretária (registos).
NOTAS DO PROFESSOR
- O resultado guardado é 44, e a flag C avisa do excesso.
- Pergunta: porque é importante escolher bem o tipo de dados?
- Analogia: o conta-quilómetros que volta a zero depois do máximo.
NOTAS DO PROFESSOR
- SRAM é a memória escassa. 2 KB acaba depressa com Strings.
- Erro comum: escrever na EEPROM em cada volta do loop.
- Exemplo: um texto com F() fica na Flash e poupa SRAM.
NOTAS DO PROFESSOR
- Cada pino acumula funções; não as usar em simultâneo.
- Erro comum: ligar algo aos pinos 0 e 1 e não conseguir carregar o sketch.
- Exemplo: um servo usa o Timer1 e tira o PWM aos pinos 9 e 10.
NOTAS DO PROFESSOR
- Os valores exatos vêm sempre da folha de características.
- Pergunta: um LED com 20 mA e outro com 20 mA no mesmo chip, está tudo bem? Somar.
- Exemplo: sensor de 5 V ligado a um ESP32 sem adaptação destrói o pino.
NOTAS DO PROFESSOR
- O assembly serve para perceber o que o processador faz, não para programar tudo.
- Pergunta: porque uma linha de C pode demorar mais do que uma instrução?
- Analogia: C é a receita, assembly é cada gesto na cozinha.
NOTAS DO PROFESSOR
- O modo diz onde está o operando.
- Exemplo resolvido: LDI R16,5; LDI R17,3; ADD R16,R17 dá R16 = 8.
- Erro comum: confundir imediato (valor na instrução) com direto (endereço na instrução).
NOTAS DO PROFESSOR
- pinMode e digitalWrite escrevem estes registos por baixo.
- Pergunta: o pino 13 é que bit de que porta? PB5.
- Exemplo: manipulação direta é muito mais rápida do que digitalWrite.
NOTAS DO PROFESSOR
- Uma máscara muda só os bits escolhidos.
- Erro comum: PORTB = (1 << 5) apaga todos os outros bits.
- Exemplo: limpar o bit 6 com PORTB &= ~(1 << 6) dá 0010 0101.
NOTAS DO PROFESSOR
- Um IDE reúne editor, compilador, carregador e monitor.
- Pergunta: quando escolher o PlatformIO? Vários projetos, Git, várias placas.
- Exemplo: aula sem material, começar no Wokwi.
NOTAS DO PROFESSOR
- Placa e porta erradas explicam a maioria dos casos de não carrega.
- Erro comum: cabo USB só de carga, sem dados.
- Exemplo: um projeto que compilava deixa de compilar com outra versão de biblioteca.
NOTAS DO PROFESSOR
- Bibliotecas poupam tempo mas ocupam memória e têm versões.
- Erro comum: instalar duas bibliotecas com o mesmo nome de ficheiro.
- Exemplo: DHT sensor library para o DHT22.
NOTAS DO PROFESSOR
- Cada decisão tem duas saídas rotuladas.
- Erro comum: usar losango sem rotular Sim e Não.
- Exemplo: o loop() é um ciclo infinito, não tem Fim.
NOTAS DO PROFESSOR
- A histerese evita o relé a comutar dezenas de vezes por minuto.
- Pergunta: o que se passa a 25 graus? Depende do estado anterior.
- Exemplo: um termóstato de casa tem um intervalo de meio grau ou um grau.
NOTAS DO PROFESSOR
- setup corre ao ligar ou no reset; loop repete.
- Erro comum: declarar variáveis dentro de loop esperando que mantenham o valor.
- Exemplo: o piscar(3) é uma função de uma só responsabilidade.
NOTAS DO PROFESSOR
- O tamanho depende da arquitetura.
- Pergunta: que tipo para millis()? unsigned long.
- Exemplo: double no UNO tem 4 bytes, igual a float.
NOTAS DO PROFESSOR
- A conversão tem de acontecer antes da multiplicação.
- Erro comum: (long)(leitura * 500) converte tarde de mais.
- Exemplo: o termómetro que dá temperaturas negativas num dia quente.
NOTAS DO PROFESSOR
- Preferir const a #define.
- Erro comum: usar = em vez de == numa condição.
- Exemplo: o compilador avisa; ler os avisos.
NOTAS DO PROFESSOR
- Código modular testa-se por partes.
- Pergunta: onde pôr o debounce? Numa função própria.
- Exemplo: reutilizar lerTemperatura() noutro projeto.
NOTAS DO PROFESSOR
- Sem resistência o LED e o pino ficam em risco.
- Pergunta: porque se escolhe o valor normalizado acima? Para não exceder a corrente.
- Exemplo: LED verde, 2,1 V, 10 mA dá 290 Ω, normalizado 330 Ω.
NOTAS DO PROFESSOR
- Com pull-up a lógica fica invertida.
- Erro comum: esquecer a inversão e o LED fica aceso em repouso.
- Exemplo: INPUT_PULLUP dispensa a resistência externa.
NOTAS DO PROFESSOR
- O µC é rápido demais para um contacto mecânico.
- Erro comum: delay(500) como debounce, que bloqueia tudo.
- Analogia: uma bola que bate várias vezes no chão antes de parar.
NOTAS DO PROFESSOR
- Detetar o flanco é a ideia central.
- Pergunta: o que acontece se tirarmos a variável anterior?
- Exemplo: contador de peças numa linha de montagem usa o mesmo princípio.
NOTAS DO PROFESSOR
- Resolução é Vref a dividir por 1024.
- Exemplo: leitura 768 a 5 V dá 3,75 V.
- Erro comum: usar 1023 ou 1024 e achar que muda tudo. A diferença é inferior a 0,1 %.
NOTAS DO PROFESSOR
- Menor Vref, maior resolução, menor gama.
- Pergunta: e se a temperatura puder passar dos 110 graus? Não usar a referência de 1,1 V.
- Exemplo: estufa com LM35 e referência interna.
NOTAS DO PROFESSOR
- PWM não é tensão analógica real, mas muitas cargas comportam-se como se fosse.
- Exemplo: analogWrite(9, 64) dá duty de 25,1 %.
- Pergunta: PWM alimenta um motor? Não, só comanda um driver.
NOTAS DO PROFESSOR
- Sensores resistivos precisam de um divisor para o ADC.
- Erro comum: trocar o LDR com a resistência e inverter o sentido sem notar.
- Exemplo: luz exterior acende se analogRead(A0) < 200.
NOTAS DO PROFESSOR
- A relação é exponencial, não linear.
- Pergunta: o que acontece com uma tolerância de 5 por cento? Muda o resultado.
- Exemplo: confirmar com um termómetro de referência.
NOTAS DO PROFESSOR
- O timeout evita ficar preso à espera de um eco que não vem.
- Pergunta: porque dividir por 2? O som vai e volta.
- Exemplo: 2915 µs dá 50 cm.
NOTAS DO PROFESSOR
- Mostrar primeiro o valor bruto do ADC.
- Erro comum: assumir que a fórmula da folha serve para todos os exemplares.
- Exemplo: seco 820, imerso 350.
NOTAS DO PROFESSOR
- O pino comanda, não alimenta.
- Pergunta: porque o aluno que ligou o motor ao pino queimou a placa?
- Exemplo: ESP32 e relé: o módulo traz transístor e díodo.
NOTAS DO PROFESSOR
- Rb alta demais deixa o transístor fora de saturação.
- Erro comum: ligar o relé sem resistência de base.
- Exemplo: com 10 kΩ, Ib seria 0,43 mA e o relé não fecharia bem.
NOTAS DO PROFESSOR
- O flyback protege o transístor e o µC.
- Pergunta: placa a reiniciar quando o motor arranca? Alimentação separada.
- Exemplo: o módulo de relé já traz o díodo, a montagem à mão não.
NOTAS DO PROFESSOR
- A biblioteca esconde o PWM.
- Pergunta: a que pulso corresponde 90 graus? 1472 microssegundos.
- Exemplo: braço robótico com vários servos precisa de fonte própria.
NOTAS DO PROFESSOR
- A ponte H inverte a polaridade; o PWM controla a velocidade.
- Erro comum: inverter o sentido de repente.
- Exemplo: L298N, L293D ou TB6612.
NOTAS DO PROFESSOR
- Sem sensor a posição mantém-se se o motor não perder passos.
- Pergunta: e se for 120 rpm? 2,5 ms entre passos.
- Exemplo: impressoras 3D e CNC.
NOTAS DO PROFESSOR
- Eventos curtos e críticos pedem interrupção.
- Pergunta: um sensor de fluxo envia pulsos de 1 ms, polling serve? Depende do loop.
- Exemplo: encoder de um motor.
NOTAS DO PROFESSOR
- ISR curta: altera uma variável e sai.
- Erro comum: delay() ou Serial.print dentro da ISR.
- Exemplo: o int de 16 bits lê-se em 2 passos; uma interrupção a meio corrompe.
NOTAS DO PROFESSOR
- Sempre a subtração, nunca agora >= ultimo + intervalo.
- Erro comum: usar int para guardar millis().
- Analogia: o relógio da cozinha em vez de ficar parado diante do forno.
NOTAS DO PROFESSOR
- Os timers são periféricos independentes da CPU.
- Pergunta: com prescaler 1024, qual o OCR1A para 1 Hz? 15 624.
- Exemplo: prescaler 64 e OCR1A = 24 999 dão 10 Hz.
NOTAS DO PROFESSOR
- Enviar muito e depressa bloqueia o programa.
- Erro comum: carateres estranhos, baud rate diferente.
- Exemplo: subir para 115200 reduz o tempo por byte.
NOTAS DO PROFESSOR
- Dois dispositivos com o mesmo endereço colidem.
- Pergunta: como descobrir os endereços ligados? Programa de varrimento.
- Exemplo: ecrã LCD e RTC no mesmo barramento.
NOTAS DO PROFESSOR
- Escolher pelo número de pinos, velocidade e dispositivos.
- Pergunta: cartão SD em que protocolo? SPI.
- Exemplo: vários DS18B20 num só fio.
NOTAS DO PROFESSOR
- Segurança é parte do projeto, não um extra.
- Erro comum: deixar a palavra-passe do Wi-Fi no repositório público.
- Exemplo: sonda de solo que publica a humidade de hora a hora.
NOTAS DO PROFESSOR
- Cada tipo tem a sua ferramenta de deteção.
- Pergunta: compila, logo está certo? Não.
- Exemplo: contador int que passa de 32 767 ao fim de 9 horas.
NOTAS DO PROFESSOR
- Serial é a ferramenta mais comum, mas também altera o tempo.
- Pergunta: o bug desaparece quando se acrescenta um print? Pode ser tempo.
- Exemplo: o Plotter mostra ruído no ADC a olho.
NOTAS DO PROFESSOR
- Consultar a documentação da placa antes de comprar a sonda.
- Pergunta: o UNO tem depuração por USB? Não, precisa de sonda externa.
- Exemplo: ESP32 e Pico com sonda de baixo custo.
NOTAS DO PROFESSOR
- Muitos erros de programa são erros de ligação.
- Erro comum: mexer em três coisas e já não saber o que corrigiu.
- Exemplo: multímetro para confirmar 5 V no sensor.
NOTAS DO PROFESSOR
- Escrever o resultado esperado antes de ensaiar.
- Pergunta: que caso falta? Arranque com a carga já ligada.
- Exemplo: acrescentar colunas Obtido e Aprovado.
NOTAS DO PROFESSOR
- O mundo físico fecha o ciclo.
- Pergunta: o que acontece com um só limiar? O relé comuta rápido.
- Exemplo: termóstato, rega, alarme, estufa.
NOTAS DO PROFESSOR
- Cada case: o que fazer e quando sair.
- Erro comum: tratar os modos com muitos booleanos soltos.
- Exemplo: acrescentar o estado ATRASO de saída sem tocar nos outros.
NOTAS DO PROFESSOR
- A EEPROM aguenta um número limitado de escritas.
- Pergunta: guardar a cada segundo? Não; só quando muda.
- Exemplo: calibração do sensor guardada para sobreviver a um corte.
NOTAS DO PROFESSOR
- Estes são os erros de prova e de laboratório.
- Pergunta: qual destes já cometeram?
- Exemplo: pedir a cada grupo para identificar um erro num código dado.
NOTAS DO PROFESSOR
- Voltar aos três resultados de aprendizagem.
- Pergunta: que parte tiveram mais dificuldade? Orientar o estudo.
- Exemplo: ligar a síntese ao mini-projeto.