Progetto Arduino: quadro animato

Il signore del ritratto ti saluta togliendosi galantemente il cappello quando ti avvicini al quadro.


Versione 1.0 (“Signore distinto”)

Strumenti

  • Arduino UNO
  • Sensore ad ultrasuoni
  • Servo-motore
  • Batteria da 9 V e adattatore
  • Cavi elettrici e resistenze

Il sensore ad ultrasuoni rileva il passaggio o l’avvicinamento di una persona. Il servomotore, ruotando di 45° e ritornando in posizione, muove il braccio del signore ritratto nel quadro.

Diagramma dei collegamenti

Codice

Clicca qui per visualizzare

#include "SR04.h"
#include "Servo.h"

#define TRIG_PIN 12
#define ECHO_PIN 11
#define SERVO_PIN 9

SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;
Servo myservo;

void setup() {
   myservo.attach(SERVO_PIN);
   Serial.begin(9600);
   delay(1000);
}

void loop() {
   myservo.write(1);
   delay(200);
   a = sr04.Distance();
   Serial.print(a);
   Serial.println("cm");

   if(a<100) {
     delay(200);
     myservo.write(45);
     delay(400);
     myservo.write(1);
     delay(3000);
   }
   
}

Galleria


Versione 2.0 (“Tipo allegro”)

Strumenti

  • Arduino UNO
  • Sensore ad ultrasuoni
  • Servo-motore
  • Batteria da 9 V e adattatore
  • Cavi elettrici e resistenze

In questa versione è stato semplicemente rimpiazzato il soggetto del quadro. E’ stata anche aggiunta una cordicella e sono stati prolungati i cavi elettrici per appendere il quadro alla parete con più facilità.

Diagramma dei collegamenti

Codice

Clicca qui per visualizzare

#include "SR04.h"
#include "Servo.h"

#define TRIG_PIN 12
#define ECHO_PIN 11
#define SERVO_PIN 9

SR04 sr04 = SR04(ECHO_PIN,TRIG_PIN);
long a;
Servo myservo;

void setup() {
   myservo.attach(SERVO_PIN);
   Serial.begin(9600);
   delay(1000);
}

void loop() {
   myservo.write(90);
   delay(200);
   a = sr04.Distance();
   Serial.print(a);
   Serial.println("cm");

   if(a<100) {
    delay(200);
    myservo.write(170);
    delay(400);
    myservo.write(90);
    delay(3000);
   }

}

Galleria

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *