AVERTISSEMENT: GOINA219 n'est pas prêt pour les heures de grande écoute!
GOINA219 est un simple package Golang pour configurer et lire le moniteur Bidirectional Current / Power Ina219 sur I 2 C.
Il n'est actuellement disponible que pour les systèmes * Nix car il exploite le package github.com/NeuralSpaz/i2c pour i 2 C.
Avec les dépendances installées, utilisez simplement:
go get github.com/jeffalyanak/goina219
L'utilisation est très simple et un exemple est inclus dans l' example/ répertoire.
Une configuration doit être générée:
config := ina219 . Config (
ina219 . Range32V ,
ina219 . Gain320MV ,
ina219 . Adc12Bit ,
ina219 . Adc12Bit ,
ina219 . ModeContinuous ,
)Et une structure INA219 initialisée:
myINA219 , err := ina219 . New (
0x40 , // ina219 address
0x00 , // i2c bus
0.01 , // Shunt resistance in ohms
config ,
)
if err != nil {
panic ( fmt . Sprintf ( "%v" , err ))
}La fonction de lecture peut être appelée:
err := ina219 . Read ( myINA219 )
if err != nil {
// error
}L'alimentation et le courant sont désormais accessibles à partir de la structure:
fmt . Printf (
"Power: %fw, Current: %fa, Voltage: %fv, Shunt: %fv" ,
myINA219 . Power ,
myINA219 . Current ,
myINA219 . Bus ,
myINA219 . Shunt ,
)| Gamme | Paramètre |
|---|---|
| 16V | goina219.Range16v |
| 32v | goina219.Range32v |
| Gagner | Paramètre |
|---|---|
| 40 mV | goina219.gain40mv |
| 80 mV | goina219.gain80mv |
| 160 mV | goina219.gain160mv |
| 320 mV | goina219.gain320mv |
| Échantillons | Profondeur | Temps d'échantillonnage | Paramètre |
|---|---|---|---|
| 1 | 9 bits | 84 μs | goina219.adc9bit |
| 1 | 10 bits | 148 μs | goina219.adc10bit |
| 1 | 11 bits | 276 μs | goina219.adc11bit |
| 1 | 12 bits | 532 μs | goina219.adc12bit |
| 2 | 12 bits | 1060 μs | goina219.adc2samp |
| 4 | 12 bits | 2130 μs | goina219.adc4samp |
| 8 | 12 bits | 4260μs | goina219.adc8samp |
| 16 | 12 bits | 8510 μs | goina219.adc16samp |
| 32 | 12 bits | 17020μs | goina219.adc32samp |
| 64 | 12 bits | 34050μs | goina219.adc64samp |
| 128 | 12 bits | 68100μs | goina219.adc128samp |
Les demandes de fusion sont les bienvenues. Pour les changements majeurs, veuillez d'abord ouvrir un problème pour discuter de ce que vous souhaitez changer.