* Code crâne - Charles Ford automne 2013
*
* La chandelle
* -----------
*
* Utiliser des nombres aléatoires pour émuler une bougie scintillante avec un PWM avaient conduit
*
* 2007 Tod Kurt E. < tod
* http://todbot.com/
*
*/
// ---------------------------------------------------------------------------
Exemple NewPing bibliothèque croquis qui effectue un ping environ 20 fois par seconde.
// ---------------------------------------------------------------------------
#include < NewPing.h >
#define TRIGGER_PIN 12 / / goupille de Arduino lié à déclencher la broche sur le capteur à ultrasons.
#define ECHO_PIN 11 / / goupille de Arduino liée à la broche sur le capteur à ultrasons d’écho.
#define MAX_DISTANCE 200 / / distance maximale que nous voulons faire un ping pour (en centimètres). Distance maximum sensor est évalué à 400-500cm.
NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE) ; NewPing configuration des broches et distance maximale.
// ***************VARIABLES*********************************************
int ledPin = 13 ; Sélectionnez le code pin de la LED
int jawPin = 9 ; Sélectionnez l’axe pour le transistor à ouvrir la mâchoire
int signalPin = 5 ; conduit sur un minimum carte Arduino
int k = 0 ; variable de boucle
int val = 0 ; variable qui contient la luminosité LED actuelle
int delayval = 0 ; variable qui contient l’heure de retard
distance de l’int = 0 ; variable pour ultrasons distance en cm
//****************SETUP************************************************
void setup() {}
randomSeed(0) ; initialiser le générateur de nombres aléatoires
pinMode (ledPin, sortie) ; déclarer la ledPin comme une sortie
pinMode (jawPin, sortie) ; contrôle de transistor en sortie
pinMode (signalPin, sortie) ; incorporé le nu carte Arduino
digitalWrite(ledPin,HIGH) ;
Delay(2000) ;
digitalWrite(ledPin,LOW) ;
}
//***************LOOP***************************************************
void loop() {}
Delay(50) ; Attendre 50ms entre les pings (environ 20 pings/sec). 29ms devrait être le délai le plus court entre les pings.
unsigned int nous = sonar.ping() ; Envoyer des ping, ping temps en microsecondes (nous).
Convertir les temps de ping à distance et d’imprimer le résultat (0 = distance définie hors plage, aucun écho de ping)
distance = (nous / US_ROUNDTRIP_CM) ;
Si (distance < 60 & & distance > 0) jaw() ; exécuter la routine de la mâchoire ouverte
}
//************END OF LOOP**********************************************
void jaw() {}
routine pour ouvrir la mâchoire et scintiller les lumières
pour (k = 0; k < 100; k) {}
ACTIVER LE RELAIS
Si (k < 50) digitalWrite(jawPin,HIGH) ;
d’autre digitalWrite(jawPin,LOW) ;
AUX CHANDELLES L’EFFET SUR LES YEUX
Val = random(20,255) ; choisir un nombre aléatoire compris entre 100 et 255
analogWrite (ledPin, val) ; régler la luminosité de la LED
delayVal = random(50,150) ; choisir un nombre aléatoire compris entre 30 et 100
Delay(delayVal) ; retard qu’un grand nombre de millisecondes
}
analogWrite (ledPin, 40) ; laisser les yeux faibles à la fin de la routine
}