Índice:

Música do osciloscópio: 7 etapas
Música do osciloscópio: 7 etapas

Vídeo: Música do osciloscópio: 7 etapas

Vídeo: Música do osciloscópio: 7 etapas
Vídeo: Tudo sobre osciloscópios 2024, Novembro
Anonim
Image
Image
Fundo
Fundo

Introdução: Este Instrutível deve cumprir um requisito para a parte de documentação do projeto de interface de microcomputador na Universidade Estadual de Utah.

Etapa 1: Plano de fundo

Fundo:

Um osciloscópio é usado para exibir e medir um sinal de tensão que é plotado em relação ao tempo. Um osciloscópio no modo XY plota um sinal contra outro sinal, como uma equação paramétrica. Este projeto usa um osciloscópio no modo XY para exibir as imagens produzidas por um arquivo de som.

Etapa 2: ideia original

Ideia original
Ideia original
Ideia original
Ideia original

A ideia original do projeto era converter um antigo aparelho de televisão Cathode Ray Tube (CRT) em um osciloscópio XY e usá-lo para exibir as imagens. Isso pode ser feito desconectando as bobinas de deflexão. Quando você desconecta as bobinas horizontais, uma linha vertical aparece e quando você desconecta a bobina vertical, uma linha horizontal aparece. Tudo que eu precisava fazer era conectar a fonte de áudio às bobinas de deflexão e teria um osciloscópio XY. Infelizmente, tive vários problemas.

Etapa 3: Problemas encontrados

Problemas encontrados
Problemas encontrados
Problemas encontrados
Problemas encontrados
Problemas encontrados
Problemas encontrados

Um dos problemas que encontrei foram os recursos de segurança. A TV foi capaz de detectar que suas bobinas de deflexão foram desconectadas e não ligavam. Isso evita que o feixe de elétrons queime um buraco no fósforo da tela. Medi a resistência das bobinas e coloquei um resistor nela. O resistor queimou imediatamente pela metade por causa das altas tensões. Tentei novamente usando um resistor de classificação mais alta, mas também não funcionou. Eu li alguns fóruns online sobre como outro conjunto de bobinas de deflexão poderia ser conectado à TV original, então eu encontrei outra TV e conectei sua bobina de deflexão à minha. A impedância não era a mesma, por isso não ligou. Depois de mais algumas pesquisas, descobri que as TVs mais antigas não tinham o recurso de segurança e não me importava se as bobinas de deflexão fossem desconectadas. Consegui encontrar uma TV produzida em 2000 que parecia funcionar. Consegui obter algumas formas simples na tela, mas qualquer coisa mais complicada do que um círculo ficaria muito distorcida. Eventualmente, esta TV parou de funcionar e continuou queimando fusíveis.

Consegui encontrar uma pequena TV feita em 1994. Esta TV funcionou muito bem, mas não consegui obter a orientação correta da imagem, mesmo quando mudei os sinais em todas as combinações. Ele também tinha os mesmos problemas que a outra TV e não produzia imagens complicadas. Depois de muita pesquisa, descobri que o problema era que estava tentando produzir uma imagem vetorial em uma tela raster. Uma exibição raster é uma tela que faz a varredura horizontalmente muito rapidamente e, em seguida, verticalmente em uma taxa mais lenta. Uma exibição de vetor usa linhas para produzir imagens. Encontrei tutoriais sobre como converter uma exibição raster em uma exibição vetorial, mas o processo era perigoso e demorava muito.

Etapa 4: Solução

Solução
Solução

Depois de todos esses problemas, consegui encontrar uma solução bastante simples; um programa emulador de osciloscópio XY que recebeu áudio como entrada. Depois de encontrar este programa, mudei de foco na criação de um osciloscópio para a criação de uma maneira de produzir um arquivo de áudio de uma imagem para exibir em um osciloscópio.

Emulador de osciloscópio

Etapa 5: Detecção de Borda e Programa Matlab

Programa de detecção de bordas e Matlab
Programa de detecção de bordas e Matlab

Aqui está um fluxograma básico do meu programa. Ele começa com uma imagem que é carregada no programa EdgeDetect.m MATLAB. Este programa a converte em uma imagem em escala de cinza e detecta as bordas da imagem. As coordenadas XY das bordas detectadas são colocadas em duas matrizes que são convertidas em um arquivo de som.

Etapa 6: Exemplo: Robô Instructables

Aqui está um exemplo do processo com o robô instructables. Primeiro baixe uma imagem do robô instructable e salve-a como "image.png" em sua pasta de trabalho MATLAB (mesmo lugar que "EdgeDetect.m"). Certifique-se de que a imagem não tem nada que você deseja detectar ou pode adicionar um monte de coordenadas desnecessárias em seu arquivo de som. Execute o programa EdgeDetect e a imagem será convertida em escala de cinza, e suas bordas serão detectadas e armazenadas como um arquivo de som chamado "vector.wav". Em seguida, abra o arquivo de som no Audacity ou outro programa de edição de som. Abra seu programa de emulador de osciloscópio (link na etapa anterior), defina a taxa de amostragem para 192000 Hz, pressione Iniciar, clique no botão do microfone e selecione a opção de entrada de linha. No Audacity, pressione "shift + barra de espaço" para reproduzir o arquivo de som em um loop. A imagem deve aparecer no emulador do osciloscópio.

Etapa 7: Solução de problemas / Arquivos de exemplo

Conforme desenvolvi este programa, tive que ajustar algumas configurações no programa. Aqui estão algumas coisas para verificar se não está funcionando:

- Certifique-se de que sua saída de áudio está sendo alimentada em sua entrada de linha em seu computador e que você tem 2 canais de áudio separados (esquerdo e direito)

-Se a imagem não estiver sendo lida pelo programa MATLAB, pode ser necessário editá-la no Paint e salvá-la em um formato diferente.

-Na linha 61 do código, certifique-se de incluir os números da tela de detecção de borda. O programa geralmente coloca um retângulo ao redor de tudo que você pode cortar mudando de "i = 1: comprimento (B)" para "i = 2: comprimento (B)". Além disso, se você tiver números específicos que deseja incluir, mas não deseja incluir todos, pode usar colchetes para obter números específicos: "[1 3 6 10 15 17]"

-Se a imagem parecer trêmula e as partes estiverem espalhadas, pode ser necessário reduzir o número de amostras ajustando "N" na linha 76. Quanto mais simples a imagem, menor N pode ser, mas deve ser maior se a imagem é complexo. Para o robô, usei N = 5.

-Você também pode ajustar "Fs" na linha 86. Quanto mais alta a taxa de amostragem, melhor a imagem ficará, mas algumas placas de som não serão capazes de lidar com taxas de amostragem mais altas. As canções modernas têm uma taxa de amostragem em torno de 320000 Hz.

Recomendado: