Laboratório de Física na Web - Embarcados Contest
Início/Conectando à Internet das Coisas com NXP 2016/Laboratório de Física na Web
Laboratório de Física na Web Antonio Amadeu 2016-12-15T20:47:23-03:00
O projeto contará com uma aplicação web que controlará a experiência do laboratório de física, esta aplicação se conectará as placas NXP e esta, à experiência em si que consta de um trilho que pode ser colocado a ângulos de 30, 45 e 60 graus, o trilho possui sensores que tomarão o tempo de passagem de uma bolinha de aço que percorrerá este trilho desde o início até o fim.
A aplicação web conterá um banco de dados que armazenará os dados da instituição de ensino que irá agendar a execução do experimento. Este banco de dados também armazenará e tornará disponível para a instituição o resultado dos dez últimos acessos para fins de recuperação de histórico. A página de acesso contará com um login e outras páginas para inscrição, alteração de informações, agendamento e a página de acesso ao laboratório remoto. A página de acesso ao laboratório contará com três divisões: a primeira conterá uma imagem transmitida em tempo real de uma web cam instalada em frente ao experimento para permitir a visualização do mesmo com detalhes. A segunda parte conterá os botões e ajustes que irão controlar a angulação do trilho, a recolocação da bolinha e a liberação da mesma, enviando comandos para as placas NXP que serão a interface entre o aplicativo web e o experimento em sí. A terceira parte da página conterá uma área onde serão informados os dados do experimento coletados pela NXP, os dados serão o ângulo do trilho que será passado pelos sensores e também o tempo desde a liberação da bolinha, passando por cada sensor até o fim do trilho. Estes dados devem ser utilizados pelos alunos para que sejam efetuados os cálculos de acordo com o roteiro do experimento que o Professor passará aos mesmos.
A motivação para o desenvolvimento desta ideia, está fundamentada em um estudo feito com alunos de física que indica que aprender física somente na teoria da sala de aula, é uma atividade extremamente chata e pouco ilustrativa, mas, aliando o aprendizado teórico com a parte prática mais lúdica, fica extremamente interessante e atrativa, além de melhorar os resultados das notas na disciplina.
Apesar disso, as instituições de ensino não têm investido em laboratórios de física (ou de ciências), muitas vezes por não terem espaço físico para o mesmo e também por não terem recursos financeiros para investir em equipamentos que são extremamente caros.
Desta forma, a possibilidade de efetuar um experimento real remotamente pode tornar o aprendizado da física em algo interessante para os alunos e torna-se uma opção financeiramente viável para as instituições de ensino.
Desta forma, muitas instituições de ensino podem se beneficiar deste laboratório remoto/real, inclusive instituições do exterior pois a web não tem fronteiras.
diagrama-de-blocos
Segue o Diagrama de blocos atualizado após o problema com o Arduíno.
diagramablocoslabfisica
Recebida as placas NXP:
A primeira fase é entender como acessar as portas físicas, ler os sensores e etc., através do MBED;
Preparação do material para montagem do hardware;
Segunda fase é a construção física do experimento da Física do ensino médio que provavelmente será o experimento do plano inclinado que foi estudado por Galileu Galilei;
1 – O início da primeira fase está em andamento, alguns pequenos programas para acesso de portas, sensores e o display de cristal líquido já foram testados e podem ser vistos na seção de Software correspondente;
2 – A segunda fase foi iniciada com a desmontagem de várias impressoras de jato de tinta sucateadas, doadas para tal, de onde foram retirados motores, engrenagens, molas, correias dentadas, eixos, fontes, e etc. Também foi comprado o trilho (cantoneira de parede) e efetuados os furos na distância de 0,1 m cada um. Outro componente que foi comprado também foram servos de aeromodelos que farão a liberação das bolinhas nas pontas do trilho. Vejam nas fotos abaixo os motores e engrenagens, bem como os componentes eletrônicos a serem utilizados e o trilho, leds e etc.
Após esta fase, desenvolvi a caixa de redução, e as portas e o amortecimento para ficar nas extremidades do trilho. Também, desenvolvi os sensores para ler a passagem da bolinha pelo trilho.
Nesta semana, tive um problema com a placa NXP e fui obrigado a mudar para o Arduíno. Mas o funcionamento ficou bom também.
https://contest.embarcados.com.br/wp-content/uploads/2016/08/20161023_235409.mp4
Para a montagem do experimento do laboratório, será necessária uma base de madeira e suporte conforme diagrama abaixo. Tal diagrama mostra o trilho e como o mesmo irá movimentar para formar a angulação necessária para a execução do experimento:
//Variáveis do motor de passo
// Variáveis dos sensores
int sensorPin13 = 13;
int sensorPin4 = 4;
int sensorPin5 = 5;
int cont1, cont2, cont3, cont5 = 0;
String sensor0 = "Sensor0: ";
String sensor1 = "Sensor1: ";
String sensor2 = "Sensor2: ";
String sensor3 = "Sensor3: ";
String sensor4 = "Sensor4: ";
String sensor5 = "Sensor5: ";
#define SERVOR 7 // Porta Digital 7 PWM
#define SERVOL 6 // Porta Digital 6 PWM
Servo sr; // Variável Servo
Servo sl; // Variável Servo
pinMode(sensorPin0, INPUT_PULLUP);
pinMode(sensorPin13, INPUT_PULLUP);
pinMode(sensorPin4, INPUT_PULLUP);
pinMode(sensorPin5, INPUT_PULLUP);
sr.attach(SERVOR);
sr.write(90); // Inicia motor posição zero
sl.attach(SERVOL);
sl.write(90); // Inicia motor posição zero
if (steps < 501)
if ((steps > 501) && (steps < 601))
for(pos = 180; pos >= 0; pos–)
sr.write(pos);
if ((steps > 601) && (steps < 701))
sl.write(pos);
if ((steps > 701) && (steps < 801))
sr.write(90);
if ((steps > 801) && (steps < 901))
sl.write(90);
int s0 = digitalRead(sensorPin0);
//Serial.println(sensor0 + s0);
if (s0 == 0)
while (s5 != 0)
/* int s1 = digitalRead(sensorPin13);
//Serial.println(sensor1 + s1);
int cont1 = cont;
int s2 = digitalRead(sensorPin2);
//Serial.println(sensor2 + s2);
int cont2 = cont;
int s3 = digitalRead(sensorPin3);
//Serial.println(sensor3 + s3);
if (s3 == 0)
int cont3 = cont;
s5 = digitalRead(sensorPin5);
//Serial.println(sensor5 + s5);
if (s5 == 0)
int cont5 = cont;
/*Serial.println(sensor1 + cont1);
Serial.println(sensor2 + cont2);
Serial.println(sensor3 + cont3); */
Serial.println(sensor5 + cont5);
http://www.nxp.com/products/software-and-tools/nxp-designs-reference-design-library/nxp-designs/lpcxpresso4337-development-board:OM13070?fsrch=1&sr=1&pageNum=1
http://cache.nxp.com/files/microcontrollers/doc/user_guide/UM10889-om13070_73_76.pdf?fsrch=1&sr=3&pageNum=1
http://www.nxp.com/products/software-and-tools/nxp-designs-reference-design-library/nxp-designs/lpc-general-purpose-shield-for-lpcxpresso-boards:OM13082?fsrch=1&sr=10&pageNum=1
Barbeta, V. B., Marzzulli, C. R., Experimento Didático para Determinação da Velocidade de Propagação do Som no Ar, Assistido por Computador, RBEF, vol. 22, no. 4, Dezembro, 2000.
Magno et al., Realizando experimentos didáticos com o sistema de som de um PC, RBEF, vol. 26, n. 1, p. 117 – 123, 2004.
PRETTO, Nelson De Luca (org.); Tecnologias & novas educações. Salvador: EDUFBA, 2005.
SÈRÉ, Marie-geneviève; COELHO, Suzana Maria; NUNES, Antônio Dias. O papel da experimentação no ensino da Física. Caderno Brasileiro de Ensino de Física, Florianópolis, v. 21, n. , p.31-43, nov. 2004.