Welcome to Hackster!
Hackster is a community dedicated to learning hardware, from beginner to pro. Join us, it's free!
BianorPixelsEscolaSandroMesquita
Created June 5, 2019 © GPL3+

Thanos

Thanos is a fictional character, a supervillain. It appears in the comic books published by Marvel. Controlled by Arduino in this project.

BeginnerProtip345
Thanos

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
Ultrasonic Sensor - HC-SR04 (Generic)
Ultrasonic Sensor - HC-SR04 (Generic)
×1
SG90 Micro-servo motor
SG90 Micro-servo motor
×2
Jumper wires (generic)
Jumper wires (generic)
×1
Signal Relay, 5 VDC
Signal Relay, 5 VDC
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

circuito ligações

Code

Thanos_final.ino

Arduino
#include <Servo.h>
Servo boca,servo;

#include <Ultrasonic.h>
Ultrasonic ultra(3,2);//Trig-Echo

#define play 9  
#define led 8
#define pulso A1

int x=0;
int pos= 0;
int distancia;
int valoratual;

int pisca;

void setup() {

servo.attach(10,0,180);
boca.attach(11);

 Serial.begin(9600);
 pinMode(led,OUTPUT);
 pinMode(play,OUTPUT);
 pinMode(pulso,INPUT);



}

void loop() {
  distancia=ultra.Ranging(CM);
  
  for(int i = pos; i <=180; i++)
  {
    valoratual=analogRead(pulso);

    distancia=ultra.Ranging(CM);
    Serial.print("Distancia de ");
    Serial.print(distancia);
    Serial.print(" em ");
    Serial.print(i);
    Serial.println(" graus.");
    servo.write(i);
    pos = i;
    delay(20);
    if(distancia<48)
    {
      Serial.println("Vi alguem, vou falar!");
      Play();
      servo.write(i);    
      break;         
    }
  }
  for (int j = pos; j>=0;j--)
  {
    distancia=ultra.Ranging(CM);

    Serial.print("Distancia de ");
    Serial.print(distancia);
    Serial.print(" em ");
    Serial.print(j);
    Serial.println(" graus.");
    
    servo.write(j);
    pos = j;
    delay(20);
    if(distancia<48)
    {
      Play();
      servo.write(j);  
      break;        
    }
  } 
}

void Play(){
  distancia=ultra.Ranging(CM);
  if(distancia<48)
  {
  Serial.println("Dando o play.");
  digitalWrite(play,LOW);
  delay(200);
  digitalWrite(play,HIGH);
  
  }
  valoratual=analogRead(pulso);
  distancia=ultra.Ranging(CM);
  while (distancia<48)
  {
    valoratual=analogRead(pulso);
    Serial.print("Falando..");
    Serial.print(valoratual);

    valoratual=map(valoratual,640,735,70,0);
    boca.write(valoratual);
    if(valoratual<50)
    {
      digitalWrite(led,HIGH);
    }
    else digitalWrite(led,LOW);
    delay(50);
    distancia=ultra.Ranging(CM);
    Serial.print("Distancia de ");
    Serial.print(distancia);
    Serial.println(" cm.");
  }

  Serial.println("Dando o pause.");
  digitalWrite(play,LOW);
  delay(200);
  digitalWrite(play,HIGH);
  digitalWrite(led,LOW);
  boca.write(70);

}

Credits

Bianor
10 projects • 56 followers
Contact
PixelsEscola
14 projects • 69 followers
Contact
SandroMesquita
14 projects • 113 followers
Professor de robótica com Arduino e Raspberry, estudando e aplicando conhecimentos de I.A. usando a Linguagem Python como base.
Contact

Comments

Please log in or sign up to comment.