Arduino Lilypad Interactive Passion détection écharpe (6 / 7 étapes)

Étape 6: Arduino Sketch

J’ai ajouté moutons originales Ethan Dicks sculpture esquisse à cette étape. Je vais ajouter un fichier de dessin mis à jour à une date ultérieure, lorsque j’ai finalisé la conception. Ceci obtiendra au moins vous avez commencé avec deux écharpes de travail.

/ * ++ Moutons - utilisent une combinaison de RGB et LED IR et un capteur photoélectrique d’imiter la foule réagissant comportement (émergent), copiez le code suivant va avec le fusible usine atelier « Faire an Emergent comportement Sculpture avec l’Arduino » http://thefusefactory.org/2009/09/03/make-an-emergent-behavior-sculpture-with-the-arduino/ l’a, ou les « moutons », est un assemblage artistique d’un kit Lilypad Pro (base Lilypad attaché à une unité d’alimentation de 5V Ilusyon) avec un tri-color LED monté sur la MCU 328V sur le plateau de Lilypad. Un grand Protoboard de Lilypad se trouve entre le bloc d’alimentation et le Lilypad lui-même pour acheminer la puissance et d’organiser les résistances et les composants de l’IR. L’illusion d’un quadraped est complétée par 1W et 2W LED soudé à l’UAP « corps » et plié en tant que de jambes. Le code dépend d’une variable persistante, appelée « mood » - lorsqu’elle est nulle ou presque nulle, le mouton est « heureux ». Au-dessous de zéro et le mouton est « solitaire » ; au-dessus de zéro et de l’estime de moutons bondé ou agité. Solitude est représentée par le bleu, le bonheur par green et agitation de rouge. Entre exprimant "mood" (à l’aide de PWM à le pour ombre de la LED RGB), la partie principale du code vérifie les impulsions de l’IR d’autres brebis et peut émettre ses propres impulsions à "crier" pour les autres moutons. En ajustant les variables internes, les moutons peuvent être plus ou moins sensibles aux appels d’autres ovins. Le comportement émergent sort lorsque plusieurs moutons sont assemblés et posées sur une table, criant à l’autre. La bourrasque d’impulsions IR peut induire la brebis à être heureux ou peut-être agité. Quelques impulsions et le mouton présente la solitude. Sheep.PDE - transformer un Arduino en une sculpture de comportement émergent Copyright (C) 2009, Ethan Dicks ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier sous les termes de la GNU General Public License telle que publiée par la Free Software Foundation, soit la version 3 de la licence, ou (à votre choix) toute version ultérieure. Ce programme est distribué dans l’espoir qu’il sera utile, mais sans aucune garantie ; sans même la garantie implicite de qualité marchande ou d’ADEQUATION a un usage particulier. Voir la GNU General Public License pour plus de détails. Vous devriez avoir reçu une copie de la licence publique générale GNU avec ce programme. Si non, voir.--* / / * ++ initialisation Variable - avant le début du code, mettre tous les paramètres utilisateur-réglable en haut afin qu’ils soient faciles à modifier. --* / / / Définition des valeurs de « mood » #define MOODMAX 80 #define MOODMIN (-1 * MOODMAX) #define solitaire (MOODMIN) #define HAPPY (0) #define BONDÉ (MOODMAX) #define MSTEPS 5 #define BLEAT_VOLUME 1 / / Global définitions de possiblité de broche (pour simplifier les appels de fonction individuelle) int statusPin = 13 ; LED de contrôle embarqué est connecté à la broche numérique 13int redPin = 11 ; Pétale de R le module LED RVB connecté à la broche numérique 11int greenPin = 9 ; Pétale de G sur le module LED RVB connecté à la broche numérique 9int bluePin = 10 ; Pétale de B sur le module LED RVB connecté à la broche numérique 10int sensorPin = 5 ; Phototransistor IR connecté à la broche numérique 5int irPin = 6 ; IR LED connectée à la broche numérique 6 / / commencer s’attendant à être int heureux humeur = HAPPY ; Garder une trace de ce sens de le œil d’entrée pinint = 0 ; Et n’oubliez pas comment « loud », nous sommes « bêlement"(clignotant nos LED IR) int bêlement = BLEAT_VOLUME ; / * ++ setup() - l’environnement Arduino appellera le code dans setup() une fois seul, juste après que le jury est remis à zéro. Mettre le code dans cette fonction pour initialiser les broches e/s et autres - choses qui doivent seulement être fait une fois au cours d’une course. --* / voidconfiguration() {/ / pour le débogage Serial.begin(9600) ; Serial.println ("moutons v0.02") ; Pour la plupart, nos broches d’e/s sont sorties à LEDs pinMode (statusPin, sortie) ; définit le statusPin être une sortie pinMode (redPin, sortie) ; définit le redPin être une sortie pinMode (greenPin, sortie) ; définit le greenPin être une sortie pinMode (bluePin, sortie) ; définit le bluePin pour être une sortie pinMode (irPin, sortie) ; définit l’irPin faire une sortie / / une seule exception est le IR phototransistor pinMode (sensorPin, entrée) ; définit le sensorPin être une entrée Serial.print ("réglage IR ' bêlement" à") ; Serial.println(bleat) ; analogWrite (irPin, bêlement) ; } / * ++ loop() - l’environnement Arduino appelle le code de cette boucle pour toujours. Mettez ici des choses intéressantes qui sont destinés à être exécuté sans cesse après que setup() est appelée une seule fois. Le seul moyen de sortir de cette boucle est de réinitialiser la carte. --* / voidloop() / / run maintes et maintes fois {/ / Set nos LED RGB pour refléter notre "mood", qui je l’espère changera de temps en temps set_mood(mood); / / ralentir à quelle vitesse nous réagissons aux autres delay(100) 'moutons'; / / retard pendant 1 seconde / / sensorPin a une résistance de 10 K pullup, donc * non * lumière signale un 1. Il faut / / inverser le sens logique de la broche si nous voulons penser logiquement de la lumière / / 1-est-sur/0-est-off œil = 1 - digitalRead(sensorPin) ; la valeur oeil 1 si nous « voir » tout IR lumière / / rapport notre statut présent à chaque fois la boucle Serial.print (« humeur est") ; Serial.Print(Mood) ; Serial.Print("
. Capteur est ") ; Serial.println(Eye) ; Si nous voyons des impulsions d’une autre « mouton », incrémenter l’humeur, mais MOODMAX pas passé si (œil) {/ / puisque les humains ne peut pas « voir » la lumière infrarouge, utiliser la LED d’État comme un indicateur visible digitalWrite (statusPin, HIGH); / / écho détection d’entrée IR sur le statut LED humeur += MSTEPS * 2; if (humeur > MOODMAX) {humeur = MOODMAX;}} / / si nous ne voyons aucune impulsions IR, decrement, l’humeur, mais d’autre pas ci-dessous MOODMIN {/ / puisque les humains ne peut pas « voir » la lumière infrarouge , utiliser la LED d’État comme un indicateur visible digitalWrite (statusPin, basse) ; l’écho de détection d’entrée IR sur le statut LED humeur = 1 ; Si (humeur < MOODMIN) {humeur = MOODMIN;}} } / * ++ set_mood - convert « humeur » à un jeu de couleurs Mood varie d’un nombre négatif à cette même valeur comme un nombre positif (jusqu’ici, -80 / 80 et -100 / + 100 produisent des résultats raisonnables). Toutes proportions gardées, le continuum de l’humeur au mappage de couleur semblable au suivant : humeur -100 + 100 0 Lonely -> Happy -> CrowdedR 0 0 0 30 100 G 0 30 100 70 0 b 100 70 0 0 0--* / void set_mood (int humeur) {/ / commencer avec chaque couleur étant off - ajuster le haut issu des rougeurs unsignedchar "mood" = 0; unsignedchar verdeur = 0; unsignedchar bleu = 0; #ifdef DEBUG Serial.print (« humeur est") ; Serial.println(Mood) ; #endif / / bleu est tout à propos de humeur étant moins si alors heureux (humeur < HAPPY) {bleu = abs(mood) ; verdeur = MOODMAX + humeur;} / / rougeur est tout au sujet d’être d’humeur plus que heureux elseif (humeur > HAPPY) {rougeur = humeur ; verdeur = MOODMAX - humeur;} / / verdure est quelque humeur étant deux heureux d’autre {verdeur = MOODMAX;} / / Set la LED pour refléter la couleur de notre humeur actuelle (rougeur, vert, bleu) ; } / * ++ couleur (r, g, b) - définir le tricolore a conduit à la valeur demandée de couleur utilise analogWrite (pin, valeur) à la valeur PWM pour chaque couleur individuelle de LED la LED tricolore est un dispositif commun-anode, donc à prendre à la légère, nous au sol la goupille désirée. Pour inverser le signal PWM, nous soustrayons notre intensité souhaitée de 255, afin que, par exemple, si nous voulons rouge, logiquement, nous passent autour d’une valeur de zéro, mais la valeur PWM sur 255 afin que la broche est entraînée haute 100 % du temps. Pour obtenir du rouge à la luminosité maximale, nous passent autour d’une valeur logique de 255, mais la valeur PWM sur 0, tirant sur cette broche bas 100 % du temps.--* / void couleur (unsignedchar rouge, unsignedchar verte, unsignedchar bleu) / / la couleur fonction génératrice {#ifdef DEBUG Serial.print("color(") ; Serial.Print(Red,hex) ; Serial.Print(Blue,hex) ; Serial.Print(Green,hex) ; Serial.println(")") ; #endif / / inverser le sens de la valeur PWM lorsque vous appelez analogWrite() pour chaque couleur analogWrite (redPin, 255-rouge) ; analogWrite (bluePin, 255-bleu) ; analogWrite (greenPin, 255-vert) ; }

