Simple POV w/Ardweeny - Persistence of Vision (6 / 6 étapes)

Étape 6: Le Code

/ Code pour le projet Arduino vélo POV
Le code d’origine provient d’une découverte de l’internet qui est remarquée dans les commentaires
J’ai grandement modifié

Quelques questions :
sans un capteur hall, on sera obligé de jouer avec le temps entre les mots pour obtenir une image raisonnablement stable

Arduino vélo POV
//
par Scott Mitchell
www.OpenObject.org
Open Source urbanisme
//
Copyright (C) 2008 Scott Mitchell 10/12/2008
//
Ce programme est un logiciel libre : vous pouvez le redistribuer et/ou le modifier
elle aux termes de la GNU General Public License telle que publiée par
la Free Software Foundation, soit la version 3 de la licence, ou
(selon votre choix) toute version ultérieure.
//

//============================================================
6/2011 fortement modifiée par c. Dubois pour mon projet POV
Capteur Hall est un commutateur, alors j’ai utilisé le code différent pour elle
également utilisé un font.h que j’ai trouvé
// ------------------------------------------------------------

définition de l’alphabet
#include « font.h »

définir les broches de l’Arduino LED en cours d’utilisation
const int [] LEDpins = {}
1,2,3,4,5,6,7} ;

nombre de LEDs
const int charHeight = sizeof(LEDpins) ;
const int charWidth = 5 ;
var int = 0 ;
int worddelay = 50000 ;

installation du capteur
const int sensorPIN = 0 ;  définir la broche du capteur Arduino

sensorFlag booléen = false ;  stocke l’état de la sonde
int sensVal ;  variable pour stocker la valeur provenant de la sonde

const char textString [] = "CLAIRE" ;
const char [textString2] = "est un" ;
const char [textString3] = "HONEY" ;
const char [textString4] = "BADGER" ;

void setup()
{
pinMode (13, sortie) ;
pinMode (1, sortie) ;
pinMode (sortie 2) ;
pinMode (3, sortie) ;
pinMode (sortie 4) ;
pinMode (5, sortie) ;
pinMode (6, sortie) ;
pinMode (7, sortie) ;


Serial.Begin(9600) ;
}

void loop()
{
Led s’allume pour un cercle au milieu et preuve qu’arduino est alimenté
digitalWrite (13, HIGH) ;   la valeur de la LED sur


sensVal = analogRead(sensorPIN) ;  lire le capteur à effet Hall

Serial.println(sensVal) ;
retard (500) ;

Si (sensVal! = 1023) {}

Allumer les leds pour vérifier qu’ils fonctionnent et créer des cercles
digitalWrite (1, haut) ;   la valeur de la LED sur
Delay(500) ;
digitalWrite (2, haut) ;   la valeur de la LED sur
Delay(500) ;
digitalWrite (3, élevée) ;   la valeur de la LED sur
Delay(500) ;
digitalWrite (4, élevée) ;   la valeur de la LED sur
Delay(500) ;
digitalWrite (5, HIGH) ;   la valeur de la LED sur
Delay(500) ;
digitalWrite (6, HIGH) ;   la valeur de la LED sur
Delay(500) ;
digitalWrite (7, HIGH) ;   la valeur de la LED sur

délai pour laisser le ventilateur à la vitesse
retarder (3000) ;

impression de toutes les lettres de la textString
puis les textstring2 claires et impression
var = 0 ;
alors que {(var < 200)
faire quelque chose de répétitif 150 fois


pour (int k = 0; k < sizeof(textString); k ++) {}
printLetter(textString[k]) ;
}

var ++ ;
espace entre les mots
delayMicroseconds(worddelay) ;
}

effacer les LEDs
digitalWrite (1, faible) ;   déclencher la LED
digitalWrite (2, basse) ;   déclencher la LED
digitalWrite (3, faible) ;   déclencher la LED
digitalWrite (4, faible) ;   déclencher la LED
digitalWrite (5, faible) ;   déclencher la LED
digitalWrite (6, faible) ;   déclencher la LED
digitalWrite (7, faible) ;   déclencher la LED

délai entre les phrases
retard (500) ;



