EnglishThis website is also available in English

Kilat dan petir: Arduino Halloween DIY project

Untuk perayaan Halloween tahun ini, saya akan melakukan beberapa proyek menyenangkan dengan alat-alat yang sudah saya siapkan. Proyek ini tentang mensimulasikan kilat dan petir dengan badai Arduino (pengendali mikro single-board papan rangkaian elektronik open source), LEDs dan DFplayer Mini MP3 player module (anda bisa melihat dokumentasi). Proyek ini mudah untuk dilakukan dan bekerja dengan sangat baik. Jadi, inilah proyeknya untuk setiap orang yang ingin membuat kaget atau menakuti teman / tamu kalian tahun depan.

Untuk catatan: Ini bukanlah sistem “suara ke cahaya”. Program (secara acak) terlebih dahulu menyalakan LED dan kemudian memainkan file suara setelah jeda yang pendek (secara acak). Saya rasa itu akan lebih nyata daripada menyalakan LEDs sebagai reaksi dari volume suara daripada proyek-proyek yang lainnya. Cahaya bergerak lebih cepat daripada suara. Oleh karena itu, pada waktu badai yang nyata terjadi, kalian biasanya melihat kilatan cahaya lebih dahulu. Suara petir akan tertunda, tergantung pada seberapa lama kilatan cahaya berlangsung.

Proyek Simulasi Kilat: daftar alat-alat yang dipakai

Alat-alat yang dibutuhkan untuk proyek ini:

Tentu saja, kalian dapat menggunakan lampu LED 12v yang lainnya.. File MP3 (lihat di bawah) hanya sekitar 6MB sehingga kartu SD apa pun dapat melakukannya..

Kilat dan petir: Arduino Halloween DIY project DFPLayer Mini MP3 module
Kilat dan petir: Arduino Halloween DIY project DFPLayer Mini MP3 module

Pengkabelan simulator petir Arduino

Kabelnya cukup mudah, lihat gambar di bawah ini:

  1. Catu daya 12V terhubung ke rel daya papan tempat memotong roti merah di papan tempat memotong roti.
    LED mendapatkan 12V dari power rail (kabel merah).
    Arduino Nano mendapatkan daya 12V dari power rail ke pin Vin (kabel merah) dan pin GND Nano terhubung ke common rail (kabel biru).
  2. Mini DFPlayer mendapatkan 5V pada pin VCC-nya dari Nano (kabel merah).
    Pin RX dari DFPlayer masuk ke pin 10 pada Nano (kabel hitam) melalui resistor 1K.
    Pin TX dari DFPlayer masuk ke pin 11 pada Nano (kabel ungu) melalui resistor 1K.
    Pin SIBUK dari DFPlayer pergi ke pin 12 pada Nano (kabel putih).
    DAC-L (kabel hijau) dan DAC-R (kabel kuning) digunakan untuk amplifier audio stereo.
    Pin GND dari DFPlayer masuk ke common ground rail (kabel biru).
  3. Pin MOSFET GATE (kiri) menuju ke Nano pin 9 (kawat oranye).
    Pin MOSFET DRAIN (tengah) menuju ke kabel ground LED (kabel hitam).
    Pin MOSFET SOURCE (kanan) menuju ke common ground rail (kabel hitam).
  4. Ground amplifier terhubung ke common ground rail.
Kilat dan petir: Arduino Halloween DIY project: breadboard view
Kilat dan petir: Arduino Halloween DIY project: breadboard view

Pastikan catu daya, Arduino, MOSFET, DFplayer, dan koneksi audio berbagi kesamaan. Pastikan juga 12V terhubung ke pin kanan (Vin) pada Nano.

Pastikan Anda memiliki polarisasi 12V dan ground dari catu daya dan LED yang tepat.

Saya menggunakan beberapa kabel dengan klip buaya untuk dengan mudah menghubungkan LED dan audio ke papan tempat memotong roti.

Kilat dan petir: Arduino Halloween DIY project: wiring
Kilat dan petir: Arduino Halloween DIY project: wiring

File suara kilat dan petir

Saya telah mengumpulkan 17 sampel suara petir dan guntur yang berbeda dalam file .zip. Mereka dapat diunduh menggunakan tautan di bawah ini. File-file (0001.mp3 hingga 0017.mp3) harus dimasukkan ke dalam folder bernama ‘mp3’ pada kartu SD. Kartu dapat diformat FAT16 atau FAT32.

Memprogram Arduino

Anda dapat mengunggah sketsa ke Arduino dengan cara biasa, menggunakan kabel USB. Nano mendapatkan kekuatannya dari catu daya 12V, bukan dari USB. Jadi setelah mengunggah, Anda dapat mencabut kabel USB.

Sketsa menggunakan pustaka DFRobotDFPlayerMini, periksa halaman GitHub dan dokumentasi untuk detailnya.

#include "Arduino.h"
#include "SoftwareSerial.h"
#include "DFRobotDFPlayerMini.h"

int ledPin = 9;    // LEDs (via MOSFET) connected to pin 9
int rxPin = 10;    // DFplayer RX to Arduino pin 10
int txPin = 11;    // DFplayer TX toArduinopin 11
int busyPin = 12;  // DFplayer BUSY connected to pin 12

SoftwareSerial mySoftwareSerial(rxPin, txPin);
DFRobotDFPlayerMini myDFPlayer;

void setup()
{

  pinMode(ledPin, OUTPUT);
  pinMode(busyPin, INPUT);

  mySoftwareSerial.begin(9600);
  Serial.begin(115200);
  Serial.println(F("Initializing DFPlayer..."));

  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.
    Serial.println(F("Unable to begin. Check connection and SD card, or reset the Arduino."));
    while (true);
  }

  Serial.println(F("DFPlayer Mini online."));

  myDFPlayer.setTimeOut(500);                   // Set serial communictaion time out 500ms
  myDFPlayer.volume(30);                        // Set volume value (0~30).
  myDFPlayer.EQ(DFPLAYER_EQ_BASS);              // Set EQ to BASS (normal/pop/rock/jazz/classic/bass)
  myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);  // Set device we use SD as default
  myDFPlayer.enableDAC();                       // Enable On-chip DAC
}

void loop()
{
  int flashCount = random (3, 15);        // Min. and max. number of flashes each loop
  int flashBrightnessMin =  10;           // LED flash min. brightness (0-255)
  int flashBrightnessMax =  255;          // LED flash max. brightness (0-255)

  int flashDurationMin = 1;               // Min. duration of each seperate flash
  int flashDurationMax = 50;              // Max. duration of each seperate flash

  int nextFlashDelayMin = 1;              // Min, delay between each flash and the next
  int nextFlashDelayMax = 150;            // Max, delay between each flash and the next

  int thunderDelay = random (500, 3000);  // Min. and max. delay between flashing and playing sound
  int thunderFile = random (1, 17);       // There are 17 soundfiles: 0001.mp3 ... 0017.mp3
  int loopDelay = random (5000, 30000);   // Min. and max. delay between each loop

  Serial.println();
  Serial.print(F("Flashing, count: "));
  Serial.println( flashCount );

  for (int flash = 0 ; flash <= flashCount; flash += 1) { // Flashing LED strip in a loop, random count

    analogWrite(ledPin, random (flashBrightnessMin, flashBrightnessMax)); // Turn LED strip on, random brightness
    delay(random(flashDurationMin, flashDurationMax)); // Keep it tured on, random duration

    analogWrite(ledPin, 0); // Turn the LED strip off
    delay(random(nextFlashDelayMin, nextFlashDelayMax)); // Random delay before next flash
  }

  Serial.print(F("Pausing before playing thunder sound, milliseconds: "));
  Serial.println(thunderDelay);
  delay(thunderDelay);

  Serial.print(F("Playing thunder sound, file number: "));
  Serial.println(thunderFile);
  myDFPlayer.playMp3Folder(thunderFile);
  delay(1000); // Give the DFPlayer some time

  while (digitalRead(busyPin) == LOW) { // Wait for the DFPlayer to finish playing the MP3 file
  }

  Serial.print(F("Pausing before next loop, milliseconds: "));
  Serial.println(loopDelay);
  delay(loopDelay);

}
DFPlayer Mini MP3 Player Module For Arduino
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

DFPlayer Mini MP3 Player Module For Arduino
5M Cool White 3528 SMD LED Strip Light Non-Waterproof 12V DC 300 LED
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

5M Cool White 3528 SMD LED Strip Light Non-Waterproof 12V DC 300 LED
5Pcs IRFZ44N Transistor N-Channel International Rectifier Power Mosfet
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

5Pcs IRFZ44N Transistor N-Channel International Rectifier Power Mosfet
300Pcs 1% 1/4W Metal Film Resistor Resistance 30 Values Assortment Kit
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

300Pcs 1% 1/4W Metal Film Resistor Resistance 30 Values Assortment Kit
8.5 x 5.5cm 400 Tie Points 400 Holes Solderless Breadboard Bread Board
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

8.5 x 5.5cm 400 Tie Points 400 Holes Solderless Breadboard Bread Board
65 Pcs Breadboard Jumper Connect Cable Adapter Cable
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

65 Pcs Breadboard Jumper Connect Cable Adapter Cable
8G Micro SD TF Micro SD Card For Cell Phone MP3 MP4 Camera
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

8G Micro SD TF Micro SD Card For Cell Phone MP3 MP4 Camera
DANIU 42cm 10pcs Alligator Clips Electrical DIY Test Leads
Diuji dan direkomendasikan oleh OneGuyOneBlog.com:

DANIU 42cm 10pcs Alligator Clips Electrical DIY Test Leads

Add a Comment

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *