{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Capítulo 2: Gerando e Lendo de Sinais" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A geração de sinais é o processo de criar formas de onda ou sinais elétricos artificiais que podem ser utilizados em diversas aplicações, como testes de sistemas eletrônicos, análise de circuitos, comunicações, entre outras. Esses sinais podem ter diferentes formas de onda, como sinusoidal, quadrada, triangular, dente de serra, etc.\n", "\n", "Uma das formas de onda mais simples e comuns é a onda quadrada. A onda quadrada é um sinal periódico que alterna entre dois níveis de tensão, geralmente +1 e -1, com uma frequência específica. Ela é caracterizada por transições abruptas entre os níveis alto e baixo, formando um \"quadrado\" na forma de onda.\n", "\n", "Outras formas de onda comuns incluem:\n", "\n", "- Onda senoidal: Sinal periódico que varia de forma suave entre os valores máximo e mínimo, seguindo uma função seno.\n", "- Onda triangular: Sinal periódico que varia linearmente entre os valores máximo e mínimo, formando um triângulo.\n", "- Onda dente de serra: Sinal periódico que aumenta linearmente e depois cai abruptamente, formando um dente de serra.\n", "\n", "A geração desses sinais é feita normalmente por meio de circuitos eletrônicos dedicados, como osciladores, geradores de função, ou até mesmo por métodos digitais, como a geração por computador utilizando linguagens de programação e bibliotecas matemáticas, como mostrado no seu código em Python. \n", "\n", "Vamos explorar essas possibildiades, que além de serem didáticas podem ser impementadas no mundo real.\n", "\n", "### Onda Quadrada\n", "\n", "Uma onda quadrada de 1 Hz é uma forma de onda periódica que oscila entre valores altos e baixos com uma frequência de um ciclo por segundo. Essa onda possui um período de 1 segundo e, idealmente, mantém uma proporção de 50% do tempo em valor alto (+1) e 50% em valor baixo (-1).\n", "\n", "**Passo 1: Importar as Bibliotecas Necessárias**\n", "\n", "```python\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "```\n", "\n", "**Passo 2: Definir os Parâmetros da Onda Quadrada**\n", "\n", "Configuraremos o período de amostragem e a frequência da onda quadrada. Para uma onda de 1 Hz, são necessários no mínimo 2 pontos por período, conforme a teoria de Nyquist. No entanto, para uma visualização mais clara, utilizaremos uma quantidade maior de pontos.\n", "\n", "```python\n", "# Parâmetros\n", "f = 1 # frequência da onda quadrada em Hz\n", "duration = 2 # duração total do sinal em segundos\n", "sample_rate = 100 # taxa de amostragem em Hz\n", "```\n", "\n", "**Passo 3: Gerar o Sinal da Onda Quadrada**\n", "\n", "Utilizaremos a função `sign` do NumPy junto com a função seno para criar a onda.\n", "\n", "```python\n", "# Gerar um array com os instantes de tempo\n", "t = np.linspace(0, duration, int(sample_rate * duration), endpoint=False)\n", "\n", "# Gerar a onda quadrada\n", "signal = np.sign(np.sin(2 * np.pi * f * t))\n", "```\n", "\n", "**Passo 4: Plotar a Onda Quadrada**\n", "\n", "Utilizaremos o matplotlib para visualizar a onda quadrada.\n", "\n", "```python\n", "# Criar o plot\n", "plt.figure(figsize=(10, 4))\n", "plt.plot(t, signal, label=\"Onda Quadrada 1 Hz\")\n", "plt.xlabel('Tempo (s)')\n", "plt.ylabel('Amplitude')\n", "plt.title('Onda Quadrada de 1 Hz')\n", "plt.grid(True)\n", "plt.ylim(-1.5, 1.5)\n", "plt.legend()\n", "plt.show()\n", "```\n", "\n", "### Adicionando uma Onda Senoidal\n", "\n", "Além da onda quadrada, vamos gerar uma onda senoidal de 1 Hz para comparação.\n", "\n", "```python\n", "# Gerar a onda senoidal\n", "sine_wave = np.sin(2 * np.pi * f * t)\n", "\n", "# Plotar a onda senoidal\n", "plt.figure(figsize=(10, 4))\n", "plt.plot(t, sine_wave, label=\"Onda Senoidal 1 Hz\", color='red')\n", "plt.xlabel('Tempo (s)')\n", "plt.ylabel('Amplitude')\n", "plt.title('Onda Senoidal de 1 Hz')\n", "plt.grid(True)\n", "plt.ylim(-1.5, 1.5)\n", "plt.legend()\n", "plt.show()\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Código Completo:**\n", "\n", "Esse script Python permite visualizar tanto uma onda quadrada quanto uma onda senoidal, ambas com frequência de 1 Hz, facilitando a comparação das suas formas de onda." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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jvZ2qFciF84cO8Tzg5nw/Gt++n28tHMAjt4Oh05id8GMqY4YAKcBnElIgPvDUDi/fA6nyFdwfvUSqrhY3Hv5CrmLFIXONRuifPIhIl9Bw/m3yJsfyhytVocnd65axTlC38vtXWRNsgYNGoROnTqluUzRokUztW4fHx8AwOPHj+GbpELW48ePUbFixVTf5+TkBKcU+sU6ODjI/kfVs6ZYbBH3r/l4uwCBNYtw/5rMB4ZHGo0GO3bsQI3AQO5fM9B3D+H5wby4f82vqLc7SuXzlDsMG2DcAKDRaPBixw7U5TnYLDQaDXZEBFvFOSK925c1yfLy8oKXl5dZ1l2kSBH4+Phg3759hqQqIiICJ0+ezFCFQiIiIiIiooxQTJ+d0NBQnD9/HqGhodBqtTh//jzOnz+PqKgowzJ+fn7YunUrADHxaf/+/TFx4kRs374dFy9eRIcOHZA3b160atVKpk9BRERERES2TjGFL0aPHo01a9YYfvd/M0nbgQMHUKdOHQDAtWvX8OrVK8MyQ4cORXR0NHr06IHw8HDUqlULu3btgrOzs0VjJyIiIiKirEMxSdbq1avfOUeW9NYgTpVKhfHjx2P8+PFmjIyIiIiIiCiRYroLEhERERERKQGTLCIiIiIiIhNikkVERERERGRCTLKIiIiIiIhMiEkWERERERGRCTHJIiIiIiIiMiEmWURERERERCbEJIuIiIiIiMiEmGQRERERERGZEJMsIiIiIiIiE2KSRUREREREZEJMsoiIiIiIiEyISRYREREREZEJMckiIiIiIiIyISZZREREREREJsQki4iIiIiIyISYZBEREREREZkQkywiIiIiIiITYpJFRERERERkQkyyiIiIiIiITIhJFhERERERkQkxySIiIiIiIjIhJllEREREREQmxCSLiIiIiIjIhJhkERERERERmRCTLCIiIiIiIhNikkVERERERGRCTLKIiIiIiIhMiEkWERERERGRCTHJIiIiIiIiMiEmWURERERERCbEJIuIiIiIiMiEmGQRERERERGZEJMsIiIiIiIiE2KSRUREREREZEJMsoiIiIiIiEyISRYREREREZEJMckiIiIiIiIyISZZREREREREJsQki4iIiIiIyISYZBEREREREZmQYpKsSZMmoUaNGnB1dUWOHDnS9Z5OnTpBpVIZ/TRp0sS8gRIRERERUZZm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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Parâmetros\n", "f = 1 # frequência das ondas em Hz\n", "duration = 2 # duração total do sinal em segundos\n", "sample_rate = 100 # taxa de amostragem em Hz\n", "\n", "# Gerar um array com os instantes de tempo\n", "t = np.linspace(0, duration, int(sample_rate * duration))\n", "\n", "# Gerar a onda quadrada\n", "signal = np.sign(np.sin(2 * np.pi * f * t))\n", "\n", "# Gerar a onda senoidal\n", "sine_wave = np.sin(2 * np.pi * f * t)\n", "\n", "# Criar o plot para a onda quadrada\n", "plt.figure(figsize=(10, 4))\n", "plt.plot(t, signal, label=\"Onda Quadrada 1 Hz\")\n", "plt.plot(t, sine_wave, label=\"Onda Senoidal 1 Hz\", color='red')\n", "plt.xlabel('Tempo (s)')\n", "plt.ylabel('Amplitude')\n", "plt.title('Ondas Quadrada e Senoidal de 1 Hz')\n", "plt.grid(True)\n", "plt.ylim(-1.5, 1.5)\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Gerando Sinais com Raspberry Pi Pico\n", "\n", "Para gerar uma onda quadrada em uma Raspberry Pi Pico, você pode usar o MicroPython, uma implementação de Python 3 otimizada para microcontroladores. A Raspberry Pi Pico possui pinos GPIO (General Purpose Input/Output) que podem ser configurados para gerar sinais digitais. Aqui está um guia passo a passo para gerar uma onda quadrada e testá-la com um LED e resistor:\n", "\n", "***Passo 1: Configurar o Ambiente de Desenvolvimento***\n", "\n", "- Instalar o MicroPython na Raspberry Pi Pico:\n", "Baixe o firmware do MicroPython para a Raspberry Pi Pico a partir do [site oficial](https://micropython.org/download/rp2-pico/). Siga as instruções para flashar o firmware na Pico usando o software Thonny IDE ou outro método.\n", "\n", "- Instalar uma IDE de Programação:\n", "O [Thonny IDE](https://thonny.org/) é uma ferramenta amigável para programar em Python, incluindo o MicroPython para a Raspberry Pi Pico.\n", "\n", "***Passo 2: Escrever o Código em MicroPython***\n", "\n", "- Importar as Bibliotecas Necessárias:\n", " - `machine` para acessar os pinos GPIO.\n", " - `utime` para controlar o tempo e criar delays.\n", "\n", "- Configurar o Pino GPIO:\n", " - Escolha um pino GPIO da Raspberry Pi Pico para gerar a onda quadrada (por exemplo, o pino 13).\n", " - Configure o pino como saída.\n", "\n", "- Gerar a Onda Quadrada:\n", " - Utilize um loop para alternar o estado do pino GPIO entre alto (HIGH) e baixo (LOW) com um intervalo de tempo adequado para criar a frequência desejada.\n", "\n", "Aqui está um exemplo de código para gerar uma onda quadrada de 1 Hz (1 ciclo por segundo):\n", "\n", "```python\n", "import machine\n", "import utime\n", "\n", "# Configurar o pino GPIO (escolha um pino, por exemplo, 13)\n", "pino = machine.Pin(13, machine.Pin.OUT)\n", "\n", "# Definir a frequência da onda quadrada (em Hz)\n", "frequencia = 1 # 1 Hz\n", "periodo = 1.0 / frequencia # período da onda quadrada em segundos\n", "\n", "while True:\n", " pino.value(1) # Definir o pino como alto (HIGH)\n", " utime.sleep(periodo / 2) # Aguardar metade do período\n", " pino.value(0) # Definir o pino como baixo (LOW)\n", " utime.sleep(periodo / 2) # Aguardar metade do período\n", "```\n", "\n", "**Passo 3: Executar o Código**\n", "\n", "- Conectar a Raspberry Pi Pico ao Computador:**\n", " - Conecte a Pico ao seu computador via cabo USB.\n", "\n", "- Abrir o Thonny IDE:\n", " - No Thonny, selecione a placa Raspberry Pi Pico.\n", " - Copie e cole o código acima no editor do Thonny.\n", "\n", "- Executar o Código:\n", " - Clique no botão de execução (Run) no Thonny para enviar o código para a Pico e iniciar a geração da onda quadrada.\n", "\n", "***Passo 4: Testar a Onda Quadrada com um LED***\n", "\n", "- Conectar um LED e um Resistor:\n", " - Conecte um resistor (220Ω é uma boa escolha) em série com o anodo (perna longa) do LED.\n", " - Conecte o catodo (perna curta) do LED ao GND (terra) da Raspberry Pi Pico.\n", " - Conecte o outro terminal do resistor ao pino 13 da Raspberry Pi Pico.\n", "\n", "***Passo 5: Verificar a Onda Quadrada***\n", "\n", "Observar o LED Piscar:\n", "Quando o código estiver em execução, o LED deve piscar com uma frequência de 1 Hz (um segundo aceso, um segundo apagado).\n", "\n", "- Conectar um Osciloscópio (Opcional):\n", " - Se você tiver um osciloscópio, conecte a sonda ao pino configurado (pino 13) e ao GND (terra) para visualizar a onda quadrada.\n", " - Ajuste o osciloscópio para observar a forma de onda e verificar a frequência.\n", "\n", "A Seguir, uma figura mostrando o esquema desejado:\n", "\n", "\"setup\"\n", "\n", "**Explicação Adicional**\n", "\n", "- Pino GPIO: Pinos de Entrada/Saída Gerais (GPIO) são usados para controlar dispositivos eletrônicos. Configurando um pino como saída, podemos controlar seu estado (alto ou baixo).\n", "- Frequência e Período: A frequência é o número de ciclos por segundo. O período é o tempo que leva para completar um ciclo. Para uma onda quadrada de 1 Hz, o período é 1 segundo.\n", "- Delays: `utime.sleep()` é usado para criar atrasos no código. Ao alternar o estado do pino com atrasos de metade do período, geramos a onda quadrada.\n", "\n", "Com esses passos, você pode gerar uma onda quadrada em uma Raspberry Pi Pico usando MicroPython e verificar o funcionamento com um LED e resistor. Este exemplo pode ser adaptado para diferentes frequências e aplicações conforme necessário.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lendo Sinais com Raspberry Pi Pico\n", "\n", "Os pinos GPIO (General Purpose Input/Output) são usados para controlar dispositivos eletrônicos. Configurando um pino como entrada, podemos ler seu estado (alto ou baixo), permitindo a captura de sinais digitais. A seguir, mostramos como aprimorar o código para incluir a leitura de sinais em uma Raspberry Pi Pico.\n", "\n", "**Código para Geração e Leitura de Sinais**\n", "\n", "```python\n", "import machine\n", "import utime\n", "\n", "# Configurar o pino GPIO para gerar a onda quadrada (Pino 13)\n", "pino_saida = machine.Pin(13, machine.Pin.OUT)\n", "\n", "# Configurar o pino GPIO para ler a onda quadrada (Pino 14)\n", "pino_entrada = machine.Pin(14, machine.Pin.IN)\n", "\n", "# Definir a frequência da onda quadrada (em Hz)\n", "frequencia = 1 # 1 Hz\n", "periodo = 1.0 / frequencia # Período da onda quadrada em segundos\n", "\n", "# Tempo de execução (em segundos)\n", "tempo_execucao = 5\n", "\n", "# Tempo inicial\n", "tempo_inicial = utime.ticks_ms()\n", "\n", "# Função para imprimir tempo e amostra com 3 casas decimais\n", "def imprimir_dados(tempo_decorrido, amostra):\n", " print(f\"{tempo_decorrido:.2f} {amostra}\")\n", "\n", "# Função para calcular o tempo decorrido em segundos\n", "def tempo_decorrido_segundos(tempo_inicial):\n", " return utime.ticks_diff(utime.ticks_ms(), tempo_inicial) / 1000\n", "\n", "# Geração e leitura da onda quadrada\n", "while True:\n", " # Gerar a onda quadrada (independente do estado de entrada)\n", " pino_saida.value(1) # Definir o pino de saída como alto (HIGH)\n", " estado_entrada = pino_entrada.value() # Ler o estado do pino de entrada\n", " imprimir_dados(tempo_decorrido_segundos(tempo_inicial), estado_entrada)\n", " utime.sleep(periodo / 2) # Aguardar metade do período\n", "\n", " pino_saida.value(0) # Definir o pino de saída como baixo (LOW)\n", " estado_entrada = pino_entrada.value() # Ler o estado do pino de entrada\n", " imprimir_dados(tempo_decorrido_segundos(tempo_inicial), estado_entrada)\n", " utime.sleep(periodo / 2) # Aguardar metade do período\n", " \n", " # Verificar se o tempo de execução foi atingido\n", " tempo_decorrido = tempo_decorrido_segundos(tempo_inicial)\n", " if tempo_decorrido >= tempo_execucao:\n", " break\n", "\n", "# Exibir o tempo de execução total\n", "print(f\"Tempo de execução total: {tempo_decorrido:.2f}s\")\n", "```\n", "\n", "**Saída Esperada**\n", "\n", "```plaintext\n", "0.00 1\n", "0.50 0\n", "1.00 1\n", "1.50 0\n", "2.00 1\n", "2.50 0\n", "3.01 1\n", "3.51 0\n", "4.01 1\n", "4.51 0\n", "Tempo de execução total: 5.01s\n", "```\n", "\n", "**Explicação Adicional**\n", "\n", "- **Pino GPIO:** Os pinos GPIO são usados para controlar dispositivos eletrônicos. Configurando um pino como entrada, podemos monitorar o estado do sinal digital (alto ou baixo).\n", "- **Geração e Leitura de Sinais:** No exemplo acima, um pino GPIO é configurado como saída para gerar uma onda quadrada, enquanto outro pino é configurado como entrada para ler essa onda. O código alterna o estado do pino de saída e lê o estado do pino de entrada, registrando os dados e o tempo decorrido.\n", "- **Frequência e Período:** A frequência é o número de ciclos por segundo. O período é o tempo que leva para completar um ciclo. Para uma onda quadrada de 1 Hz, o período é 1 segundo.\n", "- **Delays:** `utime.sleep()` é usado para criar atrasos no código. Alternando o estado do pino com atrasos de metade do período, geramos a onda quadrada.\n", "\n", "Com esses passos, você pode gerar e ler uma onda quadrada em uma Raspberry Pi Pico usando MicroPython, verificando o funcionamento com um LED e um resistor." ] } ], "metadata": { "colab": { "provenance": [], "toc_visible": true }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 4 }