вопрос на первой транице выложена печатка он не соответствует той что в архиве по подключению дисплея, понятно что она другая но дисплеи подключены по разному
насчет загрузчика и его размера знаю. это немного, я всегда его оставляю на всякий если нужно будет загрузчик записать. можете немного памяти освободить, но хронометр всего 4к памяти съедает и не принципиально для меня
всё, заработало, все дисплеи чётко только 1110 зеркально но 1202 отлично, ставлю датчики и буду мучать дальше, а есть там меню или ещё что-то, или только главный экран и всё? вот Дисплей Nokia 2660/2760/6085 показывает ваще круто
там хоть график можно выводить. раньше выводил миллисекунды для калибровки осциллографом. калибровать кстати просто. выстрелили. замерили расстрояние между началами импульсов. пересчитали в скорость (формула в коде). и дальше правите число 700000. раньше выводил 10 последних измерений , фото выше по теме можно увидеть. можете также сделать. а вообще на что фантазии хватит
skorost = 700000/value;
так в чем у вас причина была?
фото приложите там где круто выглядит. может тоже такие дисплеи буду юзать
1110 зазеркалить не проблема. одну строку просто закоментировать
SendByte(0,0xA1); // Инвертировать экран по горизонтали
да про строку знаю фотку не вопрос, один 1110 заработал как надо без зеркала всё чётко, в чём была проблема я так и не понял, спасибо вам за помощь и за терпение
обновил прошивка на перевернутую слева направо и сверху вниз. незнаю только заработает ли вертикальная зеркализация. у меня на 1202 не работает. на других не тестил
насчет контрастности, когда прогонял все возможные коды конфигурации, там вроде всего 2-3 режима. и в них темнее, но и экран темнее. никакого улучшения. лучше примените 1110 дисплей
инверсию чего? дисплея или по осям?
меню допустим добавить можно с кнопками, но чтобы динамически через меню менять инверсию нужно знать коды нормлаьного режима. я знаю коды чтобы инвертировать, а чтобы вернуть назад честно сказать незнаю, да и не искал
вы можете также прогнать все коды. например инвертировать сначала дисплей по вертикали а потом прогонять все коды пока не найдется код нормлаьного режима
Свершилось. Поставил подстроечный резистор вместо 4.7К. Понизил напряжение логического нуля до 0,5В(у меня получилось, что сопротивлени должно быть 9кОм).
Спасибо большое jeka_tm за столь интерестый гаджет.
да пожалуйста. буду рад если выложишь тесты скорости
кстати надо калибровать. в коде есть число 70000 вроде. оно сооветствует расстоянию между датчиками. у меня было 7см. надо вписать свое. чем больше расстояние и выше частота ардуины, тем выше макс. измеряемая скорость
я тестировал на 8мгц ардуине, и измерял пневматический пистолет ТТ кажется со стальными шариками
Резитор на 9 кОм. В программе число 70000 изменил на 100000 т.к. у меня пасстоянее между датчиками 100мм.
Завтра соберу свой пневмат и испытаю хронограф на более высоких скоростях. А после сборки корпуса откалибрую в тире по заводским хронографам.
Жаль что я в написании кодов "полный ноль". Так бы было интерестно добавить несколько окон (расчет энергетики, график скорости, память скоростей, сред.скорость...)
Планирую сделать такую плату (извените что не по правилам выполнена разводка)
Поменял камень на ATmega8A (вместо ATmega8L). Перепрошиваю. Не получается. Все равно скорость загрузки меню - 32 секунды.
Валялся у меня программатор USBasp. Подключаю к нему. Выставляю фьюзы. Программирую HEX-ом с помощю "дудки". Таже история - 32 секуды. Потом до меня доходит - что фьюзы нужно программировать отдельно. Нажимаю программировать фьюзы и новогоднее чудо случается - скорость загрузки 3-4 секудны.
Значит что-то я делал не правильнос фьюзами при программировании через ArduinoUNO.
Подскажите пожалуйста - что нужно поменять в hex-овском файле для расстояния между датчиками 100мм?
в hex ничего не поменяешь. просто в ардуино коде выстави для 100мм скомпилируй и залей код. фьюзы у тебя уже стоят. хотя они должны при каждой заливке обновлятся
ну не суть. если не получится тогда заходишь в папку %temp% там находишь папку build и циферки. время изменения чтобы совпадало с компиляцией. открываешь. внутри будет куча файлов и среди них hex его и можешь отдельно залить
кстати скоро наверно буду переписывать код. добавлю 1 или 2 кнопки, статистику и среднее значение
планирую для экономии электричества регулировку яркости дисплея и отключение датчиков
будет как то так выглядеть. сами датчики отдельно. на 3д не видно дисплей. но он спереди. просто 3д модель лень было рисовать
Для питания хронографа на ebay был куплен преобразователь напряжения 3.7В-5В с функцией заряда батареии.
Так же были произведены полевые испытания.
Регулируя мощность пневматики измерял скорость пульки.
До 200м/с все работает замечательно - при каждом выстреле скорость разная, но при увеличении мощности - показывает каждый раз одну и ту же скорость 240,3м/с. Я не думаю что безредукторная воздушка может так однообразно стрелять от выстрела к выстрелу, тем более поссле каждого выстрела я меняю мощность пневматики. В чем дело еще не разобрался. Может нужно поиграть напряжением логического нуля (специально на плате вместо резисторов на 4.7кОм для фототранзисторов поставил подстроечные до 10кОм)? А может частоты ATmegи не хватает?
чем выше частотат тем точнее. если хочется точнее надо писать не на ардуиновском языке. но не горю желанием курить даташиты. здесь много людей разбирающихся, если захотят помочь будет замечательно
а вообще у меня в планах не стояло измерять скорость выше 200м/с, изза этого не заморачивался. как быть тебе уже сам думай. этот хнорометр в твоем случае скорее игрушка чем измерительный прибор, но до заслуживает определенного внимания
если приделать кварц на 16 или 20 мгц. то будет точнее
блин 3 часа потраченного времени изза странной кодировки в одной программе
если с начала есть программа GLCDFontCreator. отлично генерирует шрифты, но блин кодировка. она по колонкам блин. изза перехода на использование видеопамяти думал что то я еще не разобрался и косячу.
ну как можно было додуматься выдавать код по колонкам. по строкам ведь гораздо проще вывести. в итоге вылилось в следующее
мне не нравится как я определяю длину текста. может кто что нибудь предложит покороче и приятнее на вид
byte length=0;
char *type = str;
unsigned char AN_RU = *str;
while(*type){
*type++;
length++;
}
if(AN_RU>128) length=length/2;// делю на два так как русские символы имеюют в 2 раза длиньше код
да собрано по ней, но исходник там для дудки, а для студии или для вижена нет?
не для дудки а для ардуино иде. дудка это программа для прошивки
в исходнике нет ничего такого, чтобы не давало по быстрому переделать под другую среду. только зачем? прошивка фьюзы есть. прошей и радуйся
я вам уже говорил не пишу я в студии. только в кодевижн периодически
под кодевижн переделать нефиг делать. время только потратить
дисплей рабочий даже снял с другого устройства для проверки, попробую сделать переходник под 1110 на сколько я помню у них библиотеки идентичны
вопрос на первой транице выложена печатка он не соответствует той что в архиве по подключению дисплея, понятно что она другая но дисплеи подключены по разному
там просто подключение пинов друное. здесь cs data clock 7 6 5, на 1 странице 5 6 7
не понимаю почему не работает у вас
всё зашил, считываю, проверяю тестирую, всё записалось верно, фьюзы выставлены как написано,
к стати загрузчик используется галачка отмечена
насчет загрузчика и его размера знаю. это немного, я всегда его оставляю на всякий если нужно будет загрузчик записать. можете немного памяти освободить, но хронометр всего 4к памяти съедает и не принципиально для меня
все записалось и все равно не работает?
да уже и другой дисплей припаял 1110 всё равно не кажет
не понимаю как такое возможно. у меня даже на отдельной плате и дисплее работает. у тебя нет
самое главное:
сигнал управляющий доходит до дисплея? посмотри прямо на ножках дисплея
резисторы через которые идет сигнал номиналом 4.7-5.1 кОм?
ресет дисплея сидит на 3.3В?
питание дисплея 3.3В?
если все так должно работать
всё, заработало, все дисплеи чётко только 1110 зеркально но 1202 отлично, ставлю датчики и буду мучать дальше, а есть там меню или ещё что-то, или только главный экран и всё? вот Дисплей Nokia 2660/2760/6085 показывает ваще круто
меню не делал. забил. хотите приделайте
там хоть график можно выводить. раньше выводил миллисекунды для калибровки осциллографом. калибровать кстати просто. выстрелили. замерили расстрояние между началами импульсов. пересчитали в скорость (формула в коде). и дальше правите число 700000. раньше выводил 10 последних измерений , фото выше по теме можно увидеть. можете также сделать. а вообще на что фантазии хватит
так в чем у вас причина была?
фото приложите там где круто выглядит. может тоже такие дисплеи буду юзать
1110 зазеркалить не проблема. одну строку просто закоментировать
да про строку знаю фотку не вопрос, один 1110 заработал как надо без зеркала всё чётко, в чём была проблема я так и не понял, спасибо вам за помощь и за терпение
если не трудно можешь зеркало сделать на будуюшее
добавил в тот же архив прошивку
жаль конечно что не узнали в чем причина
Speed_v5_6.mirror
прикольный маленький дисплей. подсветка 8В мне не понравилась. преобразователь для нее ставить
да только в этом минус в подсветке
перевернул спасибо показывает отлично, но и верх с низом поменялся )))
обновил прошивка на перевернутую слева направо и сверху вниз. незнаю только заработает ли вертикальная зеркализация. у меня на 1202 не работает. на других не тестил
а возможно добавить кнопочки и меню например что бы регулировать контрастность и инверсию?
насчет контрастности, когда прогонял все возможные коды конфигурации, там вроде всего 2-3 режима. и в них темнее, но и экран темнее. никакого улучшения. лучше примените 1110 дисплей
инверсию чего? дисплея или по осям?
меню допустим добавить можно с кнопками, но чтобы динамически через меню менять инверсию нужно знать коды нормлаьного режима. я знаю коды чтобы инвертировать, а чтобы вернуть назад честно сказать незнаю, да и не искал
вы можете также прогнать все коды. например инвертировать сначала дисплей по вертикали а потом прогонять все коды пока не найдется код нормлаьного режима
если посмотреть на контроллер pcf8814 26 стр.
http://mylcd.sourceforge.net/files/pcf8814.pdf
то не все коды работают на 1202. даже прогнав все возможные коды я не нашел инверсию по горизонтали
я сейчас занят другим проектом, помогу по возможности
+ а зачем вам это? вы на лету дисплеи хронографу меняете?
Здравствуйте. Временно собрал хронограф на ArduinoUNO R3 (чистый китаец). Дисплей 1202.
Дисплей заработал с первого раз, в этом проблем не было.
Но пульки датчик не видит. На входе ардуины (пин PD2,PD3) при освеценном фототранзисторе 2,3В, а при затемнении 5В.
Подскажите пожалуйста в этом ли проблема? Если в этом - как ее решить (необходимо ли увеличеват наминал резистора 4,7К)?
Заранее спасибо.
фото приложи как сделал фотодатчик
2.3В вроде многовато. должно быть пониже
проверить просто. засунь карандаш например
Ни как не получается разместить фото здесь. Могу на мыло.
По поводу карандаша. Так и замерял напряжения ( с карандашом 5В, без карандаша 2.3В).
Пойду пробовать менять резисторы.
сначала на сервер загружаешь а потом вставляешь
Извените за качество. Вот


