Простые часы на светодиодных матрицах.
Re: Простые часы на светодиодных матрицах.
uk8amk Может быть вот так..?
Цитата:
Логика работы девайса должна была быть такой, чтобы по максимуму исключить ложные срабатывания. Поэтому решено было, фиксировать не только хлопки, но и промежутки времени в которые они приходят. Также нужно было предусмотреть промежутки тишины, чтобы исключить возможность срабатывания от циклически повторяющегося шума.
При появлении первого хлопка, фиксируем его появление, запускаем таймер, выжидаем некоторое время чтобы эхо утихло и ждем появление следующего хлопка. Если следующий импульс пришел слишком рано и попал в красную зону, считаем что это посторонний шум и объявляем сессию ошибочной. Останавливаем и сбрасываем таймер, обнуляем переменные. Если импульс попал в зеленую зону (зону ожидания хлопка), фиксируем его появление увеличением значения переменной и ждем пока таймер переполнится и вызовет прерывание. Если после второго импульса была тишина, то в обработчике прерывания таймера переключим нагрузку. Если второй хлопок пришел слишком поздно и попал в красную зону будем считать, что это тоже был шум. Если после второго удачного хлопка, во время ожидания переполнения таймера, появился еще один импульс, так же будем считать что это шум и объявим ошибку.
Цитата:
Логика работы девайса должна была быть такой, чтобы по максимуму исключить ложные срабатывания. Поэтому решено было, фиксировать не только хлопки, но и промежутки времени в которые они приходят. Также нужно было предусмотреть промежутки тишины, чтобы исключить возможность срабатывания от циклически повторяющегося шума.
При появлении первого хлопка, фиксируем его появление, запускаем таймер, выжидаем некоторое время чтобы эхо утихло и ждем появление следующего хлопка. Если следующий импульс пришел слишком рано и попал в красную зону, считаем что это посторонний шум и объявляем сессию ошибочной. Останавливаем и сбрасываем таймер, обнуляем переменные. Если импульс попал в зеленую зону (зону ожидания хлопка), фиксируем его появление увеличением значения переменной и ждем пока таймер переполнится и вызовет прерывание. Если после второго импульса была тишина, то в обработчике прерывания таймера переключим нагрузку. Если второй хлопок пришел слишком поздно и попал в красную зону будем считать, что это тоже был шум. Если после второго удачного хлопка, во время ожидания переполнения таймера, появился еще один импульс, так же будем считать что это шум и объявим ошибку.
- Вложения
-
- 72447997.jpg
- (29.6 КБ) 810 скачиваний
-
- Usilitel_Microfona.jpg
- (42.55 КБ) 720 скачиваний
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: Простые часы на светодиодных матрицах.
Упавший на пол предмет, ритмичная музыка, работающий в комнате телевизор и прочий фон сведёт с ума эту систему.
Я не запрещаю, кто хочет - пробуйте. Но на мой взгляд малоприменимо.
Я не запрещаю, кто хочет - пробуйте. Но на мой взгляд малоприменимо.
Re: Простые часы на светодиодных матрицах.
uk8amk Подумав...соглашаюсь с вами. Хотя.. может кто и попробует воплотить. Тут нужно исходник переписывать (время)... и проверить на макетке. По железу то копейки..
- alcxa
- Это не хвост, это антенна
- Сообщения: 1347
- Зарегистрирован: Ср мар 26, 2014 21:50:55
- Откуда: RF-73 ULN
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
uk8amk - хотелось бы видеть в Вашей прошивке датчик давления, а именно (чтобы минимум изменений в осн схеме часов) с версией радиодатчика.
т.е. в передатчике чтоб было возможность мерить давление. Это позволить иметь один передатчик и несколько часов которые принимают с него давление и температуру на улице (комнатную лучше около часов оставить)
Все равно нужно делать модуль передатчика - так почему-бы не прикрутить к нему BMP180 - и запитать все от 3,3V (не нужен конвертор 3,3) - соотв тиньку взять с большей емкостью
т.е. в передатчике чтоб было возможность мерить давление. Это позволить иметь один передатчик и несколько часов которые принимают с него давление и температуру на улице (комнатную лучше около часов оставить)
Все равно нужно делать модуль передатчика - так почему-бы не прикрутить к нему BMP180 - и запитать все от 3,3V (не нужен конвертор 3,3) - соотв тиньку взять с большей емкостью
Все для сборки часов на 60мм светодиодных матрицах (платки, матрицы и др. комплектующие)
Re: Простые часы на светодиодных матрицах.
Очевидно, что столбцы не соответствуют.
- GARRICOL
- Встал на лапы
- Сообщения: 83
- Зарегистрирован: Сб ноя 20, 2010 10:28:06
- Откуда: Тула
- Контактная информация:
Re: Простые часы на светодиодных матрицах.
почемучка писал(а):В CodeVisionAVR ставим галочки: SUT0; CKSEL3; CKSEL1; CKSEL0; EESAVE; BODEN
Можно и без "А" . Должна работать.
Спасибо за помощь. МК прошил, часы работают, всё нормально.
За АРСЕНАЛ болеем мы душой!!!
Re: Простые часы на светодиодных матрицах.
Martin76 писал(а):Очевидно, что столбцы не соответствуют.
Можно это исправить программно ? или еще как
Re: Простые часы на светодиодных матрицах.
Можно конечно, плата то чья?
Re: Простые часы на светодиодных матрицах.
С первой страницы Плата и прошивка V1_07 для матриц 31,7мм_ОА и для матриц 38мм_ОА. (версия ВНН)
- Вложения
-
- MATRIX_AO_31_7mm.lay
- (342.67 КБ) 447 скачиваний
Re: Простые часы на светодиодных матрицах.
Там должен быть исходник, из него копировать таблицу соответствия столбцов и заменить ею такую же в нужном исходнике.
Re: Простые часы на светодиодных матрицах.
Да , для меня это как то сложновато
# if OA
PORTC.3 = (ekran [0] & stroka);
PORTC.0 = (ekran [1] & stroka);
PORTD.7 = (ekran [2] & stroka);
PORTC.5 = (ekran [3] & stroka);
PORTD.6 = (ekran [4] & stroka);
PORTC.4 = (ekran [5] & stroka);
PORTC.2 = (ekran [6] & stroka);
PORTC.1 = (ekran [7] & stroka);
PORTA.5 = (ekran [8] & stroka);
PORTD.5 = (ekran [9] & stroka);
PORTD.4 = (ekran [10] & stroka);
PORTA.3 = (ekran [11] & stroka);
PORTD.3 = (ekran [12] & stroka);
PORTA.4 = (ekran [13] & stroka);
PORTA.6 = (ekran [14] & stroka);
PORTA.7 = (ekran [15] & stroka);
PORTA.0 = (ekran [16] & stroka);
PORTD.2 = (ekran [17] & stroka);
PORTD.1 = (ekran [18] & stroka);
PORTB.1 = (ekran [19] & stroka);
PORTD.0 = (ekran [20] & stroka);
PORTB.0 = (ekran [21] & stroka);
PORTA.1 = (ekran [22] & stroka);
PORTA.2 = (ekran [23] & stroka);
Помогите разобраться .
# if OA
PORTC.3 = (ekran [0] & stroka);
PORTC.0 = (ekran [1] & stroka);
PORTD.7 = (ekran [2] & stroka);
PORTC.5 = (ekran [3] & stroka);
PORTD.6 = (ekran [4] & stroka);
PORTC.4 = (ekran [5] & stroka);
PORTC.2 = (ekran [6] & stroka);
PORTC.1 = (ekran [7] & stroka);
PORTA.5 = (ekran [8] & stroka);
PORTD.5 = (ekran [9] & stroka);
PORTD.4 = (ekran [10] & stroka);
PORTA.3 = (ekran [11] & stroka);
PORTD.3 = (ekran [12] & stroka);
PORTA.4 = (ekran [13] & stroka);
PORTA.6 = (ekran [14] & stroka);
PORTA.7 = (ekran [15] & stroka);
PORTA.0 = (ekran [16] & stroka);
PORTD.2 = (ekran [17] & stroka);
PORTD.1 = (ekran [18] & stroka);
PORTB.1 = (ekran [19] & stroka);
PORTD.0 = (ekran [20] & stroka);
PORTB.0 = (ekran [21] & stroka);
PORTA.1 = (ekran [22] & stroka);
PORTA.2 = (ekran [23] & stroka);
Помогите разобраться .
Re: Простые часы на светодиодных матрицах.
Где менять покажите , непонятно ?
спасибо
сделал но не работают кнопки ?
спасибо
сделал но не работают кнопки ?
Re: Простые часы на светодиодных матрицах.
Там , где менять собрались , в исходнике ищете эту табличку и заменяете на нужную, следя , чтобы не нарушился синтаксис Си (; - лишние или недостающие например, но CV сообщит об ошибках при компиляции). Можно поставить вместо ОК , если оставить в шапке ОК, после компилировать. Все делается штатными средствами винды, буфер обмена, копировать/вставить, можно через блокнот, заодно сохранить.
Re: Простые часы на светодиодных матрицах.
сделал но не работают кнопки ?
Re: Простые часы на светодиодных матрицах.
Там может кнопки не на 0ю и 7ю строки повешены?
Re: Простые часы на светодиодных матрицах.
как посмотреть , точнее где
Re: Простые часы на светодиодных матрицах.
Здравствуйте, прошил часы прошивкой с датчиком давления, все работает, только давление завышает на 7-8 мм. В исходнике есть корректировка датчика BMP 180
но при вводе числа для корректировки, измеренное давление не меняется, не устанавливаются также и начальные число дата и год по умолчанию.
Подскажите, пожалуйста, как все таки корректировать показания датчика давления, исходник в котором корректировал прилагаю.
pressure_korrect=8, //вместо 0 вводим значение на сколько врет датчик bmp180
но при вводе числа для корректировки, измеренное давление не меняется, не устанавливаются также и начальные число дата и год по умолчанию.
Подскажите, пожалуйста, как все таки корректировать показания датчика давления, исходник в котором корректировал прилагаю.
- Вложения
-
- Для_OK_М32_BMP180_запись в_DS3231_Раздел_строка.rar
- (410.03 КБ) 194 скачивания
Re: Простые часы на светодиодных матрицах.
Посмотри на 339 стр
Re: Простые часы на светодиодных матрицах.
Да точно прошивка с этой страницы, но уважаемый gregos ничего не писал о корректировке измерений датчика давления. Прошивал разными способами и с фьюзом EESAVE и без него. По высоте над уровнем моря, моей местности, давление должно быть 752 мм, а часы показывают 760 мм, вот и хотел скорректировать.