quinta-feira, 28 de setembro de 2017

Décimo oitavo - sensores

Trabalhando com sensores: Medindo distâncias 2ª parte

Olá turma, em nosso encontro do dia 22/09/2017 continuamos trabalhando com nosso sensor de ultrassom. Começamos a entender a função que mede a distância e acrescentamos leds no Arduíno.

Nossa atividade
Eletrônica
Acrescentado 4 leds no circuito virtual e interligados ao Arduíno.



Programação
Configuramos as portas do Arduíno como saída
Revimos o comando if else.
Implementamos a função acender led condicionada a distância medida pelo sensor

//função para acender os led conforme a distancia
void acender(){
  if(distancia<30){ digitalWrite(led1, HIGH);}else{digitalWrite(led1, LOW);}
  if(distancia<60){ digitalWrite(led2, HIGH);}else{digitalWrite(led2, LOW);}
  if(distancia<90){ digitalWrite(led3, HIGH);}else{digitalWrite(led3, LOW);}
  if(distancia<120){ digitalWrite(led4, HIGH);}else{digitalWrite(led4, LOW);} 

}


Próxima aula vamos discutir e entender com detalhes esta e outras funções,
Abç a todos!

sexta-feira, 22 de setembro de 2017

Décimo sétimo encontro - sensores

Trabalhando com sensores: Medindo distâncias

Olá turma, neste nosso encontro, dia 15/09/2017, "brincamos com um sensor de ultrassom". Entendemos a teoria de seu funcionamento e projetamos um circuito virtual na plataforma tinkercad.

Nossa atividade
Eletrônica
Conhecemos o princípio de funcionamento de um sensor de ultrassom, conhecemos e definimos o que é ultrassom, vimos como funciona superficialmente o sensor
Montamos o circuito com o sensor no tinkercad: 1 placa de Arduíno e um sensor ultrassônico.

Programação
A partir de um modelo de programa que conseguimos na internet implementamos um circuito de medição através de ondas ultrassônica.

Próxima aula implementaremos leds no circuito

Código ping traduzido e comentado

Olá turma
Código para medir e acender os 4 leds

// Conexão Ping))) conectar pino do arduino ao sensor
int sinal=8;   //indica qual pino do arduino o sensor esta ligado
int distancia; //gurada o valor da distancia medida
unsigned long pulseduration=0;  //duração do pulso
//conexão dos leds
int led1=13;
int led2=12;
int led3=11;
int led4=10;
 


//função roda apenas quando o arduino é ligado e configura
void setup()
{
 pinMode(led1, OUTPUT);
 pinMode(led2, OUTPUT);
 pinMode(led3, OUTPUT);
 pinMode(led4, OUTPUT);
 pinMode(sinal, OUTPUT);   //configura o pino de sinal como saida
 Serial.begin(9600);      //faz a comunicação do arduino com o computador via usb
}



void loop()
{
 // le o sensor Ping)))
 medirDistancia();

 // divideo o valor do pulso pela metade
 pulseduration=pulseduration/2;

 // now convert to centimetres. We're metric here people...
 //converte a duranção do pulso em centimetros e armazena na variavel distância
 distancia = int(pulseduration/29);

 // Display on serial monitor
 Serial.print("Distance - ");
 Serial.print(distancia);
 Serial.println(" cm");
 acender();
 delay(100);
 
}

//função para calcular a distancia
void medirDistancia()
{
 // set pin as output so we can send a pulse
 //definir pino sinal como saída para que possamos enviar um pulso
 pinMode(sinal, OUTPUT);
// set output to LOW
 digitalWrite(sinal, LOW);
 delayMicroseconds(5);

 // now send the 5uS pulse out to activate Ping)))
 //agora envie o pulso de 5uS para ativar Ping
 digitalWrite(sinal, HIGH);
 delayMicroseconds(5);
 digitalWrite(sinal, LOW);

 // now we need to change the digital pin
 // to input to read the incoming pulse
 //agora precisamos mudar o pino digital
 // para inserir para ler o pulso recebido
 pinMode(sinal, INPUT);

 // finally, measure the length of the incoming pulse
 //finalmente, medimos o comprimento do pulso recebido
 pulseduration=pulseIn(sinal, HIGH);
}

//função para acender os led conforme a distancia
void acender(){
  if(distancia<30){ digitalWrite(led1, HIGH);}else{digitalWrite(led1, LOW);}
  if(distancia<60){ digitalWrite(led2, HIGH);}else{digitalWrite(led2, LOW);}
  if(distancia<90){ digitalWrite(led3, HIGH);}else{digitalWrite(led3, LOW);}
  if(distancia<120){ digitalWrite(led4, HIGH);}else{digitalWrite(led4, LOW);}

}

sexta-feira, 15 de setembro de 2017

Código Ping

Olá turma
Tentem usar este código para calcular a distância com o sensor ultrassônico de 3 pinos (PING)
Este código peguei neste site: click aqui
http://tronixstuff.com/2011/11/28/tutorial-parallax-ping-ultrasonic-sensor/

// Connect Ping))) signal pin to Arduino digital 8
int signal=8;
int distance;
unsigned long pulseduration=0;
void setup()
{
pinMode(signal, OUTPUT);
Serial.begin(9600);
}
void measureDistance()
{
// set pin as output so we can send a pulse
pinMode(signal, OUTPUT);
// set output to LOW
digitalWrite(signal, LOW);
delayMicroseconds(5);
 
// now send the 5uS pulse out to activate Ping)))
digitalWrite(signal, HIGH);
delayMicroseconds(5);
digitalWrite(signal, LOW);
 
// now we need to change the digital pin
// to input to read the incoming pulse
pinMode(signal, INPUT);
 
// finally, measure the length of the incoming pulse
pulseduration=pulseIn(signal, HIGH);
}
void loop()
{
// get the raw measurement data from Ping)))
measureDistance();
 
// divide the pulse length by half
pulseduration=pulseduration/2;
 
// now convert to centimetres. We're metric here people...
distance = int(pulseduration/29);
 
// Display on serial monitor
Serial.print("Distance - ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}

sexta-feira, 8 de setembro de 2017

Décimo sexto encontro

Montagem de carrinhos - Ação - 3ª parte

Olá turma, estamos chegando ao final das nossas montagens com materiais diversos, neste dia 01/09/2017 resolvemos problemas nas montagens e conseguimos 2 carrinhos funcionais de 3 previstos.
Testamos o programa tinkcard  na sala de informática, ao que parece está ok e poderemos reutilizá-lo nos próximos encontros.

Nossa atividade:
Continuação das montagens
Teste dos carrinhos
abaixo imagens de nosso trabalho
             












Abraço a todos

quinta-feira, 7 de setembro de 2017

Décimo quinto encontro

Montando carrinhos - Ação - 2ª parte

Olá turma, em 25/08/2017 continuamos a montagem dos carrinhos e estudamos o funcionamento de polias e verificamos a possibilidade de implementar um carrinho com polias.
Nossas atividades:
 montagem de carrinhos
 visualização de vídeo sobre polias
 confecção de polias

Encontramos alguns problemas em relação a fixação dos fios, tensão de operação dos motores, centralização dos eixos nas rodas e dimensões para as polias. 

Em nosso próximo encontro  tentaremos resolver estes e outros problemas, tragam sugestões.
Vídeo de apoio sobre confecção de polias:
https://www.youtube.com/watch?v=SviOC_qtkX0
Abraço a todos. 


Décimo quarto encontro

Montando carrinhos - Ação

Olá turma, nosso encontro do dia 18/08/17 foi fantástico!!!
Colocamos mão na massa!!!!
Dividimos a turma em 3 grupos que receberam:
 2 - tampas
 1 - pedaço de papelão
 2 - motores elétricos
 palitos a vontade
 canudos de refrigerante
 elásticos

Atividade:
A partir destes materiais e outros os grupos iniciaram a montagem dos carrinhos:
Desafios, problemas e soluções encontramos.
Até o momento montamos um carrinho funcional,
Abaixo segue as imagens e vídeos da atividade
Abraço a  todos