Arduino Nano - Piezo Buzzer

Este tutorial ensina você a usar o Arduino Nano para controlar o piezo buzzer. Em detalhes, vamos aprender :

Arduino Nano Piezo Buzzer

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Buzzer Piezo Ativo 3-24V
1×Módulo Buzzer Piezo Ativo
1×Módulo Buzzer Piezo Passivo
1×Protoboard
1×Fios Jumper
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Piezo Buzzer

Um Piezo Buzzer é usado para produzir som, bipes ou até uma melodia.

Disponível no mercado, existe um versátil buzzer ativo de 3V-24V que funciona tanto como um buzzer ativo de 3-5V quanto como um buzzer de alta tensão (12V ou mais).

  • Quando conectado diretamente a um pino do Arduino, o buzzer produz um som padrão, sendo ideal para aplicações como indicadores sonoros, como os sons de um teclado.
  • Alternativamente, quando conectado a uma fonte de alta tensão por meio de um relé, o buzzer emite um som alto, sendo adequado para sinais de alerta.

Pinagem do Piezo Buzzer

O Piezo Buzzer normalmente tem dois pinos:

  • O pino Negativo (-) deve ser conectado ao GND (0V)
  • O pino Positivo (+) recebe o sinal de controle do Arduino Nano (diretamente ou indiretamente por meio de um relé)
Piezo Buzzer pinout

Como o Piezo Buzzer Funciona

Veja Como o Piezo Buzzer funciona

Diagrama de Ligação

  • A ligação entre o Arduino Nano e o Piezo Buzzer
The wiring diagram between Arduino Nano and Piezo Buzzer

This image is created using Fritzing. Click to enlarge image

  • A ligação entre o Arduino Nano e o módulo Piezo Buzzer
The wiring diagram between Arduino Nano and Piezo Buzzer module

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Como Programar o Piezo Buzzer

Graças à biblioteca do Arduino, é simples tocar uma melodia. Não precisamos entender como gerar uma onda quadrada. Tudo o que precisamos fazer é usar duas funções da biblioteca: tone() e noTone().

Código Arduino Nano

#include "pitches.h" #define BUZZER_PIN 2 // The Arduino Nano pin connected to the piezo buzzer's pin // notes in the melody: int melody[] = { NOTE_C4, NOTE_G3, NOTE_G3, NOTE_A3, NOTE_G3, 0, NOTE_B3, NOTE_C4 }; // note durations: 4 = quarter note, 8 = eighth note, etc.: int noteDurations[] = { 4, 8, 8, 4, 4, 4, 4, 4 }; void setup() { // iterate over the notes of the melody: for (int thisNote = 0; thisNote < 8; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZER_PIN, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // The note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(BUZZER_PIN); } } void loop() { // no need to repeat the melody. }

