Аудиоинформер скорости ветра

Что это такое?

В этой статье мы расскажем о том, как собрать информер скорости ветра. Наше устройство будет сообщать об изменении скорости ветра проигрыванием различных аудиофайлов. Каждой скорости будет соответствовать свой аудиофайл.

Что для этого необходимо?

Для изготовления информера нам понадобятся:

  1. Карта памяти microSD объемом ≤32 ГБ
  2. Динамик или колонка мощностью ≤3 Вт

Как это собрать?

  1. Соберите аппаратную часть по схеме, изображённой на рисунке выше (питание на данном этапе не подключайте).
  2. Запишите на microSD 7 композиций с именами 01.mp307.mp3.
  3. Вставьте microSD в MP3-модуль.
  4. Подключите питание.
  5. Прошейте Arduino Uno скетчем, приведённым ниже (на время прошивки необходимо отсоединить провода «TX» и «RX» от Arduino Uno).
  6. Подуйте на анемометр, убедитесь в работоспособности. При воспроизведении композиций на MP3-модуле будет зажигаться светодиод.

Исходный код

wind_informer.ino
#include <mp3TF.h>
 
mp3TF mp3tf = mp3TF ();
unsigned int speed;
unsigned char prev_speed;
unsigned int speed_change_counter = 0;
boolean speed_changed = false;
 
void setup()
{
    mp3tf.init(&Serial);
    Serial.begin(9600);
}
 
unsigned int measureSpeed()
{
    return analogRead(A0);
}
 
void saySpeed()
{
    unsigned char pseudospeed = speed/40;
 
    if(pseudospeed == 0)
        mp3tf.stop();
    else if(pseudospeed > 6)
        mp3tf.play(7);
    else
        mp3tf.play(pseudospeed);
}
 
void loop()
{
    speed = measureSpeed();
 
    if (abs(speed-prev_speed) > 40 && speed/40 != prev_speed/40) {
        speed_change_counter = 0;
        speed_changed = true;
 
        prev_speed = speed;
    }
    else {
        if(speed_changed) {
            if(++speed_change_counter == 10) {
                speed_changed = false;
 
                saySpeed();
            }
        }
    }
 
    delay(100);
}

Демонстрация работы устройства

Что ещё можно сделать?

  1. При помощи GPRS-шилда можно отправлять данные о скорости ветра на сервер (например, на «Народный мониторинг»).
  2. Автономную метеостанцию. Несмотря на потребление в 30 мА, анемометр может быть использован и в автономных устройствах. Для этого надо подавать на него питание через MOSFET-транзистор. Одно измерение будет занимать 1 секунду, а следовательно расходовать всего 8,3 нА·ч. Если снимать показания 1 раз в 1 минуту, то на батарее из двух стандартных АА Li-Ion аккумуляторах устройство сможет проработать более полугода.