U-BLOX NINA B302 e CIRCUITPYTHON - LENDO ENTRADA ANALÓGICA
O objetivo deste BLOG é demonstrar como é possível utilizar programar o módulo U-BLOX NINA B3 com a linguagem de Scripts Python para efetuar a leitura de uma entrada analógica. Foi utilizado o módulo NINA B302 (opencpu) para o teste.
Em blog anterior sobre CircuitPython for mostrado como como fazer um LED piscar utilizando a LIB nativa.
Para fazer a leitura da entrada analógica não será necessária a inclusão de alguma LIB, pois já nativa na compilação do micropython, basta apenas fazer no script:
from analogio import AnalogIn
então selecione o pino analógico
analog_in = AnalogIn(microcontroller.pin.P0_29)
Desta forma, para efetuar a leitura do A/D basta executar a seguinte função:
getVoltage(analog_in)
E executar a função (do usuário) para converter para em Volts
def getVoltage(pin): # helper
return (pin.value * 3.3) / 65536
Simplificada a leitura ficaria assim:
print("Analog Voltage: %f" % getVoltage(analog_in))
Agora abrar o MU e cole o seguinte programa:
from digitalio import DigitalInOut, Direction
import microcontroller
import time
from analogio import AnalogIn
def getVoltage(pin): # helper
return (pin.value * 3.3) / 65536
analog_in = AnalogIn(microcontroller.pin.P0_29)
led = DigitalInOut(microcontroller.pin.P0_02)
led.direction = Direction.OUTPUT
print("Starting...")
while True:
led.value = False
time.sleep(1.0)
led.value = True
time.sleep(1.0)
print("Analog Voltage: %f" % getVoltage(analog_in))
Basicamente o software fará a leitura do conversor analógico digital e mostrará pelo canal serial (USB)
e fará um LED piscar.
Se você salvar com o nome code.py, toda vez que resetar o NINA B302.
Foi montado o circuito abaixo sendo que o potenciometro foi ligado no pino P0.29 e o LED em foi ligado em P0.02.
FONTES:
https://learn.sparkfun.com/tutorials/nrf52840-development-with-arduino-and-circuitpython/all
https://www.u-blox.com/sites/default/files/NINA-B3_DataSheet_%28UBX-17052099%29.pdf
https://forums.adafruit.com/viewtopic.php?f=60&t=148531&start=30
https://circuitpython.readthedocs.io/en/2.x/shared-bindings/microcontroller/__init__.html?highlight=microcontroller
https://gitter.im/mu-editor/general
http://www.baudaeletronica.com.br/sensor-de-temperatura-e-umidade-dht22.html
Sobre a SMARTCORE
A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portifólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br