Boîte d’Ultrasone (2 / 5 étapes)

Étape 2: De Code

Code de

Dans de codes wordt gemaakt de gebruik van de libery supplémentaire. zonder deze zal het lcd scherm niet werken en zullen de ultrasone sensoren een stuk minder nauwkeurig zijn.

Code voor de ultrasone capteur :

#define echoPin 13

#define trigPin 12

#include

NewPing sonar (12, 13, 200) ;

void setup()

{

pinMode (trigPin, sortie) ;

pinMode (echoPin, entrée) ;

Serial.Begin(9600) ;

}

void loop() {}

int durée, distance ;

digitalWrite (trigPin, basse) ;

delayMicroseconds(2) ;

digitalWrite (trigPin, HIGH) ;

delayMicroseconds(10) ;

digitalWrite (trigPin, basse) ;

durée = pulseIn (echoPin, HIGH) ;

distance = (durée / 2) / 29,1 ;

Serial.println(distance) ;

retarder (1000) ;

}

Code voor het lcd scherm :

#include

#include / / bibliotheek voor lcd

LiquidCrystal_I2C lcd (0 x 27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE) ;

void setup()

{

Serial.Begin(9600) ;

LCD.Begin (16, 2) ;

pour (int i = 0; i < 3; i ++) ;

{

LCD.backlight() ;

Delay(250) ;

lcd.noBacklight() ;

Delay(250) ;

}

}

void loop() {}

LCD.backlight() ;

lcd.setCursor (0, 0) ;

LCD.Print ("Halo wereld: P") ; afstand est onjuist maar wordt wel op lcd geprint

}

Code de voor de drukknoppen :

#define drukknop1 13

#define drukknop2 12

#define drukknop3 8

buttonState int = 0 ;

int buttonState2 = 0 ;

int buttonState3 = 0 ;

void setup()

{

pinMode (drukknop1, entrée) ;

pinMode (drukknop2, entrée) ;

pinMode (drukknop3, entrée) ;

Serial.Begin(9600) ;

}

void loop() {}

buttonState = digitalRead(drukknop1) ;

buttonState2 = digitalRead(drukknop2) ;

buttonState3 = digitalRead(drukknop3) ;

ElseIf (buttonState == HIGH) {}

Serial.println ("button1 ingedrukt") ;

}

ElseIf (buttonState2 == HIGH) {}

Serial.println ("button2 ingedrukt") ;

}

ElseIf (buttonState2 == HIGH) {}

Serial.println ("button3 ingedrukt") ;

}

retarder (1000) ;

}

Laser code voor de :

void setup()

{

pinMode (13, sortie) ;

}

void loop()

{

digitalWrite (13, HIGH) ;

Delay(10000) ;

digitalWrite (13, faible) ;

Delay(2000) ;

}

Totale code :

#define drukknop1 52

#define drukknop2 53

#define drukknop3 51

#define laser 50

#define echoPin 48

#define trigPin 49

#define echoPin2 26

#define trigPin2 27

vanaf hier alleen voor arduino mega

#define echoPin3 22

#define trigPin3 23

#define echoPin4 24

#define trigPin4 25

/////

#define I2C_ADDR 0 x 27 / / Define adresse I2C pour le PCF8574A

#define BACKLIGHT_PIN 3

#define En_pin 2

#define Rw_pin 1

#define Rs_pin 0

#define D4_pin 4

#define D5_pin 5

#define D6_pin 6

#define D7_pin 7

#define LED_OFF 0

#define LED_ON 1

#include / / nieuwe bibliotheek toegevoegd voor betere ping

#include

#include / / bibliotheek voor lcd

LiquidCrystal_I2C lcd (I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin) ;

NewPing sonar (49, 48, 400) ;

NewPing sonar1 (27, 26, 400) ;

NewPing sonar2 (23, 22, 400) ;

NewPing sonar3 (25, 24, 400) ;

buttonState int = 0 ;

int buttonState2 = 0 ;

int buttonState3 = 0 ;

void setup()

{

pinMode (drukknop1, entrée) ;

pinMode (drukknop2, entrée) ;

pinMode (drukknop3, entrée) ;

Serial.Begin(9600) ;

/////////

pinMode (laser, sortie) ;

Serial.Begin (9600) ;

pinMode (trigPin, sortie) ;

pinMode (echoPin, entrée) ;

pinMode (trigPin2, sortie) ;

pinMode (echoPin2, entrée) ;

pinMode (trigPin3, sortie) ;

pinMode (echoPin3, entrée) ;

pinMode (trigPin4, sortie) ;

pinMode (echoPin4, entrée) ;

lcd.setBacklightPin (BACKLIGHT_PIN, POSITIVE) ;

lcd.setBacklight(HIGH) ;

Serial.Begin(9600) ;

LCD.Begin (16, 2) ;

pour (int i = 0; i < 3; i ++) ;

{

LCD.backlight() ;

Delay(250) ;

lcd.noBacklight() ;

Delay(250) ;

}

}

void loop() {}

longue durée, distance, Durée2 distance2, entre, Durée3 distance3 Durée4, distance4, between2, oppervlakte, oppervlakte2 ;

Ultrasone 1

digitalWrite (trigPin, basse) ;

delayMicroseconds(2) ;

digitalWrite (trigPin, HIGH) ;

delayMicroseconds(10) ;

digitalWrite (trigPin, basse) ;

durée = pulseIn (echoPin, HIGH) ;

distance = (durée / 2) / 29,1 ;

Ultrasone 2

digitalWrite (trigPin2, basse) ;

delayMicroseconds(2) ;

digitalWrite (trigPin2, HIGH) ;

delayMicroseconds(10) ;

digitalWrite (trigPin2, basse) ;

Durée2 = pulseIn (echoPin2, HIGH) ;

distance2 = (Durée2 / 2) / 29,1 ;

entre les deux = distance + distance2 + 18 ; afstand tussen us1 fr nous2

Ultrasone 3

digitalWrite (trigPin3, basse) ;

delayMicroseconds(2) ;

digitalWrite (trigPin3, HIGH) ;

delayMicroseconds(10) ;

digitalWrite (trigPin3, basse) ;

Durée3 = pulseIn (echoPin3, HIGH) ;

distance3 = (Durée3 / 2) / 29,1 ;

Ultrasone 4

digitalWrite (trigPin4, basse) ;

delayMicroseconds(2) ;

digitalWrite (trigPin4, HIGH) ;

delayMicroseconds(10) ;

digitalWrite (trigPin4, basse) ;

Durée4 = pulseIn (echoPin4, HIGH) ;

distance4 = (Durée4 / 2) / 29,1 ;

between2 = distance3 + distance4 + 18 ; afstand tussen nous 3 fr nous 4

oppervlakte = (entre * between2) ;

oppervlakte2 = (oppervlakte / 10000) ;

////

buttonState = digitalRead(drukknop1) ;

buttonState2 = digitalRead(drukknop2) ;

buttonState3 = digitalRead(drukknop3) ;

Si (buttonState == HIGH) {}

digitalWrite (laser, haute) ;

Serial.println(distance) ;

LCD.backlight() ;

lcd.setCursor (0, 0) ;

LCD.Print(distance) ;

Delay(100) ;

LCD.Print ("cm") ;

Delay(100) ;

}

ElseIf (buttonState2 == HIGH) {}

Serial.println (entre) ;

LCD.backlight() ;

lcd.setCursor (0, 0) ;

LCD.Print(between) ;

Delay(100) ;

LCD.Print ("cm") ;

Delay(100) ;

}

ElseIf (buttonState3 == HIGH) {}

Serial.println (oppervlakte2) ;

Delay(1000) ;

LCD.backlight() ;

lcd.setCursor (0, 0) ;

LCD.Print (oppervlakte2) ;

Delay(100) ;

LCD.Print (« m2 ») ;

Delay(100) ;

}

else {}

Serial.println ("maak een keuze") ;

LCD.backlight() ;

lcd.setCursor (0, 0) ;

LCD.Print ("maak een keuze") ;

digitalWrite (laser, faible) ;

Delay(1000) ;

}

}

  • test_druk_knoppen.INO
  • us_1.INO
  • lcd_test.INO
  • laser_test.INO
  • NewPing.rar
  • LiquidCrystal_I2C.zip
  • final_code.INO

Articles Liés

Arduino Nano : Ranger(Ping) ultrasons Distance I2C afficheur LCD 2 X 16 avec Visuino

Arduino Nano : Ranger(Ping) ultrasons Distance I2C afficheur LCD 2 X 16 avec Visuino

Dans ce Instructable, je vais vous montrer combien il est facile de connecter le Capteur à ultrasons pour Arduino et la distance d'affichage sur un Écran LCD.Veuillez noter que l'annotation sur certaines images dans ce Instructable fonctionnera corre
Télémètre à ultrasons avec affichage à cristaux liquides sur Arduino UNO

Télémètre à ultrasons avec affichage à cristaux liquides sur Arduino UNO

Dans ce tutoriel nous allons voir une utilisation différente du module ultrasons HC-SR04. Ce module est souvent utilisé sur les robots et les voitures jouets pour localiser les obstacles, mais il peut être utilisé pour mesurer les distances aussi bie
Capteur de niveau d’eau à ultrasons Arduino pour machines à café Espresso

Capteur de niveau d’eau à ultrasons Arduino pour machines à café Espresso

J'ai une machine à café expresso de très bon mais assez vieux avec un réservoir d'eau amovible, le problème est qu'il ne fournit pas un voyant de niveau d'eau bas, donc je ne peux pas savoir à ce niveau avant de manquer d'eau ! OU au moins sans ouvri
Mesure de la distance à l’aide de capteurs à ultrasons et Arduino

Mesure de la distance à l’aide de capteurs à ultrasons et Arduino

Salut tout le mondeJ'ai eu mon premier Aduino récemment, je suis ici voir la gonne, vous mon premier projetez qui utilise la mesure de la Distance capteur à ultrasons et Arduino, vous pouvez utiliser ce projet demande beaucoup aimeNiveau 1-liquideDét
Ajouter 6 capteurs ultrasons Distance à framboise existant Pi Robot

Ajouter 6 capteurs ultrasons Distance à framboise existant Pi Robot

Ce n'est pas un tutoriel pour faire un robot Raspberry Pi avec 6 capteurs à ultrasons.Il s'agit d'un tutoriel montre la meilleure méthode pour ajouter 6 capteurs à ultrasons directement à la framboise pi sans l'utilisation de n'importe quel microcont
Analog ultrasons télémètre

Analog ultrasons télémètre

Quand j'ai commencé ma carrière en systèmes de contrôle, que j'ai été fasciné par les différentes manières que machines pourrait être relié à l'environnement en qu'ils agissaient. Fins de course (électriques et optiques), codeurs, résolveurs, jauges
Détecteur ultrasonique gamme en utilisant Arduino et le capteur à ultrasons SR04

Détecteur ultrasonique gamme en utilisant Arduino et le capteur à ultrasons SR04

il s'agit d'une enquête préliminaire instructable qui vous mènera à travers les étapes de mon travail pour obtenir le capteur ultrasonique SR04 connecté et travaillant à l'Arduino. Il sera ensuite intégré à mon moniteur mini environnement.  Finalemen
Parler à Distance par ultrasons capteur HC-SR04, à l’aide d’un ATtiny84

Parler à Distance par ultrasons capteur HC-SR04, à l’aide d’un ATtiny84

Cette instructable est sur un ATtiny84 d'interface avec le capteur de distance ultrason HC-SR04 à l'aide de code C juste – aucun matériel Arduino ou les bibliothèques.Le HC-SR04 fonctionne comme suit :-Envoyer une impulsion haute 10us sur l'ergot.-Le
Arduino Bluetooth et ultrason capteur tutoriel

Arduino Bluetooth et ultrason capteur tutoriel

Bonjour à nouveau,Comme promis, j'ai téléchargé mon prochain instructable. Celui-ci va couvrir sensor(HC-SR04) Bluetooth et ultrasons.Pourquoi ces deux. J'ai fait une voiture de roue RC 2 pour mon projet scolaire. Il ' contrôlée avec une application
Mouvement contrôlé par ultrasons lampe

Mouvement contrôlé par ultrasons lampe

Récemment, j'ai appris sur les ondes ultrasoniques et comment exploiter leur puissance. C'est assez simple à faire certains type de dispositif de sonar, mais j'ai voulu prendre à un temps plus frais et voir si je pouvais utiliser des ultrasons pour d
Non-bloquante capteur à ultrasons pour Arduino

Non-bloquante capteur à ultrasons pour Arduino

Le module à ultrasons allant de HC-SR04 est un ajout fantastique à n'importe quel projet de robot. Ses un moyen très simple et pas cher de suivre une progression de robots (en supposant que nous avons des points de référence fixes) signalés allant de
Connexion d’un écran LCD et un capteur de Distance à ultrasons à un Arduino

Connexion d’un écran LCD et un capteur de Distance à ultrasons à un Arduino

Quand j'ai commencé à jouer avec Arduinos, c'était le premier jeu de petit up, j'ai créé. L'orientation de la vidéo est un peu pauvre. C'était mon premier aller les choses donc je m'excuse que je n'étais pas à la hauteur à l'époque. En tout cas, très
Arduino Nano : Ultrasons Ranger(Ping) avec Visuino

Arduino Nano : Ultrasons Ranger(Ping) avec Visuino

Avec le Noël ici, nous avons tous envie de savoir dans quelle mesure Santa est, et qu'un meilleur ajustement pour ce faire, que l'Arduino avec Ultrasons Ranger.Dans ce Instructable, je vais vous montrer combien il est facile de connecter le Capteur à
Arduino Nano : Mesurer la distance avec Ranger par ultrasons et de l’enregistrer pour carte MicroSD avec Visuino

Arduino Nano : Mesurer la distance avec Ranger par ultrasons et de l’enregistrer pour carte MicroSD avec Visuino

Les cartes MicroSD sont support de stockage bon marché et facile, et ils sont très pratiques pour stocker les données des capteurs Arduino . Il y a également un certain nombre de bon marché disponibles Modules carte MicroSD pour Arduino.Dans ce Instr