Lightstik Light bar contrôleur (3 / 4 étapes)

Étape 3: codage

Pop Quiz : dans la vidéo, quel article du code s’exécute comme le commutateur est sous tension. Indice, il commence avec le commutateur en position et je mettez le dans l’ordre de 1 sur 5 à droite puis retour à 1 à la fin. Toutefois, les sections du code ne sont pas séquentielles ; IE: position de l’interrupteur 1 n’exécute pas le code dans la section étiquetée 1er dans le sketch. Je vais vous donner à celui-ci - interrupteur position 1 = CA: dans le sketch et CA: est la dernière section dans le sketch, pas le premier comme un pourrait soupçonner.

La j’ai ce travail consiste à vérifier les broches analogiques (2-6) pour la tension de l’interrupteur rotatif. Je ne dérange pas avec n’importe quel math fantaisie ou quoi que ce soit ici. Après avoir suivi les broches que j’ai vu qu’ils toujours enregistré un nombre autour de 20-30, à l’exception de la tige de que l’interrupteur a été actuellement tension d’alimentation à. Que la broche serait autour de quelque chose comme 500-600 (Désolé, ne me souviens pas le nombre exact). Alors j’ai juste le look de code pour une épingle c’est > 200, puis exécutez la partie correspondante du code que je veux pour cette position de l’interrupteur.

Croquis de boîte contrôle pour le contrôle de la circulation ARROWSTIK light bar, rédigé par Bradley S. Worthington-White

DÉFINITION DES CONSTANTES

Les relais utilisés sont normalement fermés, R_ON & R_OFF ci-dessous simplifier l’écriture l’esquisse d’un peu plus facile, retour de R_ON et de R_OFF pour les relais normalement ouverts

const int R_ON = faible ; Relais

const int R_OFF = élevé ; Relais OFF

définition NIP pour les feux de la rampe d’éclairage

const int LArrow = 2 ; Flèche vers la gauche (un voyant)

const int deux = 3 ; Deux feux extérieur à gauche

const int Centre = 4 ; Centrer les deux feux

const int RTwo = 5 ; Juste deux lumières extérieures

const int RArrow = 6 ; Flèche (une lumière) de droite

DÉFINITION DES VARIABLES

le waittime(s) ci-dessous est modifiés dans les différentes sections de l’esquisse, le cas échéant

waittime int ; waittime

int waittime2 ; deuxième waittime

int waittime3 ; et un troisième waittime

void setup()

{

s’assurer que tous les voyants sont éteints au démarrage ou reset

digitalWrite (RArrow, R_OFF) ;

digitalWrite (RTwo, R_OFF) ;

digitalWrite (Center, R_OFF) ;

digitalWrite (deux, R_OFF) ;

digitalWrite (LArrow, R_OFF) ;

déterminer les modes de la broche numérique pour les relais de commutation

pinMode (RArrow, sortie) ;

pinMode (RTwo, sortie) ;

pinMode (Centre, sortie) ;

pinMode (deux, sortie) ;

pinMode (LArrow, sortie) ;

modes de mettre broche analogique pour l’entrée le sélecteur en 5 position

pinMode (entrée, A1) ;

pinMode (entrée, A2) ;

pinMode (entrée, A3) ;

pinMode (entrée, A4) ;

pinMode (entrée, A5) ;

}

void loop()

