WARNUNG: GoINA219 ist nicht bereit für die Primetime!
GoINA219 ist ein einfaches Golang -Paket zum Konfigurieren und Lesen des bidirektionalen Strom-/Leistungsmonitors ina219 über i 2 C.
Es ist derzeit nur für *Nix -Systeme verfügbar, da es das Paket github.com/NeuralSpaz/i2c für I 2 C. nutzt.
Verwenden Sie einfach mit den installierten Abhängigkeiten:
go get github.com/jeffalyanak/goina219
Die Verwendung ist sehr einfach und ein Beispiel ist im example/ Verzeichnis enthalten.
Eine Konfiguration sollte generiert werden:
config := ina219 . Config (
ina219 . Range32V ,
ina219 . Gain320MV ,
ina219 . Adc12Bit ,
ina219 . Adc12Bit ,
ina219 . ModeContinuous ,
)Und eine Ina219 -Struktur initialisiert:
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 ))
}Die Lesefunktion kann genannt werden:
err := ina219 . Read ( myINA219 )
if err != nil {
// error
}Strom und Strom können jetzt aus der Struktur zugegriffen werden:
fmt . Printf (
"Power: %fw, Current: %fa, Voltage: %fv, Shunt: %fv" ,
myINA219 . Power ,
myINA219 . Current ,
myINA219 . Bus ,
myINA219 . Shunt ,
)| Reichweite | Parameter |
|---|---|
| 16V | Goina219.Range16V |
| 32V | Goina219.Range32V |
| Gewinnen | Parameter |
|---|---|
| 40mv | Goina219.Gain40MV |
| 80MV | Goina219.Gain80MV |
| 160mv | Goina219.Gain160MV |
| 320mv | Goina219.gain320mv |
| Proben | Bittie | Probenzeit | Parameter |
|---|---|---|---|
| 1 | 9-Bit | 84 μs | Goina219.Adc9bit |
| 1 | 10-Bit | 148 μs | Goina219.adc10bit |
| 1 | 11-Bit | 276 μs | Goina219.Adc11bit |
| 1 | 12-Bit | 532 μs | Goina219.adc12bit |
| 2 | 12-Bit | 1060 μs | Goina219.Adc2Samp |
| 4 | 12-Bit | 2130 μs | Goina219.Adc4Samp |
| 8 | 12-Bit | 4260 μs | Goina219.Adc8samp |
| 16 | 12-Bit | 8510 μs | Goina219.Adc16Samp |
| 32 | 12-Bit | 17020 μs | Goina219.ADC32Samp |
| 64 | 12-Bit | 34050 μs | Goina219.Adc64Samp |
| 128 | 12-Bit | 68100 μs | GoINA219.ADC128SAMP |
Zusammenführungsanfragen sind willkommen. Für wichtige Änderungen öffnen Sie zuerst ein Problem, um zu besprechen, was Sie ändern möchten.