Bonjour à tous,
Voila je suis cosplayeuse (je réalise des costumes basée sur de personnages de fiction : film, manga, jeux vidéo) et j'aimerais bien réaliser un costume avec des led pour rendre le même effet que dans l'anime d'ou est tiré le personnage.
Dans l'anime le costume d'illumine au niveau des bandes noire présentes sur l'image au niveau des poignets, cheville, taille, cou et serre tete
et pour simplifier les chose j'aimerais que les LED s'allumes pas toute en même temps histoire de donner un effet tournant autour du cercle
vidéo
Donc j'ai fais mes petits calcul et il va me falloir 220 LED sur tout le costume qui seront reparties dans 8 modules indépendant avec chacun :
-un jeu de pile (je sais pas trop encore lesquelles je vais prendre car il faut qu'elles soient assez petites ... mais aussi assez puissante pour pouvoir alimenté au max 30 LED)
-un PIC 8 pin pour la programmation
-une diode IR pour l'allumage a distance du module (il faut que je puisse allumé tous les modules en même temps via cette télécommande)
-des LED branché en parallèle
-et peu etre un ULN2803 car apparement on ne peu sortir que 20 ou 90mA par branche de PIC et il me faudrait 120mA au max ...
pour la programmation je sais ce que je dois faire ...j'ai déjà édité le code mais a mon avis il va falloir que je le réédite car je l'avais fait pour un Arduino mais je vais prendre des PIC ... donc je sais pas si c'est la même syntaxe ...
Sachant que je ne sais pas comment faire en sorte que le buttonPin soit en fait la diode IR ...Code:/*Boucle de programmation pour les LED*/ //declaration des variables int intervalon = 3000; int intervaloff = 500; int pas = 500; int buttonState = 0; //declaration des elements const int buttonPin = 6; const int ledPin1 = 1; const int ledPin2 = 2; const int ledPin3 = 3; const int ledPin4 = 4; const int ledPin5 = 5; void setup() { //initialisation des LED pinMode(ledPin1, OUTPUT); pinMode(ledPin2, OUTPUT); pinMode(ledPin3, OUTPUT); pinMode(ledPin4, OUTPUT); pinMode(ledPin5, OUTPUT); pinMode(buttonPin, INPUT); } void loop() { buttonState = digitalRead(buttonPin); if (buttonState == HIGH) { while (intervalon>0) { // deplacement etape 1 digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); delay(intervalon); // deplacement etape 2 digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, LOW); delay(intervalon); // deplacement etape 3 digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, HIGH); delay(intervalon); // deplacement etape 4 digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, HIGH); delay(intervalon); // deplacement etape 5 digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, HIGH); delay(intervalon); intervalon=intervalon-pas; } // final if(intervalon==0){ digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, HIGH); } } else if (buttonState == LOW) { while (intervaloff<intervalon) { // deplacement etape 1 digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, HIGH); delay(intervaloff); // deplacement etape 2 digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, LOW); delay(intervaloff); // deplacement etape 3 digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, HIGH); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); delay(intervaloff); // deplacement etape 4 digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, HIGH); digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, HIGH); delay(intervaloff); // deplacement etape 5 digitalWrite(ledPin1, HIGH); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, HIGH); digitalWrite(ledPin5, HIGH); delay(intervaloff); intervaloff=intervaloff+pas; } // final if(intervalon==intervaloff){ digitalWrite(ledPin1, LOW); digitalWrite(ledPin2, LOW); digitalWrite(ledPin3, LOW); digitalWrite(ledPin4, LOW); digitalWrite(ledPin5, LOW); } } }
Donc après pour le montage je vais branché toute les "LED A" à la branche du PIC qui correspond à la ledPin1, tout les B à celle ledPin2 etc...
Il faut que je les branches en parallèle il parait... bref
Je voudrais un petit coup de pouce pour le schémas du montage ... et pour me corriger mon code de programmation afin qu'il tourne sur le PIC et qu'il prenne en compte la diode IR ...
Une derniere chose; pour programmer mon PIC je voulais utiliser ce : 8 Pin PIC Development Board, c'est bon ou pas ? enfin ça va marcher ? ^^
merci d'avance à tous
-----