Supprimer un message
Raison de suppression du message (envoyée à l'utilisateur)

Voulez vous réellement supprimer ce message?  


philfr
Et évidemment, j'ai testé un de ces capteurs, des TMP100.
Les pdf fournis avec le board donnent le pin-out des connecteurs de la carte, où j'ai rapidement identifé Vcc, GND, SCL et SDA (les capteurs se pilotent en I2C).
Les connecteurs par contre, j'ai du chipoter pour y brancher mes fils, car ils ont l'espacement d'un connecteur IDE 2.5", que je n'ai pas :kiki:
Je comprends maintenant pourquoi ils vendent aussi sur ebay le kit complet de câbles pour mini2440...
Perso, je m'en passerai, je souderai mon connecteur spécialisé.

Sur l'image qtopia fournie, il y a un tool i2c mais qui ne sert qu'à lire ou écrire la petite eeprom embarquée.
Sur l'image buildroot que j'ai faite il y a quelque temps, j'ai les tools i2c.
Voyons voir:

# i2cdetect -l
i2c-0 i2c s3c2410-i2c I2C adapter
# i2cdetect s3c2410-i2c
WARNING! This program can confuse your I2C bus, cause data loss and worse!
I will probe file /dev/i2c/0.
I will probe address range 0x03-0x77.
Continue? [Y/n]
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 4F
50: 50 51 52 53 -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --


Les 50 à 53 sont l'eeprom. Le 4f est mon capteur. Par défaut il est en résolution de 9 bits, le datasheet du TMP100 me dit d'écrire 0x60 dans le registre 1 pour le passer en résolution de 12 bits:

# i2cset -y s3c2410-i2c 0x4f 0x01 0x60

Puis de lire le registre 0 (de 12 bits, donc je dis au tool de lire un mot de 16 bits):

# i2cget -y s3c2410-i2c 0x4f 0x00 w
0x8016


Comme le résultat est little endian, les 12 bits en question sont 0x168, soit 360 qui divisés par 16 (à une résolution de 12 bits, on a une précision de 1/16 °C) donnent 22.5, ce qui est une température réaliste. En mettant mon doigt dessus, j'arrive à monter à 28°C, donc le capteur capte bien.

Deux des pins servent à configurer l'adresse I2C, donc en pontant l'une ou l'autre à la masse, j'ai retrouvé mon capteur à d'autres adresses. Je découvre en passant qu'avec deux pins, on peut configurer 8 adresses différentes, à l'encontre de ce que ma maîtrise du binaire me laissait croire. En effet, on peut connecter une pin à la masse, au Vcc, ou la laisser flottante, et les différentes combinaisons sont décrites dans la spec.

Étapes suivantes:
- réaliser un moyen de connexion propre avec de longs fils pour connecter plusieurs capteurs à la carte
- arriver à compiler le x server, ou trouver à utiliser le frame buffer en direct avec une lib graphique kivabien (pas envie d'afficher mes chiffres pixel par pixel...)
- écrire une première application qui affiche en temps réel les températures des différents capteurs
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?