Автор Тема: Генератор для изучения азбуки морзе  (Прочитано 5881 раз)

Оффлайн Мельников Тимур

  • Administrator
  • Member
  • *****
  • Сообщений: 24
  • Репутация: +1/-0
    • E-mail
    • Личное сообщение (Оффлайн)
Для этого проекта потребуется:
 
  • Плата ардуино
  • Пьезоизлучатель
  • Кнопка
  • Резистор(10кОм)
Код программы:

void setup()
{
 pinMode(8, INPUT); //8 пин работает на вход
 pinMode(13, OUTPUT); //13 пин работает на выход
}

void loop()
{
 if (digitalRead( 8 ) == HIGH) //Если на 8 пину высокое напряжение, то:
 {
 digitalWrite(13, HIGH); //на 13 пину высокое напряжение
 delay(1); //пауза 0,001 миллисекунда
 digitalWrite(13, LOW); //на 13 пину низкое напряжение
 delay(1); //пауза 0,001 миллисекунда
 }

 else //Иначе
 {
 digitalWrite(13, LOW); //на 13 пину низкое напряжение
 }
}

Заливаем скетч в ардуино и теперь при нажатии кнопки будет воспроизводится звук.
« Последнее редактирование: Мая 11, 2015, 00:14:11 от electroGhost »

Оффлайн Мельников Тимур

  • Administrator
  • Member
  • *****
  • Сообщений: 24
  • Репутация: +1/-0
    • E-mail
    • Личное сообщение (Оффлайн)
Генератор для изучения азбуки морзе 2
« Ответ #1 : Мая 10, 2015, 22:13:36 »
Вариант с использованием подпрограммы:

void setup()
{
 pinMode(8, INPUT); //8 пин работает на вход
 pinMode(13, OUTPUT); //13 пин работает на выход
}

void loop()
{
 if (digitalRead( 8 ) == HIGH) //Если на 8 пину высокое напряжение, то:
 {
 tone(); //Вызов подпрограммы "tone"
 }

 else //Иначе
 {
 digitalWrite(13, LOW);на 13 пину низкое напряжение
 }
}

void tone()
{
 digitalWrite(13, HIGH); //на 13 пину высокое напряжение
 delay(1); //пауза 0,001 миллисекунда
 digitalWrite(13, LOW); //на 13 пину низкое напряжение
 delay(1); //пауза 0,001 миллисекунда
}

Заливаем скетч в ардуино и теперь при нажатии кнопки будет воспроизводится звук.
« Последнее редактирование: Мая 11, 2015, 00:24:23 от john »

 

Последние сообщения на форуме: