Produção publicada

Acessibilidade e mobilidade: cadeira sensorial, cancela e elevador hidráulico

  • 1º trimestre
  • Robótica
  • 2ª Série A
  • Protótipo com foto do artefato

Atividade: Acessibilidade e mobilidade

Ver todas as produções de 2ª Série A

Resumo acessível em HTML

Produção integrada de Robótica, Física e Programação. A turma construiu uma cadeira de rodas em miniatura com sensor ultrassônico e buzzer, uma cancela automática com outro sensor e servomotor e um elevador hidráulico de palitos para discutir soluções de mobilidade.

Os avisos sonoros mudam conforme a distância do obstáculo: lento a partir de 90 centímetros, progressivamente mais rápido em 60 e 30 centímetros e contínuo a 10 centímetros. O protótipo explora autonomia para uma pessoa cadeirante com baixa visão, sem substituir equipamentos assistivos certificados.

Galeria: trabalho final, produções e cartazes

A sequência começa pela capa ilustrativa e pelo trabalho final, continua com o processo de produção e termina com os cartazes. Rostos identificáveis foram anonimizados; cada imagem possui descrição textual e botão próprio de áudio.

Descrição textual do circuito

Integração das três áreas

O trabalho do 1º trimestre reúne Robótica, Física e Programação em uma maquete sobre acessibilidade e mobilidade. A Robótica aparece nos sensores, no buzzer e no servomotor; a Programação organiza as faixas de distância, os ritmos de aviso e a abertura da cancela; a Física explica a medição por ultrassom, a produção do som e o elevador hidráulico pela lei de Pascal.

Situação representada

Uma pessoa cadeirante com baixa visão é representada por um boneco de estilo Minecraft sentado em uma cadeira artesanal. Na parte dianteira da cadeira, um sensor ultrassônico percebe obstáculos. O buzzer transforma a distância em informação sonora para que o aviso não dependa apenas da visão:

  • até 90 centímetros: bipes lentos;
  • até 60 centímetros: bipes médios;
  • até 30 centímetros: bipes rápidos;
  • até 10 centímetros: som contínuo de alerta.

Ao se aproximar da passagem, um segundo sensor ultrassônico detecta a cadeira e o servomotor levanta a haste da cancela. Depois de um intervalo sem nova detecção, a haste abaixa. No final do percurso, o elevador hidráulico representa uma alternativa didática para vencer um desnível em um local sem rampa.

Materiais observados na produção

  • Base de papelão pintada, pista com faixas, árvore e semáforo em miniatura.
  • Cadeira feita com papelão e palitos de sorvete, rodas de papelão e boneco em blocos.
  • Placa Arduino Uno compatível, protoboard, jumpers e cabo USB.
  • Dois sensores ultrassônicos do tipo HC-SR04: um na cadeira e outro na cancela.
  • Buzzer piezoelétrico para os avisos de proximidade.
  • Micro servomotor para movimentar a haste da cancela.
  • Palitos de sorvete, eixos e cola para o elevador pantográfico.
  • Duas seringas plásticas e mangueira com fluido para demonstrar o acionamento hidráulico.

Ligações de referência

  • Sensor da cadeira: TRIG no pino 8 e ECHO no pino 7.
  • Buzzer: terminal positivo no pino 6 e terminal negativo no GND.
  • Sensor da cancela: TRIG no pino 4 e ECHO no pino 3.
  • Sinal do servomotor: pino 9; alimentação conforme a especificação do componente e terra comum com o Arduino.

As fotografias não permitem confirmar cada pino do circuito real. Por isso, as ligações e o programa abaixo formam uma implementação de referência coerente com a demonstração descrita. Antes de energizar, é necessário comparar as constantes do código com a montagem da turma. Um servo alimentado por fonte externa deve compartilhar o GND com o Arduino.

Como o sensor calcula a distância

O HC-SR04 emite um pulso ultrassônico e mede o tempo de ida e volta do eco. O programa multiplica esse tempo pela velocidade aproximada do som, 0,0343 centímetro por microssegundo, e divide o resultado por dois, porque o pulso percorre o trajeto até o obstáculo e depois retorna.

Lei de Pascal no elevador

Em um fluido confinado, a pressão aplicada em um ponto é transmitida pelo fluido. A pressão pode ser escrita como P = F/A. Em um sistema ideal com duas seringas, F1/A1 = F2/A2; portanto, F2 = F1 × A2/A1. Quando o êmbolo de saída tem área maior, uma força menor aplicada na seringa de entrada pode produzir uma força maior para erguer a plataforma. Em compensação, o êmbolo maior percorre uma distância menor: o sistema não cria energia.

Na maquete, as seringas e a mangueira movimentam a estrutura pantográfica de palitos. É uma demonstração escolar da lei de Pascal, e não uma plataforma elevatória certificada para transportar pessoas.

Acessibilidade e segurança

O aviso sonoro em ritmos diferentes oferece uma pista complementar para uma pessoa com baixa visão perceber a aproximação de um obstáculo. A cancela automática reduz a necessidade de alcançar e levantar manualmente a haste. O elevador provoca a discussão sobre rotas acessíveis onde há desníveis.

Em uso real, nenhuma dessas funções deve depender de um único sensor. Uma cancela precisa de detecção redundante para não abaixar sobre a pessoa, liberação manual, sinalização perceptível por mais de um sentido e testes conforme as normas aplicáveis. Cadeiras de rodas, plataformas e sistemas de travessia devem ser projetados e certificados por profissionais habilitados, com participação das pessoas que irão utilizá-los.

Código Arduino

/* Acessibilidade e mobilidade — 2ª Série A, 1º trimestre.
   Implementação didática de referência: adapte os pinos à montagem real. */

#include <Servo.h>

const byte TRIG_CADEIRA = 8;
const byte ECHO_CADEIRA = 7;
const byte BUZZER = 6;

const byte TRIG_CANCELA = 4;
const byte ECHO_CANCELA = 3;
const byte PINO_SERVO = 9;

const int CANCELA_FECHADA = 0;
const int CANCELA_ABERTA = 90;
const float DISTANCIA_CANCELA_CM = 25.0;
const unsigned long TEMPO_ABERTA_MS = 3000;

Servo servoCancela;

float distanciaCadeira = -1.0;
float distanciaCancela = -1.0;
unsigned long ultimaLeitura = 0;
unsigned long ultimaMudancaBip = 0;
unsigned long ultimaDeteccaoCancela = 0;
bool buzzerLigado = false;
bool cancelaAberta = false;

float medirDistanciaCm(byte trig, byte echo) {
  digitalWrite(trig, LOW);
  delayMicroseconds(3);
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);
  digitalWrite(trig, LOW);

  unsigned long duracao = pulseIn(echo, HIGH, 30000UL);
  if (duracao == 0) return -1.0;  // eco não recebido
  return duracao * 0.0343 / 2.0;
}

void ligarBuzzer() {
  tone(BUZZER, 1800);
  buzzerLigado = true;
}

void desligarBuzzer() {
  noTone(BUZZER);
  buzzerLigado = false;
}

void atualizarAlertaDaCadeira(float distancia, unsigned long agora) {
  if (distancia < 0 || distancia > 90.0) {
    desligarBuzzer();
    ultimaMudancaBip = agora;
    return;
  }

  if (distancia <= 10.0) {
    if (!buzzerLigado) ligarBuzzer();
    return;  // alerta contínuo na faixa de maior proximidade
  }

  unsigned long tempoLigado;
  unsigned long tempoDesligado;

  if (distancia <= 30.0) {
    tempoLigado = 110;
    tempoDesligado = 120;
  } else if (distancia <= 60.0) {
    tempoLigado = 140;
    tempoDesligado = 320;
  } else {
    tempoLigado = 160;
    tempoDesligado = 700;
  }

  unsigned long intervalo = buzzerLigado ? tempoLigado : tempoDesligado;
  if (agora - ultimaMudancaBip >= intervalo) {
    ultimaMudancaBip = agora;
    if (buzzerLigado) desligarBuzzer();
    else ligarBuzzer();
  }
}

void atualizarCancela(float distancia, unsigned long agora) {
  bool aproximacao = distancia > 0 && distancia <= DISTANCIA_CANCELA_CM;

  if (aproximacao) {
    ultimaDeteccaoCancela = agora;
    if (!cancelaAberta) {
      servoCancela.write(CANCELA_ABERTA);
      cancelaAberta = true;
    }
  } else if (cancelaAberta &&
             agora - ultimaDeteccaoCancela >= TEMPO_ABERTA_MS) {
    servoCancela.write(CANCELA_FECHADA);
    cancelaAberta = false;
  }
}

void setup() {
  pinMode(TRIG_CADEIRA, OUTPUT);
  pinMode(ECHO_CADEIRA, INPUT);
  pinMode(TRIG_CANCELA, OUTPUT);
  pinMode(ECHO_CANCELA, INPUT);
  pinMode(BUZZER, OUTPUT);

  servoCancela.attach(PINO_SERVO);
  servoCancela.write(CANCELA_FECHADA);
  desligarBuzzer();
}

void loop() {
  unsigned long agora = millis();

  // Leituras espaçadas reduzem a interferência entre os dois sensores.
  if (agora - ultimaLeitura >= 70) {
    ultimaLeitura = agora;
    distanciaCadeira = medirDistanciaCm(TRIG_CADEIRA, ECHO_CADEIRA);
    delay(8);
    distanciaCancela = medirDistanciaCm(TRIG_CANCELA, ECHO_CANCELA);
  }

  atualizarAlertaDaCadeira(distanciaCadeira, agora);
  atualizarCancela(distanciaCancela, agora);
}

Registros audiovisuais da atividade

Cada registro oferece duas opções separadas: o áudio original no player do YouTube e a audiodescrição lida pelo portal. A audiodescrição só começa quando o botão correspondente é acionado e interrompe o player para evitar sobreposição de vozes.

Acessibilidade e mobilidade — 2ª Série A

Áudio original: use os controles de reprodução e volume do próprio YouTube.

Audiodescrição em texto: Audiodescrição editorial elaborada a partir do registro e das fotografias fornecidas; não é uma transcrição literal das falas. O vídeo vertical apresenta a maquete de acessibilidade e mobilidade da 2ª Série A. Sobre uma base de papelão pintada aparecem uma cadeira de rodas artesanal azul com um boneco em blocos, rodas de papelão, sensor ultrassônico e buzzer; uma pista com árvore, semáforo e cancela acionada por outro sensor e um servomotor; e um elevador pantográfico construído com palitos de sorvete e sistema hidráulico de seringas. Na demonstração, os bipes indicam a aproximação de obstáculos: são lentos perto de 90 centímetros, tornam-se mais frequentes a 60 e 30 centímetros e viram alerta contínuo a 10 centímetros. Quando a cadeira se aproxima da passagem, a haste da cancela levanta e depois abaixa. O elevador sobe pela transmissão de pressão no fluido entre as seringas, exemplificando a lei de Pascal.

Abrir no YouTube

Referências

PARANÁ. Secretaria de Estado da Educação. Caderno pedagógico do Itinerário Formativo de Aprofundamento em Inteligência Artificial e Tecnologias: acessibilidade e mobilidade. Acervo Digital da Educação. Disponível em: https://acervodigital.educacao.pr.gov.br/. Acesso em: 11 set. 2026.

BRASIL. Lei nº 13.146, de 6 de julho de 2015. Institui a Lei Brasileira de Inclusão da Pessoa com Deficiência. Brasília, DF: Presidência da República, 2015. Disponível em: https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2015/lei/l13146.htm. Acesso em: 11 set. 2026.

OPENSTAX. College Physics 2e: Pascal's Principle. Houston: Rice University, 2022. Disponível em: https://openstax.org/books/college-physics-2e/pages/11-5-pascals-principle. Acesso em: 11 set. 2026.

ARDUINO. Language reference: pulseIn(). Disponível em: https://docs.arduino.cc/language-reference/en/functions/advanced-io/pulseIn/. Acesso em: 11 set. 2026.

ARDUINO. Language reference: tone(). Disponível em: https://docs.arduino.cc/language-reference/en/functions/advanced-io/tone/. Acesso em: 11 set. 2026.

ARDUINO. Servo library. Disponível em: https://docs.arduino.cc/libraries/servo/. Acesso em: 11 set. 2026.

YOUTUBE. Acessibilidade e mobilidade — 2ª Série A. Disponível em: https://www.youtube.com/shorts/p5F7rVDj6kI. Acesso em: 11 set. 2026.

Licença

© 2026 Colégio Estadual Olavo Bilac e equipe autora. Todos os direitos reservados. Reprodução, adaptação, distribuição e uso comercial dependem de autorização prévia dos titulares.