Hug-détecteur activé (PAD) de pression (4 / 6 étapes)

Étape 4: Code

Le code est basé sur un couple d’if-conditions. Le code lit la valeur de la touche (pressé ou non) et la pression mesurée par le capteur. La première condition if vérifie si le bouton est enfoncé ou non. Si l’utilisateur a appuyé il, le LED émettent une lumière rouge immédiatement et rester dans cet état jusqu'à ce que l’utilisateur appuie sur le bouton nouveau. Dans cette autre condition, le code vérifie la valeur de pression censuré. Au-dessus du seuil (dans notre cas 500), le voyant passe au rouge. Sous le seuil, il restera vert. Ces couleurs ont été choisies car elles sont mieux reconnues comme les couleurs de « stop » et « go » respectivement. Le capteur Piezo est sensible et implique des tests pour découvrir le seuil approprié. Dans la plupart des tutoriels ce capteur nécessite une résistance de 1MOhm, mais parce que dans notre circuit, nous avons un autre un attaché à la touche, il touché extrêmement les valeurs.

Pour le NeoPixel, vous aurez besoin d’installer la bibliothèque NeoPixel à votre bibliothèque d’Arduino. Vous pouvez le trouver ici. Nous avons utilisé pour notre code de l’exemple strandtest et plus précisément la partie colorWipe du code.

Pour la touche, nous avons utilisé l’exemple de bouton poussoir 3C de la mise en route avec Arduino par Massimo Banzi.

Pour le capteur Piezo, il y a ainsi plusieurs tutoriels en ligne. Vous devriez vérifier que l'on sert votre but le meilleur. Pour ce tutoriel, il est simplement lire la valeur.

Voici notre code basé sur les exemples qu’on retrouvées ailleurs :

#include

#define broche 9

Paramètre 1 = nombre de pixels dans la bande de
Paramètre 2 = nombre de goupille de Arduino (la plupart sont valide)
Paramètre 3 = type de pixel drapeaux, additionner au besoin :
NEO_KHZ800 800 KHz bitstream (la plupart NeoPixel produits w/WS2812 LEDs)
NEO_GRB Pixels sont câblés pour GRB bitstream (la plupart des produits NeoPixel)

Bande de Adafruit_NeoPixel = Adafruit_NeoPixel (60, PIN, NEO_GRB + NEO_KHZ800) ;

Cette constantes ne changeront pas :
const int piezo = A0 ;
const int buttonPin = 2 ; le nombre de la tige poussoir

Variables vont changer :
buttonState int = 0 ; état actuel de la touche
int old_ButtonState = 0 ;
État int = 0 ; 0 = vert et 1 = rouge

void setup() {}
Serial.Begin(9600) ;
pinMode (buttonPin, entrée) ;

Strip.Begin() ;
Strip.Show() ; Initialiser tous les pixels sur « arrêt »
}

void loop() {/
/ lire l’état de la valeur du bouton poussoir :
buttonState = digitalRead(buttonPin) ;
int piezoVal = analogRead(piezo) ;
Serial.println(piezoVal) ;

Vérifiez si le bouton est appuyé.

Si ((buttonState == HIGH) & & (old_ButtonState == faible)) {}
État = 1 - État ;
Delay(10) ;
}

old_ButtonState = buttonState ;

Si (État == 1) {}
colorWipe (bande. Color(255, 0, 0), 50) ; ROUGE
} else {}
Si (piezoVal < = 500) {}
colorWipe (bande. Color(0, 255, 0), 50) ; VERT
} else {}
colorWipe (bande. Color(255, 0, 255), 50) ; ROUGE
}
}

attendre 2 millisecondes avant la prochaine boucle
pour le convertisseur analogique-numérique à régler
après la dernière lecture :
Delay(2) ;
}

Remplir les points un après l’autre avec une couleur
Cette partie est nécessaire pour le NeoPixel, il suffit d’inclure ce

void colorWipe (uint32_t c, uint8_t attente) {}
pour (uint16_t i = 0; i < strip.numPixels(); i ++) {}

strip.setPixelColor (i, c) ;
Strip.Show() ;
Delay(Wait) ;
}
}

Articles Liés

Mouvement détecteur activé Vanity Light

Mouvement détecteur activé Vanity Light

J'ai acheté une unité de détection de mouvement infrarouge sur eBay pour $1.50 et décidé de le mettre à bon escient. J'aurais pu faire mon propre Conseil de détecteur de mouvement, mais à 1,50 $ (qui comprend 2 pots de trim pour le réglage de la sens
Capteur de pression de micro Manager avec grenade Oogoo

Capteur de pression de micro Manager avec grenade Oogoo

Dans une instructable avant, j'ai donné l'histoire de pourquoi je faisais une course d'obstacles de Lego Movie pour l'anniversaire de mon fils de 9 ans. La première partie était un système de cible laser Micro-Manager que vous pouvez visionner ici. L
Refletching une flèche de carbone à bas prix

Refletching une flèche de carbone à bas prix

Je dois l'avouer, quand il s'agit de flèches je peux être bon marché. J'ai perdu assez ou cassé assez au fil des ans que j'aurais un temps réel dur justifiant la dépense d'un ensemble de flèches vraiment sympa. Vous figure que même les flèches bon ma
Raspberry Pi - MPL3115A2 altimètre de précision capteur Python Tutorial

Raspberry Pi - MPL3115A2 altimètre de précision capteur Python Tutorial

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Raspberry Pi - MPL3115A2 altimètre de précision capteur Java Tutorial

Raspberry Pi - MPL3115A2 altimètre de précision capteur Java Tutorial

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Rampes pour une voiture de faible

Rampes pour une voiture de faible

ma voiture est trop basse pour rampes en acier auto.  Le capot sous le pare-chocs touche les rampes avant de faire les roues.  J'ai fait mes propres rampes de bois 2 x 8.Étape 1: Déterminer les dimensions j'ai besoin de connaître l'angle d'inclinaiso
Particule Photon - tutoriel de capteur altimètre de précision MPL3115A2

Particule Photon - tutoriel de capteur altimètre de précision MPL3115A2

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
Sonnant case #11

Sonnant case #11

Sonnant case #11 est une sculpture musique électroacoustique qui permet aux téléspectateurs de faire de la musique en temps réel. Il s'agit d'une sculpture interactive qui génère des sons ambiants en réponse aux ombres. Comme téléspectateurs approche
Roquettes air comprimé

Roquettes air comprimé

quand j'étais à la Bay Area Maker Faire plus tôt cette année, j'ai vu un écran qui avait un lance-roquettes de papier de l'air comprimé. Enfants rendrait leurs propres fusées de papier, chargez-les sur un tube de lancement et les incendies dans le ci
Pistolet de Gatling de pommes de terre 19 Canon tir rapide (Simple sans pièces complexes ou électronique)

Pistolet de Gatling de pommes de terre 19 Canon tir rapide (Simple sans pièces complexes ou électronique)

Avant que je me fais commence à la conception. Je dois dire qu'il was'nt soly ma création. Le modèle de base de la Canon à air, j'ai reçu de Curt Graber sur youtube. S'il vous plaît visitez son tutoriel vidéo sur le modèle de base. Cliquez ici pour l
Message dans une boîte de conserve

Message dans une boîte de conserve

Vous savez comment parfois, vous pouvez vivre avec quelqu'un - en fait physiquement vivent dans le même espace - et vous sentir comme vous les voyez jamais ? Eh bien, c'est ce qui m'est arrivé cette année. Mon copain et moi sommes sur des horaires to
Fusée de lancement Abort soupape d’eau

Fusée de lancement Abort soupape d’eau

le but de ce tutoriel est de construire une simple télécommandé vanne de décharge des matériaux communs ne nécessitant aucun outil spécial.Arrière-planUne vanne d'abort est une fonctionnalité de sécurité très importantes d'un lanceur. Occasions, vous
Arduino Nano - tutoriel de capteur altimètre de précision MPL3115A2

Arduino Nano - tutoriel de capteur altimètre de précision MPL3115A2

La MPL3115A2 utilise un capteur de pression MEMS grâce à une interface I2C pour fournir des données exactes de l'Altitude/pression et température. Les sorties du capteur sont numérisées par une haute résolution 24-bit ADC. Traitement interne supprime
YEAAAUGH, WHHAT ? OKKKAY ! Lil Jon Easy Button

YEAAAUGH, WHHAT ? OKKKAY ! Lil Jon Easy Button

jamais souhaiter la Staples Easy Button (R) pourrait dire quelque chose de mieux que le banal « C'était facile. » ? Que diriez-vous d'un bouton Lil Jon ?YEAAAUGH, OKKKAY !Allons-y!Étape 1: Vous aurez besoin (et où le trouver) : Remarque : vous aurez