Передатчик/приемник кода Морзе

Источник:

Введение

Я сделал это для своей подруги, потому что она любит азбуку Морзе (без шуток) на прошлой неделе летних каникул, и я чуть не сошел с ума, потому что было так много проблем, которых я просто не ожидал, и это меня немного сбило с толку, но все в порядке, я в порядке. В то время нам было весело.

Что это делает

Это произведение искусства имеет два режима и один между ними:

Создание сообщения

Режимы переключаются переключателем
Вы пишете сообщение с помощью цифрового сенсорного датчика на неопиксельной матрице 4x4.
Вы делаете точку за короткое время/без паузы между касанием датчика и тире, делая паузу продолжительностью более 1 секунды. По сути, вы не делаете разницы (точка x тире), прикасаясь к датчику в течение определенного времени, а просто быстро касаетесь его, а затем ждете.
Вы создаете зазор, поворачивая потенциометр в другую сторону на секунду, а затем поворачивая его обратно.
Вы удаляете сообщение, повернув потенциометр в другую сторону, а затем прикоснувшись к цифровому датчику (если вы не прикоснетесь к нему, образуется зазор)
Сообщение может быть более одной страницы (4*4+)

Отправка сообщений

Сообщение будет отправлено после перемещения переключателя в другую сторону (от создания к получению), а за��ем будет сброшено.

Получение сообщений

Перевернутый гриб появится, когда устройство получит сообщение (не знаю, почему именно мой гриб)
если сообщение длиннее одной страницы, то каждая страница, кроме последней, будет воспроизводиться в течение нескольких секунд.
Экран сбрасывается после получения следующего сообщения
Аппаратное обеспечение

Нужна пайка (макетная плата не подошла). Пожалуйста, приложите к этому много усилий, потому что у меня были проблемы с этим, и мне пришлось все перепаивать.

Радиомодуль 2x 433 МГц В основном покупаю эту модель два раза SI4438

матрица 4х4, неопиксель

2x переключатель

потенциометр

сенсорный датчи��

ардуино нано

держатель для 3 батареек АА (но я рекомендую использовать этот вариант, поскольку ток намного выше)/батарея 9 В

3 батарейки типа АА/батарея 9 В
Программное обеспечение

Я использовал 2.idk Arduino ide. Также не спрашивайте меня, почему массив назван матерью (проблемы с мамой) или другими переменными.

#include
#ifdef __AVR__
#include
#endif
#include
SoftwareSerial morseSerial(2,8);

интервал текущего состояния;
ИНТ LastState;
ИНТ CurrentStateB;
ИНТ LastStateB;

беззнаковое длинное время;
внутренний таймер;
внутренняя проверка;
интервал времени простоя;
int downCheck;

int земля =3;
интервал vcc = 4;
INT GNDB = 5;
интервал vccb = 6;
int gnds = 12;
интервал vccs = 11;
интервал вращения = A2;
интервал гндр = 13;
интервал vccr =A1;
INT GNDIN=A3;

интервал SW = 0;
режим int;
интервал последнего режима;
инт месиво;

целое значениеIndex=0;
int rowIndex=0;
ИНТ глупыйИндекс = 3;

Строка окончательные данные;
Строковый символ;
Строковое сообщение;

#определить тачпин 7
#определить кнопку A0
#define матрицаpin 10
#определить номер 16

