Anda di halaman 1dari 6

e gustaría compartir un pequeño transmisor de radio que hice con una placa Arduino Uno.

Si
no has oído hablar de ellos, el Uno es una placa de microcontrolador barata y fácil de usar. Es
esencialmente una pequeña computadora de memoria muy baja que puede programarse para
realizar tareas eléctricas analógicas y digitales básicas.

Estas tablas se utilizan ampliamente como herramientas educativas y en entornos de bricolaje.


El primer "proyecto" que la gente hace con esto es hacer que parpadee un LED. Esto requeriría
un circuito inteligente si lo construyes a partir de componentes básicos, pero con este
dispositivo puedes hacer el trabajo con tres líneas de código. Por supuesto, es más útil para
tareas más complicadas, como controlar sensores (cuando, por primera vez, obtuve esta placa,
la usé para hacer un magnetómetro en bruto (un dispositivo que mide campos magnéticos),
por ejemplo).

Las transmisiones son oscilaciones!

Cualquier oscilación eléctrica produce ondas electromagnéticas.

Estas ondas pueden tener una potencia muy baja y pueden no ser detectables, pero siempre
están ahí. Una calculadora con un procesador de 20 MHz está irradiando pequeñas cantidades
de radiación electromagnética de 20 MHz (a menos que esté bloqueada por escudos), pero es
probable que la cantidad producida sea indetectable. Necesita una antena construida
adecuadamente para que realmente salgan grandes cantidades de ondas de radio en el medio
ambiente.

Esto significa que un circuito que dispara una señal eléctrica de un lado a otro un millón de
veces por segundo se puede convertir en una emisión / interferencia cruda conectando un
cable largo al oscilador. Luego irradiará ondas de radio de 1 MHz que se detectarán en las
radios de forma inalámbrica. El cable es probablemente una antena muy pobre, pero es una
magnitud mejor que no tener ninguna antena.

En este post, estaré demostrando usando un cable y un Arduino Uno para producir ondas de
radio.

Uno

Ondas de Radio Uno

El Uno es un tablero azul de tamaño moderado que contiene el microcontrolador ATMEGA-


328. Este chip es un IC grande que puede programarse para realizar alguna función. En cierto
modo, el Uno es solo una gran placa de soporte para este único microcontrolador. La propia
placa proporciona una forma fácil de programar y usar este IC: un puerto USB, pines, LED de
fácil acceso y más. En particular, hay un oscilador de cristal piezoeléctrico a bordo. Este
dispositivo oscila a una frecuencia muy específica y controla la velocidad del controlador. En el
caso del Uno, el microcontrolador funciona a 16 MHz (en comparación con las frecuencias GHz
+ de las computadoras portátiles ordinarias ...).

16 MHz significa que el dispositivo puede ejecutar un comando cada 1/16 de microsegundo.
Utilicé esto como la base para generar una señal de radio.

La banda AM se extiende desde aproximadamente 500 kHz (0.5 MHz) hasta casi 2 MHz. Decidí
ir al centro de la banda a 1 MHz para asegurarme de que mi radio de mano pudiera captar la
señal.

Escribí un programa simple que se carga en el Uno para generar ondas de radio. El programa le
dice al dispositivo que transmita la letra "V" en código Morse (esto corresponde a dot-dot-dot-
dash (...-)). Así es como funciona (vea el final de la publicación para el código real si desea
usarlo usted mismo):

La onda electromagnética se produce emitiendo una onda cuadrada a uno de los pines de
salida digital. Los pines digitales solo pueden emitir dos voltajes: alto (+5 voltios) o bajo (cero
voltios). Por lo tanto, para obtener una onda cuadrada de 1 MHz que se puede escuchar en la
radio, debemos encender y apagar el pin digital un millón de veces por segundo (una vez por
microsegundo). Sin embargo, los comandos de retardo de tiempo Uno solo se reducen a un
microsegundo. Si utilizamos un retraso de microsegundos entre la activación y desactivación
del pin, la frecuencia de salida solo será de 500 kHz (la mitad de un MHz).

Para solucionar esto utilicé el hecho de que sabemos que el Uno funciona a 16 MHz. En lugar
de usar un comando de retardo de tiempo, después de decirle a Uno que active el pin digital
Nº 8, ejecuté 8 comandos de adición inútiles (literalmente, simplemente agregando 1 a un
número una y otra vez). Estos comandos consumen 8 microsegundos de tiempo, ya que el
procesador puede ejecutar un comando por 1/16 de microsegundo. Luego, el pin # 8 se apaga,
y se calculan otras 8 restas (restando 1 de un número 8 veces). Luego el pin se enciende y, de
nuevo, el ciclo continúa, con una frecuencia de ... 1 MHz. Configure este transmisor tonto. El
cable verde actúa como una antena bruta, mientras que el conector de la batería de 9 V se
conecta al pin # 8 de salida digital en el Uno, que se utiliza como salida del transmisor. Usé el
conector de la batería porque perdí todos los cables de mi placa de pruebas. La distorsión de la
imagen se debe al hecho de que tomé una panorámica para obtener todo el dispositivo de una
sola vez.
Para obtener la transmisión del código Morse, simplemente ejecuté los comandos del
transmisor a través de unos cuantos bucles para enviar DOT-DOT-DOT-DASH (que es V en
código Morse).

Con el cable conectado, puede escuchar claramente la señal del código Morse en mi radio AM
(que se muestra como el cuadro gris en la imagen) desde una distancia de hasta un metro,
¡justo a aproximadamente 1 MHz en el receptor como se predijo! Dado que las ondas EM de 1
MHz tienen una longitud de onda muy larga, una antena más larga probablemente mejoraría
la señal y aumentaría el rango. Incluso podría captar estas señales con una radio de coche si el
transmisor estuviera

La suya es una onda cuadrada, y es lo que produce el pin de transmisión de esta demostración.
El eje vertical representa el voltaje y el eje horizontal representa el tiempo, por lo que esta es
solo una imagen de un interruptor que se enciende y apaga una y otra vez.

Crédito

Sin embargo, no querrá utilizar este tipo de transmisor para enviar información. A partir de
algo llamado Teorema de Fourier, cada ola que puede hacer con la electrónica está compuesta
por una suma de funciones seno / coseno que se mueven a diferentes frecuencias. El resultado
para nosotros es que si pones una onda cuadrada de 1 MHz (que está activando y
desactivando un pin) a través de una antena, no solo transmitirás en 1 MHz: también
transmitirás en un montón de otros Frecuencias, a potencias de señal variables. Por lo tanto,
usar este tipo de transmisor sin primero filtrar la salida para que sea una onda sinusoidal pura
resultará en que ensucie el espectro de radio con toneladas de ruido en muchas frecuencias y
posiblemente juegue con canales en los que ni siquiera sabía que estaba transmitiendo.

Pero incluso con la salida ruidosa, creo que es una demostración genial. Los de Uno son
realmente baratos (creo que puedes comprarlos por unos $ 5), así que puedes construir uno
de estos y probarlo en tu radio en aproximadamente un minuto.

Código

Aquí está el código, si alguien está interesado en probar esto ellos mismos. Hice todo lo
posible por comentarlo bien para que pueda seguirlo, pero no soy un muy buen programador,
así que no espere que el programa sea asombroso. Cualquier cosa detrás de // es un
comentario.
// Transmisor de ondas de radio en blanco de banda AM de 1 MHz super simple para Arduino
Uno

configuración vacía () {

// Inicializar pin de transmisión

pinMode (8, SALIDA); // Usa el Pin 8 digital para la transmisión. Cambia a cualquier pin que te
guste.

void transmit_1MHz () {// Función del transmisor - Función personalizada

// Ejecutar transmisor

int j = 1; // Variable ficticia para el tiempo

escritura digital (8, ALTA); // Enciende el pin digital 8

// Ejecutar comandos ficticios 8X para retrasar 1/2 microsegundo (a una velocidad de reloj de
16 MHz)

j ++;

j ++;

j ++;

j ++;

j ++;

j ++;

j ++;

j ++;

escritura digital (8, BAJA); // Apaga el Pin digital 8

// Ejecutar 8x más comandos ficticios


j--;

j--;

j--;

j--;

j--;

j--;

j--;

j--;

// El resultado es una onda cuadrada de 1 MHz: el voltaje es alto (+ 5V) para 1/2 a
microsegundo, luego bajo (0V) para 1/2 a microsegundo.

bucle de vacío () {

// Esto ejecuta el transmisor en repetición

// Para ayudar a identificar la transmisión: Transmita el código morse de la letra "V": ...-

para (int i = 1; i <= 4000; i ++) {// Ejecutar durante 400 milisegundos, ya que cada ejecución de
transmisión toma 1 microsegundo DOT

transmit_1MHz (); // Encender el transmisor - cada ejecución toma 1 microsegundo

retraso (200);

para (int i = 1; i <= 4000; i ++) {// Ejecutar durante 400 milisegundos, ya que cada ejecución de
transmisión toma 1 microsegundo DOT

transmit_1MHz (); // Encender el transmisor - cada ejecución toma 1 microsegundo

retraso (200);
para (int i = 1; i <= 4000; i ++) {// Ejecutar durante 400 milisegundos, ya que cada ejecución de
transmisión toma 1 microsegundo DOT

transmit_1MHz (); // Encender el transmisor - cada ejecución toma 1 microsegundo

retraso (200);

para (int i = 1; i <= 20000; i ++) {// Ejecutar durante 2000 milisegundos, ya que cada ejecución
de transmisión toma 1 microsegundo DASH

transmit_1MHz (); // Encender el transmisor - cada ejecución toma 1 microsegundo

retraso (500);

Conclusión

Ya puedo pensar en algunas formas de mejorar esto (agregar un filtro, agregar voz o usar la
salida de onda cuadrada para controlar un transmisor de mayor frecuencia), y puedo
intentarlo en el futuro. Realmente, esto es solo una demostración rápida de que puede
transmitir señales de radio débiles con estas tarjetas comunes.

Avíseme si tiene preguntas o comentarios, o si cometí algún error.

¡Gracias por leer!