goina219
1.0.0
Предупреждение: Goina219 не готов к прайм -тайм!
GOINA219 - это простой пакет Golang для настройки и чтения двунаправленного монитора тока/мощности INA219 в течение I 2 C.
В настоящее время он доступен только для систем *NIX, поскольку использует пакет github.com/NeuralSpaz/i2c для i 2 c.
С установленными зависимостью, просто используйте:
go get github.com/jeffalyanak/goina219
Использование очень просто, и пример включен в example/ каталог.
Следует генерировать конфигурацию:
config := ina219 . Config (
ina219 . Range32V ,
ina219 . Gain320MV ,
ina219 . Adc12Bit ,
ina219 . Adc12Bit ,
ina219 . ModeContinuous ,
)И инициализированная структура INA219:
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 ))
}Функцию чтения можно назвать:
err := ina219 . Read ( myINA219 )
if err != nil {
// error
}Мощность и ток теперь можно получить из структуры:
fmt . Printf (
"Power: %fw, Current: %fa, Voltage: %fv, Shunt: %fv" ,
myINA219 . Power ,
myINA219 . Current ,
myINA219 . Bus ,
myINA219 . Shunt ,
)| Диапазон | Параметр |
|---|---|
| 16 В | GOINA219.Range16V |
| 32V | GOINA219.Range32V |
| Прирост | Параметр |
|---|---|
| 40 мВ | Goina219.gain40mv |
| 80 МВ | Goina219.gain80mv |
| 160 МВ | GOINA219.GAIN160MV |
| 320 мВ | GOINA219.Gain320MV |
| Образцы | Бит-глубинный | Образец времени | Параметр |
|---|---|---|---|
| 1 | 9-битный | 84 мкс | GOINA219.Adc9bit |
| 1 | 10-битный | 148 мкс | GOINA219.Adc10bit |
| 1 | 11-битный | 276 мкс | GOINA219.Adc11bit |
| 1 | 12-битный | 532 мкс | GOINA219.Adc12bit |
| 2 | 12-битный | 1060 мкс | GOINA219.ADC2SAMP |
| 4 | 12-битный | 2130 мкс | GOINA219.ADC4SAMP |
| 8 | 12-битный | 4260 мкс | GOINA219.Adc8samp |
| 16 | 12-битный | 8510 мкс | GOINA219.ADC16SAMP |
| 32 | 12-битный | 17020 мкс | GOINA219.ADC32SAMP |
| 64 | 12-битный | 34050 мкс | GOINA219.ADC64SAMP |
| 128 | 12-битный | 68100 мкс | GOINA219.ADC128SAMP |
Запросы на слияние приветствуются. Для серьезных изменений, пожалуйста, сначала откройте проблему, чтобы обсудить, что вы хотели бы изменить.