Bretelles de Signal de tour (15 / 15 étapes)

Étape 15 : Ma pleine capacité Code

/ * j’ai fait de mon mieux pour corriger la mutilation de ma mise en forme qui s’est passé quand j’ai collé mon code dans la page. Certaines choses avaient même été effacé/non collés !

Il serait sage de vérifier et s’assurer de que quelque chose d’important n’a pas été commentée, une fois que vous l’obtenez dans l’environnement Arduino.

Original compile bien, commentaire, si c’est broken.* /

Capteur1 int = A2 ; cousu pour mon... doigt pointeur

sensor2 int = A3 ; sensor3 int //middle = A4 ; bague int sensor4 = A5 ; Pinky

#include / / yaaap, veulent être comme cela. voir leur uberguide pour savoir comment l’installer dans votre bibliothèque d’arduino.

C’est un processus relativement simple de ~ 3 étape, vaut la peine. Les fichiers et les instructions sont sur le site suivant :

https://Learn.Adafruit.com/Adafruit-neopixel-uber...

Cliquez sur la bannière du fichier « Sketch », puis sélectionnez Ajouter un fichier dans le menu Naviguer vers lequel il est enregistré le fichier .h pour ajouter son onglet à ce projet

public static int PIN = 10 ; Si vous oubliez cela, où il est dit PIN là-bas va te fâche pas le compilateur.

Le numéro est le nom de l’axe sur votre lilypad les données étant envoyé à partir.

ce qui suit est directement de l’exemple de fichier « strandtest »

Paramètre 1 = nombre de pixels dans la bande de

Paramètre 2 = Numéro d’identification (la plupart sont valide)

Paramètre 3 = type de pixel drapeaux, additionner au besoin: (gauche les infos supplémentaires, signifie peu de choses pour moi) bande de Adafruit_NeoPixel = Adafruit_NeoPixel (15, PIN, NEO_GRB + NEO_KHZ800) ;

J’ai 15 pixels, ainsi que le nombre

/******************************************************************** *********************************************************************

* configurer plus *

* *

********************************************************************/

void setup() {}

pour les lampes :

Strip.Begin() ;

Strip.Show() ;

« Initialiser tous les pixels sur « arrêt » »

initialiser une communication série 9600 bits par seconde :

pinMode (Capteur1, entrée) ; affecte à broche de pointeur en tricot potentiomètre d’entrée

digitalWrite (Capteur1, HIGH); //initializes le capteur

pinMode (sensor2, entrée) ; goupille d’ensembles milieu tricot potentiomètre d’entrée

digitalWrite (sensor2, HIGH) ; Initialise le capteur

pinMode (sensor3, entrée) ; anneau d’ensembles tricot broche feuille de potentiomètre d’entrée

digitalWrite (sensor3, HIGH) ; Initialise le capteur

pinMode (sensor4, entrée) ; affecte à broche de pinky tricot potentiomètre d’entrée

digitalWrite (sensor4, HIGH) ; Initialise le capteur

Serial.Begin(9600) ; }

/******************************************************************** *********************************************************************

* *

* fonction principale *

* *

********************************************************************* ********************************************************************/

void loop() {}

int moyen = 8 ; lumière moyenne

int droite = 15 ; lumière de l’extrémité droite (adresse la plus élevée LED)

int gauche = 1 ; lumière de l’extrémité gauche (adresse la plus basse LED)

lire l’entrée sur la broche analogique :

3.3 V est 1024

Est de 0 V 0

« SV » abréviation de « valeur de la sonde »

int SV1 = analogRead(sensor1) ; 300-400 lo 890-950 Salut

int SV2 = analogRead(sensor2) ; 650-700 lo 900-1015 Salut

int SV3 = analogRead(sensor3) ; avg max avg 650-700 min 1000

int SV4 = analogRead(sensor4) ; min 530 max 1024 - avg Salut avg 950 lo 650ish

Si le mélange de couleurs étaient le désir, cartographie 0-250 pour le 300-950, car la valeur d’un RGB par doigt serait cool pinky pourrait certains bizarre aléatoire mélange équations RVB à l’aide de la valeur mappée. hein.

/ * //uncomment cette section pour utiliser la fonction d’impression série et obtenir votre propre doigt gammes des tampons.

afficher la valeur que vous lisez :

Serial.Print ("valeur 1 =") ;

Serial.Print(sensorValue1) ;

Serial.Print ("valeur 2 =") ;

Serial.Print(sensorValue2) ;

Serial.Print ("valeur 3 =") ;

Serial.Print(sensorValue3) ;

Serial.Print ("valeur 4 =") ;

Serial.println(sensorValue4) ;

*/

/********************************************************************

* IF/THEN réponse *

********************************************************************/

définir la plage de réponse maximum à 950, je pense que cela devrait empêcher de TRUE tout ayant répondu au questionnaire.

pour l’instant, je vais devoir haute/basse déterminer... tournage, nombre de répétitions de sons bien. Trop de couleurs ?

uint16_t répète = 2 ; initialisé à deux >> jettent juste numéro appel de fonction !

DOIGT pointeur---> tourner à droite

300-400 lo 890-950 Salut

Si ((SV1 < = 950) & & (SV1 > = 650))

a choisi de 650 depuis le son vers le milieu de mes « bas haut de gamme » et plus « faibles » lectures.

{

Right_then (bande. Color(250,140,0),4,Middle,Right) ; peut changer de couleur ici RVB

}

Si ((SV1 < = 649) & & (SV1 > = 0))

{Right_then (bande. Color(250,0,0),8,Middle,Right) ; }

DOIGT du milieu---> tourner à gauche

650-700 lo 900-1015 Salut

Si ((SV2 < = 950) & & (SV2 > = 775))

{Left_I_go (bande. Color(250,140,0), 4, milieu, gauche) ; }

Si ((SV2 < = 774) & & (SV2 > = 0))

{Left_I_go (bande. Color(250,0,0), 8, milieu, gauche) ; }

L’annulaire---> mignon clin

avg max avg 650-700 min 1000

Si ((SV3 < = 950) & & (SV3 > = 840))

{Notice_me_Cute (bande. Color(0,0,150), 3, à gauche, milieu, droite) ; bleu}

Si ((SV3 < = 839) & & (SV3 > = 0)) //not une grande différence == précision inférieure == je garde les répétitions courtes pour s’assurer que vous peuvent être avertis des tours

{Notice_me_Cute (bande. Color(127,255,0), 5, à gauche, milieu, droite) ; citron vert}

PINKY---> meh

min 530 max 1024 - avg Salut avg 950 lo 650ish 650 + (950-650) / 2 = valeur du milieu je choisis

Si ((SV4 < = 960) & & (SV4 > = 800))

{dualFade (gauche, droite);}

Si ((SV4 < = 799) & & (SV4 > = 0))

{dualFade2 (gauche, droite);}

/********************************************************************

* clin défaut *

********************************************************************

/ plus tard, peut essayer de le faire celui « mignon » en ayant un compteur générique, disant : compteur ++ ; chaque boucle,

et en utilisant un % 8 pour être difficile de faire un autre changement de variable entre 1-7

.. .et permutation entre + et - ? pourriez avoir besoin d’une troisième variable existant dans le "si 8 % == 0" pour aller %2 avec ont imbriqué instruction sur +/-

« avis me »

pour (int i = gauche ; j’ai > = right; i ++)

{//strip.setPixelColor(pixel#,(R,G,B) défini en fonction d’alimentation)

strip.setPixelColor(i,255,215,0) ; couleur « or »

Strip.Show() ;

}

Delay(300) ;

Mettez à l’extérieur des supports pour essayer d’avoir des lumières allumer sur "all at once" séjour puis un peu

maintenant le désactiver

pour (int i = right ; j’ai > = gauche; i--)

{/ / strip.setPixelColor(pixel#,R,G,B) ;

strip.setPixelColor(i,0,0,0) ;

Strip.Show() ;

}

Delay(300) ;

délai entre lectures/clignote pour la stabilité (a 75 pour l’impression en série.)

> <> <> <> <> <

}

/********************************************************************

* FIN de fonction principale *

********************************************************************

********************************************************************

* *

* CAPTEUR FONCTIONNE!!! *

* *

* J’aime appeler des fonctions, sa façon... NETTOYER!!! *

* *

* Requis : blink a laissé la moitié (pixels 1-8... ou est ce 0-7?) *

* clignoter la moitié droite (pixels 8-15... ou 7-14)? *

* "avis me" clignotent (arc-en-ciel, sûr) *

pour les amuser : lingette arc-en-ciel *

*********************************************************************

* sont mes leds adressée

[1] [2 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15]

ou [0] [1] [2 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] ?

Va changer mon for intérieur () itérations *

********************************************************************

* clignotent gauche *

********************************************************************/

void Left_I_go (uint32_t couleur, uint16_t répétitions, milieu int, int gauche)

basé sur colorWipe en strandtest. Voici comment s’appelait le « uint32_t c » dans « main() » 50 était le « attente » !

/ * colorWipe (bande. Color(255, 0, 0), 50) ; Rouge

colorWipe (bande. Color(0, 255, 0), 50); / / vert

colorWipe (bande. Color(0, 0, 255), 50); / / bleu * /

bande. Color(_,_,_),repeats,Middle,Left)

{//variables

attente uint8_t = 20 ;

uint16_t i ;

uint16_t z ; « z » semble différente de celle « i »

veuille à cligner des yeux plusieurs fois, afin de devenir un imbriqués pour boucle

pour (z = 0; z < = répétitions; z ++)

{pour (i = moyen ; j’ai > = gauche; i--)

{

strip.setPixelColor(i,color) ;

Strip.Show() ;

Delay(Wait) ; }

un autre retard pour les garder un peu

Delay(100) ;

maintenant le désactiver

> <> <

pour (i = moyen ; j’ai > = gauche; i--)

{/ / strip.setPixelColor(pixel#,R,G,B) ;

strip.setPixelColor(i,0,0,0) ;

Strip.Show() ;

}

Delay(100) ;

> <> <

}

}

/********************************************************************

* clignoter droit *

********************************************************************/

void Right_then (uint32_t couleur, uint16_t répétitions, milieu int, int droit

) {/ / / bande. Color(_,_,_),repeats,Middle,Right)

variables

attente uint8_t = 20 ; faire court

uint16_t i ;

uint16_t z ;

veuille à cligner des yeux plusieurs fois, afin de devenir un imbriqués pour boucle

pour (z = 0; z < = répétitions; z ++)

{pour (i = moyen ; j’ai < = right; i ++)

{

strip.setPixelColor(i,color) ;

Strip.Show() ;

Delay(Wait) ;

}

un autre retard pour les garder un peu

Delay(100) ;

maintenant le désactiver

> <> <

pour (i = moyen ; j’ai < = right; i ++) //note comment j’ai renversé > à < et--à ++

{

strip.setPixelColor(i,0,0,0) ;

Strip.Show() ;

}

Delay(100) ; }

}

/********************************************************************

* joli clin évincer d’autres employé *

********************************************************************/

HM. peut-être il y a un moyen de, euh... mot. faire la valeur par défaut de cligner des yeux partie de la void loop(), comme mettre il avant que n’importe quelle sonde vérifie, devrait être assez rapidement, droit ? pourrait ajouter un retard. Oui ! Je vais juste faire celui-ci une version fantaisie mignonne, deux feux bounching au large de l’autre au milieu et les extrémités...

void Notice_me_Cute (uint32_t couleur, uint16_t répétitions, int gauche, milieu int, int droit)

{/ / strip. Color(_,_,_),repeats,Left,Middle,Right)

