Luka Code

Code ya Arduino mpe Video mpo na HC-SR04 Sensor ya mosika ya ultrasonic

Code ya Arduino mpe Video mpo na HC-SR04 Sensor ya mosika ya ultrasonic

Na boyekoli oyo, tokotalela ndenge ya kosalela sensor ya mosika ya ultrasonic HC-SR04 na Arduino. HC-SR04 ezali ndenge ya ntalo mpe ya malembe pona komeka mosika na nzela ya ba mbala ya ultrasonic. Na kotinda signal mpe komeka ntango oyo echo ezongaka, tokoki koyeba mosika na eloko na bosembo.

How HC-SR04 ulrasonic sensor work

Projet oyo ezali na kotia sensor na Arduino mpe kokoma programme ya pete pona kotanga mpe kolakisa ba mesures ya mosika. Programme ekosalela bibliothèque ya NewPing pona kosala communication na sensor na ndenge ya pete. Soki olingi référence ya kotala to ndimbola ya koleka na ba étapes, tala vidéo (na vidéo na 00:00).

Matériel Explicé

Sensor ya ultrasonic HC-SR04 ezali na ba composants mibale ya minene: émetteur mpe récepteur. Émetteur etindaka ba impulsions ya ultrasonic na fréquence oyo ezali likolo ya ndenge ya koyoka ya moto, ntango récepteur ayokaka echo ya ba impulsions yango nsima ya kobeta na eloko. Na koyeba ntango kati na kotinda impulsion mpe koyamba echo, tokoki koyeba mosika na eloko.

Sensor ezali na ba pins mibale ya ntina: pin ya trigger mpe pin ya echo. Pin ya trigger esalelamaka pona kobanda mesure na kotinda signal ya mokuse ya likolo, ntango pin ya echo eyambaka signal oyo ezongaki mpe emekaka ntango oyo echo ezongaka.

Détails ya Datasheet

FabricantHC-SR04
Numéro ya partieHC-SR04
Tension ya logique/IO5 V
Tension ya alimentation5 V
Courant ya sortie (na canal)15 mA
Courant ya pointe (na canal)20 mA
Guidance ya fréquence PWMN/A
Seuils ya logique ya entrée0.3 V (mokitani), 0.7 V (likolo)
Chute ya tension / RDS(on) / saturationN/A
Limites ya thermique0°C kino 70°C
PaquetModule
Notes / variantesMosika ya maximum 400 cm

  • Kokamba que alimentation ya malamu (5 V).
  • Kobomba sensor ya peto pona ba lectures ya semba.
  • Kosalela pin ya trigger pona kobanda ba mesures.
  • Kokitisa te mosika ya maximum pona ba résultats ya semba.
  • Kobatela nzela ya pole pona ba mbala ya ultrasonic ete ezonga.
  • Kosalela ba condensateurs ya découplage pembeni ya ba pins ya alimentation.
  • Kozala na bokebi na bruit ya environnement oyo ekoki kobebisa ba lectures.
  • Komeka ba mosika ndenge na ndenge pona koyeba sensor malamu.

Instructions ya Câblage

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor

Pona kokangisa sensor ya ultrasonic HC-SR04 na Arduino na yo, landa ba étapes oyo:

  • Kokangisa pin ya VCC ya HC-SR04 na pin ya 5V na Arduino.
  • Kokangisa pin ya GND ya HC-SR04 na pin ya terre na Arduino.
  • Kokangisa pin ya TRIG ya HC-SR04 (oyo mbala mingi ezali bleu) na pin ya digitale 12 na Arduino.
  • Kokangisa pin ya ECHO ya HC-SR04 (oyo mbala mingi ezali vert) na pin ya digitale 11 na Arduino.

Kokamba que ba connexions ezali ya makasi pona kolongola ba lectures ya intermittente. Soki ozali kosalela mise en place mosusu to ozali na câblage mosusu, tala vidéo pona lisungi ya koleka (na vidéo na 00:00).

Ba Exemples ya Code & Explication

Code oyo elandaka ebandisaka bibliothèque ya NewPing mpe etyaka ba pins pona sensor ya HC-SR04. Ba composants ya minene ezali na koyeba ba pins ya trigger mpe echo, mpe mosika ya maximum.

