segunda-feira, 10 de dezembro de 2018

24º Encontro - Avaliação e encerramento

24º Encontro - Avaliação e encerramento

Olá turma, neste nosso último encontro do ano 7/12/2018 - reposição de 26/11/2018, Realizamos a avaliação dos nossos encontros e projetos, Definimos algumas metas para 2019.
Projetos 2018
No geral foi positivo, conseguimos concluir todos os projetos propostos.
Avançamos bem na parte de programação e eletrônica.
Temos que melhorar nossa parte de mecânica, ter maior domínio na montagem estrutural-física dos projetos.

Propostas de projetos para 2019
Potão automático;
Carro controlado por Bluetooth;
Guindaste;
Drone.

Nossa participação na Feira cultural foi ótima!
Premiação do aluno Gabriel 6C com um Kit Arduíno.
Agradecimento a todos que colaboram com nosso projeto de Robótica.
Abraço a todos!!!!!

quarta-feira, 5 de dezembro de 2018

Feira Cultural 2018 - Profª Rosangela Rodrigues Vieira

Feira Cultural 2018 - Sala de Robótica

Olá turma, no dia 01/12/2018, Realizamos apresentações de nossos projetos desenvolvidos durante este ano.
Foi muito gratificante ver os trabalhos, as apresentações e demonstrações que os alunos fizeram para o público visitante.

Projetos e demonstrações apresentados
Carro controlado com potenciômetro;
Carro com sensor de distância
Leds controlados por BlueTooth;
Simulador de voos;
Simulador de circuitos eletrônicos (Thinkercad ).

























Obrigado a todos!!!

domingo, 2 de dezembro de 2018

23° Encontro - Organização da Feira Cultural: Finalizações

23° Encontro - Organização da Feira Cultural: Finalizações

Olá turma, neste encontro do dia 30/11/2018, Concluímos as montagens e a organização da sala para apresentação ao público que ocorrerá sábado dia 01/12/2018.
Acrescentamos  a apresentação o simulador de vôos que desenvolvemos a partir do desafio da JAM 2018 de Robótica ocorrido esta semana no Anhembi.

Nossas atividades 
Montagem do simulador de vôos;
Testes das montagens anteriores;
Organização final da sala.

Abraço a todos!

JAM 2018 - SME/SP: Nossa particicipação

Participação JAM 2018

Olá turma,
Agradecemos a todos que possibilitaram nossa participação.












Abraço a todos!

22º Encontro - Organização da Feira Cultural - Revisão de Projetos

22º Encontro - Organização da Feira Cultural - Revisão de Projetos e programação

Olá turma, neste encontro,  23/11/2018, continuamos revendo os projetos, solucionamos problemas que havia no carro com potenciômetro e praticamos programação com Thinkercad.
 Acender dois leds na seguinte sequencia:
Ao ligar led azul fica aceso por 2 segundos
Led azul apaga
Led vermelho começa a piscar.
Nossas atividades
Mecânica
Remontagem de carro com potenciômetro;
Ajustes no eixos e rodas

Eletrônica
Montagem de circuito com Arduíno no simulador Thinkercad.

Programação
Fizemos a programação e testes
Foi demonstrado duas soluções para que o circuito funcionasse;
Acendendo o led azul pelo setup()
Acendendo o led azul no loop(), e dentro de um comando if que estabelece que ele acenda apenas uma vez.

Abraço a todos!

segunda-feira, 12 de novembro de 2018

Jam 2018 - SME/SP


Olá turma,
Abaixo está a equipe que selecionamos para concorrer em uma vaga  na JAM 2018 - SME/SP.
CEU EMEF ROSANGELA RODRIGUES VIEIRA
DRE PENHA
Professor: 
Paulo Cesar Malaquias

Alunos:
Daniel  Oliveira Ventura                       9A   15 anos 
Anna Clara Canel                                  7C   13 anos
Gustavo Vaz Ferreira                           7C   12 anos
Patrick Duarte Violli Perreira             6A   12 anos
Gabriel da Silva                                     6C   12 anos






Na elaboração do Vídeo tivemos a participação dos alunos:

Wayne André Rocha - Edição de imagens

Adiel Silças Ferreira da Silva                 coreografia e dança
Daniel Francisco Rufino coreografia e dança
Willian Venancio da Cunha Marcelino     coreografia e dança 

sexta-feira, 9 de novembro de 2018

21º Encontro - Organização da Feira Cultural e produção de vídeo

21º Encontro - Organização Feira Cultural e Produção de vídeo.

Olá turma, após um pequeno recesso estamos voltando!!
Neste encontro do dia 9/11/2018 Além de darmos continuidade a Organização da Feira Cultural vendo o  andamento das apresentações, também discutimos a montagem de uma possível equipe para participar da JAM de robótica no mês de novembro e elaboramos e inciamos a produção de um vídeo para a comissão que escolherá as escolas participantes.

Como a equipe será composta de um professor e cinco alunos, foi realizado a escolha dos alunos que irão representar o CEU EMEF ROSANGELA RODRIGUES VIEIRA levando-se em conta a antiguidade no projeto, frequência  e o envolvimento nas atividades.
Os demais alunos ajudaram na elaboração do roteiro, produção e edição do  vídeo a ser apresentado.




Abraço a Todos!

terça-feira, 30 de outubro de 2018

Código controle de LedsBluetooth versão 2

Código controle de LedsBluetooth

Olá turma este código foi modificado pelo Gabriel ¨6C, colocou outras letras referentes as cores em Inglês.
Ficou melhor para manusear!!!!
Maiúscula liga, minúscula desliga 
vermelho R r  (red).
verde       G g (green)
azul         B b  (blue) 
amarelo   Y y  (yellow)

int vermelho = 2;
int verde = 3; 
int amarelo = 4; 
int azul = 5; 
char letra; 
void setup() { 
  pinMode(vermelho, OUTPUT); 
  pinMode(verde, OUTPUT);   
  pinMode(amarelo, OUTPUT);   
  pinMode(azul, OUTPUT);   
  Serial.begin(9600); //configura comunicação serial para 9600bps 
  } 
void loop() {  
  if(Serial.available()){   
    letra=Serial.read();   
    seleciona();   } 
    }//acaba loop 
    
void seleciona(){  
  if(letra=='G')   { 
    digitalWrite(verde,HIGH);    
    }
    
    if(letra=='g')   { 
    digitalWrite(verde,LOW);    
    } 
      
    if(letra=='R')   {    
    digitalWrite(vermelho,HIGH);    
    } 
    if(letra=='r')   {    
    digitalWrite(vermelho,LOW);    
    }   
    
    if(letra=='Y')   { 
    digitalWrite(amarelo,HIGH);    
    }  
    
    if(letra=='y')   {   
    digitalWrite(amarelo,LOW);    
    } 
    
    if(letra=='B')   { 
    digitalWrite(azul,HIGH);   
    }   
    
    if(letra=='b')   {    
    digitalWrite(azul,LOW);    
    }  
    
 }

sexta-feira, 26 de outubro de 2018

sexta-feira, 19 de outubro de 2018

20° Encontro - Organização Feira Cultural

20° Encontro - Organização Feira Cultural
Olá turma, em nosso encontro do dia 19/10/2018, recapitulamos algumas atividades e  projetos realizados durante o ano de 2018:
Simulador de Fogo
Carro com sensor de distância
Carro controlado por potenciômetro
Controle de leds Via bluetooth

A partir da análise destas atividades e projetos definimos o que iremos expor na feira cultural que se realizará no dia 10/11/2018.
Dividimos a turma em grupos de 4 a 5 alunos que se encarregaram de escolher e apresentar uma atividade/projeto que realizamos ao longo do ano.
Até a data da apresentação iremos rever os projetos e prepará-los para a apresentação
O Grupo do bluetooth fez melhorias no circuito. CLICK 
Já a turma do carro com sensor de distância encontrou problemas no circuito que estamos buscando uma solução.
Abraço a todos

19° Encontro - Controle de Leds 3ª parte

 19° Encontro -  Controle de leds via Bluetooth 3º PARTE

Olá turma, neste encontro do dia 28/09/2018 adaptamos nosso controle de led para que fosse comandado pelo celular através de um módulo bluetooth. Basicamente substituirmos o controle da porta USB pelo controle do módulo.
Para tal revimos o conceito de comunicação serial e conhecemos o módulo bluetooth. HM-10.
Nossa atividade
Eletrônica
Montagem do circuito eletrônico na protoboard.
Atentamos para a conexão rx e tx entre módulo e Arduíno.

Arduino        Módulo Bluetooth
    rx---------------------tx
    tx---------------------rx

Programação
Mantivemos a programação do circuito de controle de leds via usb.
Baixamos no celular o aplicativo para controlar o módulo. 
Para baixar o aplicativo click aqui

