Comment programmer le kit velleman k8056

vincent65 -  
Fredleemans Messages postés 22 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je voudrais savoir comment programmer le kit k8056 de velleman et avec quel logiciel.

merci d'avance

1 réponse

loupius
 
Ici on est sur un site de programmation, alors ... il suffit d'écrire le programme!
Lorsque l'on connait le protocole de cette carte, rien n'est plus facile (n'importe quel language permettant d'accéder au port 'com' fera l'affaire).

Paramètres du port série:
2400, 8 bits, sans parité, 1 stop
On ne fait qu'émettre, il n'y a pas de réception.
Le fabriquant conseille d'émettre 2 fois la commande.

Commande:
1) CHR$ (13)
2) Adresse de la carte (1...255)
3) Instruction (1 caractère ASCII)
4) Adresse (1..255) ou n° relais ('1'..'9' ASCII)
5) checksum (complément 2 de la somme des 4 bytes précédentes+ 1)

Instructions:
‘E’ : Arrêt de secours de toutes les cartes, n'importe l'adresse.
(Attention: des relais activés par des entrées collecteur ouvert ne seront pas arrêtés par cette commande).
‘D’ : Montrer adresse. Toutes les cartes montrent leur adresse de manière binaire. (LD1: MSB, LD8: LSB)
‘S’ : Régler un relais. L'instruction 'S' doit être suivi par le numéro du relais '1' à '8'. ('9' règle tous les relais à la fois)
‘C’ : Effacer un relais. L'instruction 'C' doit être suivi par le numéro du relais '1' à '8'.('9' efface tous les relais à la fois)
‘T’ : Basculer un relais. L'instruction 'T' doit être suivi par le numéro du relais '1' à '8'.
‘A’ : Changer l'adresse actuelle d'une carte. L'instruction 'A' doit être suivi par la nouvelle adresse (1..255)
‘F’ : Mettre toutes les cartes à l'adresse 1 (défaut)
‘B’ : Envoyer un byte. Permet de vérifier l'état de tous les relais en une seule instruction, en envoyant un byte contenant l'état de relais pour chaque relais. (MSB: relais1, LSB: relais8)

Exemple de programme:
Voir le site internet (http:\\www.velleman.be).

Bon courage.
1
vincent65
 
merci pour ton aide ! j'ai telecharger le logiciel sur le site.
mais je ne comprend pas la première commande : CHR$ (13)
et la dernière : checksum (complément 2 de la somme des 4 bytes précédentes+ 1) .
Et a l'adresse je met quoi ?

merci de ton aide
0
loupius > vincent65
 
Ce qu'il faut voir c'est qu'une commande est une suite de 5 octets:
1) Le caractère CHR$ (13) c'est à dire 0x13 en hexadécimal (sert de synchronisation pour le récepteur),
2) L'adresse de la carte: comme on peut mettre 255 cartes, chacune doit être identifiable, donc chacune possède une adresse différente (1 par défaut et modifiable par la commande 'A'),
3) L'instruction en ASCII à choisir entre 'E', 'D', 'S', 'C', 'T', 'A', 'F' et 'B',
4) Un paramètre qui peut être en hexa (de 1 à 255) s'il s'agit d'une adresse, ou en ASCII s'il s'agit d'un n° de relais (de '1' à '9' donc de 0x31 à 0x39 en hexa),
5) Un checksum qui permet au récepteur de vérifier si la séquence reçue n'a pas souffert de la transmission. Apparemment il suffit de faire l'addition des 4 octets précedents, d'en faire le complément à 2 et d'ajouter 1, et bien sûr de réduire à une longueur d'un octet.
0
vincent65 > loupius
 
Merci j'ai compris !!
peut-tu me conseillé un logiciel ?
0
loupius > vincent65
 
Je ne connais pas de logiciel pour cette carte.
Apparemment le constructeur en fournit un utilisable en test et sous windows.
Le plus simple, comme tout est documenté, est d'en écrire un soi-même; c'est rapide et adapté à ses besoins.
Désolé mais je n'ai pas le kit et donc pas de programme.
0
vincent65 > loupius
 
ok merci quand même
0