Пиксели Adafruit_NeoPixel (число, матрица, NEO_GRB + NEO_KHZ800);
int мать[4][4][3]={
{{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{0,0,0},{0,0,0},{0,0,0},{0,0,0}},
{{0,0,0},{0,0,0},{0,0,0},{0,0,0}}
};
int получение[4][4][3]={
{{0,0,0},{50,50,50},{50,50,50},{0,0,0}},
{{0,0,0},{50,50,50},{50,50,50},{0,0,0}},
{{100,0,0},{100,0,0},{100,0,0},{100,0,0}},
{{0,0,0},{100,0,0},{100,0,0},{0,0,0}}
};

недействительная настройка() {
Серийный.начало(9600);
morseSerial.begin(9600);
Serial.println('перезапуск');
#if определено(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(lock_div_1);
#endif
пикселей.begin();
pinMode (земля, ВЫХОД);
pinMode (vcc, ВЫХОД);
pinMode (gndb, ВЫХОД);
pinMode (vccb, ВЫХОД);
pinMode (vccs, ВЫХОД);
pinMode (земли, ВЫХОД);
pinMode (vccb, ВЫХОД);
pinMode (вращение, ВХОД);
pinMode (vccr, ВЫХОД);
pinMode (gndr, ВЫХОД);
pinMode (gndin, ВЫХОД);
}

недействительный цикл() {
установитьПинсы();
режим = AnalogRead (спин);
если (режим <255) {
режим = 1;
}
еще {
режим = 0;
}
Serial.println(режим);
если (режим == 0) {
подготовить();

}
иначе if(lastmode==0 и mode==1){
отправить();
}
иначе if(lastmode==1 и mode ==1){
сообщение="";
получить();
}

последний режим = режим;
}
недействительная подготовка(){
//morseSerial.end();
месиво=0;
Время = мил��ис();
currentState = digitalRead (touchpin);
currentStateB = AnalogRead (кнопка);

11:23
3
Нет комментариев. Ваш будет первым!

Ссылка появится после регистрации

Похожие модели

CMF_Pro2_Mobile_Microcontroller_Lab
Работа еще продолжается! У меня малоПодробнее
Симулятор Stick Shift своими руками
Учебник: Загрузите файлы STl иПодробнее
Подставка для прототипа
Простой держатель/крепление дляПодробнее
Gehäuse für ein Encoder Modul / Drehencoder KY-040
Специальные настройки для модуляПодробнее
Gehäuse для 1,3-дюймового OLED-дисплея
Dieses Gehäuse для 1,3-дюймового OLEDПодробнее
Sardauscan: Лазерный 3D-сканер стоимостью менее 30 доллар..
*обновить Французская калибровкаПодробнее
Робот, следующий за линией
Это проект робота, следующего за линиейПодробнее
Mood Lamp
Лампа Mood — это база программируемыхПодробнее
Корпус адаптера с винтовыми клеммами Nano.............
Крышка удерживается на месте гайками иПодробнее
Обложка Аруино Нано
Распечатайте материал и цвет, которыйПодробнее
Универсальная "Кнопка-толкатель" SG90, MG996R............
… это идеальный цифро-аналоговыйПодробнее
Танцующий робот Макей из Maker Faire
Это самая первая интерактивная версияПодробнее
Третий большой палец
Это воссоздание проекта Дэни КлодПодробнее
Светодиодный дисплей с 4-кратной лупой. Лампа, часы и мно...
Данное устройство увеличивает площадьПодробнее
Чехол для регулировки громкости DEEJ............
Чехол для регулировки громкости DeejПодробнее
Корпус смесителя DEEJ
Кейс для 5 потенциометров и Arduino NanoПодробнее
Растянутый футляр для Hollow Clock 4
Я скорректировал корпус Hollow Clock 4Подробнее
Хрустальная лампа с подсветкой
Этот проект объединяет наши проектыПодробнее
Чехол для сканера RFID-меток
Я хотел протестировать чтение RFID-картПодробнее
Настраиваемое крепление на печатной плате............
Простое крепление, при котором размерыПодробнее
Рождественская елка
Я сделала елку в стиле «НочногоПодробнее
Макетная коробка
Для использования в качестве хранилищаПодробнее
Двойной нано-чехол
Это ремикс от nspohrer. КейсПодробнее
Звезда Смерти горит - Настроение (лампа) Звезда Смерти......
У меня нет разрешения от создателяПодробнее
Автоматическая намоточная машина V2.1............
Это автоматическая намоточная машина дляПодробнее
Крошечная, прочная бесполезная коробочка!............
В этой сборке используются дешевыеПодробнее
RFID-считыватель
Я нарисовал крышку из двух частей, чтобыПодробнее
Поворотный стол для отображения/фотосъемки/3D сканировани...
Я разработал этот проигрыватель дляПодробнее
Кронштейн с винтовыми клеммами NANO для DIN-рейки...........
Кронштейн на DIN-рейку для крепленияПодробнее
LM2596 / LM2577 / XL4005 / XL6009 Корпус преобразователя ...
Привет ! Небольшой универсальныйПодробнее
Посещая этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.