sexta-feira, 23 de agosto de 2019

LENDO ENTRADA ANALOGICA NINA B302 COM CIRCUITPYTHON

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.




CONHEÇA PYTHON

https://github.com/ehmatthes/pcc/releases/download/v1.0.0/beginners_python_cheat_sheet_pcc_all.pdf

ERRATA:
SERIGRAFIA DOS PINOS DO LADO DIREITO SUPERIOR
(NOMES DOS PINOS REPOSICIONADOS)


Questões: suporte@smartcore.com.br

FONTES: 

https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/introduction
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