Comment faire un Prototype Urban « Glowing concordance » (8 / 14 étapes)

Étape 8: Étape 8: Télécharger le Code de l’Arduino

• Télécharger programme Arduino

J’ai joint le code dans un fichier .zip. Voici le texte :

/*

À partir de 03:00 le 20 octobre 2012, il s’agit de la plupart des version de travail avec tout ce qu’il !
Cette version peut être téléchargée à 2 périphériques configurés avec un récepteur sans fil sur la broche 4
et un émetteur sans fil sur la broche 3 (et à partir de cette époque est actuellement sur les deux mes appareils de test)

Tour à tour sur et en dehors d’un système de rendement lumineux alimenté raccordé au numérique
broche 9 lorsqu’en appuyant sur un bouton poussoir relié à la broche 2.

Envoie un signal RF (un message de la lettre « A » par l’intermédiaire de VirtualWire) aux autres périphériques exécutant le même programme,
amenant à se comporter comme si leur touche a été enfoncée.

Sondages pour les messages de RF (à l’aide de la bibliothèque VirtualWire) ; réception de tout message sur le canal provoque unité
se comporter comme si la touche a été enfoncée.

TO : Sondage pour un message spécifique

Le circuit :
* LED joint de pin 13 à terre (pour le débogage)
* External lights circuit attaché jusqu'à la broche 9
* bouton poussoir joint à pin 2 de + 5V
* Résistance de K 10 attaché à la broche 2 du sol

Voir Sommaire de l’INB OmniGraffle diagramme pour un mashup de ce qui précède avec le circuit d’éclairage (sans dispositifs RF)
http://bildr.org/2011/03/High-Power-Control-with-Arduino-and-tip120/

créé 2005
par DojoDave < http://www.0j0.org>
mis à jour le 30 août 2011
par Tom Igoe
mis à jour le 20 octobre 2012
par Jason Taylor
mis à jour le 8 novembre 2012
par Thomas Deckert

Exemple de code original est dans le domaine public, y compris le code exemple bouton de
http://www.Arduino.cc/en/Tutorial/Button
et des exemples de transmission/réception de chantier VirtualWire

*/

#include < VirtualWire.h >

les constantes ne changeront pas. Ils sont utilisés ici pour
Définissez les codes pin :
const int buttonPin = 2 ;     le nombre de la tige poussoir
const int ledPin = 9 ;      le nombre de l’axe de rendement lumineux - n’oubliez pas « ledPin » ici signifie « feux extérieurs »
const int RF_TX_PIN = 3 ;    le nombre de l’axe pour l’émetteur
const int RF_RX_PIN = 4 ;    le nombre de la broche pour le récepteur
const int debugLED = 13 ;    le nombre de la broche pour le débogage (par défaut) a conduit sur le bouclier

variables vont changer :
buttonState booléen = false ;         variable pour la lecture de l’état de bouton poussoir
oldButtonState booléen = buttonState ;
ledState booléen = false ;
Boolean commencé = false ; démarre une séquence
long waitUntil = 0 ;
long startTime = 0 ;
long flashStartTime = 0 ;
holdTime int = 12000 ;  durée de la séquence de la cale
flashTime int = 15000 ;  durée de la séquence complète de flash
stroboscope int = 500 ;  durée d’un flash
Duree de l’int = 0 ;

void setup() {}
Serial.Begin(9600) ;
initialiser les broches de la LED en tant que sortie :
pinMode (ledPin, sortie) ;
initialiser la tige poussoir comme entrée :
pinMode (buttonPin, entrée) ;
vw_setup(2000) ;  Bits par seconde
vw_set_tx_pin(RF_TX_PIN) ; Le programme d’installation transmettre broche
vw_set_rx_pin(RF_RX_PIN) ;  Le programme d’installation recevoir code pin.
vw_rx_start() ;       Commencer l’exécution de PLL récepteur
}

void loop() {}

Chaque fois par le biais de loop(), affectez la même valeur que la variable d’État Pin 9
digitalWrite (ledPin, ledState) ;

