[Info] K8000 velleman et arduino uno

Bonjour,

Bien vu Mr infobarquee pour le lien.

En ce qui concerne le système arduino et k8000 je connecte l'arduino sur ses sorties habituel donc A4 et A5 et le GND vers le petit connecteur de la carte K8000 qui est en fait le bus I2C et l'alimentation 5V qui l'on peut recup pour faire fonctionner l'arduino.

Personnellement j'utilise 2 carte K8000 avec mon arduino possibilité de brancher jusqu’à 4 cartes.

Config perso :

http://www.on3vmc.be/images/k8000.jpg

2x k8000 velleman commander en i2c

32 entrées ou sorties
16 dac converters
8 adc converters

En plus des entré analogique de l'arduino et les digitales

En programmation j'ai donc décide d'attribuer carte 01 et carte 02

Au démarrage du programme il scan les adresses du bus I2C comme elle sont toujours dans le même ordre il est simple de definir qui fais quoi de la carte 1 et 2. Par carte ont a si tout va bien ont a 4 adresses I2C.

Qui a dis que l'on ne pouvais pas lire l'état des in/out ? Il suffit pour cela de lire la doc technique du CI PCF8574P pour savoir gérer les signaux de commandes ce que je suis occupé a faire. Leurs envoyer des signaux pour commander des sortie ca fonctionne. la lecture va bientôt arriver.

Attention lorsque l'on utilise les PCF8574p En sortie il faut inverser les signaux car si l'on envoie un 0 en valeur il vous donnera comme résultat que toutes les led du chipset en question seront allumer. donc simplement (255-x) et voila...

Pour les ADC il suffit de recup les Byte de chaque convertisseur a l'adresse du chipset pareil pour le DAC

Je cogite sur le sujet j'ai eu l'occasion de voir quelques sources concernant le K8000 et sur la photo que l'on peut voir lier a ce post les deux carte fonctionne en mode sortie et l'arduino pilote le tout.... je sais que le programme du premier post est une ébauche mais je pense que a plusieurs ont pourrait arriver a quelques choses. Si quelqu'un est spécialiste en bibliothèque pourquoi pas essayer d'en faire une....

Pour l'instant je joue avec la bibliothèque WIRES d'origine de l'arduino et ça a l'air de fonctionner....

Merci pour votre intérêt a ce projet.... essayons de construire quelques choses avec nos recup....

Pour commencer raccorder vos cartes K8000 a l'arduino par le bus I2C via le petit connecteur de la K8000 la borne

SCL > Arduino A5
SDA > Arduino A4
GDN > Arduino GND

Ensuite si cela est bien raccordé tu test ce programme :

// --------------------------------------
// i2c_scanner
//
// This program (or code that looks like it)
// can be found in many places.
// For example on the Arduino.cc forum.
// The original author is not know.
//
// This sketch tests the standard 7-bit addresses
// from 0 to 127. Devices with higher bit address
// might not be seen properly.
//
// Adapted to be as simple as possible by Arduino.cc user Krodal
//
// June 2012
// Using Arduino 1.0.1
//

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 0; address <= 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println(" !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }    
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(8000);           // wait 8 seconds for next scan
}

Si tu as un résultat d'adresse note les et voila si tu branche 1 carte tu auras 4 adresses. Et a partir de la il suffit de faire la suite du programme et lire chaque byte de chaque adresses.

Voila l'idée de depart.

Datasheet PCF8574AP => PCF8574AP Fiche Technique Datasheet pdf - Extenseur de 8 bits à distance d'cI/o pour I2C-bus - Philips
Datasheet PCF8591P => PCF8591P Fiche Technique Datasheet pdf - PCF8591; convertisseur de 8 bits ANALOGIQUE-numérique et de D/a - Philips
Datasheet TDA8444P => TDA8444P Datasheet catalog

Et pour finir le schema de l'interface :


Ont peut voir les dipswitch de configuration d'adresse I2C sur chaque contrôleurs. Je n'avais jamais joué avec l'I2C et j'ai appris pas mal de choses avec cette carte....