terça-feira, 28 de dezembro de 2021

SEGGER STUDIO PARA PROGRAMAÇÃO DO NINA B112/B302 - PARA INICIANTES

 SEGGER STUDIO PARA PROGRAMAÇÃO DO NINA B112/B302 - PARA INICIANTES


O objetivo deste BLOG é dar uma ideia geral de programação do NINA B112 (opencpu) e NINA B302 com a ferramenta SEGGER STUDIO. O material é da Sumair's Embedded Engineering, a qual disponibilizou vídeos de programação para iniciantes do NR52832 e NRF52840 no Youtube, os quais são os cores dos módulos NINA B112 (opencpu) e NINA B302. Os vídeos pouparão horas de trabalho no entendimento dos códigos exemplos em C disponibilizados pelos SDK da NORDIC.

Finalmente um CURSO para iniciantes que está em constante evolução, abordando GPIOS, SPI, I2C, SERIAL, TIMER, PWM, ADC.


Ajude SUMAIR pelo PAYPAL

If you like my work & want me to keep on making more tutorials on these devices, please do support me. You can make a one time donation or buy me a coffee :p on my PayPal Account:
PAYPAL: PayPal.Me
just click on this link to proceed, thanks :)

Sumair

Atenção:

No link
Ler 2.2.1.2

No link
Ler 2.2.1.2

Para o Segger Studio ter acesso aos GPIOS dos Módulos NINA B112 e NINA B302

No Link
Ler 3.1

No Link
Ler 3.1

Para ver quais GPIOS dos módulos estão associados aos IOs do NRF52


Seguem vídeos com Resumo:

Este é uma série contínua de tutoriais para iniciantes e seu objetivo é equipá-lo com o conhecimento básico dos kits de desenvolvimento disponíveis de semicondutores NORDIC e outros fabricantes para dar o impulso inicial no desenvolvimento de SOC habilitado (s) para Bluetooth. Estaremos usando o mais popular nRF52832 (PCA10040) (NINA B112) e nRF52840 (PCA10056) (NINA B302) Kit de desenvolvimento e dongle nRF52840 baseado em USB (PCA10059) e esses kits serão programados usando NRF5 SDK 16.0.

Este tutorial é para engenheiros iniciantes ou amadores que desejam pular do Arduino para esses microcontroladores para melhor controle e compreensão profunda.

Comparando NRF52832 e NRF52840


Este vídeo faz parte da série contínua de tutoriais para iniciantes e seu objetivo principal é orientar sobre como instalar e ativar o Segger Embedded Studio. Ele descreve resumidamente os procedimentos de instalação e ativação e os iniciantes acharão muito fácil segui-lo.

Erro comum:
Um problema comum é que o Segger Embedded Studio não mostra o status de ativação ou pede ativação após inserir a chave de ativação do segger. A resposta para este problema comum é que o Segger Embedded Studio é ativado apenas para dispositivos Nordic Semiconductor e o programa padrão aberto na primeira execução é um programa de dispositivo genérico que causa problemas de licença, pois o SES pensa que este programa não é um programa de dispositivo NORDIC. ele pede licença. Continue e não o ative novamente. Depois de acompanhar meu próximo vídeo, no qual faremos o download do SDK do NRF5 e executaremos um exemplo desse código. Ele será ativado automaticamente, pois agora pode ler o dispositivo para ser um dispositivo Nordic Semiconductor.

Instalação Segger Studio

Download em 

Neste tutorial iremos baixar o SDK do nRF5 mais recente, que é a versão 16.0.0, e então aprenderemos a maneira recomendada de instalar o SDK.
Também aprenderemos como criar um novo projeto dentro do SDK de forma que façamos o mínimo de trabalho e também os arquivos necessários sejam adicionados ao projeto para começar.
As estruturas de diretório para nRF5 SDK são explicadas de forma que seja fácil para novos usuários e iniciantes localizar algo no SDK que pode ser necessário para os usuários.
Eu tentei explicar brevemente, e se você não entende alguma coisa não se preocupe nos tutoriais futuros estaremos lidando com todos os problemas enfrentados pelos iniciantes.

SDK NORDIC


Neste tutorial, explicarei o Segger Embedded Studio brevemente e será o suficiente para começar. Se você é novo no Segger Embedded Studio, este tutorial o ajudará a aprender os fundamentos do Segger Embedded Studio. Este é um grande ide com toneladas de recursos e podemos mudar temas e adicionar novos arquivos e pastas, criar pastas de referência, depurar o código e todos os recursos básicos que são necessários para desenvolver nossos projetos usando nrf5 sdk.
Veremos como gerenciamos o código e também como compilá-lo usando algumas teclas de atalho.
Este é apenas um tutorial básico e os recursos avançados serão cobertos ao longo dos tutoriais em vídeo futuros, então você não precisa aprender de outro lugar. Aprenderemos como usar o Segger Embedded Studio em menos de 10 minutos e será o suficiente para começar nossos tutoriais.

Primeiros Passos Segger Studio


Esta é a primeira prática com nosso SDK nrf5. Neste tutorial, veremos como configurar os pinos como pinos de saída básicos e também piscaremos os LEDs usando o kit de desenvolvimento nrf52832 que é PCA10040.
Eu mencionei algumas funções que são usadas pelo SDK do nrf5 para configurar os pinos GPIO como pinos de saída, então é realmente fácil e divertido. Veremos como adicionar o atraso e piscar um LED. Em seguida, piscaremos vários LEDs.

Este tutorial é para iniciantes e ajuda a aprender como os pinos GPIO funcionam. Este tutorial o ajudará a começar a usar o SDK do nrf5.

Escrevendo em GPIOS

Link para código

Este tutorial ajudará a aprender nrf5 SDK desde o início. Neste tutorial, veremos os fundamentos das entradas digitais e como manipulá-las no nrf5 SDK. Vamos criar um programa simples para ler a entrada digital do botão e depois usar um led para indicar o estado do botão.
Programar o SDK do nrf5 é simples e divertido e vamos cobrir algumas funções extras para inicializar vários pinos de entrada ao mesmo tempo, usando algumas funções integradas.

Lendo GPIOS

Link para código

Neste tutorial irei explicar os dois métodos pelos quais podemos modificar o sdk_config.h com o assistente de configuração CMSIS e também veremos um método direto para modificar diretamente o sdk_config. arquivo h no SDK do nrf5, esta é a parte mais importante porque se algumas funções não forem ativadas, elas não funcionarão. NRF5 SDK é projetado para funcionar com o arquivo sdk_config.h, então é realmente importante aprender como configurá-lo.

O cmsis.xml pode ser baixado aqui:
certifique-se de baixá-lo e ver como colocá-lo em ... outro arquivo de texto é adicionado como um exemplo para mostrar onde colocar o código, portanto verifique isso também antes de colar o código. ;-)

Configurando SDK com sdk_config.h


Neste tutorial, veremos como enviar os dados para o console do depurador sem usar nenhuma porta UART, usando diretamente a biblioteca proprietária do Segger para obter os dados de saída através do j-link e sem usar quaisquer recursos externos. É muito útil quando temos nossa porta UART ocupada fazendo alguma comunicação, e também não temos que configurar nenhum terminal externo para monitorar a saída na porta UART. Este tutorial cobrirá o básico e ajudará os iniciantes em sua jornada para aprender a programar o kit de desenvolvimento SDK nrf5 usando os dispositivos nrf52832 ou nrf52840.

Debugger


Neste tutorial, aprenderemos como usar as placas de biblioteca do Nordic para operações básicas de entrada e saída. Ao contrário dos tutoriais anteriores, não precisamos inicializar cada pino led e cada pino de botão separadamente, em vez disso, apenas usamos o pacote de placas e sua função simples para inicializar tudo o que é necessário e então podemos brincar com diferentes funções para manipular os pinos IO .

A folha de dicas e o arquivo de código principal estão disponíveis para download aqui:

certifique-se de verificar e brincar com o código para se familiarizar com os dispositivos nrf52832 ou nrf52840.
Biblioteca para Entradas e Saídas


Neste tutorial veremos como configurar o UART / USART para comunicação serial e também usaremos um putty de aplicação de terminal de PC para exibir nossos dados que são transmitidos serialmente via porta UART. Este seria um tutorial simples sobre UART e mais tarde nos tutoriais futuros veremos como configurar o UART com interrupções e mais detalhes. para manter as coisas simples, tentei explicar todos os passos para que você possa entender os conceitos básicos e possa usar facilmente a porta serial com dispositivos nrf52832 ou nrf52840.

O link para o código está disponível para download aqui:

Uart


Neste vídeo eu mostrarei aos espectadores como programar o código para registrar os dados via porta UART para dispositivos nrf52832 e nrf52840. Veremos como podemos usar a biblioteca nrf logger e enviar os dados de depuração pela porta serial muito facilmente sem ter que inicializar a porta uart manualmente e veremos como alterar o modo de registro para método adiado e não adiado no assistente de configuração cmsis . Também usaremos isso para gerar nossas variáveis ​​e ver os resultados em um aplicativo de terminal serial.

O arquivo de configuração e o arquivo de código principal estão disponíveis para download aqui:

certifique-se de baixá-los e colocar as configurações no lugar certo para fazer o logger funcionar sem problemas. ; p

Registrando dados via Uart


Neste vídeo irei apresentar aos meus espectadores as interrupções e seu trabalho no nrf5 sdk e veremos como programar um pino de interrupção para receber eventos externos.
Este é o vídeo de introdução e em um tutorial posterior veremos alguns recursos avançados. As interrupções são mecanismos bem definidos para realizar multitarefa para dispositivos nrf52832 e nrf52840, e veremos como o GPIOTE é inicializado e configurado para funcionar com a interrupção de pino externo e como as interrupções são gerenciadas no nível de pino único e no nível de porta completa.

O link para baixar a folha de dicas e o código principal está aqui:
dê uma olhada e comece a brincar com dispositivos NORDIC para se familiarizar.

Interrupções


Neste vídeo, daremos uma olhada em um dos periféricos de hardware mais importantes que o nrf52832 e o nrf52840 oferecem. Neste tutorial, aprenderemos como programar os temporizadores de hardware para dispositivos NORDIC usando nrf5 sdk. Os cronômetros são importantes e são explicados em breves detalhes com a programação para que os visualizadores possam aprender facilmente como programar cronômetros nrf e definir o arquivo de configuração sdk do nrf com as configurações necessárias.
Os visualizadores aprenderão como controlar os temporizadores de inicialização e execução e como usá-los para atrasos de tempo específicos sem usar loops ocupados.

A folha de dicas para funções e o arquivo de código principal podem ser baixados aqui:
tutorial 13 timers.zip - Google Drive ... certifique-se de verificar: p

Timers


Neste tutorial, daremos uma olhada em como programar o Módulo PPI (Programmable Peripheral Interconnect). É uma parte realmente importante dos dispositivos nrf e está disponível em dispositivos nrf52832 e nrf52840. Veremos como podemos usar o módulo PPI com outros periféricos e com a ajuda do PPI simplificamos a CPU, pois muitas tarefas simples podem ser realizadas por meio do módulo PPI, aumentando assim o desempenho geral do sistema embarcado.

O link para baixar o código principal com detalhes da função está disponível aqui:

Certifique-se de baixá-lo e ver como o código está funcionando ;-)

PPI


Neste tutorial, continuaremos a entender mais sobre o módulo PPI com temporizadores. Veremos como usar o módulo PPI Programmable Peripheral Interconnect com temporizadores junto com o gpiote para realizar o disparo automático de tarefas sem a intervenção do processador. Aprenderemos a conectar um evento temporizador com o pino GPIO e alterná-lo diretamente com o evento temporizador.

O código principal com detalhes das funções está disponível para download aqui:
certifique-se de baixá-lo e ver como o código está funcionando: p

PPI - Continuação


Neste tutorial, daremos uma olhada em como os temporizadores funcionam como contadores. Esta será uma breve introdução e os telespectadores são totalmente responsáveis ​​por fortalecer ainda mais este tópico, por enquanto irei apenas passar por um procedimento básico para que possamos saber como usar os timers como contadores nos dispositivos nrf52840 e nrf52832.

O código principal com a explicação está disponível para download aqui:
certifique-se de baixá-lo e ler os detalhes: p

Temporizadores como Contadores

Neste tutorial, aprenderemos como criar temporizadores de aplicativos que também são chamados de temporizadores de software. Podemos criar virtualmente quantos temporizadores quisermos, a menos que fiquemos sem espaço de memória;). Os temporizadores de aplicação são um recurso muito legal, pois usam um clock de baixa energia e ainda podem funcionar quando o clock de 16 MHz é desligado no modo de baixa energia. Eles são realmente úteis para criar atrasos de tempo simples e podem ter resolução mínima de até 30 us se usarmos o clock de 32,768 KHz. podemos usar esses temporizadores para muitas aplicações diferentes.
Tenha em mente que se estivermos usando um dispositivo soft, o relógio interno de baixa frequência é inicializado automaticamente, então não precisamos inicializar o relógio interno.

O código principal com a explicação está disponível para download aqui:
certifique-se de fazer o download e verificar: p

Temporizadores de Software


Neste tutorial veremos como a biblioteca BSP funciona e o que ela oferece. É uma ótima biblioteca para trabalhar e é mais fácil, pois implementou todo o código para nós, então vamos apenas chamar algumas funções simples para fazermos o que fazemos. Ele foi criado pensando nos recursos de baixo consumo de energia, de forma que todos os botões possam receber interrupções em baixa potência, mesmo quando o relógio de 16 MHz está desligado e o dispositivo pode ser usado em diferentes cenários.

O código principal com explicação das funções está disponível para download aqui:
certifique-se de verificar e brincar com o código: p

BSP


Neste tutorial, daremos uma olhada em como programar ADC para dispositivos nrf52832 e nrf52840. Esses dispositivos são equipados com SAADC, que é uma aproximação sucessiva do conversor analógico para digital.
O SAADC possui dois métodos de leitura de entradas.
Um tem final único. Nesta configuração, conectamos um único pino de entrada analógica.
O segundo é a entrada diferencial. Ele usa dois pinos de entrada e lemos a entrada desses dois pinos.
Saadc funciona em diferentes modos.
podemos usar o modo de bloqueio e os modos de não bloqueio para ler os valores de entrada.
podemos ler adc no modo de disparo único, bem como no modo contínuo.
Hoje vamos dar uma olhada em como usar adc no modo de disparo único usando a função de bloqueio, uma função de bloqueio bloqueia o processador até que as amostras sejam lidas dos pinos de entrada.

Única extremidade: uma configuração de extremidade única usa 1 pino para ler tensões analógicas.

Uma fórmula simples para calcular a tensão de entrada é dada:

Vb = [v (p) - v (n)] * Ganho / Referência * 2 ^ (n-m)
para final único m = 0

Vb = é a representação da tensão em binário

v (p) = tensão lida no pino positivo do canal adc

v (n) = tensão no pino negativo (no modo de terminação única, ele é conectado ao aterramento interno automaticamente). portanto, seu valor é 0.

Ganho = 1/6 que é selecionado por padrão como GAIN_1_6 na configuração padrão

Referência = conectado com 0,6 V interno

n = é a resolução do ADC

por exemplo: lemos 1,1 volts e n = 12 e o modo de terminação única é selecionado então:
Vb = [1,1 - 0] * [(1/6) / (0,6)] * 2 ^ (12-0)
Vb = (1,1) * (0,2778) * 4096
Vb = 1251


por uma questão de simplicidade, sabemos que, devido ao ganho e à referência, a faixa de entrada pode ser calculada como:

Faixa de entrada = (Referência) / (Ganho) = (0,6) / (1/6) = 3,6 V
Portanto, também podemos usar esta fórmula para calcular o valor:
Vb = (Vin / Faixa de entrada) * 2 ^ n

para valores acima, por exemplo, 1,1 volts, n = 12
Vb = (1,1 / 3,6) * 4096
Vb = 1251

Portanto, a resposta é a mesma, então usamos este cálculo simples para os valores padrão.
Portanto, ele armazenará este valor na memória 1251, que pode ser convertido de volta para as tensões originais

Diferencial: No modo Diferencial, usamos dois canais de entrada, então medimos a diferença de tensão entre esses dois canais. O modo diferencial é bom em termos de imunidade ao ruído e também é bom para medir pequenas mudanças diferenciais para, por exemplo, uma queda de tensão da bateria de célula tipo moeda é de aproximadamente 0,6 volts de 100 por cento a 0 por cento, então o modo diferencial seria uma boa combinação para medir esta faixa.

A mesma fórmula pode ser usada para calcular a tensão de entrada para o diferencial:
para calcular os valores assinados:

Vb = (V (p) / Faixa de entrada) * 2 ^ (n -m)
aqui para o modo diferencial m = 1

Vb: é a representação da tensão em binário
V (p): é a tensão de entrada lida no pino positivo
V (n): neste caso, nós o conectamos com a referência interna
Faixa de entrada: 3,6 V
n: é a resolução do ADC
m = 1 para modo diferencial

por exemplo: lemos 1,1 volts e n = 10
Vb = (1,1 / 3, 6) * 2 ^ (10-1)
Vb = (0,305) * (2 ^ 9) = 0,305 * 512
Vb = 156

Espero que isso ajude a entender os fundamentos da SAADC para nrf52832 e nrf52840.

Os códigos com breves detalhes estão disponíveis para download aqui:
certifique-se de baixar e ver os detalhes e brincar com isso. ; p

ADC