Realizamos testes e experimentos:




Para mais fotos click aqui


Abraço a todos!

sexta-feira, 28 de setembro de 2018

18º Encontro - Controle de leds 2ª parte

18 Encontro -  Controle de Leds via porta serial

Salve turma, em 21/09/2018, continuamos aprendendo sobre interfaces de comunicação com o Arduino, Controlamos nossos circuito de leds por intermédio do computador e a porta USB.
De forma a acender ou apagar os leds através da digitação de letras predefinidas.
Realizamos também a montagem física do circuito que funcionou perfeitamente como no simulador virtual.
Nossas atividades
Eletrônica 
Término da montagem virtual no tinkercad.
Montagem do circuito físico na protoboard.

Programação
Aprendemos algumas noções de comunicação serial pela USB.
Conhecemos e utilizamos alguns comandos de comunicação serial do Arduíno:
Revimos estruturas de decisão: comando if
Realizamos testes com o código.

Abraço a Todos

sexta-feira, 21 de setembro de 2018

Código - controle de Leds por USB

Código - Controle de Leds através da porta USB

Turma segue abaixo o código base do encontro 18 para vocês brincarem e alterarem a vontade.

int vermelho = 2;
int laranja = 3;
int amarelo = 4;
int azul = 5;
char letra;
void setup()
{
  pinMode(vermelho, OUTPUT);
  pinMode(laranja, OUTPUT);
  pinMode(amarelo, OUTPUT);
  pinMode(azul, OUTPUT);
  Serial.begin(9600); //configura comunicação serial para 9600bps
  
}

void loop()
{
  if(Serial.available()){
  letra=Serial.read();
  seleciona();
  }

}//acaba loop


void seleciona(){
 if(letra=='L')
  {
   digitalWrite(laranja,HIGH); 
  }
  if(letra=='l')
  {
   digitalWrite(laranja,LOW); 
  }
  if(letra=='V')
  {
   digitalWrite(vermelho,HIGH); 
  }
  if(letra=='v')
  {
   digitalWrite(vermelho,LOW); 
  }
  if(letra=='A')
  {
   digitalWrite(amarelo,HIGH); 
  }
  if(letra=='a')
  {
   digitalWrite(amarelo,LOW); 
  }
  if(letra=='Z')
  {
   digitalWrite(azul,HIGH); 
  }
  if(letra=='z')
  {
   digitalWrite(azul,LOW); 
  } 
}

sábado, 15 de setembro de 2018

17ª Encontro - Controle de leds 1 ª parte

17º Encontro - Controlando Leds pela porta serial

Olá turma, neste encontro, 14/09/2018, iniciamos a montagem de um circuito com leds para podermos trabalhar com sistemas de comunicação entre o Arduino e outros dispositivos.
Nossa primeiro circuito de comunicação será com o computador via porta USB.
Atividades
Eletrônica
Montagem do circuito eletrônico no simulador virtual Tinkercad, confome a imagem abaixo

 
Pino    LED
2         vermelho
3         Laranja
4         Amarelo
5         Azul

Programação:
A ideia inicial e acendermos e a apagarmos os leds usando as seguintes letras
Letra      LED            Ação 
V            vermelho    liga
v            vermelho     desliga
L            laranja         liga
l             laranja         desliga
A           amarelo        liga
a            amarelo       desliga
Z           azul               liga
z            azul              desliga

Para implementarmos o código utilizamos o comando if
Criamos a função seleciona que determina qual led acende ou apaga
Revimos os controles do Arduíno: digitalWrite, OUTPUT e INPUT

int vermelho = 2;
int laranja = 3;
int amarelo = 4;
int azul = 5;
char letra;
void setup()
{
  pinMode(vermelho, OUTPUT);
  pinMode(laranja, OUTPUT);
  pinMode(amarelo, OUTPUT);
  pinMode(azul, OUTPUT);
}

void loop()
{
  letra='L';
  seleciona();
}//acaba loop

void seleciona(){
 if(letra=='L')
  {
   digitalWrite(laranja,HIGH); 
  }
  if(letra=='l')
  {
   digitalWrite(laranja,LOW); 
  }
  if(letra=='V')
  {
   digitalWrite(vermelho,HIGH); 
  }
  if(letra=='v')
  {
   digitalWrite(vermelho,LOW); 
  }
  if(letra=='A')
  {
   digitalWrite(amarelo,HIGH); 
  }
  if(letra=='a')
  {
   digitalWrite(amarelo,LOW); 
  }
  if(letra=='Z')
  {
   digitalWrite(azul,HIGH); 
  }
  if(letra=='z')
  {
   digitalWrite(azul,LOW); 
  } 
}

