Mas vieram os requisitos:
- 1 placa arduíno;
- 1 LDR;
- 1 buzzer;
- 1 servo-motor;
- 2 leds.
*Tudo que eu queria era um sensor de presença i.i
O desafio consistia em construir um animatronic, ou seja, um robô com ações pré-definidas. Nosso conceito foi fazer um gato possuído que no escuro ficaria com olhos vermelhos e fazendo um som estridente.
O desafio consistia em construir um animatronic, ou seja, um robô com ações pré-definidas. Nosso conceito foi fazer um gato possuído que no escuro ficaria com olhos vermelhos e fazendo um som estridente.
Nos dividimos para fazer as duas partes do trabalho, o gato e a programação, minha dupla a Isa ficou responsável pela criação do gato e tudo isso está no blog dela (CLIQUE AQUI), enquanto eu fiquei na parte de programação do gato.
A parte de programar no arduino foi muito divertido, pois dava para ver no meio físico funcionando. Abaixo o código e as ligações feitas no arduino para quem quiser reproduzir.
#define NOTE_F7 2794
#define NOTE_G4 392
#define NOTE_A2 110
#include <Servo.h>
Servo braco;
int luz;
int pos = 0;
int melody[] = {
NOTE_F7, NOTE_G4, NOTE_A2};
int noteDurations[] ={
9,12,7};
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(A0,INPUT);
pinMode(5,OUTPUT);
digitalWrite(5,0);
pinMode(4,OUTPUT);
digitalWrite(4,0);
pinMode(2,OUTPUT);
digitalWrite(2,1);
braco.attach(9);
pinMode(8, OUTPUT);
}
void loop() {
luz = analogRead(A0);
Serial.println(luz);
if (luz>=400){ /* VERMELHO*/
braco.write(180);
digitalWrite(12,1);
digitalWrite(13,0);
for (int thisNote = 0; thisNote < 3; thisNote++) {
int noteDuration = 1000/noteDurations[thisNote];
tone(8, melody[thisNote],noteDuration);
int pauseBetweenNotes = noteDuration * .14;
delay(pauseBetweenNotes);
noTone(8);
}
}
if (luz<=400){ /* VERDE */
braco.write(45);
digitalWrite(13,1);
digitalWrite(12,0);
}
}
Resultado de tudo isso:






0 comentários:
Postar um comentário