Capteur de proximité avec ultrason et contrôle de servo (Automatic Trash)

Sur facebook, nous avons un projet cool gepostet :

https://www.facebook.com/AZDelivery.de/videos/421956858229574/

Comme vous pouvez imiter l'électronique, ou le détecteur nous vous montrons ici.

 

De ce que nous avons besoin tout :

De microcontrôle, compatible avec Arduino ONU R3
Ultrason le détecteur HC-SR04

Steckbrücken
Servomoteur

 

Détecteur d'ultrason à Arduino

 

Logiciel pour Arduino

long entfernung1 = 0;
long entfernung2 = 0;
long temps=0;
int nombre = 15;
int valoir[16];

void setup() {   #define trigger 3                     //Arduino Pin 3 à Trig de HC-SR04   #define répercute-toi 2                        //Arduino Pin 2 à l'écho de HC-SR04   Serial.begin(115200);                 //Serial Baudrate   pinMode(LED_BUILTIN, SORTIE);
}

void loop() {   for (int i=0; i <= nombre-1; i++){     temps=0;     noInterrupts();                     //Désactivent d'Interrupts     digitalWrite(trigger, LOW);     delayMicroseconds(3);     digitalWrite(trigger, HIGH);        //Trigger l'impulsion 10 us     delayMicroseconds(20);     digitalWrite(trigger, LOW);     temps = pulseIn(répercute-toi, HIGH);         //Mesurent du temps d'écho     interrupts();                       //Activation d'Interrupts     valoir[i] = temps;     //delay (1);   }   entfernung1 = 0;   for (int i=0; i <= nombre -1; i++){     entfernung1 = entfernung1 + valoir[i];   }   entfernung2 = entfernung1 / nombre;   Serial.println(entfernung2);   if (entfernung2 > 9550){     digitalWrite(LED_BUILTIN, HIGH);     Serial.println("open");     delay(3000);     digitalWrite(LED_BUILTIN, LOW);     delay(1000);   }
}


 

Maintenant, notre Arduino reconnaît avec le détecteur d'ultrason au moins déjà une fois si nous approchent de nous et l'indique avec LED incorporés.

Dans le prochain pas, nous nous dirigeons vers un servomoteur qui doit ouvrir la corbeille à papier.

Maintenant, nous élargissons notre Verdrahtung encore d'un servomoteur.

 

 

et adaptent le logiciel :

#include <Servo.h>
Servo servo1;

long entfernung1 = 0;
long entfernung2 = 0;
long temps=0;
int nombre = 15;
int valoir[16];
int à = 5;
int sur = 95;

void setup() {   #define trigger 3                     //Arduino Pin 3 à Trig de HC-SR04   #define répercute-toi 2                        //Arduino Pin 2 à l'écho de HC-SR04   Serial.begin(115200);                 //Serial Baudrate   pinMode(LED_BUILTIN, SORTIE);   servo1.attach(8);   servo1.write(à);
}

void loop() {   for (int i=0; i <= nombre-1; i++){     temps=0;     noInterrupts();                     //Désactivent d'Interrupts     digitalWrite(trigger, LOW);     delayMicroseconds(3);     digitalWrite(trigger, HIGH);        //Trigger l'impulsion 10 us     delayMicroseconds(20);     digitalWrite(trigger, LOW);     temps = pulseIn(répercute-toi, HIGH);         //Mesurent du temps d'écho     interrupts();                       //Activation d'Interrupts     valoir[i] = temps;     //delay (1);   }   entfernung1 = 0;   for (int i=0; i <= nombre -1; i++){     entfernung1 = entfernung1 + valoir[i];   }   entfernung2 = entfernung1 / nombre;   Serial.println(entfernung2);   if (entfernung2 > 9550){     digitalWrite(LED_BUILTIN, HIGH);     Serial.println("open");     servo1.write(sur);     delay(3000);     digitalWrite(LED_BUILTIN, LOW);     servo1.write(à);     delay(1000);   }
}


Maintenant, vous pouvez utiliser le détecteur et servomoteur pour les gestions diverses.
Comme dans Facebookvideo est à voir, Iris pourrait être ouverte avec cela.

Nous vous souhaitons beaucoup de plaisir avec Näherungssensor et sommes tendus sur vos fins d'engagement.
Pour arduinoProjets pour les débutantsCapteurs

3 commentaires

Hartmut Zipper

Hartmut Zipper

Habe ich in mein Rasenroborter am Schleifenempfänger eingebaut. Jetzt stop er vor Hindernissen bei 10 cm. Bei mir Aldi Easy Mover ist es Pin 6 am Schleifenempfänger. Bei High Stop zurück (Pip,Pip,Pip) zurück drehen und weiter mähen.
digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED, HIGH); // zum Schalten mit Vorwiderstand 100 Ohm oder Testen
Serial.println(“open”);
delay(300);
Serial.println(“LED”);
digitalWrite(LED, LOW);
digitalWrite(LED_BUILTIN, LOW);
delay(5000);

Rudolf Reiber

Rudolf Reiber

Guten Tag,
bei mir tat der erste Sketch erst zuverlässig nach dem Einfügen von:

pinMode(echo, INPUT);
pinMode(trigger, OUTPUT);

in der SetUp-Routine.

T.Geffe

T.Geffe

Hallo,
ein schoenes Projekt aber wo bekommt man den so einen Papierkorb zu kaufen?

Gruss Toralf

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Messages de blogs recommandés

  1. Installez maintenant ESP32 via l'administrateur de la carte
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA-Over the Air-ESP Programmation par WiFi