Realizamos a programação juntos, vimos os principais problemas na digitação de código como a atenção no uso de letras maiúsculas e minúsculas, o uso de ponto e vírgula entre outros.
No próximo encontro vamos concluir esta etapa, alguns alunos não conseguiram concluir o código e iniciaremos a comunicação via USB.

Abç a todos! 





sexta-feira, 31 de agosto de 2018

16º Encontro - Controle de direção com potenciômetro

16º Encontro - Controle de direção com potenciômetro - 2ª parte

Olá turma, neste encontro do dia 31/08/2018 demos continuidade ao nosso estudo de programação para controlar 2 motores
Além da programação virtual iniciamos o controle de motor físico do Kit Atto
Nossas atividades




Eletrônica
Montagem com fiação do kit Atto; instalação de potenciômetro
Testes

Programação no simulador tinkercad
Conhecer a estrutura de decisão if...else;
Rever a função map( );
Testar e alterar o código abaixo no circuito da aula anterior:

int motorD = 5;  //motor Direito
int motorE = 6;  //motor Esquerdo
int pos;

int pinoPOT = A0; //PINO ANALÓGICO usado pelo Potenciômetro
int leituraA0; //VARIÁVEL QUE ARMAZENA O valor lido na porta analogica
void setup()
{
  pinMode(motorD, OUTPUT);
  pinMode(motorE, OUTPUT);
  pos=90; //inicializa em 90
  
}

void loop()
{
// avancar(240);
//  parar();
 leituraA0= analogRead(pinoPOT);//analogRead(pinPOT);
 pos= map(leituraA0, 0, 1023, 180, 0); //EXECUTA A FUNÇÃO "map" DE ACORDO COM OS 
 controle(pos);
}

//====COMANDOS DE CONTROLE DO MOTOR================
void avancar(int vel){
 analogWrite(motorD,vel);
 analogWrite(motorE,vel);
}


void parar()
{
  digitalWrite(motorD, 0);
  digitalWrite(motorE,0);
  //delay(t);
}