strip.setPixelColor(pixel#,R,G,B) ;

variables

uint8_t attente = 50 ; un peu plus lent que 20 pour le tournage

uint16_t i ;

uint16_t z ;

pour (z = 0; z < = répétitions; z ++)

{

régler et éteindre la lumière centrale

strip.setPixelColor(middle,color) ;

Strip.Show() ;

Delay(Wait) ;

strip.setPixelColor(middle,0,0,0) ;

Strip.Show() ;

maintenant pour le fractionnement

pour (i = 1; i

{

strip.setPixelColor(middle-i,color) ; va à gauche du centre

strip.setPixelColor(middle+i,color) ; va directement du centre

Strip.Show() ; présentés ensemble ?

Delay(Wait) ;

depuis « l’un à la fois » la nécessité d’éteindre les lumières à l’intérieur de la boucle

strip.setPixelColor(middle-i,0,0,0) ;

strip.setPixelColor(middle+i,0,0,0) ;

Strip.Show() ;

}

maintenant pour remonter jusqu’au milieu

recherchant quelques entrée capteur ici serait sage si je veux répéter beaucoup... mais je ne sais pas si c’est possible et comment à

pour (je = 1; i; i--) //did (moyen-1), étant donné que je ne veux pas les bords clignote deux fois, ils sont touchés une fois quand tout le reste sont passés deux fois dans un cycle.

{

strip.setPixelColor(middle-i,color) ; Cela devrait aller à droite de gauche

strip.setPixelColor(middle+i,color) ; et cette gauche de droite

Strip.Show() ;

Delay(Wait) ;

strip.setPixelColor(middle-i,0,0,0) ;

strip.setPixelColor(middle+i,0,0,0) ;

Strip.Show() ; }

}

}

/********************************************************************

* dualFade (meh!) *

4ème option serait plutôt cool pour attacher son ou autre chose.

********************************************************************

/ quelque chose à jeter sur l’auriculaire car je ne peux pas obtenir l’arc-en-ciel fonctions dans la strandtest de travailler.

void dualFade (int gauche, int droit)

{

pour (int i = 0; i < 255 ; j’ai = i + 1)

{

pour (int k = gauche; k < = right; k ++)

{

fracture de l’int = k 2 %;

Si (diviser == 0)

strip.setPixelColor (k, i, 0, 255-i) ;

d’autre

strip.setPixelColor (k, 0, i, 255-i) ;

Delay(10) ;

Strip.Show() ; }

}

}

/********************************************************************

* meh 2 *

********************************************************************

/ void dualFade2 (int gauche, à droite int)

{pour (int i = 0; j’ai < 255; i = i + 1) {}

pour (int k = gauche; k < = right; k ++)

{int fracture = k 2 %;

Si (diviser == 0)

strip.setPixelColor (k, i, 255-i, 0) ;

d’autre

strip.setPixelColor (k, 0, 255-i, i) ;

Delay(10) ;

Strip.Show() ;

}

}

}

Articles Liés

6 étapes secrètes pour stimuler téléphone cellulaire signalent dans votre bureau

6 étapes secrètes pour stimuler téléphone cellulaire signalent dans votre bureau

Peu de choses sont aussi dégoûtant comme un faible signal sur votre téléphone portable, alors que vous devez faire un appel urgent à votre client de hot-shot. Mais, alors, c'est tout à fait un scénario familier dans les bureaux comme gestionnaires so
Difficulté psychotiques Grand Am Signal en cliquant sur

Difficulté psychotiques Grand Am Signal en cliquant sur

j'ai un 2001 Pontiac Grand Am.  Environ 5 ans en conduisant sur la route, le bruit de cliquetis, associé avec les feux de signalisation et les dangers, est allé psychotique.  J'ai paniqué parce que j'ai pensé que les lumières étaient aussi activés. 
Bicycle Safety Lighting and Turn Signals From (Mostly) Recycled Parts

Bicycle Safety Lighting and Turn Signals From (Mostly) Recycled Parts

ReThink, RePurpose, ReUse."Juste un avertissement pour la patience avec facultés affaiblies : J'ai expliquer mon raisonnement beaucoup dans ce domaine, afin que vous puissiez faire vos propres choix sur les choses plus faciles, qui allonge considérab
Sous la lueur de votre moto pour les moins de 25$

Sous la lueur de votre moto pour les moins de 25$

Cette instructable est ce qui arrive quand vous arrivez à regarder les prix des bandes de LED et se rendent compte qu'ils peuvent effectivement être relativement bon marché et utile. La plupart d'entre eux sont caoutchouté et résistant aux intempérie
Moine Adrian Disneytopian clignotant main de justice (clignotant gant)

Moine Adrian Disneytopian clignotant main de justice (clignotant gant)

vraiment un gant de Gaucher, mais quelque chose à voir la direction ou donner que nécessaire revers pour ceux qui arrivent de la ligne. Il s'agit vraiment d'un gant de LED allumé pour mettre en évidence la visibilité de votre main quand vous donnez l
Vélo bricolage clignotants

Vélo bricolage clignotants

Vivant dans une ville, j'utilise mon vélo comme moyen de transport en commun, équitation à domicile pour travailler, travaille au studio, courses, etc.. Quand je roule la nuit, je crains souvent si autrui/véhicules sur la route peut voir mes signaux
Clignotant vélo veste

Clignotant vélo veste

ce tutoriel va vous montrer comment construire une veste avec clignotants qui permettra aux gens de savoir où vous vous dirigez lorsque vous êtes sur votre vélo. Nous allons utiliser le fil conducteur et l'électronique sewable donc votre veste sera s
Comment parallèle garer une voiture : pas via des photos et vidéos

Comment parallèle garer une voiture : pas via des photos et vidéos

** Remarque ** Il y a plusieurs étapes (donc s'il vous plaît n'oubliez pas de cliquez sur suivant en bas). Les vidéos sont en mesure d'être vu à la fin !Il est généralement préférable d'apprendre un nouveau pilote de parc à l'aide de 2 cônes orange a
Bâti d’antenne TV intérieure

Bâti d’antenne TV intérieure

Comme coupeurs de cordon câble engagés, nous avions expérimenté plusieurs antenne HDTV et le placement de l'antenne, avec des résultats mitigés. Nous vivons entre différentes tours, alors parfois, que nous voulons tourner l'antenne 180 degrés. Nous a
Guide pour les débutants Tech complet

Guide pour les débutants Tech complet

Chaque départ est entendu, mais si vous avez la motivation et la volonté forte vous allez réussir. La plupart des étudiants en particulier des étudiants de génie veulent construire et faire quelque chose. Expérience pratique de faire quelque chose re
Mini-projecteurs à LEDs

Mini-projecteurs à LEDs

Un camion que j'avais eu il y a quelques années les vitres teintées foncés et il était très difficile de voir lorsque vous sauvegardez dans la nuit. J'ai construit quelques lumières LED pour monter sous le pare-chocs de mon camion quand j'ai mis le c
Motorized Bicycle DIY: The hard way

Motorized Bicycle DIY: The hard way

Empiète sur une Honda GXH50 dans un Huffy 24" garçon s Cranbrook Cruiser vélo.170 MPG - vraiment ?Réponse courte : non - pas pour moi, je roule à plein régime presque tout le temps (30 mi/h), et je me fais 110-130 mi/gal (selon le vent)Réponse longue
Facile bricolage CREE LED Headlight mise à niveau pour votre moto

Facile bricolage CREE LED Headlight mise à niveau pour votre moto

Le H4 CREE LED phares kit que j'utilise est venu avec 2 ballasts, ampoules de LED Cree 2 - 25W, ventilateurs et instructions faciles à suivre. Le kit est apparu dans moins de 5 jours après la commande et a été très bien emballes. La meilleure chose à
Installer l’ampoule de clignotant LED PWY24W Volkswagen

Installer l’ampoule de clignotant LED PWY24W Volkswagen

Le bus CAN erreur gratuit LED tour signal ampoules viennent au xénon blanche ou ambre jaune et remplacer les ampoules à incandescence de stock PWY24W/PW24W. Ces ampoules de clignotants LED PWY24W donne à votre voiture un tout nouveau look clair avec