PDA

View Full Version : Montage d'un chenillard avec picaxe



electrique5
18-01-2012, 11:48
Bonjour
je souhaiterais avoir de plus amples informations pour réaliser un chenillard avec un effet K2000 voir vidéo ...
http://www.youtube.com/watch?v=g5UujCR02Fk

pour la programmation je pense pas que ca va me poser souci mais c'est le montage en faite je vois pas comment controler 16 LED avec un seul microcontroleur
si vous avez un schéma comment je pourrais réaliser ce genre de montage.
je possède actuellement les picaxe suivant :
8M2 x 1
16F684 x2
14M2 x2
20M2 x2

Je vous remercie par avance

PieM
19-01-2012, 19:10
Bonjour,

Commander 16 leds avec un démultiplexeur 4 vers 16 est chose courante, mais ne permet l'allumage que d'une led à la fois. A moins de jouer sur le persistance rétinienne, je ne vois pas beaucoup de solution.
Au mieux il faudrait se limiter à 15 leds en utilisant toutes les sortie du 20M2

electrique5
19-01-2012, 19:35
merci pour votre réponse mais j'ai un peu de mal a comprendre vous dite 15 leds avec un 20M2 avec une led par sortie mais ce dernier possède que 8 sorties je vois pas comment mettre 15 Leds avec seulement 8 sorties
voici une capture d'écran de logicator le logiciel que j'utilise pour la programmation des picaxe vous constaterez que sur cette interface ont peu activer seulement que 8 sorties.
Désolé j'utilise depuis peu les picaxes j'essaie de comprendre leurs fonctionnement.
Merci

10166

PieM
19-01-2012, 20:42
Non sur le 20 M2 les entrées/sorties sont configurables...

Si Logicator ne permet pas de définir les entrées sorties sur la gamme M2, c'est un autre problème . Mais désolé, je n'utilise pas ce mode de programmation.

electrique5
20-01-2012, 11:05
merci pour votre réponse effectivement logicator permet pas de faire ce genre de manipulation par contre il possède une fonction basic pour écrire du code manuellement.
je n'ai pas trouver de code basic pour activer une entrée comme sortie mise a part ceci - let dirsB = %11110000
est- ce que cette fonction est valide sur un 20M2 car j'ai tester et cela ne fonctionne pas
avez-vous un petit code qui permettrait d'alimenter une led sur une entrée du picaxe 20M2 a partir de la je vais essayer de comprendre le fonctionnement puis de faire une réalisation car actuellement je suis complètement bloquer.
je vous remercie par avance.

PieM
20-01-2012, 13:44
Bonjour,

l'instruction let dirsB = %11110000 définit ce qui est en sortie, ou ce qui est en entrée sur le port B, mais pas les état high ou low.
pour activer une ou plusieurs sortie à l'état haut, il faut utiliser outpinsB = %01010000 par exemple , qui mettra les sorties 4 et 6 à l'état haut et les autres à l'état bas..
sinon il est possible d'activer chaque sortie par la commande high B.4 ou low B.2 par exemple.

Je crois qu'utiliser un flowchart pour ce genre d'exercice, va conduire à écrire des instructions basic dans des rectangles et un programme un peu usine à gaz. :rolleyes:

Il vous faut bien définir dès le début quelles séquences vous souhaitez obtenir dans l'allumage des leds, sous forme d'un tableau par exemple.

fuse
20-01-2012, 14:24
Bonjour,

J'ai écris un petit tuto sur l'utilisation des sorties avec un Picaxe. Le tuto ne correspond pas tout à fait au problème mais donne des indications (voir page 4 par exemple)...
10169
Attention, le mode Multiled n'autorise pas un allumage de toutes les diodes Led en même temps (remarque effectuée par PieM concernant le multiplexage...)

Avec Logicator, la commande Dirs s'écrit avec une commande BASIC, et le positionnement des sorties par la commande Outputs (mais limité au port de sortie du 20M2).

Cordialement

electrique5
23-01-2012, 15:53
bonjour désolé du retard pour vous remercier
j'ai bien réussi grace a votre aide tous fonctionne comme je le voulais.

juste une dernière petite question concernant le temps de pause le chenillard fonctionne grace a des high et low mais entre les 2
je met un temps de pause 100ms, pour aller plus vite 80ms ou plus lent 500ms bref pour régler le temps de pause je me suis servis d'un potentiomètre

La lecture de la position du potentiomètre fonctionne le souci c'est que cette lecture est comprise en 0 et 255
le problème c'est donnée sont trop grande pour etre importé comme temps de pause
j'avais pensé a mettre les valeurs dans des variables pour le temps de pause
si potentiomètre lit 50 on met 0.5 dans une variable et me servir de cette variable a tous les temps de pause
le souci impossible de mettre 0.5 ni 0,5 dans une variable car apparament il n'accepte que des chiffres rond
avez vous une idée pour résoudre ce problème ?

Merci par avance

PieM
23-01-2012, 16:54
juste une dernière petite question concernant le temps de pause le chenillard fonctionne grace a des high et low mais entre les 2
je met un temps de pause 100ms, pour aller plus vite 80ms ou plus lent 500ms bref pour régler le temps de pause je me suis servis d'un potentiomètre

La lecture de la position du potentiomètre fonctionne le souci c'est que cette lecture est comprise en 0 et 255



Bonjour,

l' instruction readadc renvoie effectivement une valeur comprise entre 0 et 255.
Votre tempo semble être entre 80 et 500ms ? pourquoi alors vouloir 0.5 dans une variable, puisque la tempo est exprimée en ms :confused:

Vous ne confondez pas l'instruction wait (à éviter) au lieu de pause par hasard ?

Si la variable analogique est par exemple b1 (entre 0 et 255) il faut la transformer en une valeur entre 0 et supérieure à 500. Donc utiliser une variable word.

Ecrire w10 = 2*b1 par exemple

et votre valeur de pause sera w10 , variant entre 0 et 510.

Vous pourriez également lire votre potentiomètre avec un readadc10 qui renvoie une valeur entre 0 et 1023 dans une variable word.

readadc10 pinx, w10

pause w10 entraîne une pause entre 0 et 1 seconde.

Eventuellement, donnez votre programme pour expliciter d'autre choses...

electrique5
23-01-2012, 17:22
encore une fois je vous remerci cela fonctionne parfaitement
grace a vous j'apprend petit a petit dans ce domaine
merci