Dias 19 e 22 de Fevereiro de 2013 (1º Semana)

Aprendemos conceitos básicos sobre o Arduino e como usar sua IDE. Aprendemos também a usar a fórmula para cálculo do resistor apropriado para um circuito. Além disso, também testamos e praticamos a solda.
Alguns tiveram dificuldades em desencapar fios e arranjar corretamente os componentes em uma protoboard. Já estamos melhorando neste aspecto.


Dias 25 de fevereiro e 01 de Março de 2013 (2ª Semana)

Nesta sem­ana, fize­mos dois dri­vers, um de trasís­tor e um de relé, e apren­demos a difer­ença entre tra­si­s­tores PNP e NPN. Tive­mos certa difi­cul­dade na mon­tagem de dri­vers usando estes, pois con­fundi­mos a ordem dos com­po­nentes.

Começamos a estu­dar ponte H e fize­mos um pro­jeto usando Switch Case (). Na primeira fase, con­seguimos acen­der os leds uti­lizando esta­dos. Já na segunda, onde tínhamos que adaptar o código para controlar os leds com um botão, não conseguimos terminar devido à falta de tempo. Por­tanto, ire­mos con­tin­uar e desco­brir onde erramos na próx­ima aula.

Em relação ao Switch Case (), tivemos que escrever um código que passasse de estado a cada clique de um botão. Nós apelidamos este código carinhosamente de "Jeremias":

#define GRNon 0 //Começo definindo as variaveis
#define BOTHon 1
#define REDon 2
#define button 2;
#define RED 7;
#define GRN 8;
int Jeremias = 0; //Jeremias é o nome do Switch
int buttonnumber;
void setup() {
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (2, INPUT);
}
void loop() {
buttonnumber = digitalRead(2); //Variável buttonnumber vira o sinal do botão
if(buttonnumber == HIGH){
Jeremias++; /*Se o botão for pressionado, aumentar Jeremias por 1, passando um caso no Switch*/
}
if(Jeremias == 4){
Jeremias = 0;
}
switch(Jeremias){
case GRNon:
digitalWrite(8, HIGH);
delay(1000);
break;
case BOTHon:
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
delay(1000);
break;
case REDon:
digitalWrite(8, LOW);
digitalWrite(7, HIGH);
delay(1000);
break;
default:
digitalWrite(8, LOW);
digitalWrite(7, LOW);
delay(1000);
break;
}
}

Depois de criar o Jeremias, fomos propostos a criação de um Jeremias 1.5, com mudança de estados movida a sombra! Acompanhe a transformação:

#define GRNon 0   //Novamente definindo as variáveis
#define BOTHon 1
#define REDon 2
#define RED 7;
#define GRN 8;
int Jeremias = 0;
int leitura;
int ldrPin = A0;

void setup() {
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (ldrPin, INPUT);
Serial.begin(9600);

}
void loop() {
leitura = analogRead(ldrPin); /*Váriavel leitura é igual à leitura da luminosidade do LDR*/
Serial.println(leitura);
if(leitura <= 500){
Jeremias++; /*Se leitura for menor que ou igual a 500 (uma sombra), aumentar um caso em Jeremias*/
}
if(Jeremias == 4){
Jeremias = 0;
}
switch(Jeremias){
case GRNon:
digitalWrite(8, HIGH);
delay(1000);
break;
case BOTHon:
digitalWrite(8, HIGH);
digitalWrite(7, HIGH);
delay(1000);
break;
case REDon:
digitalWrite(8, LOW);
digitalWrite(7, HIGH);
delay(1000);
break;
default:
digitalWrite(8, LOW);
digitalWrite(7, LOW);
delay(1000);
break;
}
}

Depois disso, fomos propostos à criação de um Jeremias 2.0! Novinho em folha, com tecnologia de fading dependendo da luminosidade atual!. Conseguimos criar, mas o código não está acessível no momento.


Dias 05 e 08 de Março de 2013 (3ª Semana)

Descobrimos uma solução para o problema com o projeto usando o Switch Case () e um botão. Na verdade, o problema estava no circuito; não no código.

Jeremias está cada vez mais atualizado, com mudanças de estados por um sensor LDR (que foi um dos assuntos que trabalhamos essa semana).

Também fizemos uma ponte H de relé. Um dos motivos de escolhermos fazer com relé e não com transístor é que no transístor há a possibilidade de ocorrer um curto - se você não usar diodos para uma melhor segurança no seu circuito.

Tivemos certos problemas para criarmos um código usando sensores LDR e nos enrolamos na montagem da ponte H usando relé.

bT5IrU2h.jpg

O negócio funcionando


Dias 12 e 15 de Março de 2013 (4ª Semana)

Nesta semana aprendemos a hackear um servomotor, conseguimos fazer, mas tivemos problema com o encaixe das engrenagens.

Começamos a organizar o nosso projeto de robô, pensando no que iríamos precisar e fazendo um protótipo de papel, além de definir os prazos. Se você quer ter mais informações sobre nosso Robô Atirador de Discos, acesse o conteúdo relacionado.





Atividades recentes