Articles Liés

Arduino LilyPad canard dynastie Hoodie avec les témoins sonores et LED

Arduino LilyPad canard dynastie Hoodie avec les témoins sonores et LED

j'ai fait un chandail à capuchon canard dynastie sur le thème avec un LilyPad Arduino qui a 3 interrupteurs de capteur de fermeture à glissière pour activer les 3 actions/programmes différents à l'arrière de la capuche. La fermeture à glissière est l
Enderman en colère avec Arduino Lilypad

Enderman en colère avec Arduino Lilypad

Nous allons créer un enderman amigurumi dont les yeux flash et corps shakes, tout comme un enderman en colère !Pour ce projet, vous aurez besoin :Lilypad Arduino (un Lilypad ProtoSnap Development Board a été utilisé ici)2 tri-LED (on vient auprès de
Stand d’Arduino Amiibo interactif.

Stand d’Arduino Amiibo interactif.

Pourquoi ?J'adore la collecte Amiibo. Attendez... Permettez-moi de corriger cela. Je ne peux pas arrêter la collecte amiibo. Ils sont impressionnants à utiliser dans les jeux ou les afficher dans votre chambre. Mais que se passe-t-il si vous pourriez
Arduino réveil avec détection humaine

Arduino réveil avec détection humaine

Il s'agit d'un Arduino projet basé sur un réveil tha peut détecter si quelqu'un est sur le lit ou non, ça c'est possible par un capteur résistif, placé sous le matelas qui peut détecter si quelqu'un est sur le matelas ou non par la différence de pres
Arduino lumière & Knock détection de serrure de porte

Arduino lumière & Knock détection de serrure de porte

il s'agit d'un gadget grand pour un club secret et pour les gens comme moi qui semblent toujours à perdre leurs clés ! Ce projet est basé sur l'original Secret Knock Lock instructable par Grathio (disponible ci-dessous) avec les modifications princip
Arduino All the Things - détection de lumière

Arduino All the Things - détection de lumière

il s'agit d'une boule de cristal magique humeur vous pouvez le faire avec arduino alors Let ' s goÉtape 1: vous avez besoin ! de faire ce truc stupide pour animaux de compagnie, j'ai utilisé 5 LEDs RVB (sortie numérique), les résistances, fils, un ca
LilyPad Arduino e-Reader Case

LilyPad Arduino e-Reader Case

pour une classe de jeunes et de la technologie, nous avons attribué la création d'un projet Arduino LilyPad.  J'ai aimé l'idée de relier le projet LilyPad à l'alphabétisation, donc j'ai choisi de faire une affaire Kindle qui serait jouer de la musiqu
LilyPad Arduino Totoro peluche avec parapluie

LilyPad Arduino Totoro peluche avec parapluie

matériaux :Pour Totoro :Feutre: 1 noir, 3 gris, 1 blanc, 1 beigeAiguilleFil noirFarce de poly-filPapier cartonnéCiseauxBrochesStylo ou craiePeluche de Totoro DIY tutoriel iciTotoro modèle iciPour le parapluie :3 ou 4 différents types de tissuFeutre:
Faire un Mod (v0.1) - vibrant, détection ouverte-matériel personnel masseur plate-forme

Faire un Mod (v0.1) - vibrant, détection ouverte-matériel personnel masseur plate-forme

Ce projet vous est présenté par Comingle.io, le sextoy Open-Sourcesociété. Nous lançons une toute nouvelle campagne de crowdfunding à http://igg.me/at/mod afin de financer la production de masse d'un nouveau gode complètement hackable. Il vous permet
Tacuino : une faible coût, modulaire, compatible Arduino plate-forme éducative

Tacuino : une faible coût, modulaire, compatible Arduino plate-forme éducative

Pour mes cours de soft-circuit, nous avons utilisé un préprogrammé circuit (Attiny85), ou bien le plus cher compatible Arduino Lilypad USB. Je voulais quelque chose entre ces deux extrêmes qui seraient :Facile à construire par les débutantsLow cost,
Choisir la bonne carte Arduino :

Choisir la bonne carte Arduino :

Cette instructable vous aidera à choisir la bonne carte Arduino pour vos projets et pour vos début dans le domaine de l'Arduino, donc je vais essayer de le rendre aussi simple que possible.Il y a beaucoup de variantes de l'arduino, donc les différenc
Arduino programmées par Firefly LEDs sur Sac feutré à la main

Arduino programmées par Firefly LEDs sur Sac feutré à la main

C'était mon tout premier projet nécessitant un codage. Mon idée était de créer un sac feutré qui avait quelques LEDs qui se décolorent et se fanent dehors au hasard, comme des lucioles. Il devait être assez et pas trop geek, donc j'ai beaucoup travai
Intro à l’Arduino

Intro à l’Arduino

An Arduino est une carte de développement open source microcontrôleur. En langage clair, vous pouvez utiliser l'Arduino pour lire les capteurs et de contrôler les choses comme les moteurs et les lumières. Cela vous permet de télécharger des programme
Arduino personnalisé Micro Quadcopter Concept

Arduino personnalisé Micro Quadcopter Concept

modifier le 14 avril : Désolé les gars pour l'entrée tardive. vie a été très agitée ces derniers temps pour moi puisque nous avons dû remplacer un tuyau d'égout enterré dans notre maison est située sur la dalle de béton. Mais nous avons fait des prog