Um método muito interessante de emitir qualquer sinal de áudio através de qualquer pino digital I / O usando hardware mínima é esta: romanblack.com/BTc_alg.htm
slebetman
Respostas:
9
Os canais da tomada de áudio (esquerda e direita) são fornecidos pelo GPIO controlado por PWM (canal 0 pelo GPIO 12 ou 18 e canal 1 pelo GPIO 13 ou 19).
Portanto, se você conectar os circuitos apropriados aos GPIO, obterá áudio.
Nos Pis recentes, a saída da tomada de áudio é fornecida pelos canais PWM 0 e 1. O canal PWM 0 é alimentado ao GPIO40, que é conectado ao canal direito (estéreo), e o canal PWM 1 é alimentado ao GPIO45, que é conectado ao (estéreo) canal esquerdo.
Esses canais PWM também podem ser alimentados ao GPIO acessível ao usuário.
O canal 0 do PWM pode ser roteado para GPIO12 e GPIO18.
O canal 1 do PWM pode ser roteado para GPIO13 e GPIO19.
Você encaminha o PWM para um GPIO definindo um modo GPIO específico da seguinte maneira:
GPIO12 - modo de configuração ALT0
GPIO13 - modo de configuração ALT0
GPIO18 - modo de configuração ALT5
GPIO19 - modo de configuração ALT5
Consulte a página 102 da referência de especificação da Broadcom acima.
Preciso usar os dois canais? e por que existem ou existem, digamos, eu estou usando o Pi 3 e qual é o número dos GPIOs que possuem hardware PWM? De acordo com isso , existe apenas um pino com PWM, que é o pino 12 (GPIO18).
Trevor
@IlDivinCodino Você pode usar um ou dois canais. O estéreo requer dois, um mono. Minha resposta menciona o GPIO utilizável, ou significa que você pode usar o GPIO (ou ambos, se encontrar um motivo para fazê-lo).
10136 joan
A biblioteca pigpio da própria joan ( IIRC ) permite o PWM através de pinos arbitrários - eu me pergunto quantos canais de áudio você poderia conseguir dessa maneira.
Chris H
1
O PWM com tempo de DMA do pigpio @ChrisH é restrito, pois apenas um número fixo de frequências pode ser gerado com um número limitado de etapas entre desativado e totalmente ativado. Isso é bom para muitos aplicativos, mas provavelmente não para áudio (não sei como o PWM é usado para gerar áudio, portanto, isso é um palpite da minha parte).
10136
2
@ joan, são as frequências discretas que seriam mais problemáticas (um ciclo de trabalho de 50:50 é provavelmente o melhor para o volume máximo). Portanto, seria bom para um alarme, mas não para a reprodução geral. Talvez eu tenha chance de brincar com ele no fim de semana.
Chris H
2
Assim como a resposta de Joan já sugere, a saída de áudio analógico do Pi é exatamente isso. A Adafruit possui um artigo que descreve esse circuito em detalhes para uso com o Pi Zero (que vem sem ele), veja aqui .
você deve ter uma descrição para o artigo, basta colocar o link não é uma boa maneira de responder em stackexchange. Em algum momento o link pode estar morrendo.
Trevor
1
1) não é apenas colocar o link, é dar contexto (embora um pouco, como eu admito), 2) o rot rot não é provavelmente um problema, pois é um link interno no raspberrypi.SE, não um link externo (portanto, seria argumentar que será tão persistente quanto sua pergunta). A idéia era não repetir as informações fornecidas lá e não fechar as duas perguntas como enganadoras umas às outras (porque elas não são, imho).
Respostas:
Os canais da tomada de áudio (esquerda e direita) são fornecidos pelo GPIO controlado por PWM (canal 0 pelo GPIO 12 ou 18 e canal 1 pelo GPIO 13 ou 19).
Portanto, se você conectar os circuitos apropriados aos GPIO, obterá áudio.
Consulte BCM2835 ARM Peripherals para obter detalhes sobre o periférico GPIO e PWM.
EDITADO PARA ADICIONAR
Alguma experiência
Nos Pis recentes, a saída da tomada de áudio é fornecida pelos canais PWM 0 e 1. O canal PWM 0 é alimentado ao GPIO40, que é conectado ao canal direito (estéreo), e o canal PWM 1 é alimentado ao GPIO45, que é conectado ao (estéreo) canal esquerdo.
Esses canais PWM também podem ser alimentados ao GPIO acessível ao usuário.
O canal 0 do PWM pode ser roteado para GPIO12 e GPIO18.
O canal 1 do PWM pode ser roteado para GPIO13 e GPIO19.
Você encaminha o PWM para um GPIO definindo um modo GPIO específico da seguinte maneira:
Consulte a página 102 da referência de especificação da Broadcom acima.
Existem várias maneiras de definir um modo GPIO.
Meu utilitário de porcos usa o comando M.
Por exemplo, os porcos m 18 5 ajustam o GPIO18 no modo ALT5.
fonte
Assim como a resposta de Joan já sugere, a saída de áudio analógico do Pi é exatamente isso. A Adafruit possui um artigo que descreve esse circuito em detalhes para uso com o Pi Zero (que vem sem ele), veja aqui .
fonte