ENIB 2020 : Coucoumatron : Différence entre versions

De Les Fabriques du Ponant
Aller à : navigation, rechercher
(Code)
(Liste des composants)
 
(Une révision intermédiaire par le même utilisateur non affichée)
Ligne 13 : Ligne 13 :
 
* Des fils de connexion
 
* Des fils de connexion
 
* Du carton ou d'autres matériaux pour réaliser la boite et le bras+main
 
* Du carton ou d'autres matériaux pour réaliser la boite et le bras+main
 +
 +
[[Fichier:Circuit_Coucoumatron.png|vignette|Cablage réalisé]]
  
 
==Code==
 
==Code==
  
 
<code>
 
<code>
/*
+
/*
*
 
 
  * The circuit:
 
  * The circuit:
 
  * * Module HR-SC04 (four pins) or PING))) (and other with
 
  * * Module HR-SC04 (four pins) or PING))) (and other with
Ligne 46 : Ligne 47 :
 
  */
 
  */
  
#include <Ultrasonic.h>
+
#include <Ultrasonic.h>
#include <Servo.h>
+
#include <Servo.h>
  
/*
+
/*
 
  * Pass as a parameter the trigger and echo pin, respectively,
 
  * Pass as a parameter the trigger and echo pin, respectively,
 
  * or only the signal pin (for sensors 3 pins), like:
 
  * or only the signal pin (for sensors 3 pins), like:
 
  * Ultrasonic ultrasonic(13);
 
  * Ultrasonic ultrasonic(13);
 
  */
 
  */
Ultrasonic ultrasonic(12, 13);
+
Ultrasonic ultrasonic(12, 13);
Servo arm;
+
Servo arm;
int distance;
+
int distance;
 
+
void setup() {
+
void setup() {
  Serial.begin(9600);
+
  Serial.begin(9600);
  arm.attach(5);
+
  arm.attach(5);
  arm.write(10);
+
  arm.write(10);
}
+
}
 
+
void loop() {
+
void loop() {
  // Pass INC as a parameter to get the distance in inches
+
  // Pass INC as a parameter to get the distance in inches
  distance = ultrasonic.read();
+
  distance = ultrasonic.read();
 
+
  Serial.println(distance);
  Serial.println(distance);
+
  if (distance < 50) {
 
+
    Serial.println("Coucou");
  if (distance < 50) {
+
    for (int i = 0; i<2; i++) {
    Serial.println("Coucou");
+
      arm.write(100);
    for (int i = 0; i<2; i++) {
+
      delay(500);
      arm.write(100);
+
      arm.write(10);
      delay(500);
+
      delay(500);
      arm.write(10);
+
    }
      delay(500);
+
  }
    }
+
  delay(500);
  }
+
}
 
 
  delay(500);
 
}
 
 
</code>
 
</code>
  

Version actuelle datée du 20 janvier 2020 à 18:48

Photo de l’équipe

Photoenib2018.jpg

Que fait ce projet ?

Lorsqu’on fait coucou (on passe sa main devant le capteur) à la boite, elle répond en faisant coucou à son tour.

Liste des composants

  • Arduino
  • Capteur de distance Ultrasons
  • Servomoteur
  • Des fils de connexion
  • Du carton ou d'autres matériaux pour réaliser la boite et le bras+main
Cablage réalisé

Code

/*
* The circuit:
* * Module HR-SC04 (four pins) or PING))) (and other with
*   three pins), attached to digital pins as follows:
* ---------------------    --------------------
* | HC-SC04 | Arduino |    | 3 pins | Arduino |
* ---------------------    --------------------
* |   Vcc   |   5V    |    |   Vcc  |   5V    |
* |   Trig  |   12    | OR |   SIG  |   13    |
* |   Echo  |   13    |    |   Gnd  |   GND   |
* |   Gnd   |   GND   |    --------------------
* ---------------------
* 
* * A servo on pin 5
*
* created 3 Apr 2014
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 23 Jan 2017
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 03 Mar 2017
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 11 Jun 2018
* by Erick Simões (github: @ErickSimoes | twitter: @AloErickSimoes)
* modified 20 Jan 2020
* by Nils Van Zuijlen (github: @nils-van-zuijlen)
* This example code is released into the MIT License.
*/
#include <Ultrasonic.h>
#include <Servo.h>
/*
* Pass as a parameter the trigger and echo pin, respectively,
* or only the signal pin (for sensors 3 pins), like:
* Ultrasonic ultrasonic(13);
*/
Ultrasonic ultrasonic(12, 13);
Servo arm;
int distance;

void setup() {
  Serial.begin(9600);
  arm.attach(5);
  arm.write(10);
}

void loop() {
  // Pass INC as a parameter to get the distance in inches
  distance = ultrasonic.read();
  Serial.println(distance);
  if (distance < 50) {
    Serial.println("Coucou");
    for (int i = 0; i<2; i++) {
      arm.write(100);
      delay(500);
      arm.write(10);
      delay(500);
    }
  }
  delay(500);
}

Catégories