Passos Rápidos

  • Conecte um Arduino Nano a um PC usando um cabo USB.
  • Abra a Arduino IDE, selecione a placa e a porta apropriadas.
  • Copie o código e abra-o com a Arduino IDE.
  • Crie o arquivo pitches.h na Arduino IDE da seguinte forma:
    • Clique no botão logo abaixo do ícone do Serial Monitor e escolha New Tab, ou use as teclas Ctrl+Shift+N.
    Arduino IDE 2 adds file
    • Dê o nome pitches.h ao arquivo e clique no botão OK
    Arduino IDE 2 adds file pitches.h
    • Copie o código abaixo e cole-o no arquivo pitches.h criado.
    /************************************************* * Public Constants *************************************************/ #define NOTE_B0 31 #define NOTE_C1 33 #define NOTE_CS1 35 #define NOTE_D1 37 #define NOTE_DS1 39 #define NOTE_E1 41 #define NOTE_F1 44 #define NOTE_FS1 46 #define NOTE_G1 49 #define NOTE_GS1 52 #define NOTE_A1 55 #define NOTE_AS1 58 #define NOTE_B1 62 #define NOTE_C2 65 #define NOTE_CS2 69 #define NOTE_D2 73 #define NOTE_DS2 78 #define NOTE_E2 82 #define NOTE_F2 87 #define NOTE_FS2 93 #define NOTE_G2 98 #define NOTE_GS2 104 #define NOTE_A2 110 #define NOTE_AS2 117 #define NOTE_B2 123 #define NOTE_C3 131 #define NOTE_CS3 139 #define NOTE_D3 147 #define NOTE_DS3 156 #define NOTE_E3 165 #define NOTE_F3 175 #define NOTE_FS3 185 #define NOTE_G3 196 #define NOTE_GS3 208 #define NOTE_A3 220 #define NOTE_AS3 233 #define NOTE_B3 247 #define NOTE_C4 262 #define NOTE_CS4 277 #define NOTE_D4 294 #define NOTE_DS4 311 #define NOTE_E4 330 #define NOTE_F4 349 #define NOTE_FS4 370 #define NOTE_G4 392 #define NOTE_GS4 415 #define NOTE_A4 440 #define NOTE_AS4 466 #define NOTE_B4 494 #define NOTE_C5 523 #define NOTE_CS5 554 #define NOTE_D5 587 #define NOTE_DS5 622 #define NOTE_E5 659 #define NOTE_F5 698 #define NOTE_FS5 740 #define NOTE_G5 784 #define NOTE_GS5 831 #define NOTE_A5 880 #define NOTE_AS5 932 #define NOTE_B5 988 #define NOTE_C6 1047 #define NOTE_CS6 1109 #define NOTE_D6 1175 #define NOTE_DS6 1245 #define NOTE_E6 1319 #define NOTE_F6 1397 #define NOTE_FS6 1480 #define NOTE_G6 1568 #define NOTE_GS6 1661 #define NOTE_A6 1760 #define NOTE_AS6 1865 #define NOTE_B6 1976 #define NOTE_C7 2093 #define NOTE_CS7 2217 #define NOTE_D7 2349 #define NOTE_DS7 2489 #define NOTE_E7 2637 #define NOTE_F7 2794 #define NOTE_FS7 2960 #define NOTE_G7 3136 #define NOTE_GS7 3322 #define NOTE_A7 3520 #define NOTE_AS7 3729 #define NOTE_B7 3951 #define NOTE_C8 4186 #define NOTE_CS8 4435 #define NOTE_D8 4699 #define NOTE_DS8 4978
    • Clique no botão Upload na Arduino IDE para compilar e fazer upload do código para o Arduino Nano.
    Arduino IDE Upload Code
    • Ouça a canção dos pássaros.

Modificando o Código do Arduino Nano

Agora, vamos alterar o código para tocar a música "Jingle Bells".

Só precisamos alterar os valores de dois arrays: int melody[] e int noteDurations[].

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-piezo-buzzer */ #include "pitches.h" #define BUZZER_PIN 2 // The Arduino Nano pin connected to the piezo buzzer's pin // notes in the melody: int melody[] = { NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_G5, NOTE_C5, NOTE_D5, NOTE_E5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_F5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_E5, NOTE_D5, NOTE_D5, NOTE_E5, NOTE_D5, NOTE_G5 }; // note durations: 4 = quarter note, 8 = eighth note, etc, also called tempo: int noteDurations[] = { 8, 8, 4, 8, 8, 4, 8, 8, 8, 8, 2, 8, 8, 8, 8, 8, 8, 8, 16, 16, 8, 8, 8, 8, 4, 4 }; void setup() { // iterate over the notes of the melody: int size = sizeof(noteDurations) / sizeof(int); for (int thisNote = 0; thisNote < size; thisNote++) { // to calculate the note duration, take one second divided by the note type. //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc. int noteDuration = 1000 / noteDurations[thisNote]; tone(BUZZER_PIN, melody[thisNote], noteDuration); // to distinguish the notes, set a minimum time between them. // The note's duration + 30% seems to work well: int pauseBetweenNotes = noteDuration * 1.30; delay(pauseBetweenNotes); // stop the tone playing: noTone(BUZZER_PIN); } } void loop() { // no need to repeat the melody. }

※ Nota:

O código acima utiliza a função delay(). Isso faz com que o restante do código fique bloqueado enquanto a melodia toca. Para evitar isso, a biblioteca ezBuzzer pode ser usada. Essa biblioteca foi projetada especificamente para o uso de buzzer e permite emitir bipes ou tocar melodias sem bloquear o restante do código.

Vídeo

Desafie-se

  • Use um Piezo Buzzer para tocar sua música favorita.
  • Utilize um sensor de movimento para criar um alarme quando alguém se aproximar dos seus objetos de valor. Consulte Arduino Nano - Sensor de Movimento para mais informações.

Referências de Funções

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!