Menu English Ukrainian Russo Início

Biblioteca técnica gratuita para amadores e profissionais Biblioteca técnica gratuita


ENCICLOPÉDIA DE RÁDIO ELETRÔNICA E ENGENHARIA ELÉTRICA
Biblioteca gratuita / Esquemas de dispositivos radioeletrônicos e elétricos

Arduino. Operações de entrada-saída analógica, funcionam com um som. Enciclopédia de rádio eletrônica e engenharia elétrica

Biblioteca técnica gratuita

Enciclopédia de eletrônica de rádio e engenharia elétrica / Designer de rádio amador

Comentários do artigo Comentários do artigo

Embora as operações de entrada e saída digital permitam resolver uma ampla gama de tarefas, a presença de um conversor analógico-digital (ADC) integrado no microcontrolador da placa Arduino e a capacidade de emitir sinais analógicos usando modulação por largura de pulso ( PWM) fornecem trabalho com sensores analógicos e todos os tipos de atuadores, afetando o objeto na proporção do sinal de controle.

Estritamente falando, no modo de saída, todas as linhas de porta do Arduino podem transmitir apenas sinais discretos que possuem apenas dois estados. Mas o microcontrolador é capaz de mudar esses estados muito rapidamente, gerando pulsos retangulares. Se você aplicar esses pulsos a qualquer dispositivo que tenha propriedades inerciais, ele se comportará como se a tensão aplicada a ele fosse constante, igual ao valor médio do pulso, mudasse suavemente e não saltasse entre os níveis lógicos alto e baixo.

No modo PWM, a porta gera um sinal de pulso de frequência constante e ciclo de trabalho variável (essa é a relação entre o período de repetição do pulso e sua duração). Freqüentemente, em vez do ciclo de trabalho, eles operam com o recíproco dele - o ciclo de trabalho, que pode ser alterado de 0 (sem pulsos) a 100% (os pulsos seguem, mesclando, sem pausas). Portanto, embora a tensão de saída seja alta ou baixa em um determinado momento, seu valor médio é proporcional ao ciclo de trabalho. Se você conectar um multímetro comum a esta saída, ele mostrará esse valor (claro, se a frequência de pulso for alta o suficiente).

No Arduino UNO, as saídas D3, D5, D6, D9, D10 e D11 podem funcionar no modo PWM. Normalmente, no quadro, eles são marcados com os sinais "~" ou as abreviaturas "PWM". Deve-se notar que as placas Arduino de outras modificações podem ter mais ou menos essas saídas.

No caso mais simples, o PWM pode ser usado para controlar o brilho de um LED. Este dispositivo é praticamente sem inércia, mas a visão humana tem inércia suficiente para que uma sequência de flashes rápidos de LED seja percebida como um brilho contínuo com um brilho dependente do fator de serviço.

As saídas digitais compatíveis com PWM são configuradas para usar este modo por padrão, então você não precisa chamar a função pinMode() para fazê-las funcionar neste modo. Para definir o ciclo de trabalho de um sinal PWM, existe uma função padrão analogWrite(N, M), onde N é o número do pino, M é um número proporcional ao ciclo de trabalho necessário. Deve estar entre 0 e 255, sendo 0 ciclo de trabalho zero (saída baixa constante), 255 sendo ciclo de trabalho 100% (saída alta constante). Os diagramas de tempo da tensão de saída para alguns valores de M e, consequentemente, o ciclo de trabalho Kz são mostrados na fig. 1.

Arduíno. Operações de E/S Analógica, Operações de Áudio
Arroz. 1. Diagramas de temporização da tensão de saída

Por exemplo, considere a tabela fornecida em Table. 1 programa que aumenta gradativamente o brilho do led conectado na saída digital D9, e depois diminui gradativamente. Ele é baseado no exemplo padrão samples3.AnalogFading fornecido com o Arduino IDE. A enumeração dos valores do pulso duty cycle é implementada aqui com a ajuda dos operadores for loop já considerados em [1].

Tabela 1.

Arduíno. Operações de E/S Analógica, Operações de Áudio

Para receber sinais analógicos de dispositivos externos, o Arduino possui entradas A0-A5, que são configuradas para o estado desejado por padrão, portanto nenhuma inicialização adicional é necessária. O ADC embutido no Arduino UNO gera códigos binários de 10 bits e converte a tensão de entrada variando de 0 a +5 V para um número inteiro de 0 a 1023 (210-1).

A função analogRead(N) é usada para ler o resultado da conversão, onde N é o número da entrada analógica.

Uma variedade de sensores pode ser conectada às entradas analógicas do Arduino, cuja tensão de saída é proporcional ao valor medido (resistores variáveis, termistores, fotoresistores, etc.). No entanto, deve-se lembrar que apenas de 0 a +5 V pode ser aplicado à entrada analógica. Se a tensão de saída do sensor estiver em um intervalo diferente ou for de polaridade negativa, o sinal deve primeiro ser colocado no intervalo especificado . A entrada analógica é pesquisada em uma frequência inferior a 10 kHz [2], o que pode não ser suficiente para analisar alguns sinais que mudam rapidamente.

A presença de entradas analógicas permite transformar o Arduino em um simples voltímetro digital que mede uma tensão constante de 0 a +5 V e transmite o resultado da medição para um computador. Para isso, basta baixar o programa mostrado na Tabela 2 no Arduino. XNUMX.

Tabela 2

Arduíno. Operações de E/S Analógica, Operações de Áudio

Observe que as constantes no programa são a tensão de referência ADC Uref (em milivolts) e o coeficiente para converter o código de saída ADC em tensão Ku. O valor do coeficiente é calculado dividindo a tensão de referência especificada por 1023. O coeficiente geralmente é um valor fracionário, portanto a constante Ki é do tipo float (número de ponto flutuante). A constante Uref tem o mesmo tipo para o cálculo correto do coeficiente. Como existem apenas constantes no lado direito da fórmula, não é o microcontrolador que calcula o coeficiente ao executar o programa, mas o próprio compilador na fase de sua tradução.

Tudo isso permite aumentar a precisão do voltímetro medindo o valor exato da tensão de referência no pino Uref da placa Arduino com um multímetro e gravando-o no programa atribuindo a constante Uref. Outras formas de melhorar a precisão da conversão analógico-digital podem ser encontradas em [3, 4].

Quando o programa em questão está rodando, o LED TX pisca na placa, sinalizando a transferência de informações pela porta serial. O LED RX está desligado porque o computador não está transmitindo nada em resposta. O terminal Arduino IDE integrado exibe as informações recebidas (Fig. 2) - os resultados da medição da tensão da bateria galvânica 3332.

Arduíno. Operações de E/S Analógica, Operações de Áudio
Arroz. 2. Janela do programa

O Arduino pode fornecer não apenas luz, mas também sinais sonoros. Para isso, é necessário conectar um emissor de som piezo, por exemplo ZP-1, a uma de suas saídas (Fig. 3).

Arduíno. Operações de E/S Analógica, Operações de Áudio
Arroz. 3. Conectando um emissor de som piezoelétrico

Para trabalhar com som, é fornecida uma função especial tone(N, F, T), onde N é o número do pino no qual os pulsos retangulares serão gerados; F - frequência do som, Hz; T - duração do som, ms. O último parâmetro é opcional. Na sua ausência, o som será contínuo. Para desligá-lo, a função noTone(N) é fornecida.

Obviamente, um emissor de som piezocerâmico dificilmente pode ser chamado de dispositivo de reprodução de alta qualidade, e o sinal gerado pelo microcontrolador tem uma forma retangular; no entanto, o uso dessas funções permite tocar melodias simples. Um exemplo é dado na Tabela. 3. Este é um exemplo ligeiramente modificado do programa 02.Digital oneMelody incluído no Arduino IDE. Como é inconveniente definir manualmente a frequência de cada nota da melodia, o arquivo pitches.h é conectado ao programa em seu cabeçalho usando a diretiva #include. Esta operação equivale a incluir o texto completo deste arquivo no programa. Neste caso, contém uma lista de nomes de notas que podem ser tocadas e suas frequências.

Tabela 3

Arduíno. Operações de E/S Analógica, Operações de Áudio

O emissor de som deve ser conectado à saída D8.

Para o programa, uma melodia é uma sequência de constantes do mesmo tipo (valores de frequência), que são convenientemente combinadas em uma matriz - uma lista numerada de elementos semelhantes. Ao declarar uma matriz, você deve enumerar todos os seus elementos ou especificar seu número total. Observe que a numeração dos elementos do array sempre começa do zero.

Neste exemplo, dois arrays são usados: int melody[] contém os nomes das notas da melodia, int note Durations[] - sua duração em milissegundos. Para acessar um elemento de uma matriz, seu nome é especificado com um número de sequência entre colchetes. Para poder alterar facilmente o número de notas em uma melodia, ele é calculado usando as funções sizeof(V), que retornam o número de bytes ocupados por seu argumento (variável ou seu array) na memória do microcontrolador. Nesse caso, a matriz de melodia tem 16 bytes de comprimento e seus elementos int têm dois bytes. Portanto, a variável Note recebe o valor 8, e é quantas vezes o corpo do loop for será repetido, tocando as notas uma a uma.

Se você adicionar várias notas à matriz melody[], o valor da nota será alterado de acordo. Apenas lembre-se de preencher o array noteDurations[] com as durações dessas notas.

Como a melodia é tocada uma vez, todas as operações necessárias para isso são colocadas dentro da função setup().

Para reexecutar, você precisa reiniciar o microcontrolador pressionando o botão RESET na placa Arduino.

Os programas para Arduino discutidos no artigo podem ser baixados em ftp://ftp.radio.ru/pub/2016/09/aninout.zip.

Literatura

  1. Lekomtsev D. Arduino. Operações de E/S digitais. - Rádio, 2016, n.º 8, p. 51-54.
  2. Medições analógicas com Arduino. - URL: robotosha.ru/arduino/analog-measurements-arduino.html.
  3. Referência da Linguagem Arduino. E/S analógica - analogReference(). - URL: arduino.cc/en/Reference/AnalogReference.
  4. função analogReference(). - URL: arduino.ru/Reference/AnalogReference.

Autor: D. Lekomtsev

Veja outros artigos seção Designer de rádio amador.

Leia e escreva útil comentários sobre este artigo.

<< Voltar

Últimas notícias de ciência e tecnologia, nova eletrônica:

Uma nova maneira de controlar e manipular sinais ópticos 05.05.2024

O mundo moderno da ciência e da tecnologia está se desenvolvendo rapidamente e todos os dias surgem novos métodos e tecnologias que nos abrem novas perspectivas em vários campos. Uma dessas inovações é o desenvolvimento, por cientistas alemães, de uma nova forma de controlar sinais ópticos, que poderá levar a progressos significativos no campo da fotónica. Pesquisas recentes permitiram que cientistas alemães criassem uma placa de ondas sintonizável dentro de um guia de ondas de sílica fundida. Este método, baseado no uso de uma camada de cristal líquido, permite alterar efetivamente a polarização da luz que passa por um guia de ondas. Este avanço tecnológico abre novas perspectivas para o desenvolvimento de dispositivos fotônicos compactos e eficientes, capazes de processar grandes volumes de dados. O controle eletro-óptico da polarização fornecido pelo novo método poderia fornecer a base para uma nova classe de dispositivos fotônicos integrados. Isto abre grandes oportunidades para ... >>

Teclado Primium Seneca 05.05.2024

Os teclados são parte integrante do nosso trabalho diário com o computador. Porém, um dos principais problemas que os usuários enfrentam é o ruído, principalmente no caso dos modelos premium. Mas com o novo teclado Seneca da Norbauer & Co, isso pode mudar. O Seneca não é apenas um teclado, é o resultado de cinco anos de trabalho de desenvolvimento para criar o dispositivo ideal. Cada aspecto deste teclado, desde propriedades acústicas até características mecânicas, foi cuidadosamente considerado e equilibrado. Uma das principais características do Seneca são os estabilizadores silenciosos, que resolvem o problema de ruído comum a muitos teclados. Além disso, o teclado suporta várias larguras de teclas, tornando-o conveniente para qualquer usuário. Embora Seneca ainda não esteja disponível para compra, seu lançamento está programado para o final do verão. O Seneca da Norbauer & Co representa novos padrões em design de teclado. Dela ... >>

Inaugurado o observatório astronômico mais alto do mundo 04.05.2024

Explorar o espaço e seus mistérios é uma tarefa que atrai a atenção de astrônomos de todo o mundo. No ar puro das altas montanhas, longe da poluição luminosa das cidades, as estrelas e os planetas revelam os seus segredos com maior clareza. Uma nova página se abre na história da astronomia com a inauguração do observatório astronômico mais alto do mundo - o Observatório do Atacama da Universidade de Tóquio. O Observatório do Atacama, localizado a uma altitude de 5640 metros acima do nível do mar, abre novas oportunidades para os astrônomos no estudo do espaço. Este local tornou-se o local mais alto para um telescópio terrestre, proporcionando aos investigadores uma ferramenta única para estudar as ondas infravermelhas no Universo. Embora a localização em alta altitude proporcione céus mais claros e menos interferência da atmosfera, construir um observatório em uma montanha alta apresenta enormes dificuldades e desafios. No entanto, apesar das dificuldades, o novo observatório abre amplas perspectivas de investigação para os astrónomos. ... >>

Notícias aleatórias do Arquivo

Ulisses não morava em Ítaca 09.03.2006

Nos últimos três mil anos, a localização exata do local de nascimento de Ulisses - Ítaca permaneceu um mistério.

Existe uma ilha grega com esse nome, mas nenhuma de suas características corresponde às descrições de Homero. Isso levou muitos historiadores a acreditar que toda a história do retorno de Ulisses para casa é apenas uma ficção poética.

Recentemente, no entanto, o empresário britânico Robert Beatlesstone, que gosta das obras de Homero, encontrou, como acredita, o local onde ficava o palácio de Ulisses. Beatlesstone usado para esta indicações disponíveis no Odyssey, bem como dados geográficos, arqueológicos e fotografias de satélite.

Segundo um arqueólogo amador, o palácio estava localizado na costa oeste da ilha de Cefalônia, mais próximo da moderna Ítaca, perto da vila de Paliki. Aparentemente, este pedaço de Cefalônia já foi uma ilha independente, mas após um grande terremoto, o estreito que separava a ilha de Cefalônia foi preenchido.

Outras notícias interessantes:

▪ Combustível nanoelétrico para recarga infinita da bateria

▪ Robô aspirador Samsung POWERbot VR7000

▪ E-book Amazon Kindle DX

▪ Não o estresse é perigoso, mas a reação a ele

▪ Palavras e seu colorido emocional

Feed de notícias de ciência e tecnologia, nova eletrônica

 

Materiais interessantes da Biblioteca Técnica Gratuita:

▪ seção do site Transporte pessoal: terrestre, aquático, aéreo. Seleção de artigos

▪ artigo A iluminação como componente da filmagem de vídeo. videoarte

▪ artigo Em qual cidade quase todos os moradores moram na mesma casa? Resposta detalhada

▪ artigo Laço de aperto. Dicas de viagem

▪ artigo Amplificador-corretor para EPU ARKTUR-006-STEREO. Enciclopédia de rádio eletrônica e engenharia elétrica

▪ artigo Transistores de efeito de campo KP150 - KP640. Enciclopédia de rádio eletrônica e engenharia elétrica

Deixe seu comentário neste artigo:

Имя:


E-mail opcional):


Comentário:





Todos os idiomas desta página

Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site

www.diagrama.com.ua

www.diagrama.com.ua
2000-2024