suara bilangan hingga 999.999 dengan arduino

Modul suara arduino yang ada sudah memenuhi kebutuhan perancangan multimedia saat ini, seperti modul suara WTV020SD, mini TF MP3 player, MP3 shield dan lain-lain. Suara arduino bisa digunakan sebagai alarm peringatan, pengisi suara, suara latar, pemberitahuan dan keperluan lainnya.

Dalam perancangam suara dengan arduino kali ini diperuntukkan sebagai pembilang angka dan bisa diterapkan dalam berbagai proyek arduino. Angka/bilangan berasal dari pembacaan sensor dan dikirim ke modul suara.

Pada modul suara sudah disimpan dalam memorinya (microSD) berbagai macam kemungkinan suara angka dengan urutan tertentu. Arduino berfungsi sebagai pengatur suara angka yang akan diputar.

Suara pembilang arduino dimulai dengan kata pembuka contohnya “nomor antrian”, kemudian diikuti suara deret angka dan terakhir satuannya misalnya “di loket 1”.

Suara bilangan sampai 999.999 dengan komponen :

  1. arduino mega 2560
  2. MP3 DFPlayer
  3. Ampli modul LM386 (bila ada)

Bisa dikombinasikan sebagai pemberi suara :

  1. Mesin timbangan yang menginformasikan berat terukur
  2. Pemberi tahu bila jarak terlalu dekat pada sistem keamanan parkir
  3. Pengingat suhu dan kelembaban dengan sensor humidity
  4. Informasi kecepatan kendaraan kecepatan
  5. Suara antrian pada mesin antrian di perkantoran
  6. Pembilang total belanja
  7. dll

Video:

skema suara informasi arduino:

sketch/program:


#include <miniMP3.h>

#define belas 12 //belas.mp3
#define puluh 13 //puluh.mp3
#define seratus 14 //seratus.mp3
#define ratus 15 //ratus.mp3
#define seribu 16 //seribu.mp3
#define ribu 17 //ribu.mp3
#define koma 18 //Koma.mp3

#define berat 110 //berat.mp3
#define gram 111 //gram.mp3
#define kiloGram 112 //kilogram.mp3
#define jarak 120 //jarak.mp3
#define sentiMeter 121 //sentimeter.mp3
#define meter 122 //meter.mp3
#define suhu 130 //suhu.mp3
#define derajat 131 //derajat_celsius.mp3
#define ph 140 //P_H.mp3
#define kelembaban 150 //Kelembaban.mp3
#define persen 151 //Persen.mp3
#define kecepatan 160 //kecepatan.mp3
#define meterPerDetik 161 //meter_per_detik.mp3
#define kilometerPerJam 162 //kilometer_per_jam.mp3
#define nomorantrian 170 //nomor antrian.mp3
#define totalBelanja 180 //total belanja.mp3
#define rupiah 181 //rupiah.mp3

void setup() {
  mp3_set_serial (Serial1, 17);
  mp3_set_volume(30);

  uint32_t beratTimbangan = 0;
  
  mp3_play(berat);
  suaraBilangan(beratTimbangan);
  mp3_play(gram);
}

void loop() {

}

void suaraBilangan(uint32_t Bilangan)
{
  if (Bilangan < 12)
  {
    mp3_play_and_wait(Bilangan);
  }
  else if (Bilangan < 20)
  {
    mp3_play_and_wait(Bilangan - 10);
    mp3_play_and_wait(belas);
  }
  else if (Bilangan < 100)
  {
    suaraPuluhan(Bilangan);
  }
  else if (Bilangan < 1000)
  {
    suaraRatusan(Bilangan);
  }
  else
  {
    suaraRibuan(Bilangan);
  }
}
void suaraPuluhan(uint8_t Bilangan)
{
  uint8_t puluhan = Bilangan / 10;
  mp3_play_and_wait(puluhan);
  mp3_play_and_wait(puluh);

  puluhan *= 10;
  if (Bilangan - puluhan != 0)
  {
    mp3_play_and_wait((Bilangan - puluhan));
  }
}
void suaraRatusan(uint16_t Bilangan)
{
  uint8_t ratusan = (uint8_t)(Bilangan/100);
  if(ratusan == 1)
  {
    mp3_play(seratus);
  }
  else
  {
    mp3_play(ratusan);
    mp3_play(ratus);
  }
  if(Bilangan % 100)
  {
    suaraPuluhan(Bilangan - (ratusan*100));
  }
}
void suaraRibuan(uint32_t Bilangan)
{
  uint16_t ribuan= (uint16_t)(Bilangan/1000);
  if(ribuan == 1)
  {
    mp3_play(seribu);
  }
  else if(ribuan < 100)
  {
    suaraPuluhan(ribuan);
    mp3_play(ribu);   
  }
  else
  {
    suaraRatusan(ribuan);
    mp3_play(ribu);   
  }
  if(Bilangan % 1000)
  {
    suaraRatusan(Bilangan - (ribuan*1000));
  }
}

file pendukung:
Suara : Suara bilangan mp3
Library : miniMP3

Bagikan Link halaman ini :

8 thoughts on “suara bilangan hingga 999.999 dengan arduino

    1. sesuaikan saja (koding dari examples-nya)

      #include
      #include // atau

      SoftwareSerial mySerial(10, 11); // RX, TX

      //
      void setup () {
      Serial.begin (9600);
      mySerial.begin (9600);
      mp3_set_serial (mySerial); //set softwareSerial for DFPlayer-mini mp3 module
      mp3_set_volume (15);
      }

  1. bisa tapi apakah library miniMP3 harus dihapus? (diganti dgn DFPlayer_Mini_Mp3)
    itu sudah bunyi, tapi hanya bunyi 0 (nol), lainnya nggak bunyi

    cuma baca : uint32_t beratTimbangan = 0;

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan.