Arduino BlinkyBall projet

que je fréquente un blog intitulé hackaday.com qui présentait un projet de « Nikolai », c’était une boule de LED de 10cm qui utilisé des registres à décalage. On dirait un très amusant projet de tentative, mais le coût d’avoir les planches faites & ne pas avoir n’importe quelle expérience envoyant dessins eagle à fab boutiques au départ m’a empêché de partir.  Après une planification, j’ai décidé de faire mes propres conseils à la main, même si en raison de ce choix, j’aurais à intensifier la dimension de conception rationnelle et réduire le nombre de "tranches".

J’ai commencé avec trou rectangulaire de 2200 PCB de RadioShack et à l’aide de digues de coupe que j’ai fait moitié conseils de cercle avec une découpe dans le centre à pour adapter le module de traitement, la batterie lipo et le chargeur.  Chaque tranche se compose de 2 - registres à décalage de 8 bits, 16 LED & 16 résistances.   Il y a 8 tranches au total donc là mènent 128 s, que j’utilise et Arduino nano 3.1 de makershed.com avec une pâte de lipo et chargeur disponible à sparkfun.com.  Afin de s’adapter à ces tranches pour former une sphère, j’ai utilisé PCB circulaire que j’ai trouvé à radioshack.  J’ai utilisé un dremel à coupe chaque 45 degrés pour chacune des tranches minces pour se glisser dans les fentes, le paquet est livré avec 3 tailles et 2 de chaque, j’ai utilisé la taille moyenne.  J’ai ajouté un accéléromètre de 2125 mesmic parallaxe à la carte principale dans le centre d’initiation à la sphère.  Vous facturez la LiPo pâte via un port mini USB situé dans le centre, recharge dure 1 heure environ et dure 45 minutes.

Je tenais à remercier Nikolai pour l’insperation & Null espace Labs HackerSpace pour leur prendre sur le projet.  J’ai également écrit Charlie là-bas pour obtenir son entrée sur l’animation de la spirale et il était très gentil et serviable.  Je vais poster tout le code que j’ai utilisé dans le cas où quelqu'un est intéressé.  Je ne dirais pas que je suis le plus compétents programmeur & am encore à apprendre donc être aimable.

Liens : www.hackaday.com/2011/10/16/we-want-this-led-ball/ //Original
http://charliex2.wordpress.com/2012/02/11/The-Blinky-ball-nullspacelabs/ //Null espace Labs dans LA réalisa une version vraiment cool

Code :

int clockPin = 13 ; IC broche 11, pull jaune
int dataPin = 11 ; IC broche 14, cavalier bleu
int latchPin = 8 ; Axe de l’IC 12, cavalier vert

const int XPSous = 2 ;     X sortie de l’accéléromètre
const int yPin = 3 ;     Sortie Y de l’accéléromètre

mot des patrons [176] = {}
0b1100000000000000,
0b0110000000000000,
0b0011000000000000,
0b0001100000000000,
0b0000110000000000,
0b0000011000000000,
0b0000001100000000,
0b0000000110000000,
0b0000000011000000,
0b0000000001100000,
0b0000000000110000,
0b0000000000011000,
0b0000000000001100,
0b0000000000000110,
0b0000000000000011,
0b0000000000000001,

0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b1010111010001101,
0b0110101010011010,
0b0101010010011100,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,

0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b1010111010001101,
0b0110101010011010,
0b0101010010011100,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,

0b1100000000000000,
0b0110000000000000,
0b0011000000000000,
0b0001100000000000,
0b0000110000000000,
0b0000011000000000,
0b0000001100000000,
0b0000000110000000,
0b0000000011000000,
0b0000000001100000,
0b0000000000110000,
0b0000000000011000,
0b0000000000001100,
0b0000000000000110,
0b0000000000000011,
0b0000000000000001,
0b0000000000000001,
0b0000000000000011,
0b0000000000000110,
0b0000000000001100,
0b0000000000011000,
0b0000000000110000,
0b0000000001100000,
0b0000000011000000,
0b0000000110000000,
0b0000001100000000,
0b0000011000000000,
0b0000110000000000,
0b0001100000000000,
0b0011000000000000,
0b0110000000000000,
0b1100000000000000,

0b1100000000000000,
0b0110000000000000,
0b0011000000000000,
0b0001100000000000,
0b0000110000000000,
0b0000011000000000,
0b0000001100000000,
0b0000000110000000,
0b0000000011000000,
0b0000000001100000,
0b0000000000110000,
0b0000000000011000,
0b0000000000001100,
0b0000000000000110,
0b0000000000000011,
0b0000000000000001,
0b0000000000000001,
0b0000000000000011,
0b0000000000000110,
0b0000000000001100,
0b0000000000011000,
0b0000000000110000,
0b0000000001100000,
0b0000000011000000,
0b0000000110000000,
0b0000001100000000,
0b0000011000000000,
0b0000110000000000,
0b0001100000000000,
0b0011000000000000,
0b0110000000000000,
0b1100000000000000,

0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b1010100100111110,
0b1010110100100101,
0b1010101001101111,
0b1100101111010101,
0b1111011010101010,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000,
0b0000000000000000

};

int index = 17 ;
int count = sizeof (patrons) / 2 ;
oldy unsigned int = 0 ;

void setup()
{

initialiser la communication série :
Serial.Begin(9600) ;
initialiser les broches reliés à l’accéléromètre
comme entrées :
pinMode (xPin, entrée) ;
pinMode (yPin, entrée) ;

pinMode (latchPin, sortie) ;
pinMode (clockPin, sortie) ;
pinMode (dataPin, sortie) ;

}

void loop()
{

accelorometer() ;

}

Sub accelorometer()
{

variables pour lire les largeurs d’impulsion :
int pulseX, pulseY ;
variables pour contenir les accélérations qui en résulte
int accelerationX, accelerationY ;

lu impulsion de x - axes et y :
pulseX = pulseIn(xPin,HIGH) ;
pulseY = pulseIn(yPin,HIGH) ;

convertir la largeur d’impulsion en accélération
accelerationX et accelerationY sont en milli-g ' s :
la gravité terrestre est 1000 milli-g ' s, soit 1 gramme.
accelerationX = ((pulseX / 10) - 500) * 8 ;
accelerationY = ((pulseY / 10) - 500) * 8 ;

imprimer l’accélération
Serial.Print ("X:") ;
Serial.Print(accelerationX) ;
imprimer un caractère de tabulation :
Serial.Print("\t") ;
Serial.Print ("y") ;
Serial.Print(accelerationY) ;
Serial.println() ;

if(accelerationY == oldy) {}
Count = count + 1 ;
Si (comte > = 500) {}
pour (fois int = 0; fois < = 160 ; fois ++) {}
idleTime() ;
}
Count = count - 50 ;
}
} else {}
Count = count - 1 ;
Si (comte < = 0) {}
Count = 0 ;
}
}

int ywordPos = carte (accelerationY, -1023, 1023, 0, 16) ;

registerOne octets = highByte(patterns[ywordPos]) ;
registerTwo octets = lowByte(patterns[ywordPos]) ;

digitalWrite (latchPin, basse) ;
shiftOut (dataPin, clockPin, MSBFIRST, registerOne) ;
shiftOut (dataPin, clockPin, MSBFIRST, registerTwo) ;
digitalWrite (latchPin, HIGH) ;

oldy = accelerationY ;

}

Sub idleTime()
{
registerOne octets = highByte(patterns[index]) ;
registerTwo octets = lowByte(patterns[index]) ;

digitalWrite (latchPin, basse) ;
shiftOut (dataPin, clockPin, MSBFIRST, registerOne) ;
shiftOut (dataPin, clockPin, MSBFIRST, registerTwo) ;
digitalWrite (latchPin, HIGH) ;
Delay(65) ;
index ++ ;
Si (index > = count) {}
indice = 17 ;

}
}

http://www.youtube.com/watch?v=r2yADpGnyyc
Mots clés: Arduino, Sphère, LED Ball

Articles Liés

Comment utiliser Inkscape pour les étiquettes de l’Arduino et projets

Comment utiliser Inkscape pour les étiquettes de l’Arduino et projets

Il y a un an je suis tombé sur un article dans les noix et les Volts Magazine faire professionnels regardant panneaux pour les projets. L'article est en ligne et il explique beaucoup mieux que je peux, avec beaucoup plus de détails. Je vous invite à
Arduino LCD projet pour mesurer la Distance

Arduino LCD projet pour mesurer la Distance

Bonjour:)Peut être vous ne savez pas comment utiliser un capteur à ultrasons pour mesurer la distance avec un écran LCD, donc dans ce instructable j'ai décidé de vous faire plaisir et vous aider à démarrer. Ce capteur est très populaire parmi les Gee
Pont basculant de Londres automatique du (Arduino selon projet étudiant)

Pont basculant de Londres automatique du (Arduino selon projet étudiant)

Salut tout le monde ! Ce Instructable vous montre comment faire un automatiqueModèle Londres Bascule Bridge facilement en utilisant Arduino UNO, capteurs IR et moteur pas à pas. La structure du modèle est faite de la feuille d'acrylique. Nous avons u
10 LED Chaser sur Arduino mini projet

10 LED Chaser sur Arduino mini projet

COMPOSANTS UTILISÉS1 - Arduino(i am using a uno, but you can use any) 1 - pain-Conseil 10 - 220 résistances de Ohm (bandes rouges, rouges et bruns) 10 - LEDs (n'importe quelle couleur... J'utilise 5 mm rouges) Misc. Branchement fil - voir plus à :Pou
Projet de puissance faible Arduino.

Projet de puissance faible Arduino.

Bonjour Mesdames et MessieursRécemment, j'ai décidé que je vais étudier la bibliothèque de dormir Arduino et voir combien de temps je peux obtenir un Arduino pour fonctionner d'un seul N size1.5v batterie. Oui ! d'un 1.5V piles. Si vous êtes intéress
Double tension régulée alimentation pour Arduino/microcontrôleur projets

Double tension régulée alimentation pour Arduino/microcontrôleur projets

quelques mois auparavant, quand j'ai eu tout d'abord mes mains sur Arduino Uno, je n'avais aucune idée d'où que 3,3 v puissance à côté de la broche 5V provient, ou plus exactement, j'ai ne pas vraiment y penser jusqu'à ce que j'ai dû faire mes propre
Chargeur automatique de nourriture de poisson à l’aide d’Arduino Uno

Chargeur automatique de nourriture de poisson à l’aide d’Arduino Uno

Dans cette Instructables, je vais vous montrer comment construire un Chargeur automatique de nourriture des poissons. Si vous n'avez pas n'oubliez pas de nourrir vos poissons tous les jours car votre Arduino le fera pour vous. Vous pouvez également d
Base d’Arduino - système de contrôle de puissance pour RPi voiture PC

Base d’Arduino - système de contrôle de puissance pour RPi voiture PC

Bonjour à tous ! Je suis Michalis Vasilakis du www.ardumotive.com et dans le présent guide je vais vous montrer comment faire un système de contrôle électrique simple - base d'Arduino - pour RPi Car PC.Ce système est conçu pour éviter l'arrêt brutal
Nous allons aller voler un cerf-volant... avec un Arduino là-dessus !

Nous allons aller voler un cerf-volant... avec un Arduino là-dessus !

Bonjour à tous ! Je suis Michalis Vasilakis de www.ardumotive.com et dans cette Instructables, je vais vous montrer comment faire votre propre système d'Arduino IOT pour votre aile !Ce système sera capable de mesurer des valeurs en temps réel de la p
Mot de passe Arduino débloquer porte sécurité système

Mot de passe Arduino débloquer porte sécurité système

Salut! Dans ce guide de Instructables, je vais vous montrer comment faire votre propre mot de passe à déverrouiller le système de porte à l'aide de la carte de Arduino uno. J'ai fait mon propre circuit en utilisant le microcontrôleur ATmega328 mais i
Arduino Bluetooth contrôlée ouvre-porte électrique

Arduino Bluetooth contrôlée ouvre-porte électrique

Salut! Dans ce guide de Instructables, je vais vous montrer comment faire vos propres Bluetooth contrôlée à déverrouiller le système de porte à l'aide de la carte de Arduino uno. J'ai fait mon propre circuit en utilisant le microcontrôleur ATmega328
Arduino à rebours avec les boutons de réglage

Arduino à rebours avec les boutons de réglage

Dans ce guide de Instructables, je vais vous montrer comment faire votre propre compte à rebours Arduino deux chiffres. J'ai fait mon propre circuit en utilisant le microcontrôleur ATmega328 mais il s'agit d'une étape facultative. Dans ce guide je va
Programme un chapelet de lumières de Noël à clignoter le code morse avec Arduino & Snap Circuits

Programme un chapelet de lumières de Noël à clignoter le code morse avec Arduino & Snap Circuits

c'est un projet de mon fils Dylan (9) et j'ai mis ensemble en utilisant une platine Arduino, un ensemble de Circuit Snap et un chapelet de lumières de Noël.Ce que vous devez :Un Arduino : Un Arduino est un ordinateur sur un circuit unique que vous po
Arduino IOT : Température et humidité (avec WiFi ESP8266)

Arduino IOT : Température et humidité (avec WiFi ESP8266)

Bonjour à tous ! Je suis Michalis Vasilakis de www.ardumotive.com et dans cette Instructables, je vais vous montrer comment faire votre propre thermomètre de l'Internet des choses (IOT) à l'aide de la carte de Arduino uno.Vous pouvez l'utiliser à la