{

Assurez-vous que la valeur de toutes les broches analogiques est zéro (0) au démarrage ou réinitialiser

analogWrite(A1,0) ;

analogWrite(A2,0) ;

analogWrite(A3,0) ;

analogWrite(A4,0) ;

analogWrite(A5,0) ;

Commutateur: / / lit la position de l’interrupteur et va à la section étiquetée dans sketch qui s’applique

Si (analogRead(A1) > 200) goto CA1 ;

ElseIf (analogRead(A2) > 200) goto LA1 ;

ElseIf (analogRead(A3) > 200) goto RA1 ;

ElseIf (analogRead(A4) > 200) goto AL1 ;

ElseIf (analogRead(A5) > 200) goto KR1 ;

KR1 : //Knight Rider

définition de waittime(s) pour cette séquence

waittime = 75 ;

waittime2 = 25 ;

digitalWrite(LArrow,R_ON) ;

Delay(waittime) ;

digitalWrite(LTwo,R_ON) ;

Delay(waittime2) ;

digitalWrite(LArrow,R_OFF) ;

Delay(waittime) ;

digitalWrite(Center,R_ON) ;

Delay(waittime2) ;

digitalWrite(LTwo,R_OFF) ;

Delay(waittime) ;

digitalWrite(RTwo,R_ON) ;

Delay(waittime2) ;

digitalWrite(Center,R_OFF) ;

Delay(waittime) ;

digitalWrite(RArrow,R_ON) ;

Delay(waittime2) ;

digitalWrite(RTwo,R_OFF) ;

Delay(waittime) ;

digitalWrite(RTwo,R_ON) ;

Delay(waittime2) ;

digitalWrite(RArrow,R_OFF) ;

Delay(waittime) ;

digitalWrite(Center,R_ON) ;

Delay(waittime2) ;

digitalWrite(RTwo,R_OFF) ;

Delay(waittime) ;

digitalWrite(LTwo,R_ON) ;

Delay(waittime2) ;

digitalWrite(Center,R_OFF) ;

Delay(waittime) ;

digitalWrite(LArrow,R_ON) ;

Delay(waittime2) ;

digitalWrite(LTwo,R_OFF) ;

Delay(waittime) ;

digitalWrite(LArrow,R_OFF) ;

Goto interrupteur ; chaque section retourne toujours pour passer pour vérifier si la position de l’interrupteur a changé

LA1 : séquence de direction //LEFT

waittime = (125) ; définition de waittime(s) pour cette séquence

waittime2 = (200) ;

waittime3 = (50) ;

digitalWrite (RTwo, R_ON) ; commence par allumer les lumières dans l’ordre de gauche à droite

Delay(waittime) ;

digitalWrite (Center, R_ON) ;

Delay(waittime) ;

digitalWrite (deux, R_ON) ;

Delay(waittime) ;

digitalWrite (LArrow, R_ON) ;

Delay(waittime) ;

digitalWrite (LArrow, R_OFF) ; Flèche gauche clignote s’allume après tout

Delay(waittime2) ;

digitalWrite (LArrow, R_ON) ;

Delay(waittime2) ;

digitalWrite (LArrow, R_OFF) ;

Delay(waittime2) ;

digitalWrite (LArrow, R_ON) ;

Delay(waittime2) ;

digitalWrite (LArrow, R_OFF) ;

tourner les lumières, de droite à gauche - rapidement

digitalWrite (RTwo, R_OFF) ;

Delay(waittime3) ;

digitalWrite (Center, R_OFF) ;

Delay(waittime3) ;

digitalWrite (deux, R_OFF) ;

Delay(waittime3) ;

Goto interrupteur ; Vérifiez la position de l’interrupteur

RA1: / / séquence de direction à droite

waittime = (125) ; définition de waittime(s) pour cette séquence

waittime2 = (200) ;

waittime3 = (50) ;

commence par allumer les lumières dans l’ordre de gauche à droite

digitalWrite (deux, R_ON) ;

Delay(waittime) ;

digitalWrite (Center, R_ON) ;

Delay(waittime) ;

digitalWrite (RTwo, R_ON) ;

Delay(waittime) ;

digitalWrite (RArrow, R_ON) ;

Delay(waittime) ;

Flèche droite clignote s’allume après tout

digitalWrite (RArrow, R_OFF) ;

Delay(waittime2) ;

digitalWrite (RArrow, R_ON) ;

Delay(waittime2) ;

digitalWrite (RArrow, R_OFF) ;

Delay(waittime2) ;

digitalWrite (RArrow, R_ON) ;

Delay(waittime2) ;

digitalWrite (RArrow, R_OFF) ;

tourner les lumières, de gauche à droite - rapidement

digitalWrite (deux, R_OFF) ;

Delay(waittime3) ;

digitalWrite (Center, R_OFF) ;

Delay(waittime3) ;

digitalWrite (RTwo, R_OFF) ;

Delay(waittime3) ;

Goto interrupteur ; Vérifiez la position de l’interrupteur

AL1: / / clignotant séquence avec lumière Centre équilibre et clignoter deux et RTwo des deux côtés du centre

waittime = (125) ; définition de waittime(s) pour cette séquence

waittime2 = (50) ;

Si (Centre == faible) cont goto ; évite de jouer avec la lumière du centre, après que c’est

digitalWrite(Center,R_ON) ;

CONT :

digitalWrite (deux, R_ON) ;

Delay(waittime) ;

digitalWrite (deux, R_OFF) ;

Delay(waittime2) ;

digitalWrite(LTwo,R_ON) ;

Delay(waittime) ;

digitalWrite(LTwo,R_OFF) ;

Delay(waittime2) ;

digitalWrite (RTwo, R_ON) ;

Delay(waittime) ;

digitalWrite (RTwo, R_OFF) ;

Delay(waittime2) ;

digitalWrite (RTwo, R_ON) ;

Delay(waittime) ;

digitalWrite (RTwo, R_OFF) ;

Delay(waittime2) ;

Goto interrupteur ; Vérifiez la position de l’interrupteur

CA1: / / lumières sur stable (sans clignoter), la flèche s’allume à chaque fin de séjour hors

waittime = (10) ; définition de waittime(s) pour cette séquence, juste un léger retard pour la stabilité

digitalWrite (Center, R_ON) ;

Delay(waittime) ;

digitalWrite (deux, R_ON) ;

Delay(waittime) ;

digitalWrite (RTwo, R_ON) ;

Delay(waittime) ;

Delay(1000) ; attend une seconde avant de vérifier la position du commutateur à nouveau

Goto interrupteur ; vérifier la position de l’interrupteur, mais vous saviez que par savez

} / / Fin