#define TRIGGER_PIN  12  // Pin ya trigger
#define ECHO_PIN     11  // Pin ya echo
#define MAX_DISTANCE 200  // Mosika ya maximum na cm

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Kobanda NewPing

Na extrait oyo, TRIGGER_PIN mpe ECHO_PIN ezali na ba pins ya digitale 12 mpe 11, na ndenge ya kolandana. MAX_DISTANCE ezwami na 200 cm, oyo ezali mosika ya maximum oyo olingi komeka.

Na sima, tozali na fonction ya setup epai moniteur ya série ebandisami pona kolakisa ba résultats:

void setup() {
  Serial.begin(115200); // Kobanda moniteur ya série
}

Code oyo efungolaka communication ya série na taux ya baud ya 115200, epesa biso ndenge ya komona ba mesures ya mosika na moniteur ya série.

Na suka, fonction ya loop emekaka mosika mpe etyolaka soki ezali mokitani to kokokana na 12 cm:

void loop() {
  delay(50); // Kozela kati na ba ngai
  int distance = sonar.ping_cm(); // Mele mosika
  if(distance <=12){ // Tala mosika
    Serial.println("Pene peni"); // Bimisa soki ezali pene peni
  }
}

Na loop(), totiaka delay ya millisecond 50 mpo na kokamba mbala ya komeka. Mosika emekamaka, mpe soki ezali na 12 cm to na se na yango, ebimisaka "Pene peni" na serial monitor.

Mpo na code mobimba, tala eteni ya loading na nsé ya lisolo.

Elakiseli / Nini Okomona

Ntango okotambwisa program, Arduino ekomekaka mosika na eloko oyo ezali pene na yango. Esengeli ebimisa mosika na santimetre mpe eyebisa yo "Pene peni" soki eloko emonani na kati ya 12 cm. Soki eloko ezali pene mingi, okoki kozwa ba réponses ya mabe to ata eloko te, ndenge emonani na vidéo (na vidéo na 10:00).

Tika ete sensor ezala na esika ya malamu mpe ete eloko moko te ezali kopekisa ba ondes ultrasoniques. Soki nyonso esalemi malamu, okomona ba mesures ya semba na serial monitor.

Ba Timestamps ya Vidéo

  • 00:00 - Bokambi ya HC-SR04
  • 01:30 - Kokangisa sensor
  • 03:00 - Botali ya code
  • 05:00 - Kotambwisa program
  • 07:30 - Komeka ba mosika

Images

Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
Arduino Wiring for HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
HC-SR04 ulrasonic sensor
How HC-SR04 ulrasonic sensor work
How HC-SR04 ulrasonic sensor work
42-This is the Arduino code for the HC-SR04 ultrasonic distance sensor.
Langue: C++
/*
 * This is the Arduino code for the HC-SR04 Ultrasonic Distance Sensor
 * to measure the distance using Arduino for a robotic car and other applications
 * Watch the video https://youtu.be/QI9541YQq7M
 * 
 * Written by Ahmad Shamshiri for Robojax Video
 * Date: December 21, 2017, in Ajax, Ontario, Canada
 * Permission granted to share this code given that this
 * note is kept with the code.
 * Disclaimer: this code is "AS IS" and for educational purposes only.
 * 
 */

/* Original Code 
// https://playground.arduino.cc/Code/NewPing
 * Modified for Robojax video on December 21, 2017

 */

// ---------------------------------------------------------------------------
// Example NewPing library sketch that does a ping about 20 times per second.
// ---------------------------------------------------------------------------

#include <NewPing.h>

#define TRIGGER_PIN  12  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN     11  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance.

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
}

void loop() {
  delay(50);                     // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
  Serial.print("Ping: ");
  Serial.print(sonar.ping_cm()); // Send ping, get distance in cm and print result (0 = outside set distance range)
  Serial.println("cm");
  int distance = sonar.ping_cm();// store the distance value in "distance" variable
  if(distance <=12){             // if distance is less than 12, do something. For example, here just print "very close"
    Serial.println("Very close");
  }
}

Mokili na bisika

Fichiers📁

Aucun fichier disponible.