lire la valeur du bouton au début de la boucle, avant de faire quoi que ce soit
buttonState = digitalRead(buttonPin) ;

déclencheurs plus léger temps chaque fois que vous appuyez sur le bouton--Ajouter debounce si le temps le permet
Si (buttonState! = oldButtonState) startSeq() ; toute modification d’état de bouton temps sur que nous ajoutons des temps de lumières

trucs pour gérer la réception d’un message d’un autre appareil
droit aussi s’étend maintenant temps même si le bouton a été activé sur place et en face, en même temps !

uint8_t buf [VW_MAX_MESSAGE_LEN] ;
uint8_t buflen = VW_MAX_MESSAGE_LEN ;
Si (vw_get_message (buf, & buflen)) {/ / Non-bloquant
int i ;
Serial.Print ("a:") ;
pour (i = 0; i < buflen; i ++) {}
digitalWrite (debugLED, en haut) ; test LED
Serial.println (buf [i], HEX) ;
}
digitalWrite (debugLED, faible) ;
startSeq() ; tout moment nous faire passer un message, nous ajoutons des temps de lumières sur
}


Si (démarré) {/ / le bouton est enfoncé, alors

code de clignotant de travail précédent
Si (millis() > = (flashStartTime)) {/ / si la LED a été plus souvent le temps d’attente...
Si (millis() < = (flashStartTime + flashTime)) {/ / inscrire séquence flash s’il n’a pas encore entré
Si (((millis() - flashStartTime) mode stroboscopique %) == 0) {/ / activer/désactiver chaque durée de stroboscope. PROBLÈME LIGNE ! (dit Jake)
ledState =! ledState ;
Serial.println(Millis() - flashStartTime, DEC) ;
}
}
else {(ledState = false); a commencé = false;} / / arrête après séquence flash
}
}

lire la valeur du bouton à la fin de boucle pour voir si ça change
oldButtonState = buttonState ;
}

void startSeq () {/ / donc actuellement si l’état du bouton change dans les deux sens nous obtenons un autre début de seq... ?

code pour envoi un message à un autre kit lumière
const char * msg = « A » ;
digitalWrite (debugLED, true) ; activer le débogage de LED
Serial.println("SS") ;
vw_send ((uint8_t *) msg, strlen(msg)) ;
vw_wait_tx() ; Attendez que le message entier a disparu
Serial.println("es") ;
digitalWrite (debugLED, false) ; désactiver le débogage de LED
fin du code pour l’envoi de message à un autre kit lumière

maintenant, nous allons obtenir les lumières sur ce mât clignotant !
commencé = true ;
startTime=millis() ; enregistrements lorsqu’ils sont dans le programme s’appuie sur le bouton
flashStartTime = startTime + holdTime ; séquence de clignotement commencera après la tenue de séquence
waitUntil = startMillis ;
ledState = true ; allumer la LED et lance la séquence de chaque fois que vous appuyez sur le bouton

}

Articles Liés

« Glow in the Dark », comment faire un bâton Glow réutilisables se

« Glow in the Dark », comment faire un bâton Glow réutilisables se

il s'agit de tutoriel vidéo sur comment faire un bâton de lueur en lueur dans le style sombre. Les matériaux dans cette expérience sont simples, résine époxy, de paille et une poudre de phosphore.Poudre de phosphore porte propriété de Phosphorescence
Comment faire la poudre phosphorescente « Glow in the Dark »

Comment faire la poudre phosphorescente « Glow in the Dark »

Comment faire la lueur phosphorescente dans la poudre noire. Également connu sous le nom luminescent, photoluminescent ou simplement briller en poudre.AVERTISSEMENT : Cette expérience utilise des produits chimiques faiblement toxiques, portez des gan
Comment faire pour prototype - syrofoam

Comment faire pour prototype - syrofoam

Il s'agit de la routineJe suis passé par faire bambou mu eau naturelle purifiante flacon prototype 1. Il inclut l'utilisation de différents outils.Cette instructable contiendra la routine simple et la plus simple lorsque vous remplissez un prototype
Comment faire un métronome

