Attiny85 & chenillard - K2000 en charlieplexing

Parlez nous de vos projets et de vos idées, imaginez des applications

Attiny85 & chenillard - K2000 en charlieplexing

Message non lude EricDuino » Dim 22 Juil 2012 21:17

Pour continuer avec les travaux sur ATTiny85, j’ai eu l’idée de créer un chenillard à 12 leds, de quoi équiper un cartable à la K2000 ! Pour les chaussures c’est presque bon, il ne manque plus qu’a industrialiser !
J’utilise la technique du Charlieplexing : avec seulement 4 I/O on peut piloter 12 leds ( 20 avec les 5 I/O du ATTiny85, 380 avec les 20 I/O d’un ATMega328 !!!).

Le câblage des 12 leds en ligne est simple, le portage de mes « Croquis » UNO de Charlieplexing sur ATTiny85 est plus compliqué, j’ai donc validé le fonctionnement en écrivant ceci pour faire un K2000 :

Code: Tout sélectionner

/*
 EricDuino Juillet 2012
 ATTiny85 Charlie12
 4 sorties utilisées : P0 à P3
 
 This code is in the public domain.
 */

int interval = 10;
int activeLed = 11;
int nextLed = 1;

const int LEDS[12][2] ={
  {
    3, 2    }
  , //1  masse, 5V
  {
    2, 3    }
  ,
  {
    2, 1    }
  ,
  {
    1, 2    }
  ,
  {
    1, 0    }
  ,
  {
    0, 1    }
  ,
  {
    3, 1    }
  ,
  {
    1, 3    }
  ,
  {
    3, 0    }
  ,
  {
    0, 3    }
  ,
  {
    2, 0    }
  ,
  {
    0, 2    }
  ,  // 12
};



void setup() {
  //Setup vide !!!
}

// the loop routine runs over and over again forever:
void loop() {

  turnon(activeLed);
  delay(interval);
  alloff();
 
  if (activeLed == 0 || activeLed == 11) {
    nextLed = -nextLed ;
  }
  activeLed = activeLed + nextLed ;


} // faim de Loup !!


// LES FONCTIONS //

void alloff() {
  for(int i = 0; i < 4; i++)   {
    pinMode (i, INPUT);
  }
}

void turnon(int led) {
  int negpin = LEDS[led][0];
  int pospin = LEDS[led][1];
  pinMode (negpin, OUTPUT);
  pinMode (pospin, OUTPUT);
  digitalWrite (negpin, LOW);
  digitalWrite (pospin, HIGH);

}




Voici les photos du montage (avec schémas !) :

charlie12A.jpg
charlie12A.jpg (170.28 Kio) Vu 4575 fois


Le câblage à bien sûr été réalisé par ma Fille :

charlie12B.jpg
charlie12B.jpg (52.69 Kio) Vu 4575 fois


Prochaine Idée/Projet sur ATTiny85 : UN SIMON !
(3 Pin pour les 4 couleurs, 1 Pin pour les 4 boutons, 1 Pin pour la musique)
Si qqn souhaite participer/aider > un MP (je suis un peu sec pour le coup).
Avatar de l’utilisateur
EricDuino
 
Messages: 225
Inscription: Sam 5 Mai 2012 10:10
Localisation: Toulouse

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Lionel » Lun 23 Juil 2012 17:22

Encore une belle performance d'Eric et sa sous traitance low cost familiale, faire travailler les enfants tout de même !!! ;)

joli !! merci de ta contribution !
Image - Distributeur officiel Arduino - Conception de shields
Avatar de l’utilisateur
Lionel
 
Messages: 734
Inscription: Mar 21 Déc 2010 09:52
Localisation: Toulouse

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Cassiope34 » Lun 20 Aoû 2012 17:48

SUPER éric !

je suppose que l'ensemble est alimenté en 3V et consomme un peu quand même :twisted: :) :oops:

Accepterais-tu de jeter un oeil pour essayer de reproduire ce montage mais avec l'ATtiny85 bien sûr, et en gardant surtout l'idée d'économie d'énergie (DC/DC) 1.5V -> 5V ? :oops:

@+
Cassiope34
 
Messages: 102
Inscription: Lun 16 Avr 2012 14:35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude EricDuino » Lun 20 Aoû 2012 20:21

Merci ;)

Tout est relatif : 17mA/3V = 5mW, avec une CR2032 classique à 1€, compter une capacité de 200mAh, on doit pouvoir fonctionner durant 10 heures (60 heures avec 2 piles AA alcalines)

Utiliser un élévateur de tension continu (DC-DC Booster) n'est pas une source d'économie d'énergie. Je ne me suis pas encore lancé dans ce genre de réalisation, c'est un truc de ma liste de truc à expérimenter. Quand ?

Moi je peux considérer qu'en dehors de l'alim et du programme, le montage présenté ici reproduit le "Wave JT" avec les limitations I/O du ATtiny85 comparé au PIC16F1824.

Attention, "Wave JT" n'est ni OpenSource ni Arduino.

Si qqn souhaite porter des sequences de chenillard sur ce circuit "Charlieplexé", il reste une pin ATtiny85 libre pour le BP (on/off/seq/prog).

@+
Avatar de l’utilisateur
EricDuino
 
Messages: 225
Inscription: Sam 5 Mai 2012 10:10
Localisation: Toulouse

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Cassiope34 » Mar 21 Aoû 2012 18:02

EricDuino a écrit:Attention, "Wave JT" n'est ni OpenSource ni Arduino.

Pas Arduino, ça j'avais remarqué ;) mais effectivement, du fait qu'il est sur "Instructables" j'ai pensé qu'il était OpenSource, mais en fait, il ne donne que l'hex...!
C'est dommage car j'aurai bien aimé voir comment il a utiliser le PWM (car je ne crois pas que le PIC16F1824 dispose de 8 sorties PWM ! ) en contrôle de luminosité pour allumer/éteindre chaque led de manière douce... ça joue beaucoup sur le rendu !

EricDuino a écrit:Utiliser un élévateur de tension continu (DC-DC Booster) n'est pas une source d'économie d'énergie.

Je n'ai pas trop bien compris ce qu'est l'effet Joule Thief, mais sa mise en pratique semble apporter un plus au Booster DC/DC pour beaucoup plus d'autonomie...!

Effectivement ton montage ne consomme pas beaucoup non plus... (rapport taille/autonomie : 2 piles AAA)

Tu parles de limitation I/O de l'ATtiny85 comparé au 16F1824, mais tu pilotes plus de LED que lui avec le PIC grâce au Charlieplexing :D

Par contre je ne vois pas comment modifier ton code pour obtenir un effet d'allumage/extinction plus doux des leds ?

Merci à toi d'avoir jeté un oeil au "Wave JT" :) et bon courage pour le SIMON ;)

@+
Cassiope34
 
Messages: 102
Inscription: Lun 16 Avr 2012 14:35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude EricDuino » Mar 21 Aoû 2012 21:07

Pour le simili PWM en charlieplexing,rRegarde du côté du LOL shield ( http://snootlab.com/adafruit/287-lol-sh ... -vert.html ) .

@+
Avatar de l’utilisateur
EricDuino
 
Messages: 225
Inscription: Sam 5 Mai 2012 10:10
Localisation: Toulouse

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Cassiope34 » Mer 22 Aoû 2012 13:58

Merci éric,
n'étant pas super balaise en engliche, c'est pas évident de trouver le passage sur le simili PWM, car en CharliePlexing, il me semble bien que c'est précisément du PWM qui est utiliser pour allumer/éteindre les led voulues à une fréquence supérieure à 50Hz (persistance rétinienne), mais pour obtenir l'allumage/extinction progressive de chaque led, j'ai pas vraiment compris (ou trouvé) ;)

En tout cas pour ton petit projet de SIMON (CharliePlexé), j'ai trouvé ça pour toi... et aussi là pour les fréquences des sons et le couleurs... le code est donné en C, et il ne reste plus qu'à le transposer sur un ATtiny85 bien sûr :D :twisted:

@+
Cassiope34
 
Messages: 102
Inscription: Lun 16 Avr 2012 14:35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude SesechXP » Mer 22 Aoû 2012 15:51

Salut,

C'est juste une hypothèse, mais pour faire allumer et éteindre progressivement une LED, si on fait varier le rapport cyclique de la PWM, on devrait pouvoir faire varier l'intensité lumineuse. Et aller de l'allumage à fond (rapport cyclique élevé) à l'extinction (rapport cyclique faible). A votre avis ?
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Cassiope34 » Mer 22 Aoû 2012 18:49

oui, oui, tout à fait, sauf que là c'est pas du vrai PWM mais plutôt des séquences d'allumage/extinction judicieuse à plus de 50Hz minimum des diverses LEDs (donc des PinOUT) SELON le CharliePlexing, mais pour faire varier l'intensité d'une LED, j'ai l'impression que ce n'est pas possible individuellement...!
Le but était de voir s'il serait possible de faire des transitions allumage/extinction doux pour chaque LED, tout en disposant de tous les effets programmables voulus... ;)

@+
Cassiope34
 
Messages: 102
Inscription: Lun 16 Avr 2012 14:35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude EricDuino » Jeu 23 Aoû 2012 13:17

Je me répète peut-être, mais cela existe sur le LOL !
Avatar de l’utilisateur
EricDuino
 
Messages: 225
Inscription: Sam 5 Mai 2012 10:10
Localisation: Toulouse

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Cassiope34 » Jeu 23 Aoû 2012 13:40

Et oui éric, tu te répètes tout simplement parce que comme je te l'ai dit dans mon post, je suis une truffe en Engliche et je n'ai pas su trouver où c'était dans LOL :oops: :oops:

A part ça que penses-tu du MicroSimon ? bonne base pour ton petit projet sur ATtiny85 ?

@+
Cassiope34
 
Messages: 102
Inscription: Lun 16 Avr 2012 14:35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude EricDuino » Ven 24 Aoû 2012 21:46

Moi, c'est dans le PIC que je suis une truffe ;)
Côté Simon je reste sur ma version 328...
Côté Soft PWM sur Charlieplexing, je vais tenter d'explorer la lib du LOL.
C'est pas gagné.
Avatar de l’utilisateur
EricDuino
 
Messages: 225
Inscription: Sam 5 Mai 2012 10:10
Localisation: Toulouse

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Cassiope34 » Ven 24 Aoû 2012 22:29

L'essentiel c'est d'y arriver :D
Tu as vu qu'il donne le code en C, tout proche de ce qu'il faut pour l'arduino ;)

@+
Cassiope34
 
Messages: 102
Inscription: Lun 16 Avr 2012 14:35

Re: Attiny85 & chenillard - K2000 en charlieplexing

Message non lude Stéphane » Lun 27 Aoû 2012 10:19

Bravo Eric !

C'est une impression ou bien tes nombreuses publications récentes correspondent à tes semaines vacances ? :)

Sacré boulot en tout cas, et de bonnes idées/projets !
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40


Retourner vers Vos projets, vos idées

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron