Las otras respuestas parecen involucrar el uso de conectores de 3,5 mm y un cable de audio solo para transmitir una señal digital serie típica de los puertos GPIO de la Raspberry Pi: por ejemplo, cableado de serie asíncrono, SPI o I2C a un conector externo dedicado de 3.5 mm que no es ni el conector de audio en la Pi.
Interpreté la pregunta más a lo largo de las líneas "¿Puedo transmitir datos digitales a un microcontrolador utilizando la salida de audio de la Raspberry Pi"
Sí, pero se vuelve más complicado. La salida de audio de la frambuesa pi se ve así:
Broadcomm SoC (fuera de pantalla) produce dos
ondas cuadradas de ancho de pulso (PWM) producidas por Broadcomm SoC. y luego se filtran en paso bajo (para producir una forma de onda analógica) y se introducen en el conector de 3,5 mm. Los condensadores de bloqueo de CC aseguran que la salida no tenga compensación de CC. Los diodos protegen contra los transitorios de tensión.
La salida de audio es (capacitivamente) AC acoplada; Los condensadores de bloqueo de CC junto con la carga y la impedancia de la fuente actuarán como un filtro de paso alto, bloqueando las frecuencias por debajo de unas pocas decenas de Hertz. Por lo tanto, no puede utilizar las señales de DC-desequilibrado para comunicarse.
Tienes que codificar o modular los datos digitales de alguna manera, para que puedas pasarlos a través de una línea acoplada de CA. Hay muchos esquemas de codificación adecuados, especialmente codificación de Manchester , codificación 8b / 10b o codificación 4b / 5b . Dichas señales se pueden decodificar en el extremo arduino alimentando la señal a la entrada del comparador analógico, alimentando la salida del comparador a la unidad de captura de entrada del Temporizador 1 (de modo que cada flanco ascendente y descendente revelado obtenga una marca de tiempo) y luego decodifique el flujo en el software. Como la salida de audio está diseñada teniendo en cuenta el rango de audición humana, no esperaría una tasa de bits superior a unos 10 kbps (probablemente mucho menos, dependiendo del esquema de codificación utilizado).
También hay varios esquemas simples de modulación como Frequency Shift Keying , Phase Shift Keying , Pulse Position Modulation y On- Off Keying que se puede demodular con relativa facilidad con solo el comparador analógico y un temporizador de hardware.
Si desea volverse irritable, también puede sintetizar una forma de onda analógica modulada digitalmente en el extremo pi raspberry, muestrearla con el arduino ADC y demodular en el dominio digital. Con algo como modulación de amplitud de cuadratura , puede obtener una tasa de datos bastante respetable incluso con el ancho de banda limitado y la potencia de procesamiento disponible, a la Coste de mayor complejidad del software.
La modulación difiere de la codificación en que modifica las propiedades de una forma de onda de repetición constante con los datos que se transmiten en lugar de modificar la señal en sí. La modulación permite transmitir una señal de un cierto rango de frecuencia en un rango de frecuencia diferente, lo cual es crucial para, por ejemplo. la comunicación por radio, pero no es necesaria en este caso, ya que su señal original (banda base) ya se encuentra en el rango de frecuencia del canal de comunicación , por lo que se puede utilizar la codificación sin ninguna modulación. También es posible combinar la modulación de codificación y .