Articles Liés

Feux de signalisation / Stop Light câblage avec Arduino contrôleur

Feux de signalisation / Stop Light câblage avec Arduino contrôleur

j'ai toujours voulu une signalisation routière ancienne et finalement obtenu un récemment.  Toutefois, il a été câblé très simplement pour que toutes les lumières ont été fixés.  Quel plaisir est-ce ?  J'ai aussi voulu essayer un contrôleur Arduino e
Christmas Lights contrôleur de cellule photoélectrique

Christmas Lights contrôleur de cellule photoélectrique

Je ne sais pas pour votre région, mais, dans ma région contrôlée par photocellule Noël contrôleurs de lumière étaient :1) fou cher2) pas cher merde chinoise en plastique.Voici comment construire un contrôleur intempéries dans une boîte métallique sol
NESblinky - Nintendo contrôleur vélo Flasher

NESblinky - Nintendo contrôleur vélo Flasher

j'ai vu le concours « Light Up Your Ride », et j'ai réfléchi à ce qui pourrait être re-conçu pour accroître la visibilité de mon vélo, tout en l'aveuglant si tout va bien un automobiliste ou deux dans un accès de rage rétro. Je suis tombé sur une man
Light Bar éclairage ambiant

Light Bar éclairage ambiant

une barre de lumière peut éclairer votre maison grâce à l'utilisation de l'éclairage ambiant. Vous pouvez égayer les couloirs, ajouter un effet de lueur de décoloration derrière votre centre de divertissement, engendrent de nouveaux modèles dans les
Dirt cheap Arduino LED light bar !

Dirt cheap Arduino LED light bar !

Cette instructable a été conçue pour l'initiation à l'esprit, mais les utilisateurs avancés peuvent s'adapter facilement pour l'adapter à leurs besoins et désirs. Il utilise seulement quelques composants communs, donc vous ne devriez pas avoir beauco
Maison 100 HP moteur contrôleur pour une voiture électrique

Maison 100 HP moteur contrôleur pour une voiture électrique

cette instructable explique comment construire votre propre contrôleur de moteur de 100 CV (max.) pour une utilisation dans une conversion électrique de voiture ou moto.  Il peut prendre n'importe quelle tension jusqu'à 144v, et le courant de crête e
Comment construire un Arduino WiFi 4 x 4 avec contrôleur Android

Comment construire un Arduino WiFi 4 x 4 avec contrôleur Android

voitures RC peuvent être WiFi voitures...?Voitures RC sont cool, mais les voitures RC à bas prix ont une portée limitée et seulement peuvent être contrôlées avec le contrôleur spécifique fourni avec la voiture.J'ai acheté une jeep RC, équipée de 4 ro
Facile à construire contrôleur pas à pas à partir de matériaux recyclés

Facile à construire contrôleur pas à pas à partir de matériaux recyclés

*** vous pouvez voir plus de mes projets et mises à jour de mes projets actuels sur ***Pour le soutien à ce projet, s'il vous plaît utiliser le forum sur mon site. Allez sur http://colvins.ca et cliquez sur le lien du forum sur le côté bar.* **J'ai 1
Contrôleur de jeu USB Biofeedback

Contrôleur de jeu USB Biofeedback

en s'appuyant sur notre dernier tutoriel, qui vous a appris comment construire un capteur de muscle, nous avons décidé de vous donner un projet qui met vraiment en valeur la puissance de nos capteurs musculaires (EMG). Advancer "Contrôleur de jeu de
Comment faire un contrôleur PS2 Guitar Hero sur zéro

Comment faire un contrôleur PS2 Guitar Hero sur zéro

c'est mon deuxième thanx instructable, pour cliquer dessus ! Il n'est pas entièrement vrai ce que prétend le titre, vous devez bien sûr certains matériaux (en fait beaucoup), je voulais juste souligner que j'ai eu pas de guitare ou quoi que ce soit a
Multi-Color LED lampe utilisant une v.3 contrôleur LED canaux 8

Multi-Color LED lampe utilisant une v.3 contrôleur LED canaux 8

je voulais expérimenter avec l'aide de différente couleur LED, autres que le standard RVB, à créer des effets multicolores dans une lampe fonctionnelle.Cette lampe utilise Cyan, Magenta, jaune, violet et vert Aqua, Blue LED 5mm avec un dessus et en p
NDA contrôleur nuit lumière V2

NDA contrôleur nuit lumière V2

Une couple d'années il y a un fait un NDA contrôleur veilleuse en résine. Bien que j'ai été heureux avec la version finale, ce n'était pas une facile à faire. J'ai décidé de revenir sur cette build récemment après qu'un ami voulait me faire faire un.
Contrôleur de Time-lapse Panorama Arduino

Contrôleur de Time-lapse Panorama Arduino

Contrôleur de panorama pour caméras GoProLe contrôleur tournera votre GoPro sur un angle fixe pour une durée définie ou vous tournera GoPro pour une rotation complète pour une durée définie.Ce projet est basé sur l'original instructable par Tyler Win
Contrôleur d’Aquarium LED sans fil avec étincelles. CORE IO à TechShop

Contrôleur d’Aquarium LED sans fil avec étincelles. CORE IO à TechShop

Ici, je suis à TechShop avec un micro contrôleur incroyable de Spark.io appelé « Noyau ». J'avais l'intention d'utiliser un Arduino pour contrôler mon aquarium d'eau salée récif quand un ami m'a montré le coeur. Ce petit micro-contrôleur puissant est