Projeto Piloto - Robótica Educacional com Software Livre - Aula 6


Projeto Piloto
Introdução à Robótica Educacional com Software e Hardware Livres no Sábado na Escola

A Robótica Educacional corresponde a uma aplicação da tecnologia na educação em que o ambiente de aprendizagem valoriza o planejamento, pesquisa, interesse, motivação e cooperação entre os alunos, através de uma rica experiência interdisciplinar, uma vez que envolve diferentes áreas de conhecimento e pessoas na resolução de problemas. A Robótica Educacional Livre, parte para soluções livres em substituição aos produtos comerciais, o que propomos e o uso de Hardware e Softwares Livres como base para a programação. Utilizaremos motores, componentes eletrônicos de baixo custo e algumas sucatas de equipamentos, para construção de KITS de robótica de acordo com a realidade de cada escola.

Cidade: Volta Redonda
Estado: Rio de Janeiro
Local: Escola Municipal Paulo VI;
Horário: 08:00 às 11:30;



Em nossa 6ª aula tratamos de:

1 - Aprendemos como deve ser feita a ligação de um Motor de 3 ou 5 volts ao Arduino, com a ajuda de um Resistor, um TIP (Transistor) 120 ou 122 e um CASE para 4 Pilhas AA.

Um exemplo do esquema de ligação do Motor ao Arduino

Código de programação para rodar o Motor com o Arduino

Código fonte em formato de texto para copiar e colar na IDE do Arduino


// Inicio do programa Controle de um Motor com TIP 120/122 

int MotorPin = 9;   // Seleciona o pino para o Motor

void setup() {
  
pinMode(MotorPin, OUTPUT);  // Declara MotorPin como saida
  
}

void loop() {

digitalWrite(MotorPin, HIGH); // Faz o motor rodar
delay(4000);                  // Espera 4 segundos
digitalWrite(MotorPin, LOW);  // Faz o motor rodar
delay(4000);                  // Espera 4 segundos

}



2 - Partimos então para o projeto "Controlando a velocidade do Motor com Potenciômetro",  onde a ideia era controlar a velocidade com que o Motor iria girar, enquanto o potenciômetro fosse girado para esquerda ou para direita (0 ou 1023).

Um exemplo do esquema de ligação do Motor e Potenciômetro ao Arduino

Código de programação Motor e do Potenciômetro na IDE do Arduino


Código fonte em formato de texto para copiar e colar na IDE do Arduino


// Inicio do programa Controle de um Motor com Potenciometro 

int potPin = 2;     // Seleciona o pino de entrada para o potenciometro
int MotorPin = 9;   // Seleciona o pino para o Motor
int velocidade = 0; // Variavel para guardar o valor proveniente da entrada analogica

void setup() {
  
pinMode(MotorPin, OUTPUT);  // Declara MotorPin como saida
  
}

void loop() {
  
velocidade = analogRead(potPin);     // Le o valor da entrada analogica
velocidade = velocidade/4;           // Converte 0-1023 para 0-255
analogWrite(MotorPin, velocidade);   // Faz o motor rodar
  
}



3 - Continuando nossa aula, agora colocamos 2 motores para funcionar.

Um exemplo do esquema de ligação de 2 Motores ao Arduino

Código de programação dos 2 Motores com o Arduino

Código fonte em formato de texto para copiar e colar na IDE do Arduino


// Projeto 2 motores ao Arduino

int Motor1 = 9;   // Seleciona o pino para o motor 1 (direita)
int Motor2 = 11;   // Seleciona o pino para o motor 2 (esquerda)
int valor1 = 0;       // Variável para guardar o valor de rotação para o motor 1
int valor2 = 0;       // Variável para guardar o valor de rotação para o motor 2

void setup() {
  
pinMode(Motor1, OUTPUT);  // Declara MotorPin como OUTPUT (saída)
pinMode(Motor2, OUTPUT);  // Declara MotorPin como OUTPUT (saída)

}

void loop() {

valor1 = 200;    // Aciona o motor com alta velocidade
valor2 = 200;    // Aciona o motor com alta velocidade
analogWrite(Motor1, valor1);    // Aciona o Motor direito
analogWrite(Motor2, valor2);    // Aciona o Motor esquerdo
delay(5000);

valor1 = 0;    // Desliga motor direito
valor2 = 0;    // Desliga motor esquerdo
analogWrite(Motor1, valor1);    // Desliga o Motor direito
analogWrite(Motor2, valor2);    // Desliga o Motor esquerdo
delay(5000);

valor1 = 0;    // Aciona o motor com alta velocidade
valor2 = 200;    // Aciona o motor com alta velocidade
analogWrite(Motor1, valor1);    // Aciona o Motor direito
analogWrite(Motor2, valor2);    // Aciona o Motor esquerdo
delay(5000);

valor1 = 0;    // Desliga motor direito
valor2 = 0;    // Desliga motor esquerdo
analogWrite(Motor1, valor1);    // Desliga o Motor direito
analogWrite(Motor2, valor2);    // Desliga o Motor esquerdo
delay(5000);

valor1 = 200;    // Aciona o motor com alta velocidade
valor2 = 0;    // Aciona o motor com alta velocidade
analogWrite(Motor1, valor1);    // Aciona o Motor direito
analogWrite(Motor2, valor2);    // Aciona o Motor esquerdo
delay(5000);

}


Já no final da nossa aula, fizemos um trabalho em equipe, onde juntamos todos os alunos para mostrar aos mesmos como poderiamos começar a programação de nosso "PRIMEIRO CARRINHO" automatizado e programado, onde a ideia era entender o funcionamento dos 2 motores e consequentemente controlar os mesmos para que o nosso ROBÔ.






Na próxima aula, teremos a continuidade dessa mão na massa.



Os desafios da semana foram:

1 - Os alunos devem, caso tenham desejem doar, carrinhos e outros brinquedos a pilha quebrados ou danificados e que os mesmos devem ser trazidos para a nossa aula (SÁBADO), onde vamos juntar essas doações ao nosso cantinho das peças recicláveis.

2 - Treinar a lógica de programação que foi usada nos 2 motores, fazendo simulações no arduino, para que o conteúdo da semana possa ser bem fixado.


Veja as fotos que tiramos em nossa 6ª aula do Projeto, onde contamos com a participação de 18 alunos(as) e 5 professoras


Assista abaixo, a vídeo aula que montamos para apoio e revisão do conteúdo que foi ministrado em nossa 6ª aula presencial

0 comentários:

O conteúdo deste blog/site pode e deve ser divulgado, conforme lei a 9.610/98 meus direitos estão assegurados, portanto eu permito a copia e reprodução gratuita, seja total ou parcial, não acarretando qualquer onûs financeiro aos interessados, porém, vedo o uso para fins lucrativos, toda reprodução para o público deve citar a fonte extraída, no caso o Técnico Linux - Espaço dos Implementadores de Informática e seja citada junto com um link para a postagem original, onde a referência deve estar numa fonte de tamanho igual ou maior a do texto, obviamente que os links citados não estão sujeitos ao mesmo termo. O conteúdo textual original desta página está disponível sob a licença GNU FDL 1.2.

Todas as marcas citadas pertencem aos seus respectivos proprietários. Os direitos autorais de todas as ilustrações pertencem aos respectivos autores, e elas são reproduzidas na intenção de atender ao disposto no art. 46 da Lei 9.610 - se ainda assim alguma delas infringe direito seu, entre em contato para que possamos removê-la imediatamente ou ainda lhe dar os devidos créditos.

Copyright © 2016 Espaço dos Implementadores de Informática