Faire un écrivain d`air dirigé pov pour moins de 5 $

Vous pouvez faire toutes sortes de choses avec LED clignotantes, et ce projet simple, nous allons faire un petit appareil qui éclaire les messages dans l`air quand vous agitez avant et en arrière. Il est plus facile que vous le pensez, et le coût total des pièces est inférieur à 5 $.

Ce projet utilise une illusion d`optique appelé la persistance de la vision pour faire apparaître le texte dans l`air. Vous avez probablement rencontré ce phénomène quand on déplace un cierge magique allumé rapidement la nuit. Nous allons utiliser un Arduino et quelques LED pour imiter cet effet. Ce projet est simple à construire, avec peu de composants et peu de soudure (mais si vous voulez quelques conseils sur la mise en route avec votre chèque de fer à souder sur ce guide).Apprenez à souder, avec ces conseils et projets simplesApprenez à souder, avec ces conseils et projets simplesÊtes-vous un peu intimidé par la pensée d`un fer chaud et le métal en fusion? Si vous voulez commencer à travailler avec l`électronique, vous allez avoir besoin d`apprendre à souder. Aidons.Lire la suite

Tu auras besoin de

  • Arduino (j`ai utilisé un Nano $ 2 car il est compact et pas cher, mais tout modèle doit être fine).
  • 5x LED rouges.
  • 5x résistances 220 ohms.
  • support de batterie 1x 9v.
  • 1x interrupteur à bascule.
  • 1x morceau de protoboard.
  • Un boîtier pour le produit fini (I utilisé une petite boîte en carton peint en noir).

Vous aurez également besoin d`un fer à souder et une soudure pour mettre tous ensemble.

Bien que facultative, une mèche de soudure peut être très utile dans le cas où vous faites des erreurs de soudure. A certains et breadboard fil de montage sont également utiles pour tester votre circuit.

Composants requis pour le projet

câblage

Le câblage ne pouvait pas être plus simple. Tout d`abord, brancher vos Arduino, LED et résistances comme indiqué dans ce schéma.

pov Fritzing

Pins D2 à D6 vers chaque résistance respectivement, qui sont fixés à l`anode positive (branche longue) de chaque LED. La cathode est connectée à la masse, qui se connecte à l`arrière Arduino. Quand il l`a fait devrait ressembler à ceci:

pov breadboard

C`est: notre circuit est fait! Nous ajouterons un boîtier de batterie et un interrupteur pour plus tard, mais cela est tout ce que nous devons vérifier si cela fonctionne.

Code

Maintenant brancher votre Arduino à l`ordinateur et ouvrez l`Arduino IDE. Si vous êtes nouveau à l`aide de l`Arduino et que vous voulez un bon guide sur l`obtention d`aller, ce lien Sera utile.Mise en route avec Arduino: Guide du débutantMise en route avec Arduino: Guide du débutantArduino est une plate-forme de prototypage électronique open source basée sur flexible, facile à utiliser du matériel et des logiciels. Il est destiné aux artistes, designers, amateurs, et toute personne intéressée par la création d`objets interactifs ou des environnements.Lire la suite

Ouvrez une nouvelle esquisse et copier ce code. Le code a été modifié de ce projet et vous pouvez le télécharger en entier à ce Gist.

// combien de temps chaque led reste alluméint temporisation = 1-// combien de temps entre chaque int charBreak = 3-// combien de temps attendre après que le message est terminé avant qu`il répèteint ResetTime = 20-int LED1 = 2-int LED2 = 3-int LED3 = 4-int LED4 = 5-int DEL5 = 6-vide installer(){pinMode(LED1, SORTIE)-pinMode(LED2, SORTIE)-pinMode(LED3, SORTIE)-pinMode(LED4, SORTIE)-pinMode(DEL5, SORTIE)-}int une[] = {1, 6, 26, 6, 1}-int b[] = {31, 21, 21, dix, 0}-int c2[] = {14, 17, 17, dix, 0}-int[] = {31, 17, 17, 14, 0}-int e[] = {31, 21, 21, 17, 0}-int F[] = {31, 20, 20, 16, 0}-int g[] = {14, 17, 19, dix, 0}-int h[] = {31, 4, 4, 4, 31}-int je[] = {0, 17, 31, 17, 0}-int j[] = {0, 17, 30, 16, 0}-int k[] = {31, 4, dix, 17, 0}-int l[] = {31, 1, 1, 1, 0}-int m[] = {31, 12, 3, 12, 31}-int n[] = {31, 12, 3, 31, 0}-int o[] = {14, 17, 17, 14, 0}-int p[] = {31, 20, 20, 8, 0}-int q[] = {14, 17, 19, 14, 2}-int r[] = {31, 20, 22, 9, 0}-int s[] = {8, 21, 21, 2, 0}-int t[] = {16, 16, 31, 16, 16}-int u[] = {30, 1, 1, 30, 0}-int v[] = {24, 6, 1, 6, 24}-int w[] = {28, 3, 12, 3, 28}-int X[] = {17, dix, 4, dix, 17}-int y[] = {17, dix, 4, 8, 16}-int z[] = {19, 21, 21, 25, 0}-int eos[] = {0, 1, 0, 0, 0}-int sauf[] = {0, 29, 0, 0, 0}-int ques[] = {8, 19, 20, 8, 0}-int espace[] = {0, 0, 0, 0, 0}-vide displayLine(int ligne){int myline-myline = ligne-si (mylinegt; =16) {digitalWrite(LED1, HAUTE)- myline-=16-} autre {digitalWrite(LED1, FAIBLE)-}si (mylinegt; =8) {digitalWrite(LED2, HAUTE)- myline-=8-} autre {digitalWrite(LED2, FAIBLE)-}si (mylinegt; =4) {digitalWrite(LED3, HAUTE)- myline-=4-} autre {digitalWrite(LED3, FAIBLE)-}si (mylinegt; =2) {digitalWrite(LED4, HAUTE)- myline-=2-} autre {digitalWrite(LED4, FAIBLE)-}si (mylinegt; =1) {digitalWrite(DEL5, HAUTE)- myline-=1-} autre {digitalWrite(DEL5, FAIBLE)-}}vide displayChar(carboniser c){si (c == `une`){pour (int je = 0- je lt;5- je++){displayLine(une[je])-retard(temporisation)-}displayLine(0)-}si (c == `B`){pour (int je = 0- je lt;5- je++){displayLine(b[je])-retard(temporisation)-}displayLine(0)-}si (c == `C2`){pour (int je = 0- je lt;5- je++){displayLine(c2[je])-retard(temporisation)-}displayLine(0)-}si (c == `ré`){pour (int je = 0- je lt;5- je++){displayLine([je])-retard(temporisation)-}displayLine(0)-}si (c == `E`){pour (int je = 0- je lt;5- je++){displayLine(e[je])-retard(temporisation)-}displayLine(0)-}si (c == `F`){pour (int je = 0- je lt;5- je++){displayLine(F[je])-retard(temporisation)-}displayLine(0)-}si (c == `g`){pour (int je = 0- je lt;5- je++){displayLine(g[je])-retard(temporisation)-}displayLine(0)-}si (c == `H`){pour (int je = 0- je lt;5- je++){displayLine(h[je])-retard(temporisation)-}displayLine(0)-}si (c == `je`){pour (int il = 0- il lt;5- il++){displayLine(je[il])-retard(temporisation)-}displayLine(0)-}si (c == `J`){pour (int je = 0- je lt;5- je++){displayLine(j[je])-retard(temporisation)-}displayLine(0)-}si (c == `K`){pour (int je = 0- je lt;5- je++){displayLine(k[je])-retard(temporisation)-}displayLine(0)-}si (c == `L`){pour (int je = 0- je lt;5- je++){displayLine(l[je])-retard(temporisation)-}displayLine(0)-}si (c == `M`){pour (int je = 0- je lt;5- je++){displayLine(m[je])-retard(temporisation)-}displayLine(0)-}si (c == `N`){pour (int je = 0- je lt;5- je++){displayLine(n[je])-retard(temporisation)-}displayLine(0)-}si (c == `O`){pour (int je = 0- je lt;5- je++){displayLine(o[je])-retard(temporisation)-}displayLine(0)-}si (c == `P`){pour (int je = 0- je lt;5- je++){displayLine(p[je])-retard(temporisation)-}displayLine(0)-}si (c == `Q`){pour (int je = 0- je lt;5- je++){displayLine(q[je])-retard(temporisation)-}displayLine(0)-}si (c == `R`){pour (int je = 0- je lt;5- je++){displayLine(r[je])-retard(temporisation)-}displayLine(0)-}si (c == `S`){pour (int je = 0- je lt;5- je++){displayLine(s[je])-retard(temporisation)-}displayLine(0)-}si (c == `T`){pour (int je = 0- je lt;5- je++){displayLine(t[je])-retard(temporisation)-}displayLine(0)-}si (c == `U`){pour (int je = 0- je lt;5- je++){displayLine(u[je])-retard(temporisation)-}displayLine(0)-}si (c == `V`){pour (int je = 0- je lt;5- je++){displayLine(v[je])-retard(temporisation)-}displayLine(0)-}si (c == `W`){pour (int je = 0- je lt;5- je++){displayLine(w[je])-retard(temporisation)-}displayLine(0)-}si (c == `X`){pour (int je 
Articles connexes