ик диод и фототранзистор ровно напротив друг друга?
трубка толстая. если пуля крохотная может быть без срабатывания
Вроде соосны. Отверстия в трубке сверлил за один проход.
Свершилось. Поставил подстроечный резистор вместо 4.7К. Понизил напряжение логического нуля до 0,5В(у меня получилось, что сопротивлени должно быть 9кОм).
Спасибо большое jeka_tm за столь интерестый гаджет.
Следующий этап сделать корпус.
да резистор увеличь. и можешь вручную замкнуть фототранзстор сначала один потом второй. должна измерится скорость
измерь номинал резистора получившийся
да пожалуйста. буду рад если выложишь тесты скорости
кстати надо калибровать. в коде есть число 70000 вроде. оно сооветствует расстоянию между датчиками. у меня было 7см. надо вписать свое. чем больше расстояние и выше частота ардуины, тем выше макс. измеряемая скорость
я тестировал на 8мгц ардуине, и измерял пневматический пистолет ТТ кажется со стальными шариками
Резитор на 9 кОм. В программе число 70000 изменил на 100000 т.к. у меня пасстоянее между датчиками 100мм.
Завтра соберу свой пневмат и испытаю хронограф на более высоких скоростях. А после сборки корпуса откалибрую в тире по заводским хронографам.
Жаль что я в написании кодов "полный ноль". Так бы было интерестно добавить несколько окон (расчет энергетики, график скорости, память скоростей, сред.скорость...)
Планирую сделать такую плату (извените что не по правилам выполнена разводка)
резисторы снизу 4,7к поставь возле 1к праллельно. получится аккуратнее
я думал меню добавить, потом забил
изучай программирование, добавишь все что хочешь
Что то я запутался читая весь вечер как прошить atmega8 с помощью ArduinoUno.
У меня клон ArduinoUnoR3 и на борту имеется ICSP и USBASP.
Соединение с Arduino такое: 10 - Reset, 11 - MOSI, 12 - MISO, 13 - SCK. Ну и питанее.
Пишет: Размер скетча в двоичном коде: 3 992 байт (из 7 168 байт максимум)
avrdude: error: could not find USB device "USBasp" with vid=0x16c0 pid=0x5dc
Кто нибудь может расписать пошагово или ткнуть носом в инструкцию.
Заранее извеняюсь (в студенческие времена кое-как сдал зачет по программированию).
Все. Запрограммировал.
Только заставка "Chronograph v5.5" (время от подачи питания до показа скорости 000m/s) грузится ровно 60 сек. На ArdunoUno это занимало 3-5 секунд.
значит фьюзы поменяй. частота неправильная
LOW E4 или A4
HIGH DC или СС
должно 3-5 секунд
Время сократилось до 32 секунд. Но это все равно не 3-5 сек. Пробовал менять фьюзы: LOW E4 или A4, HIGH DC или СС. Изменений нет - 32 секунды.
Может быть проблема в том что у меня ATMEGA8L? По даташиту у них разница в питании и в Speed Grades 0-8MHz для ATMEGA8L и 0-16MHz для ATMEGA8.
Правильно ли я меняю фьюзы? Я меняю в файле boards.txt low_fuses=0xe4 и high_fuses=0xdc
atmega8l_noxtal.name=ATmega8L @ 8MHz Internal
atmega8l_noxtal.upload.protocol=arduino
atmega8l_noxtal.upload.maximum_size=7168
atmega8l_noxtal.upload.speed=19200
atmega8l_noxtal.bootloader.low_fuses=0xe4
atmega8l_noxtal.bootloader.high_fuses=0xdc
atmega8l_noxtal.bootloader.path=atmega8
atmega8l_noxtal.bootloader.file=ATmega8L.hex
atmega8l_noxtal.bootloader.unlock_bits=0x3F
atmega8l_noxtal.bootloader.lock_bits=0x0F
atmega8l_noxtal.build.mcu=atmega8
atmega8l_noxtal.build.f_cpu=8000000L
atmega8l_noxtal.build.core=arduino
atmega8l_noxtal.build.variant=standard
Вчера сделал корпус для датчиков и отфрезеровал окно для дисплея. Расстоянее между отверстиями для датчиков ровно 100.00мм.
корпус классно получился
насчет скорости не скажу. в 8L дела не имел. но там вроде тоже самое, только частота ниже
программу в 8L как заливаешь?
вот на всякий случай бутлоадер получше и что в boards писать
http://yadi.sk/d/CXjuENmaEEwun
архив optiboot. там разберешься. может поможет
Не помагло. Также 30 секуд.
В atmega8L заливаю так:
У меня клон ArduinoUnoR3.
Соединение с Arduino такое: 10 - Reset, 11 - MOSI, 12 - MISO, 13 - SCK. Ну и питанее.
В ардуино заливаю: Примеры - ArduinoISP.
Затем в файле boards.txt меняю фьюзы. (именно здесь играю фьюзами).
Открываю скетч Speed_v5_6.
Выбираю: Сервис - Плата - ATmega8 Optiboot (8MHz internal OSC).
Выбираю: Сервис - Программатор - Arduino as ISP.
Удерживая Shift нажимаю "Загрузить с помощью программатора"
Подсажите правильно ли я все делаю?
да вроде да
Всех с наступающим Новым Годом.
Поменял камень на ATmega8A (вместо ATmega8L). Перепрошиваю. Не получается. Все равно скорость загрузки меню - 32 секунды.
Валялся у меня программатор USBasp. Подключаю к нему. Выставляю фьюзы. Программирую HEX-ом с помощю "дудки". Таже история - 32 секуды. Потом до меня доходит - что фьюзы нужно программировать отдельно. Нажимаю программировать фьюзы и новогоднее чудо случается - скорость загрузки 3-4 секудны.
Значит что-то я делал не правильнос фьюзами при программировании через ArduinoUNO.
Подскажите пожалуйста - что нужно поменять в hex-овском файле для расстояния между датчиками 100мм?
в hex ничего не поменяешь. просто в ардуино коде выстави для 100мм скомпилируй и залей код. фьюзы у тебя уже стоят. хотя они должны при каждой заливке обновлятся
ну не суть. если не получится тогда заходишь в папку %temp% там находишь папку build и циферки. время изменения чтобы совпадало с компиляцией. открываешь. внутри будет куча файлов и среди них hex его и можешь отдельно залить
кстати скоро наверно буду переписывать код. добавлю 1 или 2 кнопки, статистику и среднее значение
планирую для экономии электричества регулировку яркости дисплея и отключение датчиков
будет как то так выглядеть. сами датчики отдельно. на 3д не видно дисплей. но он спереди. просто 3д модель лень было рисовать
с наступающим
Для питания хронографа на ebay был куплен преобразователь напряжения 3.7В-5В с функцией заряда батареии.
Так же были произведены полевые испытания.
Регулируя мощность пневматики измерял скорость пульки.
До 200м/с все работает замечательно - при каждом выстреле скорость разная, но при увеличении мощности - показывает каждый раз одну и ту же скорость 240,3м/с. Я не думаю что безредукторная воздушка может так однообразно стрелять от выстрела к выстрелу, тем более поссле каждого выстрела я меняю мощность пневматики. В чем дело еще не разобрался. Может нужно поиграть напряжением логического нуля (специально на плате вместо резисторов на 4.7кОм для фототранзисторов поставил подстроечные до 10кОм)? А может частоты ATmegи не хватает?
img alt=
чем выше частотат тем точнее. если хочется точнее надо писать не на ардуиновском языке. но не горю желанием курить даташиты. здесь много людей разбирающихся, если захотят помочь будет замечательно
а вообще у меня в планах не стояло измерять скорость выше 200м/с, изза этого не заморачивался. как быть тебе уже сам думай. этот хнорометр в твоем случае скорее игрушка чем измерительный прибор, но до заслуживает определенного внимания
если приделать кварц на 16 или 20 мгц. то будет точнее
победил наконец дисплей, а точнее ардуину с этими всеми этими кодировками и т.д.
так что меню будет на русском
взял из одной либы кусок кода для видеопамяти, чтобы не по строкам рисовать и выводить текст, а в любом месте
но и проект теперь будет на меге328. под задуманное нужно больше памяти чем в меге8
да и видеопамять почти 1к оперативки занимает. а в меге8 ее всего 1к
вот это собственно и выводилось
блин 3 часа потраченного времени изза странной кодировки в одной программе
если с начала есть программа GLCDFontCreator. отлично генерирует шрифты, но блин кодировка. она по колонкам блин. изза перехода на использование видеопамяти думал что то я еще не разобрался и косячу.
ну как можно было додуматься выдавать код по колонкам. по строкам ведь гораздо проще вывести. в итоге вылилось в следующее
по моему изврат
но результатом доволен
хотя по моему предыдущий вариант как то гармоничнее смотрелся. но на всякий случай еще проверил разные шрифты. все не то
Я тоже считаю, что первоначальный шрифт более подходит для данного девайса.
часть работы по переписыванию кода сделал. вот пока что имеется. данные просто для теста
но есть один кусок кода который мне не очень нравится. он относится к меню, а точнее генерации что то вроде кнопки
вот такой код выводит следующее
мне не нравится как я определяю длину текста. может кто что нибудь предложит покороче и приятнее на вид
ну так что? оставить как есть или есть вариант получше?