Comment faire un métronome

Salut tout le monde, c'est mon premier instructable. J'espère qu'il vous plaira !Dans ce instructable je vais vous montrer comment faire facilement un métronome électronique, au coeur de laquelle est une minuterie 555. J'ai trouvé les plans originaux
Comment faire un PIP-Boy (Prototype)

Comment faire un PIP-Boy (Prototype)

donc vous demandez ce qu'est exactement un PIP-Boy, ? Pour ceux qui ne connaissent, un PIP-Boy est un dispositif utilisé par le protagoniste de la populaire série de retombées des jeux vidéo pour la navigation, détection des radiations, stockage/lect
Comment faire Pen Glow Stick (bricolage maison Glow Stick)

Comment faire Pen Glow Stick (bricolage maison Glow Stick)

Faire des bâtons lumineux à la maison facile sans produits chimiques est un projet amusant, Cool et pas cher qui vous Will Change A Simple stylo en étonnant Glow Stick n'oubliez pas d'essayez à la maison.Étape 1: Vous aurez besoin ?StyloLED2 x 3v lit
Comment faire étonnant glow eau avec surligneur

Comment faire étonnant glow eau avec surligneur

Comment faire eau éclatante ? Vous devez utiliser plusieurs surligneurs fluorescents. Enlever les cartouches de leur part, presser et mélanger soigneusement avec de l'eau. À la lumière de lampu UV (ultraviolet) eau s'allume en lumière dans l'obscurit
Comment faire en cuivre Glow Red Hot avec de l’acétone

Comment faire en cuivre Glow Red Hot avec de l’acétone

dans cette vidéo, je vais vous montrer comment faire cuivre devient rouge chaud avec l'oxydation catalytique de l'acétone. Pour cette expérience scientifique, nous devrons juste acétone, fil de cuivre et une source de flamme pour chauffer au départ l
Comment faire votre propre substitut Sugru

Comment faire votre propre substitut Sugru

je l'appelle Oogoo, une argile de silicone peu coûteux qui est facilement réalisée. Il peut être utilisé comme un excellent substitut pour Sugru. Il peut être main moulé ou coulé dans des formes. Ou, il peut être utilisé comme un silicone de moulage.
Comment faire avion de RC

Comment faire avion de RC

Nous aimons les jouets RC, surtout les avions RC. Vous pouvez facilement en acheter un, mais vous ne pouvez pas personnaliser. Alors pourquoi ne pas faire ? Dans ce instructable je vais vous montrer comment faire le travail entièrement avion de RC.Pa
Comment faire un générateur solaire Portable

Comment faire un générateur solaire Portable

Comment faire un générateur solaire PortablePourquoi le solaire ?Actuellement, l'énergie solaire est la source d'énergie renouvelable plus propre et plus abondante disponible. L'énergie solaire est totalement gratuit et ne produit aucun polluant. La
Comment faire une Instructable (guide des nouveaux arrivants)

Comment faire une Instructable (guide des nouveaux arrivants)

Bonjour et Bienvenue sur mon instructable . En cela, je vais vous montrer comment faire un Instructable (Guide complet). Il est très facile et j'espère que vous aimez il.Ce que dit Wikipedia sur instructablesDiplômé du MIT Media Lab, Wilhelm et Griff
Comment faire pour rendre votre jeu

Comment faire pour rendre votre jeu

Vous avez l'envie de faire votre propre jeu sur table ? Vous avez une idée que vous avez toujours voulu essayer ou vous êtes pleins d'idées pour les jeux mais ne savez pas par où commencer ? Vous souhaitez qu'il soit assez bon pour que votre famille
Comment faire un cintre plante hors de corde

Comment faire un cintre plante hors de corde

je vais vous montrer comment faire un cintre plante hors de corde. Une recherche rapide sur etsy pour cintres plante corde donne plusieurs cintres plante de macramé, généralement axés sur les attelages et square noeuds. Dans ce instructable, je vais