C'est fait
Je posterai des photos de mon installation quand tout sera fini ! Merci à vous tous
Il y a 19 élément(s) pour romanepineill (recherche limitée depuis 05-mai 13)
Posté par romanepineill sur 17 juin 2016 - 03:02 dans Electronique
C'est fait
Je posterai des photos de mon installation quand tout sera fini ! Merci à vous tous
Posté par romanepineill sur 17 juin 2016 - 01:27 dans Electronique
YALLLLAAAAAAA !!!! MERCII !!! Je sais pas comment te remercier ! Donne moi ton adresse et je te fais livrer une bouteille de vin ! Je suis tellement soulagée, vraiment mille mille mercis !!
Posté par romanepineill sur 17 juin 2016 - 10:11 dans Electronique
Le code semble être le même... Pourtant ça ne marche toujours pas. Quand je charge ton fichier test sur mon arduino l'interface série marche correctement mais les led ne changent pas de couleurs (à part quand j'envoie un nouveau caractère, elles change une fois). Tu m'a déjà beaucoup aidé ! Je vois pas bien comment tu pourrai faire plus mais on sait jamais, je joins mon fichier, peut être que je n'ai pas vu quelque chose... Merci beaucoup !
Posté par romanepineill sur 16 juin 2016 - 07:12 dans Electronique
Merci ! Le programme marche un peu mieux.. mais toujours pas comme souhaité. La première frame de chaque bouton marche très bien, mais la suite pareil qu'avant, plein de points d'interrogation et seulements certaines led s'allument...
Posté par romanepineill sur 15 juin 2016 - 05:21 dans Electronique
Ahah j'ai essayé de comprendre mais là c'est peine perdue pour moi !
Les séries donnent ça maintenant :
Posté par romanepineill sur 15 juin 2016 - 09:46 dans Electronique
Le résultat n'est pas le même mais il ne donne pas de meilleurs effets :
Posté par romanepineill sur 14 juin 2016 - 10:30 dans Electronique
Oui, merci Jekert ! Effectivement je crois qu'il y a un souci :
Posté par romanepineill sur 14 juin 2016 - 10:03 dans Electronique
J'avoue que j'ai pas tout compris... Où est ce que je dois vérifier la suite RGB ?
Posté par romanepineill sur 14 juin 2016 - 11:24 dans Electronique
Merci cocothebo pour ta réponse. Je viens d'essayer, mais les led se comportent toujours de la même façon. La manip n'a transvasé que 1% de mémoire RAM vers la flash.
Sinon je me demandais si c'était possible de changer carrément l'arduino avec un Mega 2560 qui à l'aire d'avoir les même spécificités tout en bénéficiant de 8k de RAM ?
Posté par romanepineill sur 14 juin 2016 - 05:03 dans Electronique
J'ai fait la modification de la mémoire sur le projet plus léger. Résultat : les Led sont défaillantes aussi.
Le problème vient donc de la mémoire flash... Est-ce possible que ces led ne fonctionnent qu'en utilisant la RAM ?
Posté par romanepineill sur 14 juin 2016 - 04:22 dans Electronique
Oui c'est sûr que le faire seule est plus gratifiant.
Je suis vraiment novice donc le problème semblait très difficile à résoudre pour moi, mais c'est vrai qu'avec l'aide que je reçois c'est toute suite moins effrayant
Je poste mes deux codes en zip.
Je vais ajouter les fonctions à mon code plus léger mais je ne peux pas vraiment faire ça au fur et à mesure. Il est plus léger car il comporte moins de variables, je vais transférer la mémoire RAM en flash et voir si tout fonctionne toujours.
Posté par romanepineill sur 14 juin 2016 - 03:54 dans Electronique
Merci mike118, j'ai essayé avec ton code, ça a résolu le problème de vérification. Du coup j'ai testé sur les LED...et malheur ça ne marche pas !
Certains boutons acceptent d'allumer 3 Led (sur 50) et d'autre n'en allument carrément aucun... J'ai eu un peu peur alors j'ai chargé mon premier test de code qui est nettement plus léger et tout marche normalement
Posté par romanepineill sur 14 juin 2016 - 12:59 dans Electronique
Wow ! Je sais pas comment te remercier d'avoir pris le temps de m'écrire ça !!
J'ai essayé la première solution, la vérification du code se passe bien, mais effectivement c'est toujours pas suffisant pour la mémoire.
J'ai changé le code comme tu me l'a montré dans la deuxième solution, en revanche là, lors de la vérification j'ai le message d'erreur suivant :
Posté par romanepineill sur 12 juin 2016 - 12:46 dans Et si vous vous présentiez?
Merci pour l'accueil ! Oui en espérant que ce projet se finisse dans les meilleures conditions, je vous montrerai le résultat bien sûre !
Posté par romanepineill sur 11 juin 2016 - 07:48 dans Electronique
Ok merci beaucoup, si j'arrive à rencontrer quelqu'un je lui exposerai cette solution également.
Posté par romanepineill sur 11 juin 2016 - 07:29 dans Electronique
Du coup en modifiant le code comme R1D1 le dis, la mémoire sera suffisante sur mon arduino Leonardo ? La solution parait judicieuse mais j'ai quand même beaucoup de LEDs qui changent de couleur donc à voir..
Je n'ai pas les connaissances pour modifier le code seule... La personne avec qui je travaillais avait fait en sorte que ce soit facile pour moi, malheureusement elle est partie en vacances et ne peut plus m'aider sur ce projet.
Est-il possible de rencontrer quelqu'un pour me montrer comment faire la modification ? Et voir quelles autres alternatives il y a si cette option ne marche pas.
Posté par romanepineill sur 11 juin 2016 - 03:34 dans Et si vous vous présentiez?
Bonjour !
Je rejoins ce forum car je suis à la recherche d'aide pour un projet arduino.
Je suis étudiante en design graphique en 4ème année à l'ESAG Penninghen. Pour mon projet de fin d'année j'ai voulu faire une installation interactive, j'ai donc pensé à utiliser un arduino. Cependant arrivant presque à la date fatidique de l'exposition je rencontre un gros problème.
J'ai trouvé avec joie cette communauté de passionnés d'électronique, de robotique et de programmation en tout genre !
En espérant que mon projet intéressera certain d'entre vous et qu'il pourront me venir en aide
Posté par romanepineill sur 11 juin 2016 - 03:18 dans Electronique
#define BUTTON1 A0 #define BUTTON2 A1 #define BUTTON3 A2 #define BUTTON4 A3 #define BUTTON5 A4 #define LED1 11 #define LED2 10 #define LED3 9 #define LED4 5 #define LED5 6 #define arr_len( x ) ( sizeof( x ) / sizeof( *x ) ) int laststate=0; int runtimestate=1; uint8_t dataPin = 3; // Yellow wire on Adafruit Pixels uint8_t clockPin = 2; // Green wire on Adafruit Pixels Adafruit_WS2801 strip = Adafruit_WS2801(50, dataPin, clockPin); void setup() { strip.begin(); // Update LED contents, to start they are all 'off' strip.show(); //BUTTONS pinMode(BUTTON1,INPUT_PULLUP); pinMode(BUTTON2,INPUT_PULLUP); pinMode(BUTTON3,INPUT_PULLUP); pinMode(BUTTON4,INPUT_PULLUP); pinMode(BUTTON5,INPUT_PULLUP); // LEDS pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); pinMode(LED3,OUTPUT); pinMode(LED4,OUTPUT); pinMode(LED5,OUTPUT); } void loop() { checkButton(); showanim(); if(runtimestate==1) fadeLed(LED1); if(runtimestate==2) fadeLed(LED2); if(runtimestate==3) fadeLed(LED3); if(runtimestate==4) fadeLed(LED4); if(runtimestate==5) fadeLed(LED5); } void showanim() { // run once if(runtimestate == laststate) return; laststate= runtimestate; switch(runtimestate) { case 1: drawAnimation(anim1,anim1_frame_counter); break; case 2: drawAnimation(anim2,anim2_frame_counter); break; case 3: drawAnimation(anim3,anim3_frame_counter); break; case 4: drawAnimation(anim4,anim4_frame_counter); break; case 5: drawAnimation(anim5,anim5_frame_counter); break; } } void drawAnimation(int anim[][50], int framecount) { Serial.print("showing animation FRAMES:"); Serial.println(framecount); for(int i=0;i<framecount;i++) { //display frame for(int x=0;x<50;x++) { uint32_t c = Color(0,0,0); if(anim[i][x]=='r') c = Color(255,0,0); if(anim[i][x]=='g') c = Color(0,255,0); if(anim[i][x]=='b') c = Color(0,0,255); strip.setPixelColor(x, c); } strip.show(); // delay delay(animationspeed); } } /* Helper functions */ // Create a 24 bit color value from R,G,B uint32_t Color(byte r, byte g, byte { uint32_t c; c = r; c <<= 8; c |= g; c <<= 8; c |= b; return c; } void fadeLed(int led) { ledsoff(); for(int i=0;i<255;i++) { analogWrite(led,i); if(bd(2)) return; } if(bd(100)) return; for(int i=255;i>0;i--) { analogWrite(led,i); if(bd(2)) return; } } void ledsoff() { analogWrite(LED1,0); analogWrite(LED2,0); analogWrite(LED3,0); analogWrite(LED4,0); analogWrite(LED5,0); } int checkButton() { if(!digitalRead(BUTTON1)){ runtimestate=1; ledsoff(); analogWrite(LED1,255); return 1;} if(!digitalRead(BUTTON2)){ runtimestate=2; ledsoff(); analogWrite(LED2,255);return 1;} if(!digitalRead(BUTTON3)){ runtimestate=3; ledsoff(); analogWrite(LED3,255);return 1;} if(!digitalRead(BUTTON4)){ runtimestate=4; ledsoff(); analogWrite(LED4,255);return 1;} if(!digitalRead(BUTTON5)){ runtimestate=5; ledsoff(); analogWrite(LED5,255);return 1;} return 0; } int bd(int wait) { for(int i =0; i<wait;i++) { if(checkButton()) return 1; delay(1); } return 0 ; }Et chaque bouton est codé de cette manière :
#include "Adafruit_WS2801.h" #include "SPI.h" // Comment out this line if using Trinket or Gemma // milliseconds - defines how long each frame is displayed int animationspeed=800; // defines how many frames anim1 consists of int anim1_frame_counter=17; int anim1[][50]= { // frame #1 { 'b','b','g','r','r','r','g','g','r','g','r','r','r','g','g','r','r', 'r','r','r','g','r','g','r','r','r','r','g','r','r','b','b','b','b', 'b','b','b','g','r','g','g','r','g','r','g','r','g','r','g','r', }, { 'b','b','b','r','r','r','g','g','r','g','r','r','r','g','g','r','r', 'r','r','r','r','g','r','r','r','r','g','r','r','r','b','b','b','b', 'b','b','b','g','r','g','g','r','g','r','g','r','g','g','r','r', }, { 'b','b','b','r','r','r','g','g','r','g','r','r','r','g','g','r','r', 'r','r','r','r','g','r','r','r','r','g','r','r','r','b','b','b','b', 'b','b','b','b','r','g','g','r','g','r','g','r','g','g','r','r', }, { 'b','b','b','r','r','r','g','g','r','g','r','r','r','g','g','r','r', 'r','r','r','r','g','r','r','r','r','g','r','r','b','b','b','b','b', 'b','b','b','b','r','g','g','r','g','r','g','r','g','g','r','r', }, { 'b','b','b','r','r','r','g','g','r','g','r','r','r','g','g','r','r', 'r','r','r','r','g','r','r','r','r','g','r','r','b','b','b','b','b', 'b','b','b','b','r','g','g','r','g','r','g','r','g','g','r','r', }, { 'b','b','b','r','r','r','g','g','r','g','r','r','r','g','g','r','r', 'r','r','r','r','g','r','r','r','r','g','r','r','b','b','b','b','b', 'b','b','b','b','r','g','g','r','g','r','g','r','g','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','r','r','r', 'r','r','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','r','r','r', 'r','r','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','r','r','r', 'r','r','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','g','g','g', 'g','g','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','g','g', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','r','r','r', 'r','r','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','g','g','g', 'g','g','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','g','g', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','r','r','r', 'r','r','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','g','g','g', 'g','g','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','g','g', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','r','r','r', 'r','r','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','r','r', }, { 'b','b','b','b','b','r','r','r','g','g','r','g','r','r','g','g','g', 'g','g','r','r','r','r','r','r','g','r','r','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','r','g','r','g','r','g','g','g', }, { 'b','b','b','b','b','g','r','r','r','g','r','g','r','g','r','g','r', 'r','r','g','r','r','r','r','g','r','r','g','b','b','b','b','b','b', 'b','b','b','b','b','r','g','g','g','r','g','r','g','r','g','g', } };
Posté par romanepineill sur 11 juin 2016 - 12:27 dans Electronique
Bonjour,
Je ne sais pas si c’est le bon endroit, mais peut être que dans votre groupe vous connaissez quelqu’un qui puisse m’aider !
Je suis étudiante en Design Graphique et pour un projet de fin d’année j’ai voulu faire une installation interactive.
L’arduino semblait la bonne alternative car assez répandu, pas cher et facile d’accès !
Mon projet est un tableau de 2m de hauteur/ 45cm de large composé de 16/3 cases carrés dans lesquelles j’ai inséré des leds "12mm WS2801 pixel » .Les LED réagissent à 5 boutons. Ces 5 boutons correspondent à des suites de changement de lumières (RGB).
En commençant à coder je me suis rendu compte d’un énorme problème. Pour chaque bouton il faut environ 20 changement de lumières. Ce qui fait 100 variations au total. Ces suites (9K) sont trop lourde et la RAM de mon arduino Leonardo n’est pas suffisante.
Je cherche quelqu’un qui puisse retranscrire mon travail sur un appareil plus puissant. Raspberry ?
Vous pouvez me contacter pour parler rémunération.
Ça sauverai mon projet, dans lequel j’ai dépensé beaucoup de temps et d’énergie…
Merci,
Romane Pineill