Laboratório de Física na Web

Participantes:

Antonio Luis Amadeu

Resumo do projeto:

Será construída uma experiência do conteúdo de Física de Ensino médio, que será automatizada com sensores, motores e outros dispositivos conectados às placas NXP e posteriormente à nuvem para ser acessada e executada remotamente por qualquer aluno.

Descrição do projeto:

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

Histórico do desenvolvimento:

  • Recebida as placas NXP:

20160827_113347 20160827_113410 20160827_113657

  1. A primeira fase é entender como acessar as portas físicas, ler os sensores e etc., através do MBED;
  2. Preparação do material para montagem do hardware;
  3. 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.

20160907_210608 20160907_211547 20160907_211556 20160907_211601

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.

 

20161023_231337 20161023_231349 20161023_231345 20161023_231341

 

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.

20161023_231332 20161023_231328

 

Segue o video explicativo

 

Hardware:

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:

diagrama-hardware

Software/Firmware:

#include <Stepper.h>
#include <Servo.h>

//Variáveis do motor de passo

int in1Pin = 12;
int in2Pin = 11;
int in3Pin = 10;
int in4Pin = 9;

float cont;

// Variáveis dos sensores

int sensorPin0 = 0;
int sensorPin13 = 13;
int sensorPin2 = 2;
int sensorPin3 = 3;
int sensorPin4 = 4;
int sensorPin5 = 5;

int cont1, cont2, cont3, cont5 = 0;

int s5 = 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
int pos; // Posição Servo

// change this to the number of steps on your motor
#define STEPS 200

Stepper motor(STEPS, in1Pin, in2Pin, in3Pin, in4Pin);

void setup()
{
pinMode(in1Pin, OUTPUT);
pinMode(in2Pin, OUTPUT);
pinMode(in3Pin, OUTPUT);
pinMode(in4Pin, OUTPUT);

pinMode(sensorPin0, INPUT_PULLUP);
pinMode(sensorPin13, INPUT_PULLUP);
pinMode(sensorPin2, INPUT_PULLUP);
pinMode(sensorPin3, INPUT_PULLUP);
pinMode(sensorPin4, INPUT_PULLUP);
pinMode(sensorPin5, INPUT_PULLUP);

// this line is for Leonardo’s, it delays the serial interface
// until the terminal window is opened
while (!Serial);

Serial.begin(9600);
motor.setSpeed(10);

sr.attach(SERVOR);
sr.write(90); // Inicia motor posição zero

sl.attach(SERVOL);
sl.write(90); // Inicia motor posição zero

}

void loop()
{
if (Serial.available())
{
int steps = Serial.parseInt();

if (steps < 501)
{
motor.step(steps);
}
else
{
if ((steps > 501) && (steps < 601))
for(pos = 180; pos >= 0; pos–)
{
sr.write(pos);
delay(2);
}
if ((steps > 601) && (steps < 701))
for(pos = 180; pos >= 0; pos–)
{
sl.write(pos);
delay(2);
}
}

if ((steps > 701) && (steps < 801))
for(pos = 180; pos >= 0; pos–)
{
sr.write(90);
delay(2);
}
if ((steps > 801) && (steps < 901))
for(pos = 180; pos >= 0; pos–)
{
sl.write(90);
delay(2);
}
}

int s0 = digitalRead(sensorPin0);
//Serial.println(sensor0 + s0);
if (s0 == 0)
{
cont = 0;
while (s5 != 0)
{
cont++;
/*    int s1 = digitalRead(sensorPin13);
//Serial.println(sensor1 + s1);
if (s1 == 0)
{
int cont1 = cont;
}
int s2 = digitalRead(sensorPin2);
//Serial.println(sensor2 + s2);
if (s2 == 0)
{
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;
}
}

}

delay(1);

/*Serial.println(sensor1 + cont1);
Serial.println(sensor2 + cont2);
Serial.println(sensor3 + cont3); */

Serial.println(sensor5 + cont5);

}

Referências:

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.