void direita(int vel){
  analogWrite(motorD,0);
  analogWrite(motorE,vel); 


void esquerda(int vel){
  analogWrite(motorD,vel);
  analogWrite(motorE,0); 
}

void controle(int control){
/*valor de 0 a 80 motor esquerdo para
valor de 100 a 180 motor direito para
valor de 81 a 99 os dois motores giram
*/
  if(control>81 && control<100 ){
   avancar(200); 
  }
  else if(control<81)
  {
    esquerda(200);
  }
  else
  {
    direita(200);//if(control>99)direita(200);
  }

}

Caso tenham dificuldade para copiar e colar usem este link aqui

Abraço a todos!!


sexta-feira, 24 de agosto de 2018

15º Encontro - controle de motores com potenciômetro

Controlando motores com potenciômetro

Olá turma, hoje 24/08/2018, vamos simular o controle de motores utilizando um potenciômetro na porta A0

Nossa atividade
Eletrônica



Programação
Concluir o código abaixo ciando uma função chamada controle para que ao girar o potenciômetro ocorra as seguintes situações
valor de 0 a 80 motor esquerdo para
valor de 100 a 180 motor direito para
valor de 81 a 99 os dois motores giram

int motorD = 5;  //motor Direito
int motorE = 6;  //motor Esquerdo
void setup()
{
  pinMode(motorD, OUTPUT);
  pinMode(motorE, OUTPUT);

}

void loop()
{
 avancar(200);
//  parar();
}

//====COMANDOS DE CONTROLE DO MOTOR================
void avancar(int vel){
 analogWrite(motorD,vel);
 analogWrite(motorE,vel);
}


void parar()
{
  digitalWrite(motorD, 0);
  digitalWrite(motorE,0);
  //delay(t);
}

void direita(int vel){
  analogWrite(motorD,0);
  analogWrite(motorE,vel);
}

void esquerda(int vel){
  analogWrite(motorD,vel);
  analogWrite(motorE,0);
}



quinta-feira, 23 de agosto de 2018

Código controle de servomotor com potenciômetro

Código controle de servomotor com potenciômetro

Olá turma segue abaixo o código completo do circuito do encontro de 17/08/2018

#include <Servo.h>
#define SERVO 3 // Porta Digital 3 PWM
//portas para os leds
int ledVerde=12;
int ledVermelho=11;
int ledAmarelo=13;
int pinoPOT = A0; //PINO ANALÓGICO usado pelo Potenciômetro
int leituraA0; //VARIÁVEL QUE ARMAZENA O valor lido na porta analogica 

Servo s; // Variável Servo
int pos; // Posição Servo

void setup ()
{
  pinMode(ledVerde,OUTPUT);//define pinos como saida
  pinMode(ledVermelho,OUTPUT);
  pinMode(ledAmarelo,OUTPUT);
  s.attach(SERVO);
  Serial.begin(9600);
 // s.write(0); // Inicia motor posição zero
}

void loop()
{
 //servoMover();
 //ledServoAcionar();
 leituraA0= analogRead(pinoPOT);//analogRead(pinPOT);
 pos= map(leituraA0, 0, 1023, 180, 0); //EXECUTA A FUNÇÃO "map" DE ACORDO COM OS PARÂMETROS PASSADOS 
 s.write(pos);  
 posLed(pos);
 delay(5);
}

void servoMover(){
for(pos = 0; pos < 180; pos++)
  {
    s.write(pos);
  delay(15);
  }
delay(1000);
  for(pos = 180; pos >= 0; pos--)
  {
    s.write(pos);
    delay(15);
  }
 delay(1000);
  
}

void posLed(int grau){
 if(grau>87 && grau<93){
   digitalWrite(ledVerde,HIGH);
   digitalWrite(ledVermelho,LOW);
   digitalWrite(ledAmarelo,LOW);
   }
if(grau<88){
   digitalWrite(ledVerde,LOW);
   digitalWrite(ledVermelho,HIGH);
   digitalWrite(ledAmarelo,LOW);
   }
if(grau>92){
   digitalWrite(ledVerde,LOW);
   digitalWrite(ledVermelho,LOW);
   digitalWrite(ledAmarelo,HIGH);
   }

}
//função automatica para movimentar servo e acender led
void ledServoAcionar(){
   pos=0;
s.write(pos);  
posLed(pos);
delay(2000); 
 
    pos=90;
s.write(pos);  
posLed(pos);
delay(2000);
    pos=180;
s.write(pos);  
posLed(pos);
delay(2000); 
}


14 º Encontro - Controle de Servo motor com potenciômetro

14 º Encontro - Controle de Servo motor com potenciômetro

Olá turma, em nosso encontro do dia 17/08/2018, passamos a controlar nosso servo motor com um potenciômetro (resistor variável). mantivemos a sinalização com leds,
Outra atividade que realizamos foi reconfigurar um dos carros robóticos para funcionar com apenas 3 rodas, todavia não conseguimos concluir esta parte, ainda estamos procurando uma solução apropriada.
Nossa atividade no Tinkercad (simulador virtual).
Eletrônica
Conhecemos com funciona um potenciômetro.
Conectamos um potenciômetro no circuito com Arduino (porta A0).
conforme imagem abaixo:



Programação
Criamos as seguintes variáveis:
int pinoPOT = A0; //PINO ANALÓGICO usado pelo Potenciômetro
int leituraA0; //VARIÁVEL QUE ARMAZENA O valor lido na porta analogica A0


Conhecemos a função map 
Através desta função convertemos os valores lido na porta analógica A0 que vão de 0 a 1023 em 0 a 180 que são os valores que precisamos para controlar o servo.

leituraA0= analogRead(pinoPOT);//analogRead(pinPOT);
 pos= map(leituraA0, 0, 1023, 180, 0); //EXECUTA A FUNÇÃO "map" DE ACORDO COM OS PARÂMETROS PASSADOS.

Fizemos alterações  na função posLed que monitora a posição em graus.Para solucionarmos a visualização do led Verde, aumentamos a faixa de sensibilidade entre mair que 87 e menor que 93.

void posLed(int grau){
 if(grau>87 && grau<93){
   digitalWrite(ledVerde,HIGH);
   digitalWrite(ledVermelho,LOW);
   digitalWrite(ledAmarelo,LOW);
   }
if(grau<88){
   digitalWrite(ledVerde,LOW);
   digitalWrite(ledVermelho,HIGH);
   digitalWrite(ledAmarelo,LOW);
   }
if(grau>92){
   digitalWrite(ledVerde,LOW);
   digitalWrite(ledVermelho,LOW);
   digitalWrite(ledAmarelo,HIGH);
   }

}

Abraço a todos!