//   ------------------------------
--Maintenant deuxième phrase---

var = 0 ;
tandis que (var < 100) {}
faire quelque chose de répétitif 75 fois

pour (int k = 0; k < sizeof(textString2); k ++) {}
printLetter(textString2[k]) ;
}

var ++ ;
espace entre les mots
delayMicroseconds(worddelay) ;
}

effacer les LEDs
digitalWrite (1, faible) ;   déclencher la LED
digitalWrite (2, basse) ;   déclencher la LED
digitalWrite (3, faible) ;   déclencher la LED
digitalWrite (4, faible) ;   déclencher la LED
digitalWrite (5, faible) ;   déclencher la LED
digitalWrite (6, faible) ;   déclencher la LED
digitalWrite (7, faible) ;   déclencher la LED

délai entre les phrases
retard (500) ;



--maintenant faire troisième phrase---

var = 0 ;
tandis que (var < 100) {}
faire quelque chose de répétitif 200 fois

pour (int k = 0; k < sizeof(textString3); k ++) {}
printLetter(textString3[k]) ;
}

var ++ ;
espace entre les mots
delayMicroseconds(worddelay) ;
}
effacer les LEDs
digitalWrite (1, faible) ;   déclencher la LED
digitalWrite (2, basse) ;   déclencher la LED
digitalWrite (3, faible) ;   déclencher la LED
digitalWrite (4, faible) ;   déclencher la LED
digitalWrite (5, faible) ;   déclencher la LED
digitalWrite (6, faible) ;   déclencher la LED
digitalWrite (7, faible) ;   déclencher la LED

délai entre les phrases
retard (250) ;
--maintenant faire quatrième phrase---

var = 0 ;
alors que {(var < 175)
faire quelque chose de répétitif 200 fois

pour (int k = 0; k < sizeof(textString4); k ++) {}
printLetter(textString4[k]) ;
}

var ++ ;
espace entre les mots
delayMicroseconds(worddelay) ;
}
}
//  }

//  -------------------  Functions _________________

Sub printLetter(char ch)
{
Veillez à ce que le personnage est dans les limites de l’alphabet (définis dans le fichier font.h)
Si ce n’est pas le cas, faire un caractère blanc



Si (ch < 32 || ch > 126) {}
ch = 32 ;
}
soustraire le caractère espace (convertit le nombre ASCII pour le numéro d’index de polices)
ch-= 32 ;
faire défiler chaque octet du tableau personnage
pour (int i = 0; i < charWidth; i ++) {}
b octets = police [ch] [i] ;

peu de changement par le biais de l’octet et de sortie sur la broche
pour (int j = 0; j < charHeight; j ++) {}
digitalWrite (LEDpins [j]!! (b & (1 << j))) ;

}
espace entre les colonnes

delayMicroseconds(425) ;
}
effacer les LEDs
digitalWrite (1, faible) ;   la valeur de la LED sur
digitalWrite (2, basse) ;   la valeur de la LED sur
digitalWrite (3, faible) ;   la valeur de la LED sur
digitalWrite (4, faible) ;   la valeur de la LED sur
digitalWrite (5, faible) ;   la valeur de la LED sur
digitalWrite (6, faible) ;   la valeur de la LED sur
digitalWrite (7, faible) ;   la valeur de la LED sur

espace entre les lettres
delayMicroseconds(2600) ;

}

Articles Liés

Persistence of Vision babiole. Décoration de POV.

Persistence of Vision babiole. Décoration de POV.

Persistence Of Vision babiole. Décoration de POVC'est le moment de l'année pour obtenir l'arbre et de décorer avec toutes les merveilleuses lumières, guirlandes et boules. Et ce projet avoisine les babioles, chaque fois que j'ai mis des décorations s
(POV) Persistence Of Vision Globe

(POV) Persistence Of Vision Globe

! Mise à jour ! J'ai ajouté un programme excel qui le rend beaucoup plus facile de dessiner et de coder de nouvelles images !Une simple persistance du globe de vision. Lire la vidéoIl s'agit d'un projet que j'ai eu à l'esprit depuis un certain temps
Simple POV Display avec bouclier POV

Simple POV Display avec bouclier POV

POV affichages sont superbes créations en utilisant simplement les LEDs et peu de codage. POV écrans en utilisant Arduino sont une des choses plus simple et la plus fascinantes, on peut faire.Le bouclier POV est disponible sur eBay... cliquez ici pou
Lumières de roue simples POV

Lumières de roue simples POV

ce Instructable vous montrera comment faire feux POV pour roues de vélo qui génèrent des modèles et couleurs aléatoires et ne requièrent pas de compétences particulières ni plaquettes de circuits électroniques. Quand j'ai vu une lumière de singe j'ai
Bouclier d’arduino maison simple POV

Bouclier d’arduino maison simple POV

A le sergent Hartman (Full Metal Jacket) dit pendant le fusil prier « il y en a beaucoup comme lui, mais celui-ci est le mien »Étape 1: matérielEn effet, il y a beaucoup de projet comme disponibles sur internet.Celui-ci utilise un interrupteur à basc
Persistence of Vision LED affichage

Persistence of Vision LED affichage

Voulait créer une filature LED semblable à ceci, mais il ont envoyer des notifications issues des tweets, mails ou autres notifications.Étape 1 :Nous avons décidé de diviser le projet en plusieurs composantes.Étape 2: Motor Controller/Interenet Inter
Simple POV clignotant LED

Simple POV clignotant LED

le peuple de nice de Jameco (www.jameco.com) Envoyez-nous une boîte pleine de composants.  L'omniprésent 555 était là et donc un tas de leds.  Permet de faire quelques sources de lumières clignotantes alors !Etape 1: Le circuit Ici vous pouvez téléch
Bon marché 16F84 POV Message - ASC

Bon marché 16F84 POV Message - ASC

il s'agit d'un poste de projet de LEDs. Le projet est appelé POV (Persistence Of Vision). Si vous n'êtes pas familier avec ce concept, il fonctionne comme un écran à matrice LED.La différence est que POV affichage se compose d'une colonne de LEDs seu
Remplir platine Lab & POV Business Card

Remplir platine Lab & POV Business Card

Introduction_______________________________________________________________________Si il y a beaucoup de Instructables sur certains aspects de la façon de faire des cartes de circuits imprimés, celui-ci est différent. C'est une instructable sur la fa
POV (persistance rétinienne) affichage avec IRled

POV (persistance rétinienne) affichage avec IRled

Aujourd'hui je vais présenter le POV (Persistence of Vision) affichage avec carte WIZwiki-W7500ECO.Avez-vous déjà entendu parler de POV avant ?Vous pouvez consulter le détail des POV ici.(Voir étape 1)C'est vraiment amusant projet.Je vous permettra d
7 segments pov 16F84

7 segments pov 16F84

Il s'agit d'un post sur l'écran POV (Persistence of Vision) qui utilise un 7 segments.En bref, j'ai fait ce petit projet comme une preuve de concept de quelque chose que j'ai toujours remarqué dans nombreux appareils électroniques, ceux utilisés affi
ATtiny85 POV Display

ATtiny85 POV Display

La première fois j'ai vu un affichage POV (Persistence Of Vision) a été un spectacle appelé FAQ à la télévision. L'écran des POV se composait d'un arbre oscillant avec 6 LED monté sur l'extrémité de l'arbre.Depuis lors j'ai toujours voulu faire un mo
Affichage de 10 $ de ATtiny85/45 POV!! (fonctionne très bien)

Affichage de 10 $ de ATtiny85/45 POV!! (fonctionne très bien)

Hé les gars ! Il s'agit d'une Instructable pour faire votre propre écran de (Persistence Of Vision) ATtiny85/45 5 LED POV !Il s'agit de mon deuxième Instructable, également pour le concours de LED élémentaire, alors déposer un commentaire et votez po
MicroView POV

MicroView POV

c'est l'un des builds plus faciles et plus simples que j'ai fait jusqu'à présent, mais les résultats sont assez impressionnants. Il s'agit d'un grand projet pour les débutants.C'est un conseil simple POV afficher. Si vous ne savez pas quel un afficha