Étape 6: Détails techniques...
Eh bien, j’ai toujours une bobine de fil conducteur à utiliser. C’était juste plus vite au fil de cela avec les méthodes traditionnelles.
Flora s’exécute avec 3.3V logique.
Mon capteur ultrasonique HC-SR04 fonctionne sur 5 volts et les mêmes sorties.
Donc c’est là que Dangit Jim, I'' m un artiste, un peu, pas un ingénieur électricien...
Cela signifie que vous pouvez faire frire votre flore si vous utilisez des dispositifs logiques 5 volts. En regardant autour de quelqu'un avait suggéré un circuit de diviseur de tension simple résistance (autrement convertisseur puce/logigramme) afin de vous donner quelque chose d’assez bon pour le travail du gouvernement.
Alors fouiller à travers mon assortiment de résistance ebay, je suis venu près de quelque chose qui a fonctionné.
Pour la sortie du capteur, la ligne ECHO traverse une résistance de 12K Ohms sur la broche de données. L’alimentation aussi le même NIP de données est une résistance de pullup 22K Ohms de la terre. Je pense que les vraies valeurs étaient censés pour être des 15K et K 27 ohms.
La gâchette TRIG sur le capteur à ultrasons a semblé fonctionner très bien sur le signal inchangé de la flore.
J’ai fait la même chose avec le LDR ou photocellule puisque j’allais pouvoir vers le haut avec la crue tension de la batterie.
Le croquis de base theremin a été modifié pour son basé sur la lecture du capteur utrasonic et ensuite son entrée à nouveau sur la base de la cellule photoélectrique.
Vous pourriez interface le theremin avec n’importe quel choix de capteurs - stretch, pression, tactile capacitif, détecteurs de proximité, quoi que ce soit.
Encore une fois, après expérience, j’ai pu au fil de deux LEDs avec des résistances de 130 ohms pour chaque sortie de broche de données flash s’allume.
Bien sûr, je pourrais ont jeté dans une diode laser ou deux dans le circuit pour le plaisir, mais vous allez sortir un œil.
Supprimant l’impression série et réglage de tous les retards donnerait un ton plus continu.
Je viens de mettre les valeurs par défaut au lieu du système faisant l’étalonnage des capteurs ultrasoniques.
Expérimenter avec les valeurs de la plage de détection des capteurs et la gamme de fréquences du son.
Il y a quelques croquis échantillon là-bas pour mapper à tonalités musicales en place.
Tout cela a été un prototype sur la maquette.
Vous pouvez transférer le circuit vers le soutien-gorge en créant les câbles nécessaires selon où chaque composante est fixé sur le soutien-gorge.
Code non optimisée suit
===============================================================================
/ * Ping))) capteur
Cette esquisse lit un PING))) télémètre à ultrasons et retourne le
distance à l’objet le plus proche dans la gamme. Pour ce faire, il envoie une impulsion
à la sonde d’entamer la lecture, puis écoute une impulsion
pour revenir. La longueur de l’impulsion de retour est proportionnelle à
la distance de l’objet de la sonde.
Le circuit :
* + V branchement de la commande PING))) attaché au + 5V
* Connexion GND du PING))) attaché à la terre
* Connexion de SIG du PING))) attaché à la broche numérique 7
http://www.Arduino.cc/en/Tutorial/ping
créé le 3 novembre 2008
par David A. Mellis
mis à jour le 30 août 2011
par Tom Igoe
Cet exemple de code est dans le domaine public.
*/
mod pour capteur à ultrason HC-SR04
Cette constante ne changera pas. C’est le nombre de broches
de la sortie de la sonde :
const int echoPin = 9 ; Goupille de l’ECHO
const int pingPin = 10 ; Goupille de TRIG
variable qui contient la valeur de la sonde
int sensorValue ;
variable pour calibrer de faible valeur
int sensorLow = 12 ;
variable pour calibrer la valeur élevée
int sensorHigh = 1 ;
int pdsPin = 11 ; Sélectionnez l’entrée pin pour la cellule photoélectrique
int pdsValue = 0 ; variable pour stocker la valeur provenant de la cellule photoélectrique
void setup() {}
initialiser la communication série :
Serial.Begin(9600) ;
pinMode(7,OUTPUT) ;
pinMode(3,OUTPUT) ;
pinMode(2,OUTPUT) ;
}
void loop()
{
pdsValue = analogRead(pdsPin) ; obtenir la valeur de la tension de la broche d’entrée
Serial.println(pdsValue) ; imprimer la valeur de Serial monitor
créer des variables pour la durée du ping,
et le résultat de la distance en pouces et en centimètres :
longue durée, pouces, cm ;
Le PING))) est déclenché par une impulsion forte de 2 ou plusieurs microsecondes.
Donner une brève impulsion faible au préalable pour s’assurer une impulsion propre élevée :
pinMode (pingPin, sortie) ;
digitalWrite (pingPin, basse) ;
delayMicroseconds(2) ;
digitalWrite (pingPin, HIGH) ;
delayMicroseconds(5) ;
digitalWrite (pingPin, basse) ;
Le même NIP est utilisé pour lire le signal de la commande PING))): un sommet
impulsion dont la durée est la durée (en microsecondes) de l’envoi
du ping à la réception de son écho hors d’un objet.
pinMode (echoPin, entrée) ;
durée = pulseIn (echoPin, HIGH) ;
convertir l’heure dans un lointain
po = microsecondsToInches(duration) ;
cm = microsecondsToCentimeters(duration) ;
Serial.Print(inches) ;
Serial.Print ("in") ;
Serial.Print(cm) ;
Serial.Print("cm") ;
Serial.println() ;
lire l’entrée A0 et stockez-le dans une variable
sensorValue = pouces ;
mapper les valeurs de la sonde à un large éventail de hauteurs
hauteur int = carte (sensorValue, sensorLow, sensorHigh, 2000, 3500) ;
int pitch2 = carte (pdsValue, 200, 1023, 2400, 3500) ;
Jouez le ton à 20 ms sur la broche 8
ton (6, brai, 90) ;
Delay(30) ;
digitalWrite(7,HIGH) ;
digitalWrite(3,HIGH) ;
digitalWrite(2,HIGH) ;
Attendez un moment
Delay(90) ;
digitalWrite(7,LOW) ;
digitalWrite(3,LOW) ;
digitalWrite(2,LOW) ;
ton (6, pitch2, 90) ;
Delay(90) ;
}
long microsecondsToInches(long microseconds)
{
Selon fiche technique de parallaxe pour le PING))), il y a
73,746 microsecondes par pouce (c'est-à-dire son voyage à 1130 pieds /
en second lieu). Cela donne la distance parcourue par le ping, sortant
et revenez, pour nous diviser par 2 pour obtenir la distance de l’obstacle.
Voir : http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf
retourner les microsecondes / 74 / 2 ;
}
long microsecondsToCentimeters(long microseconds)
{
La vitesse du son est de 340 m/s ou 29 microsecondes par centimètre.
Le ping déplace dehors et en arrière, afin de trouver la distance de la
objet, que nous prenons la moitié de la distance parcourue.
retourner les microsecondes / 29 / 2 ;
}