+7 (977) 810-87-41
Как учиться?

Для обладателей наборов Роботы и устройства. Старт:

  1. Наш курс «Строим роботов и другие устройства на Arduino» начинается с простейших устройств и их программирования. Для практических задач первых двух недель набор «Старт» будет оптимальным решением.
  2. Примеры из Путеводителя, который лежал в вашем наборе, вы можете найти здесь.
  3. В этом разделе появляются новые примеры, которые вы можете попробовать с вашим набором. Ищите их по тегу «роботы и устройства».
  4. Используйте другие теги для фильтрации примеров по темам, которые для вас актуальны.
Лента примеров:
Музыкальный автомат

Обратите внимание, что в этом примере Путеводителя для двух программ использовалась одна схема. В этом примере нужно собрать ее правую часть, с пьезодинамиком.

musicbox-plotter

#define SPEAKER_PIN 8

#define DURATION 250
// создадим массивы с названиями нот и их частотами
char names[] = {'a', 'b', 'c' ,'d' ,'e', 'f', 'g', 'A', 'B', 'C', 'D', 'E', 'F', 'G', ' ' };
int tones[] = {880, 988, 1047, 1175, 1319, 1397, 1568, 1760,
                       1976, 2093, 2349, 2637, 2794, 3136, 0 };

void setup()
{
  pinMode(SPEAKER_PIN, OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  if(Serial.available() > 0) // если с компьютера что-то пришло
  {
    char note = Serial.read(); // прочитаем один символ
    for(int i = 0; i<sizeof(names); i++) // пробежим массив names[]
    {
      if(note == names[i]) // если полученный символ совпал
      {                                // с названием ноты в данном элементе
        tone(SPEAKER_PIN, tones[i]); // возьмем частоту в соответств.
        delay(DURATION);            // элементе tones[] и сгенерируем
        noTone(SPEAKER_PIN);// звук, подождав DURATION мс -- выключим
        break; // выходим из for, т.к. эту ноту уже нашли в names[]
      }
    }    
  }
}