Neste tutorial continuaremos a explorar o SAADC para nrf52832 e nrf52840. Neste tutorial, usaremos o ADC no modo de disparo único e usaremos a programação orientada a eventos para lidar com as tarefas de forma assíncrona e com facilidade o dma moverá os dados para o buffer perfeitamente.
Veremos como usar o evento adc e como ler os valores usando o método de leitura de entrada de extremidade única e como acionar uma leitura de amostra para adc.

O código principal junto com os detalhes das funções estão disponíveis para download aqui:
certifique-se de baixá-lo e brincar com ele. ; p

ADC - Continuação


Neste tutorial continuaremos a trabalhar com adc. Este tutorial é a continuação da parte anterior e nesta parte veremos como podemos usar os timers e o módulo ppi para obter uma amostragem contínua do adc.
Usaremos o mecanismo de evento de interrupção para atingir o desempenho máximo e, ao mesmo tempo, podemos colocar o processador para hibernar para economizar energia.

O link para o código principal junto com as informações das funções está aqui:
certifique-se de baixá-lo e brincar com o código. ; p

ADC - Amostragem contínua


Neste tutorial, daremos uma olhada em como programar RTC, que é basicamente um temporizador de baixa energia porque funciona com um clock de baixa frequência de 32,768 Khz. Neste tutorial veremos como podemos programá-lo e configurar o evento de interrupção para ticks e como podemos modificar o valor do Tick. Ele pode funcionar com longos atrasos e é uma boa escolha para trabalhar com longos atrasos e é semelhante tanto no nrf52832 quanto no nrf52840, portanto, não há necessidade de alterar nada.

O código principal com as informações está disponível para download aqui:
Certifique-se de fazer o download e verificar ;-)

RTC


Neste tutorial veremos como podemos configurar o Watch Dog Timer, que é um recurso importante e deve ser implementado na aplicação final se for crítico aplicação em que o mau funcionamento do dispositivo pode causar acidentes. O cronômetro de cão de guarda é um cronômetro simples que está conectado com o relógio de baixa frequência, então mesmo se o processador estiver no modo de hibernação, o cronômetro ainda pode funcionar e nós configuramos o cronômetro de cão de guarda para, por exemplo, 2 segundos, se alguma função não atualizar o cronômetro ou seja, alimente o cronômetro dentro deste tempo, o cronômetro do cão de guarda irá considerá-lo como um mau funcionamento porque o dispositivo deve alimentá-lo dentro desse tempo, então ele reinicializará o microcontrolador e a condição de falha pode ser resolvida desta forma.

O código principal junto com a descrição da função está disponível para download aqui:
certifique-se de verificar ;-)

Watch Dog


Neste tutorial veremos como podemos programar a memória flash interna dos dispositivos nrf52832 e nrf52840. O código básico para ambos os dispositivos é semelhante, só precisamos ajustar o tamanho do flash, pois o nrf52832 tem 512 KB de memória flash e o nrf52840 tem 1 MB de flash interno. O flash é dividido em páginas, cada página é de 4 KB que é dividida em blocos de 512 bytes. A memória flash precisa do endereço inicial da página para apagá-la, certifique-se de nunca sobrescrever na área de memória do programa e depois de experimentar o básico feito no vídeo é recomendado ver o código do mesmo exemplo que modificamos, que é mais de uma forma profissional de acessar os dados.

O código principal junto com a descrição estão disponíveis para download aqui:
Certifique-se de verificar ;-)

Acessando Flash


Neste tutorial, daremos uma olhada em algumas arquiteturas internas da UARTE que são feitas com DMA fácil, veremos como podemos configurá-la e como programá-la de forma não bloqueadora orientada a eventos de modo a aumentar o desempenho e a eficiência geral de nossos dispositivos. Este tutorial é a segunda parte do Tutorial 10, no qual discutimos a comunicação simples do uart.
Existem dois eventos que mais nos interessam e são data_ready que informa que os dados estão disponíveis no buffer rx e podemos lê-los e o evento TX empty que informa que os dados foram transmitidos, então o buffer está vazio agora.

O código principal junto com as informações estão disponíveis para download aqui:
certifique-se de verificar; p

UARTE


Neste tutorial aprenderemos como usar a robusta biblioteca USART (biblioteca serial) com interrupções e DMA em nrf52832 e nrf52840 usando nrf5 SDK.
Deixe-me esclarecer a diferença entre UART e USART.

UART (Universal Asynchronous Receiver Transmitter) é uma comunicação serial em que cada dispositivo tem que gerar seu próprio relógio para corresponder à velocidade de comunicação que chamamos de taxa de transmissão, por exemplo, 115200 é uma taxa de transmissão comum. é uma comunicação de 2 pinos RX e Pinos TX apenas.

USART (Universal Synchronous Receiver Transmitter) é uma comunicação serial em que ambos os dispositivos usam o mesmo sinal de relógio para sincronizar mensagens. Ele usa dois pinos extras que são CTS e RTS
O pino CTS é para o relógio e o pino RTS é para o sinal Pronto. Portanto, é uma comunicação de 4 pinos.

A biblioteca que usaremos neste tutorial pode usar facilmente UART e USART.
A API oculta os detalhes do pino CTS e RTS e podemos habilitar o USART habilitando o HARDWARE FLOW CONTROL; se o desabilitarmos, a comunicação será tratada no UART porque não usará os pinos CTS e RTS. Portanto, é semelhante ao UART em todos os outros sentidos, já que a API oculta os detalhes internos para que os usuários possam se concentrar no código do aplicativo.

O USART é bom para comunicações de alta velocidade, pois é sincronizado para que os dados não sejam perdidos durante essa comunicação. para taxas de baud iguais ou inferiores a 115200 UART é recomendado e para taxas de baud mais altas o USART é recomendado.

O código principal junto com as informações está disponível para download:
certifique-se de baixá-lo e brincar com ele. ;-p

UARTE com DMA


Neste tutorial vamos aprender o básico do pwm no nrf52832 e no nrf52840. Daremos uma olhada no básico e também aprenderemos sobre a frequência de pwm e o período de tempo de pwm. PWM (modulação por largura de pulso) é uma técnica de produção de pulsos no pino para acionar leds e outros sistemas digitais. A modulação por largura de pulso é uma técnica amplamente adotada e é usada no controle de motores, sequências de LEDs, LEDs RGB, fontes de alimentação de comutação e muito mais. Este tutorial não contém nenhum programa, é apenas uma introdução ao pwm e também explica alguns fundamentos do pwm em dispositivos nrf, então é importante conhecer a arquitetura interna, portanto, assista a este tutorial com atenção. ;-)

PWM


Neste tutorial vamos começar a programar o módulo pwm. Se você veio diretamente para este tutorial, eu recomendo assistir o tutorial anterior para a introdução para que você possa ter uma idéia da arquitetura básica do módulo pwm.
Vamos aprender a programar o pwm no modo comum. No modo comum, a sequência de valor ou valores é carregada em todos os quatro canais da instância pwm, de modo que todos os quatro canais fornecerão o mesmo ciclo de trabalho. Podemos conectar os canais com qualquer pino, mas não conectar canais diferentes com o mesmo pino ou deixar a saída dos canais desconectada de acordo com as necessidades de nossa aplicação.

O código principal com a descrição da função está disponível para download:
Certifique-se de fazer o download e brincar com ele; p

PWM continuação


Neste tutorial em vídeo aprenderemos como programar o módulo pwm no modo de carregamento de grupo para nrf52832 e nrf52840. Neste tutorial, continuaremos a partir do código do tutorial anterior, portanto, certifique-se de verificar o tutorial anterior também para entender isso. No modo de carregamento de grupo, nossos 4 canais de cada instância pwm são divididos em 2 grupos, ou seja, grupo 0 e grupo 1. O grupo 0 contém o canal 0 e o canal um e o grupo 1 contém o canal 2 e o canal 3, respectivamente. Portanto, os valores atribuídos ao grupo 0 afetarão os canais 0 e 1, e os valores atribuídos ao grupo 1 afetarão os canais 2 e 3.

O código principal junto com os detalhes da função estão disponíveis para download:
certifique-se de verificar ;-)

PWM - Canais


Neste tutorial, aprenderemos como configurar o código para carregamento individual do módulo PWM, essas configurações são semelhantes para nrf52832 e nrf52840. Neste tutorial usaremos um Led RGB. Usaremos nosso código para alterar o ciclo de trabalho, aumentando ou diminuindo o brilho da cor específica. Assim, podemos criar quase todas as cores usando leds RGB. É sempre útil, especialmente em dispositivos bluetooth de controle de luz.

Se você está vendo este tutorial diretamente, eu recomendo que você assista ao tutorial PWM em uma série a partir do tutorial 27 em diante. Mais detalhes do código são mencionados no Tutoiral 28 Portanto, certifique-se de fazer o download e verificar a partir dessa descrição do tutorial (28).

O código principal deste tutorial com informações está disponível para download aqui:
Certifique-se de verificar e ler também os detalhes importantes.

PWM - Controle de Brilho


Neste tutorial veremos como podemos configurar o código para o modo de carregamento de forma de onda. Este código é semelhante para nrf52832 e nrf52840. Neste tutorial, criaremos algumas ondas e veremos as ondas no meu osciloscópio DIY.
Se você estiver assistindo diretamente a este tutorial, assista aos meus tutoriais anteriores para entender o PWM e também o código é explicado no tutorial de modo comum e mais descrições do código estão disponíveis para download na descrição do tutorial de modo comum.

O código principal deste tutorial junto com a descrição está disponível para download aqui:
Certifique-se de verificar: p

Criando outras formas de Onda


Neste tutorial usaremos a biblioteca PWM para nRF5 SDK usando dispositivos nrf52832 e nRF52840. A biblioteca PWM é muito fácil de programar, mas lembre-se de que ela usa temporizadores de hardware e módulo PPI para simular o PWM. Portanto, ao usar essa biblioteca, estamos usando os temporizadores de PPI e de hardware como recursos, em vez do próprio PWM de hardware. Mas é mais fácil de programar e pode ser usado se todos os PWM de Hardware forem usados ​​para lidar com outros recursos do aplicativo do usuário. Portanto, usando temporizadores de hardware, podemos estender o número de canais PWM de nossos dispositivos. Cada temporizador pode fornecer 2 saídas de canal PWM, portanto, é bastante útil se precisarmos de mais de 12 canais no nRF52832 e mais de 16 canais no nrf52840, respectivamente.

O código junto com a descrição está disponível para download aqui:
tutorial 32.zip - Google Drive certifique-se de verificar ;-p

PWM - Continuação


Neste tutorial continuaremos a aprender mais sobre PWM para nrf52832 e nrf52840 usando um servo motor. O servo motor que irei usar é um servo motor pequeno comum que é usado em pequenos robôs e outros projetos de DIY. Este motor pode ser controlado usando sinais PWM, portanto, usaremos o pwm do nosso dispositivo nrf para controlar o ângulo do eixo do servo motor.
Um servo motor é um motor de alto torque com sinais de controle de feedback para que ele saiba com precisão a posição de seu eixo. Este servo pode ser girado de 0 a 180 graus apenas, embora existam outros servos que podem se mover para um ângulo mais amplo, como 270 ou 360 graus. Também temos alguns outros servos que não estão limitados a um ângulo específico, mas podem girar quantos ciclos de 360 ​​graus quisermos, mas não os discutiremos neste tutorial.
O servo precisa de um período de tempo de 50 Hz e 1-2 milissegundos como seu ciclo de trabalho de controle. então definiremos 20 ms como nosso período de tempo e então mudaremos o ciclo de trabalho no intervalo de 1 a 2 milissegundos, o ciclo de trabalho de 1 ms moverá o servo para 0 grau e o ciclo de trabalho de 2 milissegundos moverá o servo para 180 graus respectivamente.

O código principal junto com as informações estão disponíveis para download aqui:
certifique-se de verificar ;-)

PWM - Servo Motor


Neste tutorial veremos como podemos usar o clock de baixa frequência para gerar sinais pwm para nrf52832 e nrf52840. Usaremos a biblioteca pwm de baixa potência para gerar sinais pwm e usaremos temporizadores de aplicativo, então isso será independente do pwm do hardware e não é muito preciso, também temos outra limitação, ou seja, não podemos diminuir o período de tempo abaixo de 150 microssegundos, portanto, pode ser usado para tarefas simples como escurecimento de led ou outras tarefas de frequência muito baixa que requerem pwm.

O código principal junto com as informações estão disponíveis para download aqui:
certifique-se de dar uma olhada para entender os detalhes adicionais. ;-)

Utilização de Clock de Baixa Frequência para gerar PWM


Neste tutorial veremos como podemos usar a biblioteca pwm para controlar um motor DC que pode variar de 5 Volts a 36 Volts usando o driver H-Bridge de motor duplo L298N que é aplicável em ambos nrf52840 e nrf52832. Neste tutorial aprenderemos o básico do bridge driver L298N h e também aprenderemos como fazer a fiação, assim que terminarmos a fiação, iremos programá-la e aplicar todo o conhecimento que aprendemos. Certifique-se de ligá-lo com cuidado, você pode danificar seu laptop ou computador, bem como seu dispositivo nrf por causa da alta tensão do motor, então verifique tudo conforme mostro e explico cada uma das partes do driver. Tenha cuidado, caso contrário, não serei responsável por sua perda. Não tenha medo, apenas tome cuidado.

O código junto com as informações está disponível para download aqui:
certifique-se de verificar :-)

PWM - Controlando Motor DC


Neste tutorial vamos aprender como trabalhar com motores de passo usando nrf5 sdk com dispositivos nrf52832 e nrf52840 respectivamente. Aprenderemos como usar um driver de motor de passo (A4988) para controlar os motores de passo. Aprenderemos como conectar o driver com motores de passo, o que são motores de passo, por que os motores de passo são usados ​​em mecanismos de controle de precisão, como controlá-lo com um programa simples e muito mais.
Se você está assistindo diretamente a este tutorial, eu recomendo que você assista os tutoriais anteriores sobre PWM para que possamos trabalhar com motores de passo usando técnicas de pwm.
Podemos usar motores de passo em muitas aplicações, como controle de fechadura de porta, desenho 2D, impressão 3D e assim por diante.

O código principal junto com as informações estão disponíveis para download aqui:
certifique-se de verificar: p

PWM - Motor de Passo


Neste tutorial continuaremos a aprender sobre motores de passo e driver a9488 usando nrf52832 e nrf52840 respectivamente. Neste tutorial, aprenderemos uma técnica avançada de controle de motores de passo de maneira não bloqueadora, de forma que os processadores do nosso dispositivo nrf5 sejam livres para realizar outras tarefas enquanto o PWM irá lidar automaticamente com os movimentos do motor. Aprenderemos como controlar o motor de passo com precisão, enviando a quantidade exata de pulsos. Controlaremos o número de voltas que o motor pode mover, também podemos controlar a velocidade do motor de passo apenas alterando o valor m_top. Mais detalhes estão no código.

O código principal junto com os detalhes da função estão disponíveis para download aqui:
Certifique-se de verificar: ;-)

PWM - Motor de Passo - Continuação


Neste tutorial nós aprenderemos como programar I2C ou TWI em nrf5 sdk usando nrf52832 ou nrf52840. Aprenderemos o básico da comunicação I2C. O Twi é totalmente compatível com o protocolo de comunicação I2C, por isso é semelhante e pode ser facilmente usado para se comunicar com dispositivos que suportam a comunicação I2C. Aprenderemos o básico de I2C ou TWI e no final aprenderemos como programá-lo e como se comunicar com um sensor ou dispositivos compatíveis com I2C.

O código principal está disponível para download aqui:
Certifique-se de verificar ;-)

I2C - TWI


Neste tutorial vamos aprender como se comunicar com o sensor MPU6050 usando comunicação TWI ou comunicação I2C usando nrf52832 ou nrf52840.
Aprenderemos como escrever nos registros internos do MPU6050 ou ler os registros internos do MPU6050. Se você não viu meu tutorial anterior, assista-o primeiro para entender o básico. Iremos ler os valores do acelerômetro e do giroscópio dos registros internos do MPU6050 e, em seguida, exibi-los no log usando a porta serial. Por favor, ouça os detalhes com atenção.

A biblioteca junto com o código principal está disponível para download aqui:
Certifique-se de verificar ;-)

I2C - MPU6050


Neste tutorial aprenderemos como funciona a comunicação SPI e como podemos programá-la no SDK nrf5. Também aprenderemos como o SPI Peripheral compartilha sua memória com o TWI e podemos gerenciá-lo no SDK. Este código também é compatível com sdk 17.
Depois de aprender sobre o SPI, aprenderemos como ele é programado e, finalmente, tentaremos nos comunicar com um dispositivo SPI que neste caso é um sensor acelerômetro lis3dsh. Na próxima parte aprenderemos mais detalhes sobre isso já que o objetivo deste tutorial é aprender o básico da comunicação.

O código principal está disponível para download no seguinte link:

SPI


Neste tutorial, aprenderemos mais sobre a comunicação SPI usando uma biblioteca compatível com nrf52832 e nrf52840.
Aprenderemos como podemos conectar o sensor lis3dsh que é da eletrônica ST, é um acelerômetro e usaremos uma biblioteca para conectar com este sensor e eles lerão de seu registro interno e exibiremos esses valores no log do console via comunicação serial usando o terminal putty .

O código principal junto com a biblioteca para lis3dsh para nrf52832 e nrf52840 está disponível para download no seguinte link:

SPO - lis3dsh 


Se inscreva na comunidade do Sumair para receber atualizações

Questões: suporte@smartcore.com.br

Sobre a SMARTCORE

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfó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 

Nenhum comentário:

Postar um comentário