Outils pour utilisateurs

Outils du site


fetitfilou

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fetitfilou [2020/07/21 10:20] gazielfetitfilou [2020/10/27 18:35] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. serge
Ligne 2: Ligne 2:
  
 A la demande de Buz, création d'un petit filou géant, avec interaction. A la demande de Buz, création d'un petit filou géant, avec interaction.
- 
  
  
Ligne 9: Ligne 8:
   * faire de la lumière   * faire de la lumière
   * lancer une interjection de Buz   * lancer une interjection de Buz
 +
 +
  
 ====fabrication==== ====fabrication====
Ligne 17: Ligne 18:
 2 servos 2 servos
  
 +====Detection====
  
 +Module SR04 ultrason
  
-== Bruit ==+{{media_04:fetitfilou_sr04.jpg?nolink|}}
  
-utilisation d'un "DY Player" , une carte pour lecteur MP3 DIY .+facile et efficace !
  
 +librairie Ultrasonic d'Eric Simões
 +arduino=>SR04
  
 +5V=>VCC
  
 +GND=>GND
 +
 +D2=>Echo
 +
 +D3=>Trig
 +
 +
 +====Bruit====
 +
 +utilisation d'un "DY Player" , une carte pour lecteur MP3 DIY .
 +{{media_04:fetitfilou_dyplayer.jpg?nolink|}}
 module DY-SV5W  carte avec lecteur microSD et ampli 5W intégré module DY-SV5W  carte avec lecteur microSD et ampli 5W intégré
 utilisation en Mode UART ( envoie de commande par le port TX/RX série de l'arduino)=> permet 255 sons facilement utilisation en Mode UART ( envoie de commande par le port TX/RX série de l'arduino)=> permet 255 sons facilement
  
 Sans prise de tête avec la librairie [[https://github.com/SnijderC/dyplayer|dyplayer de SnijderC]] Sans prise de tête avec la librairie [[https://github.com/SnijderC/dyplayer|dyplayer de SnijderC]]
 +
 juste 3 fils : juste 3 fils :
  
 arduino=>DFplayer arduino=>DFplayer
 +
 5V=>+5V 5V=>+5V
 +
 GND=>-5V GND=>-5V
 +
 D1/TX=>IO1/RX D1/TX=>IO1/RX
  
  
 +====Lumière===
  
 +juste une LED RGB !
  
-bruit et Lumière en attente+arduino=>LED
  
-==== code ==== +5V=>V
-<code python>+
  
-#include <Servo.h> +D4=>R
-Servo eye1; +
-Servo eye2;+
  
-int distance 200; // distance en mm de detection du SR04 +D5=>B
-int duree = 30;   // durée de fonctionnement de l'animation+
  
-const byte POTDISPIN 0; // broche analogique du potar de distance +D6=>G
-const byte POTDELAYPIN = 1; // broche  analogique du delay de fonctionnement de l'animation+
  
-const byte RELAYPIN = 13; // pin du relais au besoin 
  
-const byte EYE1PIN = 10; // broche servo Oeil1 
-const byte EYE2PIN = 11; // broche servo Oeil1 
  
-const byte TRIGGER_PIN 2; // Broche TRIGGER +==== code ====
-const byte ECHO_PIN 3;    // Broche ECHO +
-const unsigned long MEASURE_TIMEOUT 25000UL; // 25ms ~8m à 340m/s/* Constantes pour le timeout */ +
-const float SOUND_SPEED 340.0 / 1000;/* Vitesse du son dans l'air en mm/us */+
  
-byte eye1Pos = 0; +<code python> 
-byte eye2Pos = 0;+#include <Arduino.h>
  
 +//son
 +#include "DYPlayerArduino.h"
 +DY::Player player;
 +int son = 1;
  
-void setup() { +//detection SR04 
-  // put your setup code here, to run once: +#include <Ultrasonic.h> 
-  Serial.begin(115200);+Ultrasonic ultrasonic(2, 3)
 +int distance;
  
-  randomSeed(analogRead(0));+// yeux 
 +#include <Servo.h> 
 +Servo eye1; 
 +Servo eye2; 
 +const byte EYE1PIN = 8; // broche servo Oeil 
 +const byte EYE2PIN = 9; // broche servo Oei1 
 +byte eye1Pos = 0; 
 +byte eye2Pos = 0;
  
-  /* Initialise les broches */ +//lumiere
-  pinMode(TRIGGER_PIN, OUTPUT); +
-  digitalWrite(TRIGGER_PIN, LOW); // La broche TRIGGER doit être à LOW au repos +
-  pinMode(ECHO_PIN, INPUT); +
-  Serial.println("SR04 OK");+
  
-  eye1.attach(EYE1PIN); +const byte COLOR[8] = {0b000, 0b100, 0b010, 0b001, 0b101, 0b011, 0b110, 0b111};
-  eye2.attach(EYE2PIN); +
-  delay(100); +
-  eye1.write(eye1Pos); +
-  eye2.write(eye2Pos); +
-  Serial.println("Servo 1 et 2 ok"); +
-}+
  
-void anime() {+/* Broches */ 
 +const byte PIN_LED_R = 4; 
 +const byte PIN_LED_G = 5; 
 +const byte PIN_LED_B = 6; 
 +byte rvb = 0;
  
-  switch (duree) { 
  
 +void setup() {
 +  //Serial.begin(9600);
  
- case 1 : // bas +  player.begin()
-    eye1Pos = 180 ; +  player.setVolume(20);
-    eye2Pos =  0 ; +
-    break; +
-  case 2 : // louche 1 +
-    eye1Pos = 90; +
-    eye2Pos = -90; +
-           break; +
-  case 3 : // louche 2 +
-    eye1Pos = -90  ; +
-    eye2Pos = 90  ; +
-  case 4 : // haut +
-    eye1Pos = 0  +
-    eye2Pos = 180  ;+
  
-  default : //aleatoire +  eye1.attach(EYE1PIN); 
-    eye1Pos = int(random(180)); +  eye2.attach(EYE2PIN); 
-      eye2Pos = int(random(180)); + 
-      break; +  randomSeed(analogRead(0));
-  }+
  
-  eye1.write(eye1Pos); +  pinMode(PIN_LED_R, OUTPUT); 
-  eye2.write(eye2Pos); +  pinMode(PIN_LED_G, OUTPUT); 
-  delay(100);+  pinMode(PIN_LED_B, OUTPUT); 
 +  displayColor(COLOR[7]);
 } }
  
  
-//renvois vrai si la distance en parametre est plus petite en mm +void loop() { 
-bool declanche( int distance) { +  //lecture de la distance en CM 
- +  distance = ultrasonic.read();
-  digitalWrite(TRIGGER_PIN, HIGH); +
-  delayMicroseconds(10); +
-  digitalWrite(TRIGGER_PIN, LOW); +
-  long mesure pulseIn(ECHO_PIN, HIGH, MEASURE_TIMEOUT); +
   delay(500);   delay(500);
-  if (mesure / 2.0 * SOUND_SPEED < distance) { 
-    return true; 
-  } 
-  else { 
-    return false; 
-  } 
  
  
  
 +  if (distance < 50) {
  
-}+    // couleur aleatoire 
 +    //rvb=byte(random(0,7); 
 +    displayColor(COLOR[int(random(0, 7))]); 
 +    delay(10); 
 +    //lecture d'un son aleatoire 
 +    son = int(random(1, 9)); 
 +    player.playSpecified(son); 
 +    delay(250); 
 +    displayColor(COLOR[int(random(0, 7))]);
  
-void loop() {+    // servo position aleatoire 
 +    eye1Pos = int(random(180)); 
 +    eye2Pos = int(random(180)); 
 +    
 +    eye1.write(eye1Pos); 
 +    eye2.write(eye2Pos); 
 +    delay(50); 
 +    displayColor(COLOR[int(random(0, 7))]); 
 +    //attente avant prochaine declanchement 
 +    delay(4000);
  
- +    // remise a off 
-  if (declanche(300)){ +    displayColor(COLOR[7]); 
- +    distance = 300;// forcage distance>50
-  anime(); +
-    // son +
-    // lumiere+
  
   }   }
 +}
  
 +/** Affiche une couleur */
 +void displayColor(byte color) {
  
 +  // Assigne l'état des broches
 +  // Version cathode commune
 +  //digitalWrite(PIN_LED_R, bitRead(color, 2));
 +  //digitalWrite(PIN_LED_G, bitRead(color, 1));
 +  //digitalWrite(PIN_LED_B, bitRead(color, 0));
 +  // Version anode commune
 +  digitalWrite(PIN_LED_R, !bitRead(color, 2));
 +  digitalWrite(PIN_LED_G, !bitRead(color, 1));
 +  digitalWrite(PIN_LED_B, !bitRead(color, 0));
 } }
 </code> </code>
  
fetitfilou.1595326819.txt.gz · Dernière modification : 2020/07/21 10:20 de gaziel