* * * Форум CQHAM.RU Тема * * * -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Тема : ARDUINO Started at 28.12.2009 12:11 by DL1BA Visit at http://www.cqham.ru/forum/showthread.php?t=12592 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1] Автор : DL1BA Дата : 28.12.2009 12:11 Заголовок : ARDUINO Привет всем! Приобрёл недавно Arduino Board. Подробнее о нём можно почитать здесь http://robozone.su/2008/03/06/arduino-arduino-obshhaja-informacija.html и здесь http://www.arduino.cc/ Очень интересная штука, особенно для тех, кто только начинает осваивать микроконтроллеры. На фото результаты моих первых экспериментов - КСВ-метр. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2] Автор : Ярослав Дата : 12.12.2014 20:51 Тоже сегодня посвятился в эту тему. Хотел ветку создать а оказывается есть уже и давно. Хотел такой вопрос задать. Кто знает. В программе ARDUINO как я понимаю С++ используется. Ну модифицированный. Но просто интересно. Поддерживает ли эта программа обращения к регистрам напрямую в программным коде имеется ввиду? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 3] Автор : RT9I Дата : 12.12.2014 21:00 Поддерживает ли эта программа обращения к регистрам напрямую в программным коде имеется ввиду? Ярослав, ровно третий ответ в гугле по запросу "arduino обращения к регистрам напрямую" :) http://cyber-place.ru/showthread.php?t=582 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 4] Автор : R2DHG Дата : 12.12.2014 21:35 Тоже сегодня посвятился в эту тему. Хотел ветку создать а оказывается есть уже и давно. Хотел такой вопрос задать. Кто знает. В программе ARDUINO как я понимаю С++ используется. Ну модифицированный. Но просто интересно. Поддерживает ли эта программа обращения к регистрам напрямую в программным коде имеется ввиду? Там самый обычный C++, просто есть готовые библиотеки и как бы штатные функции, но вы можете их игнорировать и вставлять куски C++ кода не из ардуинских проектов или даже ASM-вставки, но возможны (и даже скорее всего будут) проблемы с различными переопределениями ключевых слов/макросов (но они есть и при использовании просто разных сред программирования, программерам оно сильно не мешает, а начинающему может). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 5] Автор : rk3fw Дата : 13.12.2014 18:34 но вы можете их игнорировать и вставлять куски C++ кода не из ардуинских проектов или даже ASM-вставки, Да ладно!, АСМ точно вставлять нельзя. Да и от С++ (и от С) язык довольно сильно отличается. Кроме того, Ардуино IDE не поддерживает сторожевой таймер. Интересно, чем он создателям насолил? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 6] Автор : R1AIT Дата : 24.01.2015 13:00 Привет всем! Приобрёл недавно Arduino Board. Подробнее о нём можно почитать здесь http://robozone.su/2008/03/06/arduino-arduino-obshhaja-informacija.html и здесь http://www.arduino.cc/ Очень интересная штука, особенно для тех, кто только начинает осваивать микроконтроллеры. На фото результаты моих первых экспериментов - КСВ-метр. Приветствую! А кроме фото можно подробности. Я тут тоже временами балуюсь. И даже мой девятилетний сын сам упражняется. Отдал ему для экспериментов старый ноут. Предварительно поставил на него Ubuntu, Arduino IDE и Scrath 4 Arduino. Собирает программы из кубиков прямо на экране. Успешно скрещивает его с конструктором "Знаток" который уже весь пересобирал вдоль и поперек. Скачал ему видеоуроки на эту тему как раз для младших школьников. А я недавно получил из китая модуль на AD9850. Правда руки еще не дошли пока. Хочу поэкспериментировать с синтезатором и всякими простыми конструкциями на этой базе. Основная идея: простые конструкции для начинающих на современной элементной базе. Не без компьютера разумеется. Мне кажется, что очень интересные вещи возможны. Некоторые даже с минимумом пайки, практически всё из готовых блоков и возможно даже на макетных платах с гнездами и перемычками. Типа QRP трансивер за поолчаса. :-) Радует, что при заказе из поднебесной цена получается вполне демократичная и качество в основном вполне достойное. Во всяком случае явного брака мне пока не попадалось, все что заказывал успешно работает без нареканий. Есть уже несколько разных плат, заказал индикатор на ЖК с клавиатурой, пару валкодеров, макетную плату, перемычки к ней и кучу всяких датчиков для автоматизации дачи :-) Телеграфный ключик уже попробовал прошивать. Без проблем получается. В сети много вариантов. Есть достаточно крутые с памятью и кучей макросов. А еще в одном из недавних номеров CQ QRP мне попалась статья про КВ маячок на аналогичном контроллере но не Arduino. Интересно попробовать сделать на этой платформе. По идее получается, что нужен только контур на рабочую частоту на выходе и соответствующий скетч. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 7] Автор : RA4FHE Дата : 24.01.2015 14:44 Удобная штукенция :super: VHF трансивер за вечер собрал -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 8] Автор : R2DHG Дата : 24.01.2015 16:10 Да ладно!, АСМ точно вставлять нельзя. Да и от С++ (и от С) язык довольно сильно отличается. Кроме того, Ардуино IDE не поддерживает сторожевой таймер. Интересно, чем он создателям насолил? ASM можно, C++ стандартный (gcc-avr), сторожевой таймер поддерживают специально заточенные загрузчики - сам в антенной поворотке его юзал (можно глянуть тут http://habrahabr.ru/post/189744/), правда с таким загрузчиком какой то другой баг - ресет несколько секунд делается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 9] Автор : UB6HJO Дата : 24.01.2015 16:12 VHF трансивер за вечер собрал Добрый день! А можно подробнее что за плата трансивера? 73! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 10] Автор : RA4FHE Дата : 24.01.2015 16:18 Добрый день! А можно подробнее что за плата трансивера? 73! http://www.sunrisedigit.com/Show.asp?id=24 Управление делал Ардуиной. Есть варианты модуля VHF и UHF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 11] Автор : UV7QAE Дата : 24.01.2015 16:20 Похожа на вот это https://www.tindie.com/products/sunrise/srfrsdemoa-1w-walkie-talkie-transceiver-moduledata-transfer-module-test-boarddemo-board/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 12] Автор : R2DHG Дата : 24.01.2015 16:25 Удобно... на платке. Там такая штуковина стоит ? http://www.aliexpress.com/item/2pcs-RDA1846S-VHF-band-134MHz-to-174MHz-SA818-V-wireless-voice-transceiver-module/32224669738.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 13] Автор : RA4FHE Дата : 24.01.2015 16:35 Там такая штуковина стоит ? SR-FRS Мануал на модуль приложил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 14] Автор : RA3XCK Дата : 27.01.2015 11:12 На новый год подарили Arduino Due (нашел под елкой). Достаточно мощная платформа. 84мгц тактовая частота. 32бит. 12разрядные АЦП и ЦАП. Вопрос к знатокам. Насколько реально использовать в ТПП, примерно как в Тюльпане. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 15] Автор : Genadi Zawidowski Дата : 27.01.2015 11:51 Судя по ответу гугля об начинке этой платы Atmel SAM3X8E ARM Cortex-M3 CPU (datasheet). процессор без FPU, тактовая частота в два раза ниже того, что в Тюльпане. Писать своё, с учетом ограничений данного процессора. Ну что-то вроде того, что делает Слесарь сейчас. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 16] Автор : R1AIT Дата : 27.01.2015 21:30 Судя по ответу гугля об начинке этой платы процессор без FPU, тактовая частота в два раза ниже того, что в Тюльпане. Писать своё, с учетом ограничений данного процессора. Ну что-то вроде того, что делает Слесарь сейчас. Когда под задуманную простую идею готового не существует или не найти. На заказ получается дорого и не слишком быстро, а задачку можно решить посидев вечерок-другой за экраном, почему нет? А еще, начинать с подобной штуки удобно. В сети куча примеров и уже реализованных проектов, которые даже начинающий может легко повторить. А еще, иногда получается решить нужную задачу путем не сложной модификации другого проекта. Ну, в общем, в любительской практике может быть оправдано. Да и интересы у всех разные. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 17] Автор : Genadi Zawidowski Дата : 27.01.2015 23:19 Да и интересы у всех разные. Согласен, но RA3XCK задал вопрос о конкретном применении - DSP в ТПП - а тут уже глубину промеряли много человек, и как с производительностью процессора в этих проектах тоже известно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 18] Автор : R1AIT Дата : 28.01.2015 13:10 Согласен, но RA3XCK задал вопрос о конкретном применении - DSP в ТПП - а тут уже глубину промеряли много человек, и как с производительностью процессора в этих проектах тоже известно. Тоже согласен. Для DSP нужно что-то по серьезнее. С Пионом не знаком, поэтому вопроса не понял. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 19] Автор : Serg Дата : 11.04.2016 19:25 Не нашел подходящей темы про "альдруино для чайников", спрошу тут. Получил сабж UNO, обещали в описании лота, что усб-контроллер на атмега-8 будет, но оказался на CH340, чем это хуже или лучше? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 20] Автор : UT0UM Дата : 11.04.2016 19:46 в ардуино усб конвертер либо на ФТ232 либо на СН340 а атмега 8 - это контроллер как по мне так 340 лучше нет заморочек с фейком -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 21] Автор : Serg Дата : 11.04.2016 19:57 Есть уже в продаже что именно атмега8 или 16 стоит как усб-ком , а 328я как основной. Где-то вычитал, что с атмегами8 быстрей прошиваются и дрова не нужно, там какой-то стандартный USB-класс используется. Может кто еще скажет чего? Вопрос собственно, оставлять или отсылать назад, т.к. в описании четко было указано про атмега8 для усб-ком... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 22] Автор : UT0UM Дата : 11.04.2016 20:10 именно атмега8 или 16 стоит как усб-ком никогда не видел такого я бы не заморачивался шьется все равно секунды в описании четко было указано про атмега8 для усб-ком а можно ссылку? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 23] Автор : Serg Дата : 11.04.2016 20:20 UT0UM, http://arduino.su/Tutorial/instrukciya-po-pereproshivke-kontrollera-atmega8u2-dlya-arduino-uno-ili-mega2560 фото там кликабельное и кварец на 16 стоит, для фт232 или цх340 д.б. 12МГц. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 24] Автор : R2DHG Дата : 11.04.2016 20:26 Я бы не парился, но возможно оно действительно быстрее шьет - это же почти как программатор отдельный выходит, usbasp прошивку в 30k побыстрее шьет, чем ft'шка. Но если оно тупо как переходник усб-ком... может и не то. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 25] Автор : Serg Дата : 11.04.2016 20:29 usbasp прошивку в 30k побыстрее шьет, чем ft'шка. На сколько примерно? И там в среде разработки есть проверка программ (хотя бы на явные ошибки) без зашивки или только каждый раз надо вливать и смотреть как работает? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 26] Автор : ur3ilf Дата : 11.04.2016 20:38 В типа оригиналах конвертор USB/RS232 может быть на мега8 или мега16. Первые были на 16 меге, потом всунули в восьмую. У меня была плата на мега2560 + мега8 а сейчас такая же но с СН340. Прошиваются и работают они одинаково. Лично мне больше нравится на CH340. Да и почему должно быстрее прошиваться если скорость заливки зависит от скорости по RS232? Разница только в том что нужно ставить драйвер для СН340 а на меге видится как HID девайс в системе. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 27] Автор : R2DHG Дата : 11.04.2016 20:44 Точно не скажу, но на большой бывает заметно, особенно если отлаживать программу в духе поменял пару букв - проверил. Только это с usbasp, а как с той мегой не знаю. С явными ошибками не скомпилируется, а программистские - это надо в протеусе проверять, у ардуины не среда, а блокнот какой то с кнопками и терминалом :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 28] Автор : ur3ilf Дата : 11.04.2016 21:01 Кстати для наших целей СН340 больше подходит так как можно прицепиться к DTR и RTS. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 29] Автор : rw6hkf Дата : 12.04.2016 07:28 Разница только в том что нужно ставить драйвер для СН340 а на меге видится как HID девайс в системе. Только для Windows - в Linux отлично видится и так. Мне тоже CH340 нравится гораздо больше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 30] Автор : ur7hfo Дата : 12.04.2016 18:09 фото там кликабельное и кварец на 16 стоит, для фт232 или цх340 д.б. 12МГц. Читаем в конце статьи - По идее таким образом можно прошить Atmega8U2 другой прошивкой, и ваш ардуино станет восприниматься системой как джойстик, клавиатура, или например принтер)) Вот в этом и может быть плюс. Для остальных применений, разницы почти никакой, сложилось впечатление о кривости драйвера для чипа CH340, проявлялось как Блю-Скрин на 32 битной виндовс 7, на 64 битной виндовс 10 у меня проблем не было, под линуксом я не проверял. Для FT232 похоже под виндовс самые стабильные драйвера (субъективное мнение), но могут с большой вероятностью подсунуть левые чипы. Добавлено через 5 минут(ы): Получил сабж UNO, обещали в описании лота, что усб-контроллер на атмега-8 будет, но оказался на CH340, чем это хуже или лучше? Делали связку контроллер поворотки от K3NG с программой PSTRotator, так вот на CH340 при использовании виндовс7 32 бита, проблемы периодически были в виде блю-скрина. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 31] Автор : Serg Дата : 12.04.2016 19:08 Вот в этом и может быть плюс. Я вообще чайник в программировании мк, поэтому плюса может не быть. Просто понял, что без этого уже дальше нЕкуда, даже тот же продвинутый переключатель антенн с блокировками делать на куче логики стало скучно, решил для себя что-то новое открыть. В общем оставляю этот альдруино с сн340, работает вроде, светодиодом уже вчера поморгал. Делали связку контроллер поворотки от K3NG с программой PSTRotator, так вот на CH340 при использовании виндовс7 32 бита, проблемы периодически были в виде блю-скрина. Использовал под 7кой усб-ком переходник на сн340 тоже с контроллером антенны, правда на пике от g6lvb, то не было проблем с переходником. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 32] Автор : UV7QAE Дата : 12.04.2016 19:24 По поводу скорости прошивки, USBASP намного быстрее, ну раза в 3 точно. Делал я как-то проект на Atmega 8, прошивал ардуиной в режиме программатора (до этого сама разработка шла на голом arduino) и финальные стадии уже вылизывались на USBASP. Проект там был почти на весь размер памяти 8Кб и когда попробовал свежеспаяным ASP прошивать то показалось небо и земля по скорости. С тех пор только программатор и сразу на готовом устройстве программирую. Но если проект маленький то разницы особой нет. По поводу скоростей http://42bots.com/resources/arduino-program-sketch-upload-speeds/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 33] Автор : ur7hfo Дата : 12.04.2016 19:29 делать на куче логики стало скучно, решил для себя что-то новое открыть. И это правильно, а Ардуино, весьма увлекательная штучка :smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 34] Автор : Владимир_К Дата : 28.04.2016 10:45 И это правильно, а Ардуино, весьма увлекательная штучка Для некоторых дел, да, штука полезная.. Например, спаял индикатор со статической индикацией на регистрах 4015, не работает. За несколько минут написал в несколько строчек программку, подключил индикатор к плате, проверил, ошибка сразу обнаружилась. Но, несколько строк программы, заняли 912 байт памяти. Такая же примерно программа, разработанная в WinAvr заняла 162 байта!! Так как Ардуино у меня самодельный, на Atmega8 (в крайнем случае можно поставить 168) вопрос такой, к знатокам Ардуино.. Можно ли программу, разработанную в WinAvr например, загрузить в Ардуину, через ее софт чтобы не пользоваться внешним программатором. Кроме того, в среде Ардуино нет никакого режима отладки... Поэтому выход я бы видел такой - пишем в WinAvr, дальше работаем с Ардуино. Понятно, напрямую это не проходит. Файлы от WinAvr Ардуино, конечно, не видит. Пишет, что может открывать только "свои" файлы. Как поступить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 35] Автор : R2DHG Дата : 28.04.2016 10:58 Так ? http://robocraft.ru/blog/arduino/116.html Более по человечески вроде никак. (http://robocraft.ru/blog/arduino/116.html) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 36] Автор : R1AIT Дата : 28.04.2016 11:25 Так ? http://robocraft.ru/blog/arduino/116.html Более по человечески вроде никак. (http://robocraft.ru/blog/arduino/116.html) Там и с этим похоже еще варианты возможны. Я подробно не копал, но, навскидку, как минимум стоит копнуть режимы программатора в Arduino IDE. Весьма вероятно, что многое из описанного можно сделать проще стандартными средствами, но могут быть ньюансы. Для некоторых дел, да, штука полезная.. Она больше всего полезна, когда порог вхождения нужен пониже. Причем этот порог у разных людей может быть по разным параметрам, у кого по знаниям, у кого по оборудованию, у кого по времени, у кого по нескольким сразу. Лично у меня время критично. Часто нужно быстро сделать какое-то не очень сложное устройство, особенно для экспериментов. Очень во многих случаях получается найти функционально близкое готовое решение, и слегка доделать его под свои потребности. Или объединить несколько готовых проектов в один. С другими платформами подобный подход в большинстве случаев весьма проблематичен. А оценка времени изготовления "с нуля" дает понимание, что такого его количества нет. Дополнительный момент мотивации - это десятилетний сын, который тоже это успешно осваивает. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 37] Автор : Владимир_К Дата : 28.04.2016 11:34 Более по человечески вроде никак. Спасибо. Надо разобраться подробнее, пока не совсем понял.:smile: Я никогда встроенными программами программаторов никогда не пользовался.. Как привык с Понипрог, так до сих пор и пользовался ейной. Хотя в той же AVRStudio есть несколько встроенных программаторов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 38] Автор : R2DHG Дата : 28.04.2016 11:35 Если в настройках среды понаставить галок будет видно с какими параметрами avrdude запускается для заливки hex в ардуину, потом так же любой свой hex попробовать. Можно попробовать забодать среду ардуины до состояния компиляции программ из winavr :-P Вот бы еще в протеусе кнопку "залить" добавить, а то копирую туда-сюда. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 39] Автор : R1AIT Дата : 28.04.2016 11:39 Как привык с Понипрог, так до сих пор и пользовался ейной. Хотя в той же AVRStudio есть несколько встроенных программаторов.И в Arduino IDE посмотрите, там тоже что то есть. И саму ардуину можно как программатор использовать. Особенно оригинальный UNO с МК в панельке. В сети много статей про это. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 40] Автор : Владимир_К Дата : 28.04.2016 11:49 Она больше всего полезна, когда порог вхождения нужен пониже. У меня уже давно есть FastAVR (в "Радио" было ее описание). Но, там, на мой взгляд, автор не довел ее до конца - надо было туда сделать бутлоадер, удобств бы это добавило здорово. Тем более есть же и соединение с компьютером по СОМ-порту. Я в сети находил несколько загрузчиков, но, к сожалению, ничего не получилось. Загрузчик записал, все вроде нормально. Подключил плату к компьютеру. Все проверил, терминал работает. Вытащил мегу из панельки, закоротил RXD и TXD, ответ есть. То есть, от компьютера, до входов процессора все работает. А загрузчик на тест не отвечает. Может ума не хватило. А так был бы тот же Ардуино, но с возможностями получше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 41] Автор : R2DHG Дата : 28.04.2016 11:52 Загрузчик только память жрет :-P Я понимаю по блютус прошивку обновить по воздуху, а если провод втыкать - можно и в ISP (и можно ардуинить так на новом пустом мк без собственно ардуины). Вот для старта начинающим удобно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 42] Автор : Владимир_К Дата : 28.04.2016 14:12 Загрузчик только память жрет Ну с потерей 512, да даже 1024 байта можно было бы и смириться, если микросхема имеет 32 кб. У меня всего 8, поэтому, конечно накладно. Но большая проблема все же в том, что компилятор Ардуино пока не способен создать компактный код. А загрузчик это все же удобно. Поэтому, буду решать проблему - поставить загрузчик в свою отладочную плату. У нее на "борту" и м/с памяти и много кое-чего еще. Но к ней приходится подключать программатор... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 43] Автор : R2DHG Дата : 28.04.2016 15:08 А, забыл, действительно удобней на rx/tx если отладка или обмен какой то данными с компом - проводов меньше :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 44] Автор : ur7hfo Дата : 28.04.2016 17:16 Можно ли программу, разработанную в WinAvr например, загрузить в Ардуину, через ее софт чтобы не пользоваться внешним программатором. Нужен скомпилированный бинарник (прошивка) под конкретный микроконтроллер используемый в Ардуино, а далее загружаете его програмкой XLoader http://www.getchip.net/posts/104-proshivka-lyubogo-hex-fajjla-v-arduino-pri-pomoshhi-shtatnogo-zagruzchika-bootloader/ Добавлено через 12 минут(ы): Ну с потерей 512, да даже 1024 байта можно было бы и смириться, если микросхема имеет 32 кб. У меня всего 8, поэтому, конечно накладно. Может Вам такая платка подойдет ? http://arduino.ua/ru/hardware/Nano Flash-память 16 КБ (ATmega168) или 32 КБ (ATmega328) из которых 2 КБ используются загрузчиком -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 45] Автор : Владимир_К Дата : 28.04.2016 18:44 Вот здесь нашел загрузчик... http://chipenable.ru/index.php/programming-avr/item/140-bootloader-avr-xmega.html При всех недостатках, по сравнению с теми, которые я пытал ранее, у него одно достоинство - он работает:smile::smile:, в отличие от оных. Ну а недостатки такие. Занимает он 2 кбайта, к сожалению. У него свое окно, прямо из AVR Studio через него загрузить прошивку в контроллер нельзя. Хотя конечно, это уже капризы, но все же, может последние версии AVR Studio это умеют. У меня стоит 4.19. В общем желание наверное понятно, хочется как сделано в Ардуино. Добавлено через 12 минут(ы): Нужен скомпилированный бинарник (прошивка) под конкретный микроконтроллер используемый в Ардуино, а далее загружаете его програмкой XLoader. Добавлено через 12 минут(ы): Ага, спасибо... С этим разобрался. Может Вам такая платка подойдет ? http://arduino.ua/ru/hardware/Nano Flash-память 16 КБ (ATmega168) или 32 КБ (ATmega328) из которых 2 КБ используются загрузчиком Нет, Ардуину я сам спаял себе. Для моих целей пока хватит, будет необходимость, поставлю туда 168. Там сейчас мега8, в панельке. Ну и еще нашел работающий бутлоадер для своей отладочной платы, с недостатками, что я описал, но с которыми пока можно смириться. Во всяком случае не нужно искать программаторы, которых уже несколько штук и постоянно забываешь, какой куда втыкать:smile: и какой программой пользоваться. Теперь бы еще заставить AVR Studio работать через бутлоадер, тогда все хотелки будут удовлетворены:smile:. Слева отладочная, которую теперь можно грузить через бутлоадер, справа самоделка -Ардуино.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 46] Автор : R2DHG Дата : 28.04.2016 19:45 optiboot вроде довольно компактный из загрузчиков, в среде они вроде даже есть в .hex виде -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 47] Автор : Владимир_К Дата : 28.04.2016 20:22 optiboot вроде довольно компактный из загрузчиков Да, в принципе, тот что поставил, пока устраивает. Главное что он работает. А оставшихся 14 кбайт, для моих планов в обозримом будущем, хватит. Еще бы заставить AVR Studio грузить .hex нажатием одной кнопочки, как в Ардуино и тогда будет хорошо:smile::smile:. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 48] Автор : Кукин Николай Николаевич Дата : 29.04.2016 11:35 А оставшихся 14 кбайт, для моих планов в обозримом будущем, хватит. Еще бы заставить AVR Studio грузить .hex нажатием одной кнопочки, как в Ардуино и тогда будет хорошо:smile::smile:. Владимир, GD! Похоже Вы уже окончательно созрели, чтобы использовать все ардуиновское чисто как макет для отладки. Чтобы используя аврстудию заливать одной кнопочкой прошивку с помощью дудки достаточно написать соответствующий бат файл для аврдуде. Ведь аврдуде умеет работать с большим количеством адаптеров для разных программаторов. Но можно пойти еще дальше и вообще уйти от этого. Зашиваете в мегу8 свой самописный загрузчик, и грузите потом прошивки из аврстудио аврпрогом через сом порт. Написанный на Си загрузчик, работающий по протоколу аврпрог ( входящем в аврстудию), умещается в 512 байт. Таким образом, у меги8 Вы украдете всего 512 байт, зато от всего ардуиновского можно уйти раз и навсегда. Но аврпрог заливать будет помедленней, чем аврдуде. А вообще, самый лутьший вариант для Вас будет на имеющейся отладочной плате припаять FT2232 и развести половину ее ног на программирование процика, а вторую половину на уарт процика. Получите на одном усб порту комбинацию двух виртуальных портов: 1 сом-порт, связанный с проциком, и через него можно либо гнать в компьютер весь отладочный поток инфы, либо прога штатно будет общаться с компом(если это предусмотрено задумкой конструкции), на втором сом-порту получаете очень быстрый программатор на той же дудке, способный залить под завязку мегу16 примерно за 10 секунд. И не надо никаких бутлоадеров. У меня на отладочной плате такая штука стоит штатно, заливка меги32 под завязку длится порядка 16 секунд кажется, правда я использую авриал, так как он чуть быстрее аврдуде. Очень удобно при отладке. А для апгрейда в уже готовой конструкции через тот же сом-порт можно использовать загрузчик 512 байт для меги8, для остальных на 1024 байт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 49] Автор : R2DHG Дата : 29.04.2016 11:47 На 5й странице темы ARDUINO мы изобрели ARDUINO :-P Хотя я тоже против бутлоадеров, программатор в Китае недорого можно заказать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 50] Автор : Владимир_К Дата : 29.04.2016 12:29 На 5й странице темы ARDUINO мы изобрели ARDUINO После первого общения с Ардуино, уже не хочется искать по ящикам программатор, вспоминать с какой программой он работает и делать еще кучу телодвижений:-(. Но, IDE Ардуино, что-то не вдохновляет. Даже для моих, в общем-то не больших запросов, она не устраивает. Вот это и является побуждающим фактором изобретения, наверняка уже существующего, которого я пока не обнаружил:smile:. Кукин Николай Николаевич, направление дал, надо осмыслить. программатор в Китае недорого можно заказать. Не покупаю я такие вещи.. Если все покупать, зачем дома паяльник:smile:? Тут же не результат нужен, а процесс. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 51] Автор : R2DHG Дата : 29.04.2016 12:30 Есть что то под visual studio и еще какие то варианты. В принципе даже в протеусе лучше - синтаксис нормально подсвечен, еще бы кнопку и можно было бы родную среду не запускать, но можно наверное и .bat какой нибудь тыкать с запуском avrdude. Мне не любой процесс интересен :-P свою задумку - да, а просто повторить программатор - нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 52] Автор : rw6hkf Дата : 29.04.2016 17:34 Есть что то под visual studio и еще какие то варианты. В принципе даже в протеусе лучше - синтаксис нормально подсвечен, еще бы кнопку и можно было бы родную среду не запускать, но можно наверное и .bat какой нибудь тыкать с запуском avrdude. Необязательно пользоваться стандартной IDE для Arduino: https://sourceforge.net/projects/narduinoplugin/?source=typ_redirect Выглядит вот так: 232853 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 53] Автор : Владимир_К Дата : 30.04.2016 12:31 Чтобы используя аврстудию заливать одной кнопочкой прошивку с помощью дудки достаточно написать соответствующий бат файл для аврдуде. Ведь аврдуде умеет работать с большим количеством адаптеров для разных программаторов.Решил пойти этим путем, к сожалению, видимо, что-то сделал не так. По-порядку. Вот здесь: http://snippets.artvolk.sumy.ua/view/113/ispolzovanie-arduino-platy-s-winavr нашел статью "Использование платы Ардуино с WinAVR. Это было бы идеальное решение того, что я хотел. Во-первых плата Ардуино уже есть, кроме того, есть отладочная плата FastAvr, о которой я выше упоминал, в которую я мог бы зашить загрузчик от Ардуино, и, в дальнейшем, пользуясь рекомендациями выше упомянутой статьи, работать с платой Ардуино и WinAVR. Внес изменения в makefile, согласно статье, попробовал прошить из WinAVR, выдает сообщение, что девайс не видит, не может открыть порт Сом1. Попробовал из командной строки Avrdude, прописал все параметры, результат тот же. Кстати, в файле конфигурации Avrdude, который входит в пакет WinAVR, программатор (загрузчик) Ардуино, имеется. И вроде WinAvr на него не ругается... В общем, на сегодня ситуация такая. В Мегу16, что на отладочной зашил загрузчик chip45boot2. С его помощью нех-файл загружаю в Мегу через бутлоадер. В принципе, конечно, на этом можно было бы и остановиться, но все же хотелось бы с ситуацией разобраться.. Кстати в описании chip45boot2, WinAvr упомянут, как среда, поддерживающая этот загрузчик. Но как их "подружить" пока не нашел. Зашиваете в мегу8 свой самописный загрузчик, и грузите потом прошивки из аврстудио аврпрогом через сом порт. Этот вариант пока не пробовал. Добавлено через 19 минут(ы): А вообще, самый лутьший вариант для Вас будет на имеющейся отладочной плате припаять FT2232 и развести половину ее ног на программирование процика, а вторую половину на уарт процика. Этот вариант, в принципе, можно немного по-другому, без FT, и он, почти реализован. На отладочной плате есть разъем для программирования Меги. Есть несколько программаторов, например USBTinyISP, он маленький, его просто можно закрепить на отладочной плате, проводками соединить и шить им из WinAVR. Возможно это и будет решением. Вроде Avrdude этот программатор поддерживает. Проверю, если это так... тогда, можно на этом и остановиться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 54] Автор : Владимир_К Дата : 30.04.2016 21:28 Есть несколько программаторов, например USBTinyISP, он маленький, его просто можно закрепить на отладочной плате, проводками соединить и шить им из WinAVR. Сегодня решил его задействовать с WinAvr. К сожалению, вроде Winavr у меня и не старая версия, но в Avrdude, который входит в этот пакет, этого программатора нет. Версии Avrdude, которые скачал с интернета, а также оконная версия Sinaprog, его содержат. Вопрос такой, можно ли Avrdude в Winavr (который вроде уже не поддерживается, во всяком случае поновее я не нахожу) заменить на другую версию? И как это сделать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 55] Автор : R2DHG Дата : 30.04.2016 21:35 Мне кажется достаточно будет .exe заменить, ну и конфиг, возможно, заменить или подкрутить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 56] Автор : Слесарь Дата : 30.04.2016 21:41 Там самый обычный C++ А есть прок использовать C++ в сфере МК ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 57] Автор : R2DHG Дата : 30.04.2016 21:45 Почему нет ? Они сейчас шустрые и памятью не обижены, на c++ все таки быстрее пишется и разгребать чужой код проще. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 58] Автор : Владимир_К Дата : 30.04.2016 21:51 Мне кажется достаточно будет .exe заменить, ну и конфиг, возможно, заменить или подкрутить. Немного уточню... В файле avrdude.conf, который находится в "старой" версии пакета, этот программатор все же есть.. Но, в makefile, который надо заполнить при создании проекта, его нет, соответственно, когда я пытаюсь прошить микросхему прямо из редактора, выдает ошибку. Все решил... Дописал в makefile этот программатор. Пока на этом этапе все. Теперь нажимаю кнопку - компилировать, вторую прошить и все. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 59] Автор : Слесарь Дата : 30.04.2016 21:56 Ну а можно пример в каком случае С++ окажется удобней С ? в контексте МК Интересно, в среде ардуино приветствуется динамическое распределение памяти? Менеджеры памяти применяются? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 60] Автор : R2DHG Дата : 30.04.2016 22:18 Аа..., я думал c++ vs asm :-P Не видел чтобы применяли и конечно много чего еще не применяют ардуинщики, но если очень хочется, то... Разве без плюсов чем то лучше ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 61] Автор : Кукин Николай Николаевич Дата : 01.05.2016 08:55 Владимир, GD! Версии аврдуде как минимум после 2010 знают протокол ардуиновского загрузчика и при соответствующем запуске будут грузить произвольный хекс в кристалл через сом-порт, используя протокол ардуины. Если использовать другие протоколы(авр910, разные виды стк500, житаги) то бутлоадер должен работать по выбранному протоколу, но и соответствующий программатор должен быть указан в командной строке. В частности кастрированный протокол авр910 (используется аврпрог) из немецкого бутлоадера влазит в 512 байт, имея функции чтения/записи программной памяти и еепром, запуска по команде нажатия произвольной ноги, индикации режима программирования на произвольной ноге через светик. Чего еще надо для обновления прошивки? Начинать попытки работы лучше из бат-файла, модифицируя там командную строку в режиме чтения кристалла. Описание конфигурации программатора для работы с ардуиновским загрузчиком сидит в конфигурационном файле *.conf, который обычно находится рядом с екзешником аврдуде. Запишите в папку bin winavr'а работающую с ардуиной версию аврдуде с конфигом и будет работать. Конфигурационный файл - обычный текстовой и его можно скорректировать и положить в любом месте, но тогда путь к нему с ключом -C надо указывать явно в строке запуска. После отладки строки запуска аврдуде можно ее включить в маке файл, а в конфигурации winavr-проекта в авр студии указать галочку "внешний маке файл" и указать путь на этот файл. При этом следует учитывать то, что скомпиленные хексы прошивки и еепром по умолчанию окажутся в том же месте, где сидит маке. После этого автоматом после нажатия F7 на компиляцию в аврстудии, при условии успешной компиляции, новая прошивка зальется в кристалл. Т.е. то, чего Вы хотите - нажатие одной кнопки. Чем и нравятся мне консольные вещи - разобрался один раз, настроил работу и не лазишь мышью по разным менюшкам, при постоянной отладке это донимает прилично. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 62] Автор : Владимир_К Дата : 01.05.2016 11:08 Версии аврдуде как минимум после 2010 знают протокол ардуиновского загрузчика и при соответствующем запуске будут грузить произвольный хекс в кристалл через сом-порт, используя протокол ардуины. Добрый день! И с праздником! Хочу немного уточнить пока один вопрос. Я видел, что ардуино там присутствует. Он там фигурирует как "программатор Ардуино". Как это понимать - это и есть загрузчик (бутлоадер) работающий по протоколу Ардуино, а не какой-то физический программатор? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 63] Автор : Кукин Николай Николаевич Дата : 02.05.2016 04:32 Я видел, что ардуино там присутствует. Он там фигурирует как "программатор Ардуино". Как это понимать - это и есть загрузчик (бутлоадер) работающий по протоколу Ардуино, а не какой-то физический программатор? Немного не точно сформулировано. Сформулирую несколько по-другому. "подключенный к сом-порту через UART микроконтроллер авр с загруженным в память загрузчиком, работающим по протоколу ардуино". Совместно с компьютерным софтом вся система (вместе с подключенным микроконтроллером) и образует программатор, способный записать в память микроконтроллера необходимую информацию. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 64] Автор : romanetz Дата : 02.05.2016 07:38 Ардуиновские файлы может открывать Atmel Studio 7, там же и отладка есть. Компилятор тот же что и в WinAVR, avr-gcc. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 65] Автор : Владимир_К Дата : 02.05.2016 08:15 "подключенный к сом-порту через UART микроконтроллер авр с загруженным в память загрузчиком, работающим по протоколу ардуино". Теперь ясно. Как раз такая конфигурация и есть в наличии, к сожалению, запустить ее пока не удалось. Все сделал так как с упомянутой выше статье, но выдает ошибку. Ардуиновские файлы может открывать Atmel Studio 7, там же и отладка есть. А какой в этом смысл? Если это готовый ардуиновский файл, отлаживать его наверное нужды нет, а самому писать в среде Ардуино также смысла не вижу. Но наверное, коль так сделали, кому то это нужно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 66] Автор : Кукин Николай Николаевич Дата : 02.05.2016 19:56 Теперь ясно. Как раз такая конфигурация и есть в наличии, к сожалению, запустить ее пока не удалось. Все сделал так как с упомянутой выше статье, но выдает ошибку. Командную строку покажите. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 67] Автор : Владимир_К Дата : 05.05.2016 12:34 Командную строку покажите. Добрый день! Небольшой перерыв, связанный с дачным сезоном:smile::smile:. Вот на картинке, мои действия. Справа материалы с интернета, страничка "Использование Ардуино-платы с WinAvr". Ссылку я давал выше. По центру - исправления, внесенные мной в makefile, входящего в данный проект. Слева- окно WinAvr с сообщением после выполнения команды "Program". Красным прямоугольником отмечена командная строка, которую сгенерировал сам WinAvr, исходя из параметров, прописанных в makefile. Второй вариант - пишу такую же строку в консоли, но использую другой AvrDude, а не тот, что входит в пакет Winavr. Третий вариант, попробовал использовать SinaProg. Это экранная версия программатора Avrdude. Результата также нет. Картинка по второму и третьему варианту также внизу. Ну, второй и третий вариант меня интересует меньше, так как удобнее было бы работать по первому варианту. Хотя, в принципе, я то и сейчас могу почти так работать, то есть, все делается из окна Winavr, но, к отладочной плате подключен самодельный программатор USBTinyISP. Достаточно в makefile указать его, изменить порт на USB. Но это, понятно, не имеет никакого отношения к Ардуино. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 68] Автор : Владимир_К Дата : 05.05.2016 13:48 Всем спасибо! Проблема решена. Уже видимо старческое:smile::smile:. Забыл нажать кнопку сброса перед программированием. Ситуация примерно такая - чтобы начать ехать на машине, знаю - надо завести двигатель. Сел на мотоцикл, не едет... О том, что надо завести, почему-то не подумал:smile:. В общем, имею теперь плату Ардуино, которая работает в среде WinAVR. Надо просто быть внимательней... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 69] Автор : rk3fw Дата : 05.05.2016 16:29 Ну а можно пример в каком случае С++ окажется удобней С ? в контексте МК Сколько не искал - не смог найти средств программирования именно на C++ для МК AVR. Может кто может подсказать, есть ли такие? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 70] Автор : Кукин Николай Николаевич Дата : 05.05.2016 18:01 Владимир, такое бывает у всех, то что перед программированием для инициализации бутлоадера надо рестартануть процик теперь уже запомнили на всю оставшуюся жизнь. А если в аврстудии сделаете такую настройку, то то же самое должно быть из-под авр студии. Сколько не искал - не смог найти средств программирования именно на C++ для МК AVR. Может кто может подсказать, есть ли такие? С++ для авр есть точно, сам где-то в инете читал сравнение эффективности С и С++. Винавр, насколько я это понимаю, должен работать в режиме совместимости с С++, но я это не изучал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 71] Автор : WT2J Дата : 05.05.2016 20:30 Привет всем. Помогите пожалуйста,сделал по этой схеме http://iw7dmh.jimdo.com/remoting-ideas-1/remote-morse-key/ Написал автору,но ответа так и не дождался. Понял одно,что надо запрограмировать мой IP адрес.Kак это сделать я не знаю, пытался,но счетно. Со стороны клиента собрал USB to RS232 adapter установил порт 3 по идее при нажатии телеграфного ключа в програме должна загораться зеленая лампочка,а по UDP порту команда на мой сервер,что-то не работает. Спасибо зарание. Александр -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 72] Автор : UT0UM Дата : 05.05.2016 20:36 Понял одно,что надо запрограмировать мой IP адрес.Kак это сделать я не знаю, пытался,но счетно. изменить вот в этих строках в скетче #if STATIC // ethernet interface ip address static byte myip[] = { 192,168,0,60 }; // gateway ip address static byte gwip[] = { 192,168,0, 1 }; #endif п.с. ардуина ж шлет в юсб порт инфу подключилась она к сетке или нет посмотрите монитором порта что она там пишет -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 73] Автор : WT2J Дата : 05.05.2016 21:06 изменить вот в этих строках в скетче #if STATIC // ethernet interface ip address static byte myip[] = { 192,168,0,60 }; // gateway ip address static byte gwip[] = { 192,168,0, 1 }; #endif п.с. ардуина ж шлет в юсб порт инфу подключилась она к сетке или нет посмотрите монитором порта что она там пишет Приветствую вас, Алексей. Спасибо за быстрый ответ,а я понял когда я загружу его програму в редактор я должен написать свой статик IP и потом свой gateway ip address, хорошо,сегодня вечером после работы попробую. Спасибо большое. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 74] Автор : UT0UM Дата : 05.05.2016 21:14 Приветствую вас, Алексей. Спасибо за быстрый ответ,а я понял когда я загружу его програму в редактор я должен написать свой статик IP и потом свой gateway ip address, хорошо,сегодня вечером после работы попробую. Спасибо большое. да, залейте этот скетч в ардуину подключите сетевую карту ардуины к роутеру или куда она у вас там включается откройте монитор порта, к которому подключена ардуина нажмите на ардуине резет и посмотрите что она пишет в порт когда подключается к сети -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 75] Автор : WT2J Дата : 05.05.2016 21:25 Добро,сегодня посмотрю. Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 76] Автор : UT0UM Дата : 06.05.2016 00:23 Добро,сегодня посмотрю. Спасибо. я так понял что там есть прога, которая запускается на компе, к которому подключен ключв ней есть номер физического компорта к которому подключен ключ и номер порта сервера в который отправляются команды ключевания ардуино слушает это порт и замыкает контакт оптопары порт сервера можно, наверное, поставить любой лишь бы он был не занят, но я думаю, что ардуино и тот комп с ключом должны находится в одной сети иначе как та прога будет знать куда слать UDP поток вот там и по ссылке есть описание как оно работает: Paddle > Keyer > serial port to computer > Remote CW program > ......Ethernet/VPN Internet...... > Arduino > 6500 in the shack. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 77] Автор : R2DHG Дата : 06.05.2016 02:20 Для такой штуки больше подходят esp8266 - с wifi и дополнительного сетевого модуля не надо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 78] Автор : rk3fw Дата : 06.05.2016 08:27 С++ для авр есть точно, сам где-то в инете читал сравнение эффективности С и С++. Винавр, насколько я это понимаю, должен работать в режиме совместимости с С++, но я это не изучал. Скачал вчера вечером Atmel Studio 7. Установил - оказалось, там можно создавать проекты на С++. Но вот реально ничего в сети не нашел про то, чтобы кто-то на С++ программировал для этих МК. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 79] Автор : R2DHG Дата : 06.05.2016 09:18 Может мы о разных вещах пишем ? По мне так разница между ними... ну примерно как тут описано http://psi-logic.narod.ru/pro/diffs.htm и в этом смысле на c++ под эти мк программируют. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 80] Автор : ur7hfo Дата : 06.05.2016 14:24 иначе как та прога будет знать куда слать UDP поток IP сервера в ней же указывается ? А далее нее проблема, пойдут пакетики по таблицам маршрутизации компа, а затем и роутера. Можно попробовать сторону "клиента" тоже сделать на Ардуине, тогда будет чисто аппаратное решение, никаких компов, на удаленной стороне Ардуина сервер, на локальной - Ардуина клиент с подключенным CW ключом . В принципе, несложная задача. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 81] Автор : UT0UM Дата : 06.05.2016 14:32 IP сервера в ней же указывается ? а я не знаю там екзешник -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 82] Автор : ur7hfo Дата : 06.05.2016 14:42 Понял одно,что надо запрограмировать мой IP адрес. Если закоментируете - #define STATIC 1 // set to 1 to disable DHCP (adjust myip/gwip values below) то будет Ваша ардуинка получать IP по DHCP от роутера, это как вариант. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 83] Автор : WT2J Дата : 06.05.2016 21:37 Если закоментируете - #define STATIC 1 // set to 1 to disable DHCP (adjust myip/gwip values below) то будет Ваша ардуинка получать IP по DHCP от роутера, это как вариант. Спасибо, буду дома попробую. Добавлено через 6 минут(ы): Если проще, надо купить это Serial RS232 COM TO Ethernet LAN TCP IP Converter Module Two-way Transmission Или это http://www.ebay.com/itm/291716741578?_trksid=p2060353.m1438.l2649&ssPageName=STRK%3AMEBIDX%3AIT Ну а в качестве сервера это http://www.ebay.com/itm/TCP-IP-Ethernet-RJ45-to-Serial-RS232-RS485-RS422-Converter-Adapter-Adaptor-/140549011181 и рс232 через оптрон к трансиверу.Может я и не прав. А на этом сайте http://sdr-w9oy.blogspot.it/2015/09/remote-cw-part-due.html W9OY почти все написал,но вот это он тоже указал (A sketch is what the little program you write is called), but after some chin scratching we got the sucker running.) Я написал ему,но он тоже не ответил,ладно он и написал,что в этом не рубит. Добавлено через 19 минут(ы): Для такой штуки больше подходят esp8266 - с wifi и дополнительного сетевого модуля не надо. Спасибо,что ответили,а конкретнее если вас не затруднит. А как же другие работают удаленно ключoм,кто-то может конкретно написать. Вот это мне не надо RemoteRig 1258MKIIS-SET.Надо только работать удаленно на ключе. наверно это проще,но нужен ключ купить ну может это и пойдет. http://k1el.tripod.com/WKremote.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 84] Автор : R2DHG Дата : 06.05.2016 21:50 Вариантов много, просто у меня ардуино ассоциируется с устройством, к которому прикладывают руки не только чтобы запаять, но и чтобы программу написать/изменить :-P Конкретнее под эти модули есть похожая среда программирования, тот же язык с функциями (не на 100% совместимо, но в основном да), процесс заливки скетча происходит аналогично, стоят модули примерно те же деньги, что и ардуины, но на борту есть wifi, более мощный процессор и готовые функции для работы с tcp/ip. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 85] Автор : WT2J Дата : 06.05.2016 22:31 Да нужно быть программистом,а потом уж можно и паять. Дело очень интересное. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 86] Автор : UT0UM Дата : 06.05.2016 22:45 Да нужно быть программистом,а потом уж можно и паять. Дело очень интересное. так итальянец же все уже сделал 2 AG2T не спешите ничего покупать, разберемся с этим -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 87] Автор : WT2J Дата : 06.05.2016 23:25 так итальянец же все уже сделал 2 AG2T не спешите ничего покупать, разберемся с этим Хорошо.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 88] Автор : UT0UM Дата : 07.05.2016 01:14 разберемся с этим ну локал сайд вроде работает http://youtu.be/wL7I3VXKbUE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 89] Автор : UT0UM Дата : 07.05.2016 02:54 разберемся с этим ну в итоге все получилось http://youtu.be/EsDoeqccvT4 у меня оказалась не такая сетевуха как у итальянца и пришлось написать новый скетч вот скетч для ардуино с сетевухой W5100 на Remote side /* #include // needed for Arduino versions later than 0018 #include #include // UDP library from: bjoern@cs.stanford.edu 12/30/2008 // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 0, 200); unsigned int localPort = 50002; // local port to listen on // buffers for receiving and sending data //String packetBuffer; //buffer to hold incoming packet, char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet, unsigned long timeout; #define OUT_PIN 13 #define INTERVAL 10 void setup() { // start the Ethernet and UDP: Ethernet.begin(mac, ip); Udp.begin(localPort); pinMode(OUT_PIN, OUTPUT); } void loop() { // if there's data available, read a packet int packetSize = Udp.parsePacket(); if (packetSize) { Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE); if (packetBuffer[0]=='L'){ if (packetBuffer[1]=='1'){ digitalWrite(OUT_PIN,HIGH); timeout = millis(); } if (packetBuffer[1]=='0'){ digitalWrite(OUT_PIN,LOW); } } } if ((millis()-timeout)>1000){ digitalWrite(OUT_PIN,LOW); } delay(INTERVAL); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 90] Автор : WT2J Дата : 07.05.2016 04:46 Алексей,снимаю шляпу! Теперь осталось мне попробовать ха загрузить,если не получится вы мне надеюсь, поможете ;-) просто скапировал ваш скетч и выходит ошибка такое "exit status 1 unterminated comment" Добавлено через 10 минут(ы): Поздровляю всех с Днем Радио! Алексей может у меня карта другая? 233469 загрузка дошла до этого места } void loop() { // if there's data available, read a packet int packetSize = Udp.parsePacket(); if (packetSize) { Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE); тобиш красная линия если это о чем то говорит вам. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 91] Автор : UT0UM Дата : 07.05.2016 10:51 Алексей может у меня карта другая? ну, судя по фотке, у Вас сетевой карты вообще нет но, в любом случае, скетч должен компилироваться без ошибок во-первых нужно проверить, все ли библиотеки у Вас есть в среде программирования для Ардуино Вам нужны вот эти библиотеки: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 92] Автор : ur7hfo Дата : 07.05.2016 19:05 Кстати, код приведенный выше UT0UM , можно использовать не только с чипом W5100 , но и с эзернет модулями на чипе enc28j60. Библиотека под это дело есть тут - https://github.com/ntruchsess/arduino_uip/archive/master.zip Немного измененный код ниже /* * For enc28j60 based * ethernet-shield. * Library download from - https://github.com/ntruchsess/arduino_uip/archive/master.zip */ #include // needed for Arduino versions later than 0018 #include #include #define OUT_PIN 13 #define INTERVAL 10 #define UDP_TX_PACKET_MAX_SIZE 512 // Enter a MAC address and IP address for your controller below. byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192, 168, 0, 200); // local port to listen on unsigned int localPort = 50002; // buffers for receiving and sending data char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; //buffer to hold incoming packet, unsigned long timeout; EthernetUDP udp; void setup() { // start the Ethernet and UDP: Ethernet.begin(mac, ip); udp.begin(localPort); pinMode(OUT_PIN, OUTPUT); } void loop() { // if there's data available, read a packet int packetSize = udp.parsePacket(); if(packetSize) { udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE); if (packetBuffer[0]=='L') { if (packetBuffer[1]=='1') { digitalWrite(OUT_PIN,HIGH); timeout = millis(); } if (packetBuffer[1]=='0') { digitalWrite(OUT_PIN,LOW); } } } if( (millis()-timeout) > 1000 ) { digitalWrite(OUT_PIN,LOW); } delay(INTERVAL); } может у меня карта другая? А какая у Вас карта ? Такая - http://ru.aliexpress.com/item/ENC28J60-LAN-Ethernet-Network-Board-Module-for-arduino-25MHZ-Crystal-AVR-51-LPC-STM32-3-3V/32299031978.html?spm=2114.03010208.3.195.j9QZre&ws_ab_test=searchweb201556_9,searchweb201644_4_505_506_503_504_10020_502_10001_10002_10017_10010_10005_10011_10006_10003_10021_10004_10022_10009_10007_10008_10018_10019,searchweb201560_1,searchweb1451318400_-1,searchweb1451318411_6450&btsid=730e72e2-13da-426f-a0dc-89fe57a18be8 Или такая ? - http://ru.aliexpress.com/item/UNO-Shield-Ethernet-Shield-W5100-R3-UNO-Mega-2560-1280-328-UNR-R3-only-W5100-Development/32341820750.html?spm=2114.30010708.3.2.yHPPk8&ws_ab_test=searchweb201556_9,searchweb201602_3_10017_10034_10021_507_10022_10020_10018_10019,searchweb201603_9&btsid=0ef711a5-1990-48aa-9a60-3ad39519bb85 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 93] Автор : WT2J Дата : 07.05.2016 20:24 Привет. Да такие точно. попробовал загрузить ,но exit status 1 'IPAddress' does not name a type я перед загрузкой поставил мой IP а загружая скетч надо подключать кабель интернета? Добавлено через 5 минут(ы): Проверил на простом коде void setup() { // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: } все залилось без ошибок,тобиш проблем с заливкой нет -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 94] Автор : UT0UM Дата : 07.05.2016 20:25 exit status 1 'IPAddress' does not name a type скорее всего в среду не подгружена библиотека нажмите в среде Sketch->Include library-> И посмотрите, есть ли в списке доступных библиотек вот эти -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 95] Автор : WT2J Дата : 07.05.2016 20:40 скорее всего в среду не подгружена библиотека нажмите в среде Sketch->Include library-> И посмотрите, есть ли в списке доступных библиотек вот эти точно их нет Добавлено через 5 минут(ы): вот ,что у меня 233519 233520 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 96] Автор : UT0UM Дата : 07.05.2016 20:48 точно их нет значит надо добавить там есть Add zip library Библиотека под это дело есть тут - https://github.com/ntruchsess/arduin...ive/master.zip -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 97] Автор : WT2J Дата : 07.05.2016 21:12 поставил библиотеки и вот. exit status 1 Error compiling for board Arduino/Genuino Uno. Добавлено через 23 минут(ы): значит надо добавить там есть Add zip library там вот,что 233523 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 98] Автор : UT0UM Дата : 07.05.2016 21:19 там вот,что https://github.com/ntruchsess/arduino_uip/archive/master.zip и потом проверить чтобы они пояились в списке доступных должна появиться вот эта UIPEthernet -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 99] Автор : RA4FHE Дата : 07.05.2016 21:21 AG2T, Блин гуглится за две секунды https://github.com/ntruchsess/arduino_uip -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 100] Автор : UT0UM Дата : 07.05.2016 21:31 AG2T, Блин гуглится за две секунды https://github.com/ntruchsess/arduino_uip так там ссылка в посте ур7хфо есть это она у меня так в цитату вставилась короче, скопировал скетч хфо в среду версии 1,6,5 подгузил требуемые библиотеки выбрал плату УНО и все скомпилилось без вопросов -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 101] Автор : WT2J Дата : 07.05.2016 21:33 УРА! Залил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 102] Автор : RA4FHE Дата : 07.05.2016 21:39 AG2T, Поздравляю :smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 103] Автор : labuda51 Дата : 07.05.2016 22:14 Мужики дайте дрова soundmax под W7.Нет звука .Билайн подключил не не vpn-ничего не работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 104] Автор : ur7hfo Дата : 07.05.2016 22:17 УРА! Залил.. :smile: Главное , чтоб работала, а библиотека та мне понравилась в том, что во многих случаях, позволяет использовать код написанный для чипа w5100 , с эзернет контролерами на чипе ENC28J60, который в среднем на 2 доллара дешевле. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 105] Автор : WT2J Дата : 07.05.2016 23:26 Почти работает.но на сетевой карте на светодиоде вижу телеграфные сигналы,а вот с точки 7 ничего нет, -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 106] Автор : UT0UM Дата : 07.05.2016 23:37 Почти работает.но на сетевой карте на светодиоде вижу телеграфные сигналы,а вот с точки 7 ничего нет, это не телеграфные сигналы, это просто показывает что что-то передается/принимается через сеть в скетче 7 пин изменен на 13 (к которому на всех платах ардуино подключен светодиод) чтобы можно было визуально контролировать нажатие на ключ на локал сайд пока вот та итальянская программа не заработает правильно с портом, к которому подключен ключ, она ничего в UDP порт отправлять не будет, соответственно и ардуино с сетевой картой на Remote side ничего принимать не будет и светодиод на пине 13 гореть не будет -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 107] Автор : WT2J Дата : 08.05.2016 01:52 Да,но я пошел дальше итальянец ошибся на схеме и вывод D7 это лажа изучив атомегу 328 с пин 13 идет на пин 9 ,а не 7 как у него. Я понял,что это не телеграф,но так и не загорается диод с пин 9 смотрю дальше,но хомутов пока не нашел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 108] Автор : UT0UM Дата : 08.05.2016 03:06 А чего ему где либо загораться, если пакеты на ардуину не приходят? Все там с пинами нормально Если в скетче написано что пин 7 то на ардуине это вывод D7 Если в скетче написано пин 13 то на ардуине это D13 со встроенным светодиодом А какие это номера ножек на атмеге абсолютно не важно Об этом компилятор заботится -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 109] Автор : WT2J Дата : 08.05.2016 03:49 Ну это я не знал,пока у меня мигает RX светодиод. Ладно попробую изменить на D7 и перезалить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 110] Автор : Henriks.V Дата : 08.05.2016 04:06 ... тупой вопрос ламера - #include это как? (Ругается на отсутствие) C:\Documents and Settings\Net Surfer\Desktop\arduino-nightly\UTFT\examples\Arduino (AVR)\UTFT_Demo_480x320\UTFT_Demo_480x320.ino:14:18: fatal error: UTFT.h: No such file or directory #include P.S. ... первые включения :oops: библиотеку скачал ... сэмпл из нее и запустил :facepalm: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 111] Автор : WT2J Дата : 08.05.2016 04:11 Заголовок : Браво Алексей,Браво вам и всем кто откликнулся, спасибо за терпение. Все работает,мне даже понравилось и 5 часиков с паяльником и подарок в день Радио! Всем 73! Александр (AG2T) вот скетч #include #include #define STATIC 1 // set to 1 to disable DHCP (adjust myip/gwip values below) #if STATIC // ethernet interface ip address static byte myip[] = { 192,168,1,118 }; // gateway ip address static byte gwip[] = { 192,168,1, 1 }; #endif // ethernet mac address - must be unique on your network static byte mymac[] = {0x0A,0x01,0x02,0x03,0x04,0x05}; byte Ethernet::buffer[500]; // tcp/ip send and receive buffer #define LISTEN_PORT 50008 #define OUT_PIN 7 #define INTERVAL 10 void process(String cmd) { Serial.print(cmd);Serial.print(" - "); Serial.println(millis()); if (cmd.equals("L1")){ digitalWrite(OUT_PIN,HIGH); //Serial.print("L1 - "); Serial.println(millis()-downTime); //downTime=millis(); return; } if (cmd.equals("L0")){ digitalWrite(OUT_PIN,LOW); //Serial.print("L0 - "); Serial.println(millis()-downTime); //downTime=millis(); return; } /* if (cmd.equals("R1")){ digitalWrite(OUT_PIN,HIGH); Serial.print("R1 - "); Serial.println(millis()-downTime); downTime=millis(); return; } if (cmd.equals("R0")){ digitalWrite(OUT_PIN,LOW); Serial.print("R0 - "); Serial.println(millis()-downTime); downTime=millis(); return; } if (cmd.equals("QRT")){ Serial.println("QRT"); qrt=true; } else { Serial.print("discarded:"); Serial.print(cmd);Serial.println("<"); //Serial.println(cmd.length()); } */ } //callback that prints received packets to the serial port void udpSerialPrint(word port, byte ip[4], const char *data, word len) { IPAddress src(ip[0], ip[1], ip[2], ip[3]); Serial.println(src); Serial.println(port); Serial.println(data); process(String(data)); Serial.println(len); } void setup() { pinMode(OUT_PIN, OUTPUT); Serial.begin(9600); if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) Serial.println(F("Failed to access Ethernet controller")); #if STATIC ether.staticSetup(myip, gwip); #else if (!ether.dhcpSetup()) Serial.println(F("DHCP failed")); #endif /* Serial.println("================================="); Serial.print("localIP: "); Serial.println(Ethernet.localIP()); Serial.print("subnetMask: "); Serial.println(Ethernet.subnetMask()); Serial.print("gatewayIP: "); Serial.println(Ethernet.gatewayIP()); Serial.print("dnsServerIP: "); Serial.println(Ethernet.dnsServerIP()); Serial.print("Listen port: "); Serial.print(LISTEN_PORT); Serial.print(" - "); Serial.println(success ? "success" : "failed"); Serial.println("================================="); */ ether.printIp("IP: ", ether.myip); ether.printIp("GW: ", ether.gwip); ether.printIp("DNS: ", ether.dnsip); //register udpSerialPrint() to port 1337 ether.udpServerListenOnPort(&udpSerialPrint, LISTEN_PORT); digitalWrite(OUT_PIN,LOW); } void loop() { ether.packetLoop(ether.packetReceive()); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 112] Автор : WT2J Дата : 10.05.2016 19:02 Привет. После локалки, хочу через интернет удаленно сделать. Вот по моему нашел http://www.makeuseof.com/tag/give-your-arduino-project-its-own-mini-webserver-with-an-ethernet-shield/ Я так понял, можно дописать кусок програмки и работать удаленно. И здесь какая то лабуда. http://www.rs-online.com/designspark/electronics/blog/five-ways-to-get-your-arduino-project-online -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 113] Автор : ur6iii Дата : 10.05.2016 22:18 Подскажите пожалуйста, повторил сей девайс http://www.mini-tech.com.ua/index.ph...product_id=123 (http://www.mini-tech.com.ua/index.php?route=product/product&product_id=123) может кто нибудь помочь с прошивкой чтобы частоту синтезатора менять с шагом 100 герц или 1 герц спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 114] Автор : R2DHG Дата : 10.05.2016 22:35 Я так понял, можно дописать кусок програмки и работать удаленно. Если прям очень очень хочется можно у провайдера попросить выделенный IP, мой их почти бесплатно раздает например (ну за подключение разово берет только 150р, потом ничего) - сильно упрощает доступ извне в домашнюю сеть. Но не у всех есть подобная услуга. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 115] Автор : UT0UM Дата : 10.05.2016 22:57 Подскажите пожалуйста, повторил сей девайс http://www.mini-tech.com.ua/index.ph...product_id=123 (http://www.mini-tech.com.ua/index.php?route=product/product&product_id=123) может кто нибудь помочь с прошивкой чтобы частоту синтезатора менять с шагом 100 герц или 1 герц спасибо ну так вот же там в скетче даже с комментариями есть: #include // Подключение библиотек LiquidCrystal lcd(8, 9, 4, 5, 6, 7); // Инициализация LCD с указанием пинов float freq = 10000; // Оглашение переменных -- Частота float bigStep = 1000; // Шаг изменения частоты при нажатии вверх/вниз float littleStep = 10; // Шаг изменения частоты при нажатии вправо/влево измените на 100 и 1 и будет Вам счастье -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 116] Автор : R2DHG Дата : 10.05.2016 23:09 Там надо убрать еще блок от if (freq<100){bigStep = 10; до littleStep = 100000;} а то сбросится шаг в зависимости от частоты. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 117] Автор : RN4R Дата : 12.05.2016 20:50 Осваиваю ардуинку, возник вопрос, каждое включение надо ресетить или само должно запускатся? Это мне попалась такая глючная ардуинка или все такие, хотя не должно быть. При включении просто горит светодиод включения а программа не работает, если нажать ресет то все работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 118] Автор : Tadas Дата : 12.05.2016 21:43 Запрограмируйте fuze бит BOD. Возможно напряжение питания слишком плавно возрасает при включении. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 119] Автор : RN4R Дата : 12.05.2016 23:19 Запрограмируйте fuze бит BOD. Возможно напряжение питания слишком плавно возрасает при включении. Знать бы еще что это такое. А питание подключал разное, крона 9 вольт, акуммулятор на 12 вольт, без разницы без резета не работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 120] Автор : WT2J Дата : 12.05.2016 23:29 Arduino + AD9850 30MHZ DDS Signal Generator https://www.mediafire.com/?vn3xfn956k12g http://www.ad7c.com/projects/ad9850-dds-vfo/ (http://www.ad7c.com/projects/ad9850-dds-vfo/) http://kd1jv.qrpradio.com/arduino/Arduino_tuner_aid.htm -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 121] Автор : R1AIT Дата : 12.05.2016 23:53 Знать бы еще что это такое. А питание подключал разное, крона 9 вольт, акуммулятор на 12 вольт, без разницы без резета не работает. Не парьтесь. В родной IDE у вас нет такой возможности. А ардуинка какая? Uno и Nano так себя вести не должны. Во всяком случае мне такого не попадалось пока, и знакомым тоже. Одному из знакомых как-то пришла не рабочая с Али. Открыл спор, продавец прислал другую следом -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 122] Автор : R2DHG Дата : 12.05.2016 23:55 Именно ардуины такие тоже не попадались, а вот китайская mapple (разновидность ардуины на stm32) именно так себя и вела - только ресет при заливке. Arduino + AD9850 30MHZ DDS Signal Generator Тут целая тема отдельная есть про это - "синтезатор за полчаса" :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 123] Автор : R1AIT Дата : 13.05.2016 00:23 ...а вот китайская mapple (разновидность ардуины на stm32) именно так себя и вела - только ресет при заливке. Вроде Pro mini требует нажатия кнопки перед загрузкой. У меня парочка есть, но я их не пробовал еще. А так, чтобы ресетить нужно было после включения, о таком не слышал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 124] Автор : UT0UM Дата : 13.05.2016 00:45 Вроде Pro mini требует нажатия кнопки перед загрузкой нет (http://www.electronicsmayhem.com/?p=31) ну или как у меня оказались с выведенным пином DTR https://simpledevelopment.de/images/product_images/original_images/1100011-1.jpg просто подключил этот пин к пинуд DTR USB/TTL конвертера и ничего нажимать больше не надо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 125] Автор : RN4R Дата : 13.05.2016 07:21 А ардуинка какая? Uno и Nano так себя вести не должны. Во всяком случае мне такого не попадалось пока, и знакомым тоже. Одному из знакомых как-то пришла не рабочая с Али. Открыл спор, продавец прислал другую следом Ардуинка нано, черная платка http://ru.aliexpress.com/item/Nano-CH340-ATmega328P-MicroUSB-Compatible-for-Arduino-Nano-V3/32572612009.html?spm=2114.03010208.3.29.5YMsmp&ws_ab_test=searchweb201556_0,searchweb201602_5_10037_10017_10021_507_10033_10022_10032_10009_10020_10008_10018_10019,searchweb201603_1&btsid=3b52dd43-0a2e-47f0-9cbc-76012e4ee153 (http://ru.aliexpress.com/item/Nano-CH340-ATmega328P-MicroUSB-Compatible-for-Arduino-Nano-V3/32572612009.html?spm=2114.03010208.3.29.5YMsmp&ws_ab_test=searchweb201556_0,searchweb201602_5_10037_10017_10021_507_10033_10022_10032_10009_10020_10008_10018_10019,searchweb201603_1&btsid=3b52dd43-0a2e-47f0-9cbc-76012e4ee153продовца)продавца уже одобрил, покупку завершил, ну да ладно не велика потеря, все так то работает если еще не считать что иногда телеграфные посылки идут с ошибкой это в скетче beacon. Если замкнуть при включении пины +5 вольт и резет то начинает работать сразу вот только не знаю можно ли эти пины просто запаять перемычкой и забыть. На днях должны приехать еще пару платок, нано и уно надеюсь что не глючные -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 126] Автор : R1AIT Дата : 13.05.2016 08:40 нет (http://www.electronicsmayhem.com/?p=31) Ага, уточнил, это только при работе с популярными USB-UART не имеющими вывода DTR. Добавлено через 5 минут(ы): Ардуинка нано, черная платка... ....Если замкнуть при включении пины +5 вольт и резет то начинает работать сразу вот только не знаю можно ли эти пины просто запаять перемычкой и забыть. IMHO с перемычкой может перестать на кнопку реагировать. Видимо через 1 - 5 КОм лучше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 127] Автор : Buckfast Дата : 13.05.2016 11:20 Коллеги, ни как не могу решить проблему передачи сат команд по укв каналу. Известные программы не подходят. Наиболее приемлим вариант с TNC контроллером. Тупо лоб не получается, так как контроллер добавляет свои символы. Например вместо fa; он передает 1>2:fa;.... .... - это 0d 0a 0d 0a К сожалению в программировании я не шарю. Может кто ни будь помочь реализовать это( имеется ввиду последовательность 1>2:ххххх;.... преобразовать в ххххх; ) на Ардуино? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 128] Автор : R2DHG Дата : 13.05.2016 12:20 всегда перед строкой именно 1>2: и в конце 0d 0a тоже откусить ? каждая команда такой новой строкой идет ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 129] Автор : Buckfast Дата : 13.05.2016 12:28 Да. Каждая команда новой строкой. 0d 0a 0d 0a - выкинуть. САТ команда может быть разной длинны и всегда закачивается ; Этот символ нужен обязательно, иначе трансивер не поймет. 1 - это от кого 2 - это кому Их можно ставить любыми, и они будут всегда такими > : .... идут всегда и только в ЭТИХ местах И еще, преобразование похоже нужно в одну сторону (от TNC к трансиверу), обратно этих "добавок" не будет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 130] Автор : WT2J Дата : 13.05.2016 15:55 Нашел скетч, как сделать сервер,а вот как это дополнитъ к моей програмe я не знаю. Я конечно пробовал,но что-то не получилось,кто поможет. //zoomkat 10-6-13 //simple button GET with iframe code //open serial monitor to see what the arduino receives //use the ' instead of " in html ilnes //address will look like http://192.168.1.102:84/ when submited //for use with W5100 based ethernet shields #include #include byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //ethernet shield mac address byte ip[] = { 192, 168, 1, 102 }; // arduino IP in lan byte gateway[] = { 192, 168, 1, 1 }; // internet access via router byte subnet[] = { 255, 255, 255, 0 }; //subnet mask EthernetServer server(84); //server port String readString; ////////////////////// void setup(){ pinMode(4, OUTPUT); //pin selected to control //start Ethernet Ethernet.begin(mac, ip, gateway, gateway, subnet); server.begin(); //enable serial data print Serial.begin(9600); Serial.println("servertest1"); // so I can keep track of what is loaded } void loop(){ // Create a client connection EthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); //read char by char HTTP request if (readString.length() < 100) { //store characters to string readString += c; //Serial.print(c); } //if HTTP request has ended if (c == '\n') { /////////////// Serial.println(readString); //print to serial monitor for debuging //now output HTML data header if(readString.indexOf('?') >=0) { //don't send new page client.println("HTTP/1.1 204 Zoomkat\r\n\r\n"); } else { client.println("HTTP/1.1 200 OK"); //send new page client.println("Content-Type: text/html"); client.println(); client.println(""); client.println(""); client.println("Arduino GET test page"); client.println(""); client.println(""); client.println("

Zoomkat's simple Arduino button

"); client.println("ON"); client.println("OFF"); client.println(""); client.println(""); client.println(""); } delay(1); //stopping client client.stop(); ///////////////////// control arduino pin if(readString.indexOf("on1") >0)//checks for on { digitalWrite(4, HIGH); // set pin 4 high Serial.println("Led On"); } if(readString.indexOf("off") >0)//checks for off { digitalWrite(4, LOW); // set pin 4 low Serial.println("Led Off"); } //clearing string for next read readString=""; } } } } } нагуглил еще. http://t-h.wikispaces.com/arduino -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 131] Автор : UT0UM Дата : 13.05.2016 16:23 как сделать сервер у Вас Arduino - client сервер у Вас там, где к компьютеру подсоединен ключ Вам не надо делать никакие сервера на Ардуине Вам надо, чтобы UDP поток с сервера каким-то образом доходил до клиента Итальянец для этой цели предлагает использовать VPN Вам же, по каким-то, мне непонятным, соображениям этот способ не подходит Если не подходит, то Вам нужно поставить вопрос так: Как из одной локальной сети перенаправить UDP поток у другую локальную сеть без использования VPN? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 132] Автор : R2DHG Дата : 13.05.2016 16:24 Нашел скетч, как сделать сервер,а вот как это дополнитъ к моей програмe я не знаю. Вы его пока просто опробуйте и добейтесь связи с ним через интернет, тут может быть засада в зависимости от провайдера. у Вас Arduino - client Оно постоянно дергает сервер для проверки состояния ключа что ли ? oO Или соединяется и слушает ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 133] Автор : WT2J Дата : 13.05.2016 16:29 http://www.instructables.com/id/Arduino-Control-via-a-Web-Service-with-Teleduino/step2/Add-Status-LED-to-Arduino/ Так VPN меня не устраивает есть на то причины. На выходных займусь. Черт побери, мне надо управлятъ удаленно с другого компьютера.Никто толком ничего не написал я могу заплатитъ и забыть все это как плохой сон,но как бы уже локально работает, осталось чуть-чуть,но как видно по китайски это километр. Ну неужеле никому это не надо, ведь сдесь продвинутые есть програмисты. Спасибо всем кто пробовал помочь. Александр. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 134] Автор : UT0UM Дата : 13.05.2016 16:34 Или соединяется и слушает ? просто слушает заданный порт, например 50002 на локальном сервере, например 192,168,0,1 (ну который в ее скетче прописан) надо просить итальянца, чтобы дописал в своей проге возможность задания IP сервера куда шлются пакеты тогда в ней можно будет прописать IP роутера к которому подключена ардуина, и на этом роутере пробросить порты на IP ардуины в локальной сети -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 135] Автор : WT2J Дата : 13.05.2016 17:01 Да попробую на выходных. А может купить redirect USB or RS232 хотя ёлы палы стоит это 74 зеленых охринели они. http://www.incentivespro.com/purchase.html Как из одной локальной сети перенаправить UDP поток у другую локальную сеть без использования VPN? точно. Итальянец не отвечает ни на какие вопросы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 136] Автор : UT0UM Дата : 13.05.2016 17:07 Да попробую на выходных. это все бесполезно посмотрели куда идут пакеты от итальянской проги прога их шлет broadcast на 255.255.255.255 233983 за пределы локальной сети такое не уходит это широковещательный пакет, он локальный там вместо 255.255.255.255 надо просить итальянца, чтобы дописал в своей проге возможность задания IP сервера куда шлются пакеты тогда в ней можно будет прописать IP роутера к которому подключена ардуина, и на этом роутере пробросить порты на IP ардуины в локальной сети или использовать VPN все, больше никак тема закрыта -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 137] Автор : WT2J Дата : 13.05.2016 22:29 это все бесполезно или использовать VPN все, больше никак тема закрыта по моему здесъ все. http://www.instructables.com/id/Accessing-Arduino-over-internet/ кто-то называет человека который не оченъ понимает-ламер ну это не в этом случае. Форум для того и существует,что бы кто помог или обяснил и ничего в этом нет плохого или унизительного. извиняюсь за оффтоп -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 138] Автор : UT0UM Дата : 13.05.2016 22:49 по моему здесъ все. ну у Вас пакеты из локальной сетки никуда не выходят они шлются на 255.255.255.255 т.е. на все девайсы сразу, которые находятся в локальной сети какой бы Вы скетч в ардуину не залили, если она не в этой же локальной сети, то она ничего не примет поэтому итальянец и использует VPN в том примере, который Вы дали, ардуино ходит на сервер и чтото с него получает но тут на сервере ничего нет!!! пакеты шлются ЛОКАЛЬНО!!! Добавлено через 7 минут(ы): кто помог или обяснил ну я же Вам объяснил, что это решение будет работать только через VPN чтобы работало так как Вы хотите надо подключить ключ к другой ардуине, которая будет сервером а трансивер подключить так как сейчас, но залить в ардуину скетч клиента ардуина-клиент (с трансивером) будет подключаться к ардуине-серверу (с ключом) и без проблем обмениваться пакетами только надо будет порты пробросить на обеих роутерах -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 139] Автор : WT2J Дата : 14.05.2016 03:35 спасибо,все понял. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 140] Автор : Kia2700d Дата : 14.05.2016 03:55 a можно ж простенькую программку написать которая слушает локальный broadcast на порту N и форвардит приходящие пакеты на заданный адрес в интернете. Может уже и готовая есть. надо погуглить.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 141] Автор : ur7hfo Дата : 17.05.2016 12:12 Проще у провайдера на стороне серверной части выпросить реальный статический IP , и организовать VPN соединение. Ну или итальянца просить программу переписывать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 142] Автор : UT0UM Дата : 17.05.2016 13:22 и организовать VPN соединение. Ну или итальянца просить программу переписывать Так VPN меня не устраивает есть на то причины. Написал автору,но ответа так и не дождался. все! тупик! :evil: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 143] Автор : WT2J Дата : 17.05.2016 13:59 Привет всем. Тупика нет. Установил СОМ редирект, полет нормальный. Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 144] Автор : ew2ah Дата : 26.05.2016 21:42 Доброго вечера! А подскажите пожалуйста по ьтакой тпроблеме: прислали нано, быстро, две недели, дешево, за четыре енота с кабелем. В кабеле перепутаны 1 и 5 пины, подключаю нану - кабель греется, подключаю кабель от мобилы горит PWR и моргает L. Комп на отключение-подключение наны не реагирует. Получается девайсу писец??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 145] Автор : UT0UM Дата : 27.05.2016 01:52 Комп на отключение-подключение наны не реагирует. Получается девайсу писец??? скорее всего писец конвертеру USB/UART там скорее всего ftdi ft232rl или CH340 сдуть и поставить новый делов на 5 минут дешево, за четыре енота с кабелем. это не дешево дешево - это 2 с копейками (http://www.ebay.com/itm/Atmega328P-Nano-3-0-Controller-Board-Compatible-Arduino-Nano-CH340-USB-Driver-/191874296328?hash=item2cac996a08:g:TKUAAOSwZJlXNJQz) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 146] Автор : ew2ah Дата : 27.05.2016 06:06 Доброго утра! ДА, скорее всего что конвертер дался, там СН430, так его тож надо две недели ждать. А у белорусского продавца все дороже, там нано стоит почти 9! Покупал на али меги 32 дип, так пять штук за паять уев, у родных белорусских- одна за 20!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 147] Автор : ur7hfo Дата : 27.05.2016 06:47 у родных белорусских- одна за 20!!! Брал тут (1.88 у.е.) , продавцом доволен, только ждать пришлось больше месяца - http://ru.aliexpress.com/item/Nano-CH340-ATmega328P-MicroUSB-Compatible-for-Arduino-Nano-V3/32572612009.html?spm=2114.10010208.100010.2.rOjMqf&scm=1007.13338.33078.0&pvid=dcb139ef-8783-48a1-bc4d-edbb82c9117c&tpp=0 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 148] Автор : ew2ah Дата : 07.07.2016 22:57 Нашел по 1.4, желтые друзья прислали 5 штук, но на пакете указали цену 2$. Правильно понимают ситуацию. Но продавец был похоже то ли башкир, то ли татарин, имя было не китайское, да и по трек-коду посылка непонятно как болталась. Но все рабочее. Только Атмега 168, и разъем тонкий, такого не оказалось, пришлось изъять из комплекта мобилы! Вывод - китайцы - друзья радиолюбителей!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 149] Автор : Alex-31 Дата : 08.07.2016 07:22 Дешевая STM32 плата + Arduino IDE https://geektimes.ru/post/277928/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 150] Автор : R2DHG Дата : 08.07.2016 09:07 Это уже для продвинутых, много нюансов, более менее сложные скетчи и библиотеки от "классической" ардуины потребуют доработки. Но зато они в разы быстрее и "жирнее" по памяти. :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 151] Автор : ur7hfo Дата : 08.07.2016 21:52 https://geektimes.ru/post/277928/ Статья зачетная однозначно! И платка такая имеется, думаю со временем допилят библиотеки, и будет очень здорово! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 152] Автор : Slav9n Дата : 22.07.2016 20:22 Здраствуйте. Купил пару штук arduino nano на 168 и cn340. В компьютере (win7 x64) все определяется замечательно. Но при попытке загрузить скетч выдает ошибки. Пробовал разные драйвера, версии ide, менять скорость порта и его номер, результат один и тот же. Подскажете пожалуйста что ещё можно сделать. Скетч использует 1 066 байт (7%) памяти устройства. Всего доступно 14 336 байт.Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 1 015 байт для локальных переменных. Максимум: 1 024 байт. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x78 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x66 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x66 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x9e avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x9e avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x06 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x98 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x1e avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x98 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 153] Автор : RA4FHE Дата : 22.07.2016 20:32 Тип платы попробуйте выбрать другую. CH340 отлично работает на win7 и win10. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 154] Автор : Slav9n Дата : 22.07.2016 20:42 Я побывал, результат идентичен. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 155] Автор : RA4FHE Дата : 22.07.2016 20:49 Я побывал, результат идентичен. На RX TX ардуины больше ничего не висит? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 156] Автор : Slav9n Дата : 22.07.2016 20:55 Нет не чего. Прям из пакета, даже контакты не паял. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 157] Автор : RA4FHE Дата : 22.07.2016 21:04 У меня так Mini чудила, но там выбор был по частоте кварца и напруге питания))) может у вас Mini версия... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 158] Автор : Slav9n Дата : 22.07.2016 21:11 Вот какая: http://ru.aliexpress.com/item/Nano-V3-ATmega168-CH340G-Micro-USB-Pin-headers-NOT-soldered-Compatible-for-Arduino-Nano-V3-0/32664257163.html?detailNewVersion=&spm=2114.13010608.0.99.Lxed6E (http://ru.aliexpress.com/item/Nano-V3-ATmega168-CH340G-Micro-USB-Pin-headers-NOT-soldered-Compatible-for-Arduino-Nano-V3-0/32664257163.html?detailNewVersion=&spm=2114.13010608.0.99.Lxed6E) Да и я все платы перепробовал, результат к сожалению один. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 159] Автор : RA4FHE Дата : 22.07.2016 21:16 Такую я не покупал)) На канале Алексея посмотрите https://new.vk.com/arduinolab он недавно про железки этой конторы делал обзоры Вот ссыль на эту самоделку https://new.vk.com/videos-102194992?z=video-102194992_456239037%2Fclub102194992%2Fpl_-102194992_-2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 160] Автор : UT0UM Дата : 22.07.2016 21:30 Но при попытке загрузить скетч выдает ошибки попробуйте нажать на резет на ардуине во время загрузки скетча возможно не подключен пин ДТР с цх340 на атмегу -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 161] Автор : Slav9n Дата : 22.07.2016 21:36 Правильно делаете. Скупой платит дважды. Сейчас попробую заменю кварц, если не чего, выкину их и не буду забивать себе голову. UT0UM, спасибо и это я побывал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 162] Автор : UT0UM Дата : 22.07.2016 21:55 и это я побывал. еще может быть в ней загрузчик не прошит у меня когда-то такое было -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 163] Автор : Slav9n Дата : 22.07.2016 22:04 UT0UM, как проверить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 164] Автор : UT0UM Дата : 22.07.2016 22:07 UT0UM, как проверить? залить снова -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 165] Автор : Slav9n Дата : 22.07.2016 23:01 Пака нечем, только заказал. Отпаял я резонатор. Там три контакта левый и правый это 7, 8 ножка меге, средней звонится с левым и правым площадками, с падением напряжения около вольта. Припаял я кварц (12мгц) к крайним площадкам средний не трогал от него два конденсатора по 33пф на землю. Генерации нет. Правильно я сделал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 166] Автор : Дублер Дата : 22.07.2016 23:25 А порт не забыли выбрать? на вкладке: Инструменты - Port - -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 167] Автор : Владимир_К Дата : 22.07.2016 23:30 Припаял я кварц (12мгц) А разве кварц не 16 мгц? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 168] Автор : Slav9n Дата : 22.07.2016 23:37 Дублер, нет НЕ ЗАБЫЛ. Владимир, да на 16. Под рукой был на 12. Да какая разница если генерация была она и на 8мгц былабы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 169] Автор : user12 Дата : 22.07.2016 23:48 Да какая разница если генерация была она и на 8мгц былабы. Это справедливо если атмега прошитая и fuse тоже. Точнее если fuse выставлены под кварц. По дефолту атмеги идут все на встроенном генераторе 1 МГц. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 170] Автор : Slav9n Дата : 22.07.2016 23:59 Если я Вас правильно понял. Если мне китаец подсунул чистою мегу, то ставь не ставь кварц, генерации на нем не будет, правильно? Завтра закажу usbasp пойдет он прошить arduino? http://ru.aliexpress.com/item/1pcs-New-USBASP-USBISP-AVR-Programmer-USB-ISP-USB-ASP-ATMEGA8-ATMEGA128-Support-Win7-64K/32582933115.html?detailNewVersion=&spm=2114.14010208.99999999.261.8ZylpY -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 171] Автор : user12 Дата : 23.07.2016 00:04 Правильно поняли. Плату спаяли а загрузчик и fuse биты забыли запрограммировать. Это китайцы, такое у них бывает. Если есть порт LPT то прошить можно с помощью "пять проводков для AVR. Так кажется правильно называется самый простой программатор. usbasp подойдёт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 172] Автор : Соловей Дата : 23.07.2016 00:05 не должно быть никаких русских имен пути к arduino ide, попробуй закинуть на другой диск и скачай версию постарше, последняя версия у меня тоже не пошла, а железо как у Вас -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 173] Автор : Slav9n Дата : 23.07.2016 00:13 ltp к сожалению нет. Буду ждать usbasp. Соловей, русских имен нет, на диски ставил разные. Версий ide точно не скажу но штук 5-7 я побывал от самой новый и на убывание. Какая у вас версия установлена? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 174] Автор : user12 Дата : 23.07.2016 00:14 Чтоб исключить имена и прочее и проверить надо в примерах выбрать- файл > примеры > Basics > Blink и залить скетч. Будет мигать светодиод на плате. Только если нет генерации кварца это всё бесполезно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 175] Автор : Slav9n Дата : 23.07.2016 00:16 Да не заливаеца у меня скетч любой хоть из примера хоть свой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 176] Автор : user12 Дата : 23.07.2016 00:19 А если попробовать сервис > записать загрузчик. Я правда не знаю для чего это. Но вдруг... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 177] Автор : UT0UM Дата : 23.07.2016 00:20 usbasp пойдет он прошить arduino? закажите лучше другую ардуину ей и прошьете эту и будет у Вас, а лучшем случае, две ардуины, а в худшем - одна :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 178] Автор : Соловей Дата : 23.07.2016 00:23 Какая у вас версия установлена? точно не помню, сейчас я не дома -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 179] Автор : Slav9n Дата : 23.07.2016 00:29 UT0UM, А в худшем три не рабочие.:-P И да, у меня уже две не рабочих есть (я у китайца заказывал две штуки и обе ведут себя одинакова).:-P Если серьезно уже заказал пару, но на всякий случай закажу usbasp. Стоит копейки а в хозяйстве всегда сгодится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 180] Автор : Соловей Дата : 23.07.2016 00:29 Чтоб исключить имена и прочее и проверить тут имеется виду, у меня на одном компе имя юзера на русском arduino не пошла, на другом компе имя юзера на английском, arduino пашет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 181] Автор : Slav9n Дата : 23.07.2016 00:32 Не у меня на английском языке имя пользователя. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 182] Автор : R2DHG Дата : 23.07.2016 02:02 UT0UM, А в худшем три не рабочие.:-P И да, у меня уже две не рабочих есть (я у китайца заказывал две штуки и обе ведут себя одинакова).:-P Если серьезно уже заказал пару, но на всякий случай закажу usbasp. Стоит копейки а в хозяйстве всегда сгодится. Обычно они рабочие присылают все так, но может и пригодится :-P Я бы посоветовал еще вот такую штуку если нет подобного http://www.aliexpress.com/item/New-Arrival-USB-Logic-Analyzer-24M-8CH-MCU-ARM-FPGA-DSP-debug-tool/32321002686.html?spm=2114.01010208.3.10.Yqg9pQ&ws_ab_test=searchweb201556_7,searchweb201602_1_10048_10057_10047_10056_10055_10037_10049_10046_10033_10059_10045_10032_10058_10017_405_404_407_106_105_10040_104_10060_103_102,searchweb201603_1&btsid=f13704fb-31af-4bfc-9c98-ede7d2d84fac (ссылка просто для примера, брал не там) - работает лучше, чем анализатор в осциллографе (в rigol во всяком случае), да и удобнее. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 183] Автор : Slav9n Дата : 23.07.2016 02:42 Хорошая вещь, но на первых не особо нужна, позже может закажу. Вот что я заметил, когда кварца нет на плате светодиод лапка номер 13 не светится, как подключаю кварц светодиод загорается и горит пока не перезагрузишь ардуино. Правильно я сделал вывод что сама мс рабочая? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 184] Автор : RA4FHE Дата : 23.07.2016 11:08 Да и тактирование с внешнего генератора работает ;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 185] Автор : Slav9n Дата : 23.07.2016 11:47 Тогда почему я частотомером не вижу не чего? Может дело все таки в компьютере? Ладно, всем спасибо за помощь, буду ждать usbasp там видно будет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 186] Автор : RA4FHE Дата : 23.07.2016 12:00 Переходник 10>6 не забудьте приобрести -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 187] Автор : user12 Дата : 23.07.2016 12:21 Тогда почему я частотомером не вижу не чего? А кабель у вас какой? Если большая погонная ёмкость у него то запросто срывает генерацию. Как вариант послушать работу генератора обычным приёмником. Дегеном например. Может дело все таки в компьютере? А RX и TX светодиоды на ардуине при попытке записи мигают? Обязаны мигать и потом только ошибка выскочит. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 188] Автор : Slav9n Дата : 23.07.2016 12:43 user12, Кабель достаточно длинный, вы наверно правы скорей всего он срывает генерацию . Да как положено, несколько раз мигает tx потом один раз rx и вылетает ошибка. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 189] Автор : user12 Дата : 23.07.2016 12:48 Как вариант установить Free Serial Port Monitor и посмотреть отвечает ли мега на запрос. Вообще посмотреть что там по компорту творится. http://www.serial-port-monitor.com/index.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 190] Автор : Slav9n Дата : 23.07.2016 21:38 Вот что я получил в Seral port monitor, при попытке загрузки скетча: COM открыт <20160723213554.223 SYS> Размер вх./исх. очереди 1024/1024 <20160723213554.223 SYS> Скорость передачи 19200 <20160723213554.223 SYS> RTS выключен <20160723213554.223 SYS> DTR выключен <20160723213554.223 SYS> Биты данных=8, Стоповые биты=1, Четность=None <20160723213554.223 SYS> Служ. символы: Eof=0x00, Error=0x00, Break=0x00, Event=0x00, Xon=0x00, Xoff=0x00 <20160723213554.223 SYS> Контроль передачи: ControlHandShake=(), Замена=(), Лимит Xon=0, Лимит Xoff=0 <20160723213554.223 SYS> Таймауты: ReadInterval=0, ReadTotalTimeoutMultiplier=0, ReadTotalTimeoutConstant=0, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213554.223 SYS> DTR выключен <20160723213554.223 SYS> RTS выключен <20160723213554.473 SYS> DTR включен <20160723213554.473 SYS> RTS включен <20160723213554.523 SYS> Таймауты: ReadInterval=250, ReadTotalTimeoutMultiplier=250, ReadTotalTimeoutConstant=250, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213554.723 RX> f†fx†fЂ˜Ђ <20160723213555.233 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213555.233 TX> 0 <20160723213555.233 SYS> Таймауты: ReadInterval=250, ReadTotalTimeoutMultiplier=250, ReadTotalTimeoutConstant=250, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213555.243 RX> xffћаћ˜˜Ђ <20160723213555.753 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213555.753 TX> 0 <20160723213555.753 SYS> Таймауты: ReadInterval=250, ReadTotalTimeoutMultiplier=250, ReadTotalTimeoutConstant=250, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213555.763 RX> xffћаћ˜˜Ђ <20160723213556.273 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.273 TX> 0 <20160723213556.273 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> x <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 TX> 0 <20160723213556.283 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> f <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 TX> 0 <20160723213556.283 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> f <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 TX> 0 <20160723213556.283 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> ћ <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 TX> 0 <20160723213556.283 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> а <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 TX> 0 <20160723213556.283 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> ћ <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 TX> 0 <20160723213556.283 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.283 RX> <20160723213556.283 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 TX> 0 <20160723213556.293 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 RX> ˜ <20160723213556.293 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 TX> 0 <20160723213556.293 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 RX> <20160723213556.293 SYS> Таймауты: ReadInterval=500, ReadTotalTimeoutMultiplier=500, ReadTotalTimeoutConstant=500, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 TX> 0 <20160723213556.293 SYS> Таймауты: ReadInterval=5000, ReadTotalTimeoutMultiplier=5000, ReadTotalTimeoutConstant=5000, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 RX> ˜ <20160723213556.293 SYS> Таймауты: ReadInterval=250, ReadTotalTimeoutMultiplier=250, ReadTotalTimeoutConstant=250, WriteTotalTimeoutMultiplier=0, WriteTotalTimeoutConstant=0 <20160723213556.293 RX> Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђxffћаћ˜˜Ђ <20160723213556.863 SYS> DTR выключен <20160723213556.863 SYS> RTS выключен <20160723213556.863 SYS> COM закрыт Единственное осталось понять хорошо это или плохо.:-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 191] Автор : R2DHG Дата : 23.07.2016 22:25 Попробуйте в boards.txt поиграться скоростью nano.menu.cpu.atmega168.upload.speed=19200 возможно китайцы не тот загрузчик записали, к примеру, все мои nano с mega328 работают на 57600, можно и 115200 попробовать на всякий случай -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 192] Автор : Slav9n Дата : 23.07.2016 22:32 А, скорость порта менять в диспетчере задаче надо на антологичную? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 193] Автор : R2DHG Дата : 23.07.2016 22:58 Не надо, только перезапускать среду. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 194] Автор : Slav9n Дата : 23.07.2016 23:18 Не чего не изменилось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 195] Автор : ur7hfo Дата : 23.07.2016 23:47 Брал у того же китайца несколько ардуин, все в порядке. У вас по всем симптомам, в мегу забыли прошить бут-лоадер. В инете куча статей, как этот бутлоадер прошить самому. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 196] Автор : Slav9n Дата : 23.07.2016 23:58 ur7hfo, спасибо я примерно догадывался. Заказал usdasp, жду... Если не секрет какая у вас версия ide стоит? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 197] Автор : ur7hfo Дата : 24.07.2016 00:00 Сейчас стоит версия 1.6.9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 198] Автор : Slav9n Дата : 24.07.2016 00:13 У меня тоже последняя версия. Да, скорой всего китайцы забыли залить загрузчик. Буду ждать посылку, надеюсь проблема разрешится. Всем огромное спасибо еще раз. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 199] Автор : Slav9n Дата : 20.08.2016 15:49 Пришли сегодня ардуины. Заказывал у продавца, одну на 328 и одну arduino 168 меге, пришли обе 328х. :super: Обе прошиты (мигает led 13), видно что продавец проверят свой товар перед отправкой. Все работает, значит проблема была именно в ардуино. Ждем программатор... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 200] Автор : UB4YBB Дата : 23.08.2016 21:25 DL1BA, Здравствуйте! А можно схему ксв метра и прошивку с первого поста -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 201] Автор : UT0UM Дата : 23.08.2016 21:35 пришли обе 328х. ... Ждем программатор... так можно ж ардуиной ардуину прошить зачем программатор? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 202] Автор : Олег,RA3DNC Дата : 27.08.2016 19:51 Здравствуйте коллеги! Пожалуйста, помогите "чайнику". Надумал повторить K3NG Rotator Controller. Залил скетч, первое включение - на LCD вижу индикацию азимута. У автора используется LCD 2002. Имею в наличии 1602 и 2004. Каким образом прописать другой индикатор? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 203] Автор : UB0WBL Дата : 27.08.2016 21:13 Олег,RA3DNC (http://www.cqham.ru/forum/member.php?1370-%D0%9E%D0%BB%D0%B5%D0%B3-RA3DNC) Ссылку на конструкцию хоть дайте что ли. А в общем виде примерно так - #include //подключаем библиотеку для работы с LCD индикаторами LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7)устанавка ног куда подключим LED индикатор... ...void setup() { // put your setup code here, to run once: lcd.begin(16,2); //указываем какой индикатор используем, //в данном случае 16 знаков, 2 строки... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 204] Автор : Олег,RA3DNC Дата : 27.08.2016 21:31 Олег,RA3DNC (http://www.cqham.ru/forum/member.php?1370-%D0%9E%D0%BB%D0%B5%D0%B3-RA3DNC) Ссылку на конструкцию хоть дайте что ли. Спасибо за ответ! В-общем, у меня получилось даже без редактирования библиотеки. Просто тупо подключил LCD 2004 и все заработало. Одна из ссылок - https://github.com/k3ng/k3ng_rotator_controller/wiki Вообще ищется легко по теме K3NG Rotator Controller, масса всяких разных вариантов на основе ее. Скетч и документацию прикладываю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 205] Автор : Олег,RA3DNC Дата : 28.08.2016 20:36 Здравствуйте коллеги! Позвольте еще вопрос. Проверил сегодня полностью собранный макет контроллера поворотки, все работает, при вращении потенциометра градусы на дисплее меняются, но вот почему-то на выходах управления все наоборот. Т.е. в исходном состоянии на обоих выходах присутствует +5В, при нажатии на одну из кнопок (влево или вправо) на соответствующем выходе появляется 0. А должно быть наоборот - в исходном 0В. Вместе с тем на третьем выходе (OVERLAP - перехлест) все в норме. Помогите советом, где копать? Или может так и должно быть что сигналы инвертированы? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 206] Автор : R2DHG Дата : 28.08.2016 22:40 В основной скетче, переставьте LOW / HIGH наоборот #define ROTATE_PIN_INACTIVE_VALUE HIGH #define ROTATE_PIN_ACTIVE_VALUE LOW хотя в rotator_pins.h в комментариях вроде high вкл/low выкл, но реально работают строки, указанные выше -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 207] Автор : Олег,RA3DNC Дата : 28.08.2016 23:33 В основной скетче, переставьте LOW / HIGH наоборот Спасибо! Попробую. Добавлено через 5 минут(ы): В основной скетче, переставьте LOW / HIGH наоборот Чего-то не нахожу строки.....:-( Ага, нашел -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 208] Автор : UT0UM Дата : 28.08.2016 23:34 Здравствуйте коллеги! Позвольте еще вопрос. Проверил сегодня полностью собранный макет контроллера поворотки, все работает, при вращении потенциометра градусы на дисплее меняются, но вот почему-то на выходах управления все наоборот. Т.е. в исходном состоянии на обоих выходах присутствует +5В, при нажатии на одну из кнопок (влево или вправо) на соответствующем выходе появляется 0. А должно быть наоборот - в исходном 0В. Вместе с тем на третьем выходе (OVERLAP - перехлест) все в норме. Помогите советом, где копать? Или может так и должно быть что сигналы инвертированы? ну последнее время принято реле землей коммутировать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 209] Автор : Олег,RA3DNC Дата : 28.08.2016 23:52 ну последнее время принято реле землей коммутировать Пины переназначил - заработало:-P. Там на выходе не обязательно реле, можно через ключик к Есувскому пульту подключить, к разъему интерфеса GS232. Да и если реле, тоже надо транзистор ставить, напрямую выходы Ардуины по току не потянут. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 210] Автор : R1AIT Дата : 29.08.2016 09:56 А ни кому не попадался вариант на рулевых машинках. Есть мысль что-нибудь такое сделать небольшое, для небольшой антенны, следить за пролетающим спутником. Только нужно еще одну ось вращения, поляризацию ловить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 211] Автор : R2DHG Дата : 29.08.2016 12:53 Еще бы и механику всю и чтобы легкая и чтобы ветром ничего не срывало... а наардуинить скетч то не проблема :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 212] Автор : Олег,RA3DNC Дата : 29.08.2016 12:59 Только нужно еще одну ось вращения, поляризацию ловить. В этом самом контроллере от K3NG можно и элевацией управлять. И датчики самые разные использовать (потенциометры, энкодеры, магнитные компасы и т.п.) И все библиотеки вроде бы уже есть. Может отдельную тему по сабжу открыть, если народу интересно? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 213] Автор : R1AIT Дата : 29.08.2016 13:44 В этом самом контроллере от K3NG можно и элевацией управлять. Это понятно. Азимут есть, элевация есть, третья ось нужна, ибо поляризация может быть разная, и даже изменяется со временем у некоторых космических аппаратов. Добавлено через 19 минут(ы): Еще бы и механику всю и чтобы легкая и чтобы ветром ничего не срывало... Можно подобрать привод в зависимости от размеров антенны. Понятно, что все равно для небольших антенн. Крепить нужно стараться ближе к центру тяжести. Универсальный крепеж обычно с приводом в комплекте идет. Тут, дела в другом. Рулевые машинки обычно под быстрые перемещения заточены, что в нашем случае может быть слишком. Нужно будет программно их замедлять, чтобы аккуратнее крутили.:) По идее это не проблема. У меня есть 3 штуки Tower PRO G-9. Хиловаты они конечно, но может на попробовать с чем то легким и прокатит. Дело за малым: времечка найти. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 214] Автор : R2DHG Дата : 29.08.2016 14:41 Программно замедлить можно, но там ведь и механика под быстрые перемещения - шестеренки небольшие, зубья мелкие. Я себе на кронштейн на балконе повесил антенну на поворотке из штуковины, которой система антипротечки воды кран закрывает. Передача движения от этой штуковины на антенну была с помощью болта ~М8, вклеенного со стороны резьбы эпоксидкой в водопроводный тройник (он как опорный подшипник заодно), так вот с виду выглядело все нормально и рукой ничего не сдвигалось, не отрывалось, но под ветром болт из клея вырвало / провернуло. В общем черт его знает какие там усилия от ветра, но напрямую на серву антенну... очень стремно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 215] Автор : Олег,RA3DNC Дата : 29.08.2016 15:00 Привод от камер видеонаблюдения - там как раз в 2-х осях. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 216] Автор : R1AIT Дата : 29.08.2016 15:18 2 мало, как раз, 3 нужно. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 217] Автор : Олег,RA3DNC Дата : 29.08.2016 15:44 2 мало, как раз, 3 нужно. :) Только пристраивать еще какой-то привод и вручную им управлять. А если антенну с круговой поляризацией? Добавлено через 14 минут(ы): Чего-то я не пойму - не могу заставить светиться нормально LEDы на портах D6,D7. Пробовал и через транзисторные ключи, и напрямую через резисторы - светятся еле-еле. Уровень на портах без нагрузки 5В, под нагрузкой 0.8В . На D13 все нормально. Переназначил на D9,D10 - без изменений. Проверил на еще 2-х платах (мини и уно) - ситуация такая-же. Вроде как нагрузочной способности не хватает. Но ведь так не должно быть. И дохлыми одинаковые порты на всех платах не могут быть. Странно как-то... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 218] Автор : UB4YBB Дата : 29.08.2016 20:38 Здравствуйте! Кто нибудь собирал КСВ метр на ардуино? Поделитесь схемой и прошивкой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 219] Автор : R2PM Дата : 29.08.2016 20:44 Здравствуйте! Кто нибудь собирал КСВ метр на ардуино? Поделитесь схемой и прошивкой. Доброе время суток!!! НЕ только КСВ - метр, но и многое другое.http://www.qsl.net/on7eq/projects/arduino_pwr_swr.htm и ..... http://www.qsl.net/on7eq/en/projects.htm Практически всё проверил и повторил - всё рабочее, обратите внимание на среду IDE. В догонку рекомендую попробовать антенный коммутатор работает несколько лет нет проблем, разнос антенн для приёма\ передачи и т.п. то что протокол ICOM, так это не беда если другой трансивер (фирма) есть универсальные бенд декодеры, кстати тоже на ардуино, Протокол от ICOM требует только два провода - это удобно. Виктор R2PM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 220] Автор : redd Дата : 29.08.2016 20:53 Есть ардуины на интеле .... http://www.linuxcenter.ru/shop/ops_hard/Edison/genuino-101/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 221] Автор : UB4YBB Дата : 29.08.2016 21:05 rd3pq, А на русском описаний нет? Не силён я в иностранных. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 222] Автор : rw6hkf Дата : 29.08.2016 21:12 А на русском описаний нет? Не силён я в иностранных. А то, что язык программирования тоже не кириллицей написан, ничего? Хотите что-то сделать - вникайте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 223] Автор : R2PM Дата : 29.08.2016 21:27 А на русском описаний нет? Не силён я в иностранных. Добрый вечер!!!! Так Вы почитайте по внимательней - там все более менее понятно, в крайнем случае - переводчик в помощь!!!! Есть только одно НО - среда IDE 0.22 в ней все работает корректно, в других средах есть "грабли" Виктор R2PM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 224] Автор : R2DHG Дата : 29.08.2016 22:00 Да оно вроде не пошло как то на Intel'е, можно тогда уж arduino DUE или teensy 3 - тоже пока живое. Чего-то я не пойму - не могу заставить светиться нормально LEDы на портах D6,D7. Что у вас на них ? Они же вроде входы в оригинале #define az_rotary_preset_pin1 6 // CW Encoder Pin #define az_rotary_preset_pin2 7 // CCW Encoder Pin ... pinMode(az_rotary_preset_pin1, INPUT); pinMode(az_rotary_preset_pin2, INPUT); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 225] Автор : redd Дата : 29.08.2016 22:20 Да оно вроде не пошло как то на Intel'е, можно тогда уж arduino DUE или teensy 3 - тоже пока живое. Зато 32 бита, на 32 МГц ... А работать то все равно будет ) Почти 486 комп ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 226] Автор : Олег,RA3DNC Дата : 29.08.2016 22:28 Что у вас на них ? Они же вроде входы в оригинале #define az_rotary_preset_pin1 6 // CW Encoder Pin #define az_rotary_preset_pin2 7 // CCW Encoder Pin ... pinMode(az_rotary_preset_pin1, INPUT); pinMode(az_rotary_preset_pin2, INPUT); Да вроде выходы все-таки #define rotate_cw 9 // goes high to activate rotator R (CW) rotation - pin 1 on Yaesu connector #define rotate_ccw 10 // goes high to activate rotator L (CCW) rotation - pin 2 on Yaesu connector А, дошло - я прописал D6 и D7, но не учел что эти ноги предназначены для другого. Конфликт получился. Сейчас исправил - вроде LED светится нормально. Спасибо что ткнули носом :smile::пиво:! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 227] Автор : R2DHG Дата : 29.08.2016 22:57 :пиво::-P Зато 32 бита, на 32 МГц ... А работать то все равно будет ) Почти 486 комп ) Ну это да... комп, только совместимый сам с собой и с ардуиной если ни шага вправо/влево :-P Ну и цена уже не та, DUE китайцы по $12 шлют - всего дофига и памяти и мгц, только вот плата не очень компактная. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 228] Автор : R1AIT Дата : 29.08.2016 22:59 rd3pq, А на русском описаний нет? Не силён я в иностранных. А на translate.google.com (http://translate.google.com) вас забанили? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 229] Автор : R2DHG Дата : 29.08.2016 23:11 Для использования с готовыми скетчами вообще лучше экзотику не брать (в том числе due и интел тот) - половина точно работать сходу не будет :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 230] Автор : redd Дата : 30.08.2016 07:47 R2DHG, :пиво::пиво::пиво::super: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 231] Автор : Олег,RA3DNC Дата : 02.09.2016 13:31 Здравствуйте коллеги! Снова у меня вопросы "чайника":smile:. Запустил полностью этот самый контроллер K3NG. Все нужные мне функции работают, от компа управление есть (протестил с N1MM). Возникла проблема с калибровкой. Автор нулевой точкой считает 180град (как у Yaesu) и относительно нее делает калибровку. У меня ротатор самодельный, сделать полный оборот от -180 до 180 не могу по причине особенностей конструкции (положение потенциометра. Необходимо делать калибровку относительно 90град. В каком месте скетча все это прописано нашел. Не могу понять, на какие значения надо изменить указанные параметры. Просьба, если у кого есть возможность, посмотреть скетч и подсказать что надо изменить. Это строка 508 в скетче. Заранее спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 232] Автор : R2DHG Дата : 02.09.2016 14:50 Я там нашел максимальные / минимальные уровни ADC для соответствующих углов поворота датчика - оно ? Калибровка - это когда оно просто на исходную позицию встает ? У вас -90 / +90 ? Какие при этом значения ADC считываются можете глянуть ? Возможно это оно и есть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 233] Автор : Олег,RA3DNC Дата : 02.09.2016 17:50 Калибровка - это когда оно просто на исходную позицию встает ? У вас -90 / +90 ? Какие при этом значения ADC считываются можете глянуть ? ADC это я так понимаю напряжение, приходящее на вход контроллера? -90 / +90 - 0.6В / 1.125В -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 234] Автор : R2PM Дата : 02.09.2016 20:59 Автор нулевой точкой считает 180град (как у Yaesu) и относительно нее делает калибровку. У меня ротатор самодельный, сделать полный оборот от -180 до 180 не могу по причине особенностей конструкции (положение потенциометра. Необходимо делать калибровку относительно 90град. В каком месте скетча все это прописано нашел. Не могу понять, на какие значения надо изменить указанные параметры. Доброе время суток!!! Править надо файл rotator_settings.h #define AZIMUTH_STARTING_POINT_DEFAULT 0 // the starting point in degrees of the azimuthal rotator #define AZIMUTH_ROTATION_CAPABILITY_DEFAULT 360 // the default rotation capability of the rotator in degrees #define ELEVATION_MAXIMUM_DEGREES 180 // change this to set the maximum elevation in degrees Это через ноль и 360 градусов соответственно поставите свои значения, калибровка Через комп и ноль: Поставить антенну в 0 градусов (или как Вам надо) сделать команду O / повернуть антенну на 180 против часовой стрелки....нажать ENTER.....(Причём поворачивать надо от отдельных кнопок ) Потом сделать команду F/ и довернуть антенну до 360-450 градусов и нажать ENTER..... вся калибровка Забыл - это делается через среду IDE - мониторинг порта. По моему выкладывал здесь http://www.cqham.ru/forum/showthread.php?31884-%CA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%EF%EE%E2%EE%F0%EE%F2%ED%EE%E3%EE-%F3%F1%F2%F0%EE%E9%F1%F2%E2%E0-K3NG Victor R2PM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 235] Автор : Олег,RA3DNC Дата : 02.09.2016 21:51 Править надо файл rotator_settings.h Да, Виктор, понятно, спасибо! Дело в том что в скетче, который у меня, не требуется подключения файла rotator_settings.h , а соответствующие установки делаются непосредственно в основном скетче. Может, эти две строки, которые Вы привели - просто вставить в скетч? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 236] Автор : Олег,RA3DNC Дата : 03.09.2016 01:42 to RD3PQ: Виктор, может быть где-то еще необходимо изменить значение начальной точки? Не только в той строке что Вы указали? Перепробовал разные варианты - программа почему-то упорно принимает за 0 180град. На сегодня все - пора спать:-| -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 237] Автор : Олег,RA3DNC Дата : 05.09.2016 16:05 to RD3PQ: Виктор, гляньте личку -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 238] Автор : R2PM Дата : 05.09.2016 17:34 to RD3PQ: Виктор, гляньте личку Олег добрый день!!! Сейчас на работе, вечером из дома напишу письмо Виктор R2PM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 239] Автор : XENOMORPH Дата : 15.09.2016 16:01 Прошу подсказки. Собрал мульти-монитор для блока питания. Опорное напряжение INTERNAL2V56. Для вычисления, вписал формулу расчёта (код ниже) с делением на 1000, или же правильно на 1023 или 1024 для точности измерения? UM = analogRead(0); U = (UM * 50.00 / 1000); 242983 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 240] Автор : R2DHG Дата : 15.09.2016 16:51 1024 вроде, но где то видел длинный спор на эту тему, ведь при подаче на вход 2.56в будет не больше 1023, так что можно и 1023 наверное ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 241] Автор : rm4hq Дата : 15.09.2016 17:14 при подаче на вход 2.56в будет не больше 1023, Разве не 5В? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 242] Автор : UT0UM Дата : 15.09.2016 17:15 1024 вроде, но где то видел длинный спор на эту тему, ведь при подаче на вход 2.56в будет не больше 1023, так что можно и 1023 наверное ) 1023 и 1024 разница меньше 0,1% если у Вас резисторы в делители такой точности, то тогда да а если +/-5% то можно и на 1000 делить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 243] Автор : R2DHG Дата : 15.09.2016 18:03 Разве не 5В? там можно поменять через analogReference - INTERNAL2V56 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 244] Автор : UB0WBL Дата : 15.09.2016 19:44 1024 вроде, но где то видел длинный спор на эту тему, ведь при подаче на вход 2.56в будет не больше 1023, так что можно и 1023 наверное ) 0 до 1023, всего 1024. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 245] Автор : XENOMORPH Дата : 15.09.2016 20:13 Вместо 1000, можно вписать и 100, просто деление в 10 раз уменьшится. Я имел ввиду, не нарушается ли математическое, или как его там хз деление, при измерении напряжения. Если выставить 1023 или 1024, значения напряжения на LCD получаются не круглые, а при значении 1000, 0 или 5 в конце, то-есть шаг будет 50 или 100 милливольт, что удобно для "глаза". Пытаюсь найти разницу, сравнивая показания калиброванного мультиметра с тремя знаками после запятой, и показаниями этого вольтметра амперметра на MEGA-2560 с значениями 1000, 1023, 1024, замечаю расхождение от 1.00v до 15.00v, в сторону завышения на 200мв на пределе 15.00v. Может вообще забить на эту "ловлю блох", почему бы сразу не писать 1000, но нет, везде 1023, 1024 почему-то. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 246] Автор : LZ1AO Дата : 15.09.2016 20:42 RA3YCI Деление на степенях n двойки в двоичной арифметике исполняется как сдвиг на n bit, что на много раз проще, чем деление на 1000.:smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 247] Автор : user12 Дата : 16.09.2016 17:32 Может вообще забить на эту "ловлю блох", почему бы сразу не писать 1000, но нет, везде 1023, 1024 почему-то. Каким образом при 10 битах может получиться число 1024? Число 1024 уже 11 бит занимает! 10 бит это 1023 в Dec или 3FF в hex. Открываем калькулятор виндовз, вид инженерный. вкладка bin, набираем 10 бит- 11 1111 1111 и смотрим результат в Dec и т.д. Почему 1023 а не 1000? Потому что разрядность АЦП 10 бит и если все вычисления делать в hex или с битами работать то после всех делений надо один раз перевести в Dec уже для вывода на дисплей в привычном формате. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 248] Автор : Kia2700d Дата : 17.09.2016 18:48 Каким образом при 10 битах может получиться число 1024? . Если римскими цифрами считать. Там с единицы отсчет начинается. :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 249] Автор : user12 Дата : 18.09.2016 00:02 Вы конечно же расскажите про римские цифры в компиляторе ардуино? Или просто так чтоб в теме отметится написали? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 250] Автор : UA3MCH Дата : 18.09.2016 03:02 Каким образом при 10 битах может получиться число 1024? Число 1024 уже 11 бит занимает! 2^10 = 1024 т.е. 10 двоичных разрядов имеют 1024 комбинации, т.е. могут хранить 1024 числа (от 0 до 1023). К примеру: двоичный счетчик из 4 двоичных разряда;максим.. число 15 (10)/F(16). Сигнал переноса из старшего разряда будет возникать на каждый 16 входной импульс, т.е. коэф. деления = 2^4=16. Так же и 2^10=1024 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 251] Автор : Kia2700d Дата : 18.09.2016 04:00 напряжение условно делится АЦП на 1024 (2^10) "ступеньки", на столько и надо делить. интервалы можно пронумеровать от 0 до 1023, или от 1 до 1024, но их общее к-во от этого не меняется. 1023 это не степень двойки, и число некрасивое. даже интуитивно на него делить не хочется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 252] Автор : Filin-2000 Дата : 18.09.2016 08:30 Интересная инфа. http://robotosha.ru/arduino/digitalwrite-optimizing-arduino.html http://robotosha.ru/arduino/multitasking-and-interrupts-arduino.html http://robotosha.ru/arduino/multi-tasking-arduino.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 253] Автор : Alex-31 Дата : 18.09.2016 08:36 Filin-2000, для настоящей многозадачности тактовой частоты маловато да и ещё одно ядро не помешало бы... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 254] Автор : UB0WBL Дата : 18.09.2016 08:36 1023 это не степень двойки, и число некрасивое. даже интуитивно на него делить не хочется. Дык, дели на 125 или 800 или еще на чего, если то что есть не нравится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 255] Автор : Filin-2000 Дата : 18.09.2016 08:44 ну я по крайней мере заморочился, переписываю код. По крайней мере все лучше. :) http://cyber-place.ru/showthread.php?t=1909 http://cyber-place.ru/showthread.php?t=550 У меня правда uno ch340 можно раскидать на 2 ардуины :) Вещь клевая, порадовала. Можно попробовать due закупить/запилить, хотя мне для моего проекта duo за глаза. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 256] Автор : Alex-31 Дата : 18.09.2016 09:25 Filin-2000, а как насчёт FreeRTOS? http://robot-develop.org/archives/2701 http://avr-start.ru/?p=4142 http://www.freertos.org/a00104.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 257] Автор : Filin-2000 Дата : 18.09.2016 09:34 Alex-31, интересно, надо будет почитать. В принципе ардуино за 300р все делает с родными либами, но как всегда хочется получше :) Я с контроллерами на ВЫ по этому не знаком особо с темой. Заморочился тут 3-мя светодиодами. Хочу сделать что бы первый плавно мигал в такт 100мс и тух за 200мс, второй в 500мс и тух 800мс а третий тупо мигал 1000/100мс. Никак не осилю второй светодиод :) Работает как стробоскоп( Корчое от delay отказываюсь постепенно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 258] Автор : RN3GP Дата : 18.09.2016 09:45 как насчёт FreeRTOS Или Arduino или железяку уже с почти полноценной операционкой из этой серии http://ru.aliexpress.com/item/Orange-Pi-PC-linux-and-android-mini-PC-Beyond-Raspberry-Pi-2/32448079125.html?spm=2114.10010208.1000013.3.98PwgV&scm=1007.13339.33317.0&pvid=863c94b2-8439-4eaf-b6a9-e90718ea02a6&tpp=1 Хотя для наших целей поморгать, поуправлять синтезом, повороткой и т.д. Arduino за глаза. Добавлено через 7 минут(ы): Никак не осилю второй светодиод Поставьте графический программатор, понравиться. http://www.rlocman.ru/review/article.html?di=158653 И совсем простой http://blog.ardublock.com/2016/03/13/german-video-tutorial-by-ronnie-berzins/ Прилагаю на русском, запускать с Java (при выборе программы). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 259] Автор : vadim_d Дата : 18.09.2016 10:50 Хочу сделать что бы первый плавно мигал в такт 100мс и тух за 200мс, второй в 500мс и тух 800мс а третий тупо мигал 1000/100мс Корчое от delay отказываюсь постепенно. Если мигание светодиодами это все, что требуется, то задержка на 100мс позволит решить это в рамках одной задачи, если для каждого диода иметь свой счетчик интервалов 100мс и переменную, где хранится его состояние. Тогда после задержки в 100мс в общем цикле для каждого диода декрементируется его счетчик, и если ноль, то смотрится, был ли это отсчет нуля или единицы, меняется состояние диода и самой переменной, хранящей его состояние, загружается новое значение в счетчик для нового состояния светодиода. Но если хочется настоящую многозадачность, то глядите в сторону FreeRTOS :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 260] Автор : Filin-2000 Дата : 18.09.2016 11:21 vadim_d, мне вполне ардуино хватит. Почти реализовал что надо но решил переделать, как обычно)) В процессе мысли приходят. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 261] Автор : user12 Дата : 18.09.2016 12:55 напряжение условно делится АЦП на 1024 (2^10) "ступеньки", на столько и надо делить. интервалы можно пронумеровать от 0 до 1023, или от 1 до 1024, но их общее к-во от этого не меняется. 1023 это не степень двойки, и число некрасивое. даже интуитивно на него делить не хочется. Можно долго спорить но всё старо как мир. Бит имеет два состояния- ноль и единица. Но это не значит что бит будет равен двум.;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 262] Автор : Alex-31 Дата : 18.09.2016 13:24 В процессе мысли приходят. :offtop:...как любил повторять мой бывший начальник: "кончай дедукцию - давай продукцию!" или 243202 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 263] Автор : XENOMORPH Дата : 18.09.2016 15:05 Поделил всё-таки на 1000. Есть небольшие различия в показаниях, но это связано наверно с переходом (шаг 50мв), в большую или меньшую сторону (предел 50 вольт). При делении на 1023 1024, расхождение тоже есть, и шаг "неровный". В общем работает, и ладно:lol:. В мульти-мониторе для трансивера тоже всё сходится, ватт в ватт, ксв в ксв. https://www.youtube.com/watch?v=uKy0c16xFjo https://www.youtube.com/watch?v=rH4POXNYV-I -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 264] Автор : Олег,RA3DNC Дата : 18.09.2016 20:57 Добрый вечер коллеги! Такое дело - комп перестал видеть Ардуину, похоже что померла микросхема порта USB на Ардуине. Вопрос - существует ли альтернативный способ подключить плату к компьютеру? Порт реализован на Атмеге. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 265] Автор : XENOMORPH Дата : 18.09.2016 21:38 Предыдущее видео что-то не загрузилось. https://www.youtube.com/watch?v=uKy0c16xFjo Возможно пригодится. Дампы для восстановления Arduino NANO (с CH340G / MEGA328P на борту) через программатор (TQFP32 Adapter). В программе был записан маяк на 8 мгц, код считан с ним. Возможно ли прошить через ICSP?, сомневаюсь. ps: Прошивка проверена лично. 243230 243231 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 266] Автор : Олег,RA3DNC Дата : 18.09.2016 21:50 to RA3YCI: спасибо за дампы, но померла Arduino UNO, USB порт выполнен на Атмеге. Если б СН340, было бы проще, выпаять-запаять нет проблем. А здесь Атмега, отпаять феном я отпаяю, а вот новую припаять это вряд ли. Да и как ее программировать непонятно. А может как USB можно по-другому реализовать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 267] Автор : IG_58 Дата : 18.09.2016 22:13 Да просто купите новую Ардуину, стоит пару долларов у китайцев, говорить не о чем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 268] Автор : UT0UM Дата : 18.09.2016 22:17 А может как USB можно по-другому реализовать? можно, через переходник ЮСБ ТТЛ на пины RX TX и перед заливкой скетча всегда нажимать резет на ардуине -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 269] Автор : Олег,RA3DNC Дата : 18.09.2016 22:30 Да просто купите новую Ардуину, стоит пару долларов у китайцев Ну уже не пару долларов, к сожалению, немножко дороже. Новую заказал, но жалко старую просто так выбросить. to UT0UM: спасибо за совет, так и сделаю. Просто имею собранный miniVNA, вынул временно из него Ардуину, ну вот и доэкспериментировался :-(. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 270] Автор : Tim Дата : 18.09.2016 22:31 Почти во всех переходниках есть пин DTR на некоторых он может быть не выведен, но контакт присутствует и подписан, его через емкость 0,1 мкф подцепить на резет ардуины, и не надо нажимать кнопку;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 271] Автор : R2DHG Дата : 18.09.2016 22:56 Угу, лучше с 6ти проводным хвостом сразу поискать переходник. Или usbasp заказать (тогда можно скетч шить прям в голый мк). Но и то и другое придется ждать. Можно у местных - все равно оно недорого, а привезут чуть быстрее. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 272] Автор : UT0UM Дата : 18.09.2016 23:00 Или usbasp заказать. Но и то и другое придется ждать. Можно у местных - все равно оно недорого, а привезут чуть быстрее. ну тогда проще новую Ардуину купить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 273] Автор : R2DHG Дата : 18.09.2016 23:05 Ну жалко же ту, что осталась без usb :-P Переходник пригодится еще для чего нибудь, а программатор для голых атмег :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 274] Автор : Владимир_К Дата : 18.09.2016 23:49 Вопрос - существует ли альтернативный способ подключить плату к компьютеру? Можно работать через COM-порт. Но придется спаять платку с МАХ232. Преимущество такого решения - микросхема эта недорогая. Если в компьютере этого порта нет, тогда это, конечно, не вариант. Можно и транзисторный вариант, как например здесь: http://robocraft.ru/files/ArduinoSeverinoSchematic.png -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 275] Автор : UB0WBL Дата : 19.09.2016 03:46 Можно работать через COM-порт. Но придется спаять платку с МАХ232. Преимущество такого решения - микросхема эта недорогая. Если в компьютере этого порта нет, тогда это, конечно, не вариант. Можно и транзисторный вариант, как например здесь: http://robocraft.ru/files/ArduinoSeverinoSchematic.png Да блин, из за 200 руб. выдрючиваться, две пачки сигарет. https://ru.aliexpress.com/item/1pcs-New-2016-UNO-R3-ATmega328P-CH340G-MicroUSB-Compatible-for-Arduino-UNO-Rev-3-0-hei/32689124737.html?spm=2114.30010708.3.21.L2O7UB&ws_ab_test=searchweb201556_10,searchweb201602_2_10065_10068_10069_418_10017_10060_10061_10062_10057_10039_10056_10055_10037_10054_301_10033_10059_10032_10058_10073_10070_10052_10053_10050_10051,searchweb201603_1&btsid=73b89a82-17cf-4028-99fc-fa7ffb0c32ff -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 276] Автор : Владимир_К Дата : 19.09.2016 11:34 Да блин, из за 200 руб. выдрючиваться, две пачки сигарет. Человек спросил, ему ответили.. Какие претензии? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 277] Автор : Олег,RA3DNC Дата : 19.09.2016 12:46 Человек спросил, ему ответили.. Какие претензии? Коллеги, спасибо всем за ответы-советы!:smile: Программатор есть, конвертор USB-СОМ заказал, буду пробовать реанимировать девайс. Выбросить всегда успею, интереснее заставить работать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 278] Автор : RW3ACQ Дата : 20.09.2016 22:37 Друзья, начал вникать в Arduino, нужен ваш совет. Как можно симулировать кратковременное нажатие механической кнопки (замыкание) между выходами, скажем D2 и GND? Вариант с реле, очевидно, самый напрашивающийся. Можно ли как-то это реализовать на оптроне? Есть в наличии 4N25 и PC817. Благодарю заранее за ответы! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 279] Автор : UT0UM Дата : 20.09.2016 23:04 Можно ли как-то это реализовать на оптроне? можно а в чем сложность то? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 280] Автор : RW3ACQ Дата : 20.09.2016 23:21 Сложность в том, что управляющий сигнал на оптрон идет с выхода D6, к примеру, digitalWrite (pin6, HIGH), но "оптронная кнопка" не замыкается при этом, как это было бы в случае с обычным реле. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 281] Автор : R2DHG Дата : 20.09.2016 23:30 рисуйте, че то непонятно :-P вы управляете ардуиной с помощью другой ардуины ? а то можно их и напрямую соединить, зачем реле то с оптронами ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 282] Автор : RW3ACQ Дата : 20.09.2016 23:34 R2DHG , нет ардуина одна, в том в общем-то и идея. Самый простой пример с кнопкой если взять, то мой замысел в том, чтобы по серийному порту шло нажатие на эту кнопку. Ардуина принимает сигнал по RXTX и на свой же выход D6 шлёт команду "закоротить" выходы GND и D2. Понятно, что на программном уровне это можно как-то решить, но мне не по силам пока. Вот такая задача. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 283] Автор : IG_58 Дата : 20.09.2016 23:47 Вот так пробовали? 243365 В этом варианте нужно учесть, что когда пишем единицу в D6, на D2 приходит ноль. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 284] Автор : UT0UM Дата : 20.09.2016 23:54 на свой же выход D6 шлёт команду "закоротить" выходы GND и D2. Понятно, что на программном уровне это можно как-то решить, но мне не по силам пока. так разбирайтесь! (http://arduino.ru/Tutorial/DigitalPins) а то какой то бред получается, юзаем микроконтроллер, а пином управляем через какое-то реле/оптрон с помощью другого пина :crazy: почему нельзя просто написать digitalWrite(2, LOW); ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 285] Автор : RW3ACQ Дата : 20.09.2016 23:58 IG-58 , спасибо большое за схему! Только что как раз на забугорном сайте её видел. Хотелось бы мне , чтобы сопротивление между GND и D2 было нулевым, как в нажатой кнопке. В D6 что нужно написать? Прошу прощения за все дилетантские вопросы, это всё очень увлекательно и требует времени на изучение. UT0UM, благодарю! Читал и ещё буду читать, все варианты перепробую. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 286] Автор : R2DHG Дата : 21.09.2016 00:01 Нужен полный расклад. А то в голове складывается какая то странная картина - ардуина сама себе шлет короткий импульс на другую ногу и... конечно это не сработает если написано в духе: digitalWrite(D6, LOW); delay(100); digitalWrite(D6, HIGH); Если не так, то как ? Хотя если D2 через прерывания обрабатывается, то даже и так можно наверное. (если просто закоротить насовсем - должно работать в любом случае) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 287] Автор : UT0UM Дата : 21.09.2016 00:03 В D6 что нужно написать? в D6 ничего писать не нужно! нужно в скетче исправить D6 на D2 и прописать туда LOW выложите сюда скетч, может это прояснит столь странное ТЗ Хотелось бы мне , чтобы сопротивление между GND и D2 было нулевым с оптроном такого не будет, там будет порядка 100-200 Ом, даже когда транзистор оптрона открыт -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 288] Автор : RW3ACQ Дата : 21.09.2016 00:07 R2DHG, UT0UM , друзья, спасибо большое за внимание к моему вопросу! И абсолютно справедливо замечание про 200 Ом, провел измерения, так и есть. Портят они всю картину). Пока беру тайм-аут на изучение матчасти, буду разбираться с кодами\скетчами. Ещё раз благодарю за ответы! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 289] Автор : R2DHG Дата : 21.09.2016 00:11 Да почему же портят то ? :shock: Вы же не аналоговый сигнал измеряете, если ногу не подтягивать к + таким же малым сопротивлением - там очень даже 0 будет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 290] Автор : RW3ACQ Дата : 21.09.2016 00:15 R2DHG , спасибо! Попробую повыкидывать ещё раз подтягивающий резистор и оценить обстановку. Вроде что с ним, что без него, одно и то же. Хотя надо бы перепроверить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 291] Автор : R2DHG Дата : 21.09.2016 00:17 Вы бы скетч выложили, а то может не там ищите ;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 292] Автор : RW3ACQ Дата : 21.09.2016 18:52 R2DHG, UT0UM, IG-58, друзья, спасибо ещё раз большое за Ваше участие! Заново прочитал все референции к командам Ардуины, сконфигурил пины должным образом, проставил "delay", где надо и всё заработало без оптронов и реле. Буду дальше совершенствоваться) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 293] Автор : Олег,RA3DNC Дата : 23.09.2016 21:51 Коллеги, подскажите пожалуйста. Захотелось подключить LCD по шине I2C. И вроде все библиотеки в наличии, а при компиляции скетча программа пишет что файл LiquidCrystal_I2C.h не найден и компиляция останавливается. Этот файл должен лежать в одной папке со скетчем или надо в отдельную папку положить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 294] Автор : Explorer Дата : 23.09.2016 21:54 Должен лежать в папке библиотек. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 295] Автор : Олег,RA3DNC Дата : 23.09.2016 22:57 Должен лежать в папке библиотек. Положил в папку библиотек - все равно фиг вам, не видит:-( Пишет что файл или директория отсутствует. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 296] Автор : ua3rmb Дата : 23.09.2016 23:12 И это ещё не всё... Мало того, что нужно адрес дисплея точно выставить, так там ещё библиотеку подобрать нужно и т.д. http://devdotnet.org/post/16 https://lesson.iarduino.ru/page/urok-4-podklyuchenie-lcd1602-po-i2c-k-arduino/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 297] Автор : Олег,RA3DNC Дата : 23.09.2016 23:41 Ну не знаю... Я еще в саму Ардуину ничего не заливаю. Просто делаю проверку правильности скетча. Библиотека та что надо. На другом собранном устройстве все работало. Файл LiquidCrystal_I2C.h (та самая библиотека) почему-то не видится программой. Привожу кусочек скетча (самое начало): #define CODE_VERSION #include #include #include #include #include Что не так написано? Вот сообщение об ошибке, которое выдает программа Arduino: 1.6.11 (Windows 7), Плата:"Arduino Nano, ATmega328" fatal error: LiquidCrystal_I2C.h: No such file or directory #include ^ compilation terminated. exit status 1 Ошибка компиляции для платы Arduino Nano. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 298] Автор : XENOMORPH Дата : 23.09.2016 23:48 Этот файл Почему файл? скопируйте полную папку с библиотекой, в путь \Arduino\libraries ps: только распакуйте архиватором 243590 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 299] Автор : Explorer Дата : 23.09.2016 23:53 Попробуйте скопируйте папку libraris в Документы в директорию Arduino, если она там есть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 300] Автор : Олег,RA3DNC Дата : 24.09.2016 00:10 Ну вроде разобрался куда копировать. Оказалось, эти все библиотеки совсем в другом месте лежат в Win7. Пока все равно скомпилировать не получилось, разбираюсь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 301] Автор : R2DHG Дата : 24.09.2016 01:07 Если сразу не заработает (когда уже зальется) - попробуйте другую библиотеку, бывает ноги pcf к lcd по разному разведены, у меня вот переходники (которые i2c->lcd) с обычно рекомендуемой библиотекой не заработали, а другую нашел - сразу завелось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 302] Автор : vadim_d Дата : 24.09.2016 09:56 #include Что не так написано? Вообще-то у Вас после имени файла до скобки (знака "больше") в тексте сообщения пробел вклинился, если он пришел из скетча, то может компилятор на него ругается? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 303] Автор : Borin QTH Дата : 24.09.2016 10:27 Вот все разжёвано: https://www.youtube.com/watch?v=cCiYBnVlHfM На практике проверено - работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 304] Автор : RW3DVH Дата : 24.09.2016 12:36 Недавно решил использовать ардуину, так вот мне сильно помогла FLprog, так как я не программист, но в ней при сборке проекта можно посмотреть текст самой проги. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 305] Автор : Олег,RA3DNC Дата : 24.09.2016 15:14 Заработало! Спасибо всем за помощь! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 306] Автор : Tolya Дата : 30.09.2016 20:40 На днях стал обладателем Ардуино УНО R3...задача такого плана,как на цифровых выходах их там всего 13 получить 16 и получить код например 0010010000100000 и менять его в процессе работы одной кнопкой...думал что что справлюсь сам но увы...??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 307] Автор : UT0UM Дата : 30.09.2016 20:56 На днях стал обладателем Ардуино УНО R3...задача такого плана,как на цифровых выходах их там всего 13 получить 16 и получить код например 0010010000100000 и менять его в процессе работы одной кнопкой...думал что что справлюсь сам но увы...??? использовать аналоговые в качестве цифровых нумерация все равно сквозная D0 это 0-ой D1 это 1-ый ... D13 это 13-ый А0 это 14-ый ... А5 это 19-ый https://camo.githubusercontent.com/0174ab1436903eb06dfea280a83c389460637054/68747470733a2f2f7261776769746875622e636f6d2f426f756e692f41726475696e6f2d50696e6f75742f6d61737465722f41726475696e6f253230556e6f253230523325323050696e6f75742e706e67 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 308] Автор : RN3GP Дата : 30.09.2016 21:00 Захватывающее видео для начинающих, очень рекомендую скачать. Видеоуроки по Arduino от Jeremy Blum http://rutracker.org/forum/viewtopic.php?t=3942168 У кого Resource is blocked , читайте советы на эту тему. Кто не любит скачивать https://www.youtube.com/playlist?list=PLfDmj22jP9S759DT250VVzfZs_4VnJqLa -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 309] Автор : Tolya Дата : 30.09.2016 21:51 использовать аналоговые в качестве цифровых нумерация все равно сквозная D0 это 0-ой D1 это 1-ый ... D13 это 13-ый А0 это 14-ый ... А5 это 19-ый Так с этим более менее понятно..а дальше как всё реализовать...да и возможно ли это??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 310] Автор : IG_58 Дата : 30.09.2016 22:03 как всё реализовать? Что именно? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 311] Автор : UT0UM Дата : 30.09.2016 22:08 да и возможно ли это??? возможно все! курите arduino.ru -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 312] Автор : Tolya Дата : 30.09.2016 22:10 Что именно? Да я уже и сам не знаю чего хочу...в общем запутался совсем..я думал что подключил Ардуино к компу и делай с ним что хочешь...ан нет оказалось..быстрее и проще спаять дешифратор на диодах и коммутировать код на выходе такой какой мне нужен.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 313] Автор : UT0UM Дата : 30.09.2016 22:14 быстрее и проще спаять дешифратор на диодах и коммутировать код на выходе такой какой мне нужен.... это бред как Вы можете с ней что-то делать, если Вы даже задачу сформулировать не в состоянии? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 314] Автор : vadim_d Дата : 30.09.2016 22:20 Да я уже и сам не знаю чего хочу...в общем запутался совсем.. Значит надо отойти от холста, чтобы увидеть всю картину :) А если серьезно, то правильно сформулированная задача уже наполовину решена, поэтому определите, что является входом для платы, и что она должна давать на выходе, дальше будет легче -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 315] Автор : R2DHG Дата : 30.09.2016 22:40 Да я уже и сам не знаю чего хочу...в общем запутался совсем..я думал что подключил Ардуино к компу и делай с ним что хочешь...ан нет оказалось..быстрее и проще спаять дешифратор на диодах и коммутировать код на выходе такой какой мне нужен.... Ну можете прям так и делать в лоб :-P Ардуина ваша - кодьте ее как хотите. if (digitalRead(PD2) && (!digitalRead(PD3))) { digitalWrite(PD4, HIGH); digitalWrite(PD5, HIGH); digitalWrite(PD6, LOW); digitalWrite(PD7, LOW); } И подобных блоков по числу комбинаций на входах. Если раньше не программировали - это нормально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 316] Автор : Tolya Дата : 30.09.2016 22:48 Если раньше не программировали - это нормально. Да я и никогда этим не занимался...ладно не буду морочить себе и вам голову...научился светодиодом моргать и то ладно...а так планы были грандиозные,сдуру ещё большой дисплей прикупил,а как подключит и не знаю..да и барахла всякого к ней назаказывал..во дурак то???? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 317] Автор : UT0UM Дата : 30.09.2016 22:56 Да я и никогда этим не занимался. ну Вы ж и радио не с рождения занялись :))) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 318] Автор : R2DHG Дата : 30.09.2016 22:56 Не паникуйте :-P Почитайте книжки по программированию чтобы в голове отложились некоторые приемы. Ничем особо не отличается от изучения электроники - сначала детекторный приемник (светодиодом мигать), потом усилитель на транзисторе (условия), потом на двух (циклы) и т.д. - переменные, типы, массивы. Потом в голове щелкнет и как в Матрице: "Я знаю Кунг-Фу!" (и конечно окажется, что нет... еще не совсем :-P) ( Интересно, а что за планы были ? Подключаете ее к компу и... программа рождается силой мысли ? Я тут себе станочек ЧПУ собрал - думал щас напилю себе и платы и корпуса... ага, прям сразу взял и напил - такая же фигня, все потихоньку и куча грабель :) ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 319] Автор : Tolya Дата : 30.09.2016 23:11 ( Интересно, а что за планы были ? да хотел к трансиверу подключить,там проц приказал,,долго жить,, не работает пара сдвиговых регистров..так я собрал на диодах дешифратор,вроде заработало...вот и подумал подцепить Ардуино..но не тут то было..знаний по програмированию нет,хотя можно и сделать управление по сигналам CLK,DATA и STB...но это уже для меня из области фантастики... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 320] Автор : R2DHG Дата : 30.09.2016 23:29 Задачка вроде самая ардуинская, но по CLK,DATA и STB вот так вот сходу, только помигав светодиодом... сложновато. На диодах же работало - опишите что там и что хотите добавить - напишем тут совместно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 321] Автор : Tolya Дата : 30.09.2016 23:50 напишем тут совместно. Да нет..наверно не надо..выброшу ка я этот проект из головы и пойду ка лучше читать ветку ,,Как уйти и после себя ничего не оставить,, вроде так называется... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 322] Автор : Tadas Дата : 01.10.2016 08:35 .выброшу ка я этот проект из головы Перед тем как бросить, посмотрите ещё сюда. http://flowcode.info/ Думается, освоить графическое програмирование будет проще. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 323] Автор : ra3gn Дата : 01.10.2016 09:20 Удалил -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 324] Автор : RD3Q Дата : 01.10.2016 09:23 Рано выбрасывать , посмотрите может заинтересует http://arduino.ru/forum/proekty/transistor-tester-arduino . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 325] Автор : RA3XCK Дата : 01.10.2016 09:59 Зайдите насайт www.flprog.ru Сайт для пользователей Ардуино не желающиих глубоко влезать в программирование. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 326] Автор : Tolya Дата : 01.10.2016 11:17 Всем ответившим огромная благодарность.... обязательно всё прочитаю... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 327] Автор : Tolya Дата : 01.10.2016 18:38 Прочитал..правда не всё и ничего не понял..видно уже старею... спрошу сдесь..с Ардуино пришёл 3.5 inch tftlcd for UNO R3 дисплей и это всё что на нем написано,а вот как его ставить не ясно,я как понимаю есть какая то программа для определения марки дисплея и драйверов для него.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 328] Автор : RN3GP Дата : 01.10.2016 18:44 драйверов У Вас должны быть установлены библиотеки на подсоединяемые железяки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 329] Автор : R2DHG Дата : 01.10.2016 18:45 Вот этого нет (автоматического определения). Надо знать на каком он контроллере, поищите где покупали - может написано. Если комплектом продавался - наверное просто сверху надевается. Может ног почти не остаться свободных если нацепить цветной дисплей на UNO. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 330] Автор : Tolya Дата : 01.10.2016 19:11 Да он надевается сверху и свободных ног не остаётся...и зачем я его взял,сам не пойму???? Если я его поставлю и включу без драйвера,ничего не погорит? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 331] Автор : UT0UM Дата : 01.10.2016 19:24 Да он надевается сверху и свободных ног не остаётся...и зачем я его взял,сам не пойму???? Если я его поставлю и включу без драйвера,ничего не погорит? ничего ему не будет, он просто не будет отображать инфо покажите ссылки, где покупали и так и не ясно что конкретно надо сделать? вроде бы какой-то костыль к полудохлому процу в трансивер, но тогда не понятно, зачем туда тфт дисплей на 3,5 дюйма? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 332] Автор : Tolya Дата : 01.10.2016 19:51 но тогда не понятно, зачем туда тфт дисплей на 3,5 дюйма? Дисплей так,как говорится в довесок шел...да и цена за всё с рук 500 руб ..вот и возникла идея его применения,но как вижу я не расчитал свои возможности..но ничего,всё бывает???? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 333] Автор : UT0UM Дата : 01.10.2016 20:02 но как вижу я не расчитал свои возможности да чего ж все так пессимистично??? там реально нет ничего сложного в сети миллион примеров, наверняка есть на Ваш дисплей для начала научитесь мигать подсветкой дисплея, сетодиодом же Вы уже мигаете -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 334] Автор : Tolya Дата : 01.10.2016 20:15 сетодиодом же Вы уже мигаете Это у меня уже прогресс..сейчас научился ставить его на любой цифровой выход..теперь ломаю голову как два светодиода заставить моргать или хотя бы включать... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 335] Автор : UT0UM Дата : 01.10.2016 20:20 теперь ломаю голову как два светодиода заставить моргать или хотя бы включать ну наверное нужно подать на них питание это делается командой digitalWrite(pin, HIGH); прочтите это (http://arduino.ru/Tutorial/DigitalPins) пару раз вдумчиво -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 336] Автор : R2DHG Дата : 01.10.2016 20:20 Один вешаете на один вывод, другой на другой. Пишите 2 кусочка мигалки друг за другом - один для одного, другой для другого :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 337] Автор : Tolya Дата : 01.10.2016 21:25 спасибо...сейчас внучку уложу спать и попробую,а то она быстрее меня вникает,уже второй ноутбук у неё приказал долго жить..уже и до моих подбирается..да ещё на дисплее написано AT 1063 B A1 36 C1...что бы это значило??? Добавлено через 46 минут(ы): digitalWrite(pin, HIGH); Это как я понимаю на всех цифровых выводах будет 1... а вот как мне например задать 1 выход - 0 2 выход - 1 3 выход - 1 4 выход - 0 ...и так на 16 выходах? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 338] Автор : UT0UM Дата : 01.10.2016 21:31 Это как я понимаю на всех цифровых выводах будет 1... нет pin - это номер пина Вам можно сделать так: digitalWrite(1, LOW); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, LOW); итд до номера 16 только сначала в сетапе надо сказать ардуине что пины будут работать как на вывод http://arduino.ru/Reference/PinMode нужно написать pinMode(1, OUTPUT); pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); итд -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 339] Автор : Tolya Дата : 01.10.2016 22:00 Сейчас попробую...о результате доложу... Добавлено через 7 минут(ы): Сейчас попробую...о результате доложу... digitalWrite(1, LOW); как начать с пустой строки или что надо написать впереди ещё... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 340] Автор : UT0UM Дата : 01.10.2016 22:12 как начать с пустой строки или что надо написать впереди ещё... блин, ну я ж Вам столько ссылок уже дал Вы хоть в одну заглядывали? там же есть пример скетча Вам надо сделать так: void setup() { pinMode(1, OUTPUT); // устанавливает режим работы - выход pinMode(2, OUTPUT); // устанавливает режим работы - выход pinMode(3, OUTPUT); // устанавливает режим работы - выход pinMode(4, OUTPUT); // устанавливает режим работы - выход } void loop() { digitalWrite(1, LOW); digitalWrite(2, HIGH); digitalWrite(3, HIGH); digitalWrite(4, LOW); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 341] Автор : R2DHG Дата : 01.10.2016 22:12 Можете новый скетч начать Файл -> Новый В этой секции прописываете то, что надо сделать один раз при старте void setup() { // конфигурируем ногу для 1го светодиода на выход pinMode(2, OUTPUT); // конфигурируем ногу для 2го светодиода на выход pinMode(3, OUTPUT); } а в этой основные действия, которые будут постоянно повторяться void loop() { // включаем один, выключаем другой digitalWrite(2, LOW); digitalWrite(3, HIGH); // пауза 0.5 с delay(500); // теперь наоборот digitalWrite(2, HIGH); digitalWrite(3, LOW); // пауза 0.5 с delay(500); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 342] Автор : Tolya Дата : 01.10.2016 22:30 блин, ну я ж Вам столько ссылок уже дал Вы хоть в одну заглядывали? Да не ругайтесь...не то что заглядывал,а прочитал уже не один раз.. но делаю как вы написали и ничего не получается,ошибка компилирования пишет и всё... ладно отбросим еденички и нолики на потом..сейчас у меня моргает светодиод на 4 выходе,там в программе я просто поменял с 13 на 4 выход...теперь как его теперь просто зажечь на 4 выходе.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 343] Автор : UT0UM Дата : 01.10.2016 22:44 ошибка компилирования пишет и всё... 244253 откуда там может быть ошибка? значит Вы где-то накосячили сейчас у меня моргает светодиод на 4 выходе,там в программе я просто поменял с 13 на 4 выход...теперь как его теперь просто зажечь на 4 выходе.. а Вы что, совсем не понимаете что там в скетче написано??? Там написано: зажечь светодиод; подождать какое-то время; потушить светодиод; подождать какое-то время; и вот эти 4 команды повторяются по кругу так как его теперь просто зажечь на 4 выходе? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 344] Автор : Tolya Дата : 02.10.2016 00:02 Не мог уснуть...взял другой ноутбук с семёрой.. и всё скомпилировалось с первого раза нормально...до этого пробовал на ноуте с XP ...прога одна и таже Arduino 1.7.11... Добавлено через 21 минут(ы): Вроде всё получилось,прописал все 16 выходов как мне нужно,скомпилировал и завтра попробую прошить...ещё раз всем огромное спасибо...а так.. ещё бы маленько и мог бы лишиться второго ноутбука за день..а это уж было бы слишком круто... Спокойной ночи!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 345] Автор : Tolya Дата : 02.10.2016 11:16 Всем Доброго дня! Ну вроде с выходами пока получается,начинаю с чистого листа,пишу всё как надо,компилирую и заливаю...всё нормально.Только если я устанавливаю 1 на первом выходе,начинает гореть светодиод TX... и что интересно под семерой всё нормально,а вот с XP начинаются проблемы..ладно будем учится дальше.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 346] Автор : Tadas Дата : 02.10.2016 11:58 Не мог уснуть...взял другой ноутбук с семёрой.. и всё скомпилировалось с первого раза нормально.. Так и есть, с некоторой версии (кажись 1.5 и выше) Aduino IDE, линкер работает только на винде не ниже семёрки. Так что ХР отложите в сторону. P.S. а может кто нибудь нашёл противоядие для этого бага ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 347] Автор : veso74 Дата : 02.10.2016 13:08 Tadas, для winXP пробуйте в файле ld.exe поставит совместимость с windows 98 или наоборот: отключить если включено. У меня winXP, Arduino IDE v1.6.12. Не работает всегда :(, но работает. Другой вариант: Для версии Arduino IDE v1.6.9 (и меньше) работает замена файла ld.exe от версии v1.0.5. На IDE v1.6.10 (10, 11, 12) етот вариант неприложим. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 348] Автор : Tadas Дата : 02.10.2016 13:33 Спасибо Veso. Включение совместимости с W95/98 не помогло. Ардуино мне нужно только изредка, так что ноутбук с W7 спасает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 349] Автор : Tolya Дата : 02.10.2016 18:48 Сегодня позанимался писаниной,кампилированием и прошивкой...вроде с ноликами и единичками на выходах разобрался...теперь вопрос такого плана,как всё это реализовать с помощью двух сдвиговых регистров 4094.. как всё это работает более менее ясно и уже начитался в инете..но вот как это программно реализовать....??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 350] Автор : UT0UM Дата : 02.10.2016 19:30 это реализовать да напишите уже в конце концов что конкретно надо реализовать? оно что тупо по кругу должно бегать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 351] Автор : R2DHG Дата : 02.10.2016 19:31 Вот тут можно пример глянуть http://ediy.com.my/blog/item/114-using-hef4094-shift-registers-with-arduino -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 352] Автор : UT0UM Дата : 02.10.2016 19:37 сделать управление по сигналам CLK,DATA и STB если у вас есть эти сигналы и есть ардуино то зачем еще 4094? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 353] Автор : Tolya Дата : 02.10.2016 20:54 если у вас есть эти сигналы и есть ардуино то зачем еще 4094? Сдвиговые регистры 2 шт BU4094 стоят трансивере в PA UNIT,c микроконтролера на них идёт мусор,видно произошёл программный сбой.. я их выпаял и на их выходы подают сигналы 0 или 1 в зависимости от диапазона,сначала я хотел подать эти сигналы с Ардуино...но это опять много проводов...а вот если задействовать сигналы CLK,DATA,STB то надо будет всего четыре провода....и запаять на место сдвиговые регистры... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 354] Автор : UT0UM Дата : 02.10.2016 21:03 Сдвиговые регистры 2 шт BU4094 стоят трансивере в PA UNIT,c микроконтролера на них идёт мусор,видно произошёл программный сбой.. я их выпаял и на их выходы подают сигналы 0 или 1 в зависимости от диапазона,сначала я хотел подать эти сигналы с Ардуино...но это опять много проводов...а вот если задействовать сигналы CLK,DATA,STB то надо будет всего четыре провода....и запаять на место сдвиговые регистры... ну теперь более мненее понятно а откуда ардуина будет значть какие сигналы CLK,DATA,STB надо подать? она ж откуда то должна диапазон считать? кстати, Вам для этих целей надо было брать Arduino Pro Mini залили бы в нее скетч и поставили навсегда в трансивер -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 355] Автор : Tolya Дата : 02.10.2016 21:22 она ж откуда то должна диапазон считать? На данном этапе это не надо,трансивер пока будет использоваться только на приём..включаю на трансивере диапазон 3.5 Мгц и с Ардуно подаю соответствующий код на РА и включается соответствующий ФНЧ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 356] Автор : UT0UM Дата : 02.10.2016 21:25 включаю на трансивере диапазон 3.5 Мгц и с Ардуно подаю соответствующий код а откуда ардуина будет знать что вы включили 3,5МГц? или речь вообще об одном бенде? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 357] Автор : Tolya Дата : 02.10.2016 21:48 а откуда ардуина будет знать что вы включили 3,5МГц? или речь вообще об одном бенде? Ардуине на данном этапе..этого знать и не надо...я сам буду загружать или переключать,если это можно сделать, соответствующие диапазоны.. Конечно лучше заменить процессор в трансивере,но пока не могу найти таковой..а так трансивер полностью рабочий и выкидывать его как то жалковато...пусть хоть на приём трудиться,впринципе можно и передачу запустить...но это будет уже другая история.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 358] Автор : UT0UM Дата : 02.10.2016 21:58 Ардуине на данном этапе..этого знать и не надо...я сам буду загружать или переключать,если это можно сделать, соответствующие диапазоны.. Конечно лучше заменить процессор в трансивере,но пока не могу найти таковой..а так трансивер полностью рабочий и выкидывать его как то жалковато...пусть хоть на приём трудиться,впринципе можно и передачу запустить...но это будет уже другая история.. ну тогда берите вот отсюда Вот тут можно пример глянуть http://ediy.com.my/blog/item/114-using-hef4094-shift-registers-with-arduino а что за трансивер? может там можно все автоматизировать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 359] Автор : R2DHG Дата : 02.10.2016 21:59 Вот этот код отправит 2 байта в ваши регистры. Там где 1й / 2й байт выставьте биты как вам нужно. Ноги 8-12-11 тоже поставьте какие вам удобней. //HEF4094 int latchPin = 8; //STR(pin 1) int clockPin = 12; //CP(pin 3) int dataPin = 11; //D(pin 2) void setup() { pinMode (latchPin, OUTPUT); pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); } void loop() { sendToReg (0b00000000); // 1й байт sendToReg (0b00001000); // 2й байт } void sendToReg(byte theByte) { digitalWrite (latchPin, HIGH); //Pull latch LOW to send data shiftOut (dataPin, clockPin, MSBFIRST, theByte); //Send the data digitalWrite (latchPin, LOW); // Pull latch HIGH to stop sending data } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 360] Автор : UT0UM Дата : 02.10.2016 22:07 ну тогда лучше так, один раз записали и все, зачем дергать постоянно? //HEF4094 int latchPin = 8; //STR(pin 1) int clockPin = 12; //CP(pin 3) int dataPin = 11; //D(pin 2) void setup() { pinMode (latchPin, OUTPUT); pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); sendToReg (0b00000000); // 1й байт sendToReg (0b00001000); // 2й байт } void loop() { } void sendToReg(byte theByte) { digitalWrite (latchPin, HIGH); //Pull latch LOW to send data shiftOut (dataPin, clockPin, MSBFIRST, theByte); //Send the data digitalWrite (latchPin, LOW); // Pull latch HIGH to stop sending data } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 361] Автор : R2DHG Дата : 02.10.2016 22:11 А да ) забыл перетащить ) Надо по одному биту выставлять там ? Может сразу сделать пару кнопок туда/сюда и пока хватит для попробовать ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 362] Автор : Tolya Дата : 02.10.2016 22:11 а что за трансивер? FT-857.... вот такую инфо должен выдать второй сдвиговый регистр,по первому пока не нашел,завтра найду или пропишу по новой: 00000010 - 1.8 Мгц 00100000 - 3.6 Мгц 00010000 - 10/14 Мгц 10000000 - 18/21 Мгц 00000100 - 24/28 Мгц 01000000 - 50 Мгц 00000000 - КВ ТХ и RX VHF и UHF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 363] Автор : UT0UM Дата : 02.10.2016 22:24 FT-857.... о в нем можно все через САТ сделать заодно ардуину использовать как интерфейс между компом и трансивером это же они? 244358 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 364] Автор : Олег,RA3DNC Дата : 02.10.2016 22:29 о в нем можно все через САТ сделать Так САТ, наверное, через процессор управляет схемой, а если проц дохлый ? Или снимать сигналы на Ардуину с САТ-разъема? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 365] Автор : UT0UM Дата : 02.10.2016 22:36 там проц приказал,,долго жить,, не работает пара сдвиговых регистров пишет что не работает пара регистров если бы там сдох проц, то имхо, был бы труп а так прием вроде есть значит может и САТ работает значит можно повесить ардуину как интерфейс между компом и трансивером и транслировать через нее команды с компа в трансивер и ответы с трансивера в комп а если комп не подключен, то периодически опрашивать проц на предмет текущей частоты короче, прикольная задача, не сложная, но в то же время, результат, в виде работающего трансивера, очень порадует -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 366] Автор : Tolya Дата : 02.10.2016 22:46 пишет что не работает пара регистров Да...на них с проца идет ,,мусор,, и нет сигнала STB именно на эти два регистра,коснувшись пальцем линии STB я могу их защелкнуть,но включается не то что надо...а какая то ересь.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 367] Автор : R2DHG Дата : 02.10.2016 22:50 Так может там и не мусор, просто с STB что то ? Эффект может быть похожим. Не пробовали на проце непосредственно его "нащупать" ? Вдруг в контактах/проводах/дорожках потерялся ? Остальные функции в порядке ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 368] Автор : Tolya Дата : 02.10.2016 23:07 Остальные функции в порядке ? Да всё уже перепроверил и не один раз и сдвиговые регистры поменял,а что самое интересное коснувшись пальцем и держа его на STB начинает всё переключаться,но опять таки невпопад отпустил палец еще какое то время попереключалось и всё опять тишина,могу просто подцепить от мультиметра щуп и всё начинает переключаться...вообщем ерунда какая то...остальное всё функции работает без нареканий...если я скомутирую через диодики соответствующий диапазон,то он начинает работать на прием...да и передача есть... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 369] Автор : R2DHG Дата : 02.10.2016 23:11 Все верно, так будет и если нет одного сигнала защелки, с данными может быть все в порядке. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 370] Автор : Tolya Дата : 02.10.2016 23:17 с данными может быть все в порядке. Тем более сигналы CLK и DATA общие для синтезатора и выходного каскада,только защёлки разные.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 371] Автор : R2DHG Дата : 02.10.2016 23:47 Нет возможности напрямую проводок кинуть от ноги проца до STB ? Монтаж плотный / шаг мелкий ? Прям вот чтоб одна нога отвалилась, а остальное работает... странно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 372] Автор : Tolya Дата : 03.10.2016 09:55 Нет возможности напрямую проводок кинуть от ноги проца до STB ? Монтаж плотный / шаг мелкий ? Прям вот чтоб одна нога отвалилась, а остальное работает... странно. Попробовать кинуть напрямую проводок от проца до сдвиговых регистров,конечно можно ... хотя я эту линию измерял мультиметром и аналоговым тестером,вроде всё нормально...хотя там стоят конденсаторы по 47 пф...может они чего вносят или просто чисто программный сбой.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 373] Автор : Tadas Дата : 03.10.2016 10:36 Возможно, отгорел один из пушпульных транзисторов вывода STB в проце. Попробуйте подключить резистор в несколько кОм между STB и плюсом питания проца. Если не поможет, то между STB и землей. В каждом варианте посмотрите осциллографом, что происходит с STB. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 374] Автор : UT0UM Дата : 03.10.2016 11:10 хотя там стоят конденсаторы по 47 пф я когда то по инерции запаял по 100 пф на SPI шину и были постоянные сбои передачи данных, выкусил те кондеры и все стало работать как часы -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 375] Автор : Tolya Дата : 03.10.2016 16:14 Сейчас попробовал посадить линию STB на землю через 10 ком...результат нулевой,подал питание с процессора через 10 ком...переключаться диапазоны стали но не так, как надо,тот же эффект что и при касании пальцем,в общем проц загружает в сдвиговые регистры не то что надо... хотя может и нет сигналов СLK,DATA и STB именно для PA, а подгружаются данные для синтезатора,ведь шины CLK и DATA общие..???? Да..ещё по поводу конденсаторов..если посмотреть на схему то с процессора сигналы CLK,DATA и STB проходят на разъём через 470 ом и по 220 пф на землю на плате MAIN UNIT и потом через шлейф на плату PA и там ещё по 47 пф на землю и потом уже на сдвиговые регистры...может в них собака зарыта ??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 376] Автор : R2DHG Дата : 03.10.2016 16:23 Видимо так, защелкиваются данные абы какие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 377] Автор : Tadas Дата : 03.10.2016 16:33 ,ведь шины CLK и DATA общие..???? CLK и DATA общие, но для каждого адресата идёт свой STB. Осциллографа у Вас нет ? Видимо так, защелкиваются данные абы какие. Видимо нога STB полностью нерабочая и при подаче высокого уровня регистр открывается постоянно. Тогда туда и сыплются данные, предназначенные для других. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 378] Автор : Tolya Дата : 03.10.2016 17:07 Осциллографа у Вас нет ? Осциоллограф С1-104 у меня есть..но как им не пытался ничего не мог увидеть.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 379] Автор : Tolya Дата : 03.10.2016 21:05 Смотрю мы отошли от темы Ардуино..Но осмелюсь задать еще один вопрос,как записывается информация в сдвиговые регистры по общей линии CLK,DATA c раздельными STB.....например как в этом случае: PCK,PD и BSTB - два сдвиговых регистра BU4094 на плате PA UNIN PCK,PD и VSTB - один сдвиговый регистр BU4094 на плате PLL UNIT PCK,PD и PSTB - одна микросхема FQ7925 на плате PLL UNIT -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 380] Автор : UT0UM Дата : 03.10.2016 21:08 Видимо нога STB полностью нерабочая странно все это, вот так бац и вылетела нога на проце причем практически не нагруженная я бы сдул все кондеры и запаял новые -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 381] Автор : RN3GP Дата : 03.10.2016 22:36 Вопросик к опытным. Если я залью в Arduino hex файлы ( http://www.getchip.net/posts/104-proshivka-lyubogo-hex-fajjla-v-arduino-pri-pomoshhi-shtatnogo-zagruzchika-bootloader/ ), это будет без последствий для родного загрузчика, т.е я потом без проблем смогу заливать стандартные скетчи? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 382] Автор : Tolya Дата : 04.10.2016 09:20 странно все это, вот так бац и вылетела нога на проце причем практически не нагруженная Вот..вот и я вчера об этом подумал..и взял несколько листов бумаги,включил свой моск и вычертил весь алгоритм записи в сдвиговые регистры BU4094 и микросхему синтезатора FQ7925...получается что это обычный программный сбой..как говорится физика есть..а вот арифметика хромает..так что вопрос по подключению Ардуино,что бы загрузить недостающие 16 бит в PA ... остаётся открытым.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 383] Автор : R2DHG Дата : 04.10.2016 10:06 Без сигнала STB вы хоть с ардуиной хоть без не поймаете нужные биты. Вот вручную выставив диапазон или получив его откуда нибудь еще (не с этих линий data / clk, возможно опросом трансивера по CAT, но тогда комп по CAT будет непросто подключить) можно будет залить ардуиной в регистры нужные биты - скетч для попробовать я кидал пару страниц назад. Вопросик к опытным. Если я залью в Arduino hex файлы ( http://www.getchip.net/posts/104-proshivka-lyubogo-hex-fajjla-v-arduino-pri-pomoshhi-shtatnogo-zagruzchika-bootloader/ ), это будет без последствий для родного загрузчика, т.е я потом без проблем смогу заливать стандартные скетчи? XLoader'ом попробуйте. Если обычным ПО для программирования - затрет. Но загрузчик и фьюзы можно легко восстановить из среды если программатор есть, я бы не заморачивался. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 384] Автор : UB0WBL Дата : 04.10.2016 10:28 Вопросик к опытным. Если я залью в Arduino hex файлы ( http://www.getchip.net/posts/104-proshivka-lyubogo-hex-fajjla-v-arduino-pri-pomoshhi-shtatnogo-zagruzchika-bootloader/ ), это будет без последствий для родного загрузчика, т.е я потом без проблем смогу заливать стандартные скетчи? Затрет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 385] Автор : Tolya Дата : 04.10.2016 11:29 Без сигнала STB вы хоть с ардуиной хоть без не поймаете нужные биты. Да этих бит нет и в помине...их просто напросто не выдает микроконтроллер,выдал биты для PLL и замолчал....ну да ладно,вчера нашел более менее удобное место где можно врезаться Ардуиной и можно будет попробовать...но это как будет со временем... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 386] Автор : UT0UM Дата : 04.10.2016 11:40 их просто напросто не выдает микроконтроллер странно как-то, что в мк стерлась именно эта часть кода? какая-то мистика прям -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 387] Автор : Tolya Дата : 04.10.2016 12:29 странно как-то, что в мк стерлась именно эта часть кода? какая-то мистика прям Эт точно...сам цикл загрузки происходит в три этапа.загрузил-защёлкнул,загрузил-защёлкнул..а вот как доходит до загрузки в регистры PA....всё стоп..а по идее он ещё должен догрузить ещё 16 бит в регистры РА,вытолкнув оттуда биты для PLL и защёлкнуть..а вот этого и не происходит...эти PLL биты остаются в регистрах РА и я пальцем или +5 через резистор 10 ком на STB загружаю в PA и отсюда всякая ерунда.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 388] Автор : UT0UM Дата : 04.10.2016 12:43 эти PLL биты остаются в регистрах РА и я пальцем или +5 через резистор 10 ком на STB загружаю в PA и отсюда всякая ерунда.... так может быть достаточно будет с помощью ардуино программно сформировать недостающий сигнал STB? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 389] Автор : Tolya Дата : 04.10.2016 15:19 так может быть достаточно будет с помощью ардуино программно сформировать недостающий сигнал STB? Нет..тут надо полностью соединять Ардуино по трём проводам ...так как микроконтроллер не выдает код и сигнал STB что бы его защёлкнуть..так по логике,если бы он был в регистрах,то при исскуственой подаче сигнала STB,он был бы на выходе..а так увы?? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 390] Автор : R2DHG Дата : 04.10.2016 15:45 Чудеса какие то. А с PLL тогда как бороться ? Тоже с ардуины грузить ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 391] Автор : Tolya Дата : 04.10.2016 16:15 А с PLL тогда как бороться ? Там ничего делать не надо...там всё работает нормально и как положено, -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 392] Автор : R2DHG Дата : 04.10.2016 16:54 А если оттуда взять инфу - по ней можно расшифровать диапазон ? Может так сделать или есть другие способы (ну кроме ручного) ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 393] Автор : UT0UM Дата : 04.10.2016 20:44 Может так сделать или есть другие способы а чем САТ не подходит? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 394] Автор : R2DHG Дата : 04.10.2016 21:23 CAT будет занят, а так подходит :-P ну еще скетч уже простым не будет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 395] Автор : UT0UM Дата : 04.10.2016 21:29 CAT будет занят, а так подходит :-P ну еще скетч уже простым не будет. ну и что что занят? можно подслушивать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 396] Автор : R2PM Дата : 04.10.2016 22:06 можно подслушивать http://iz6ndw.blogspot.ru/2012/01/arduino-radio-cat-interface-for-antenna.html http://www.ik5pwc.it/en/civ_remote_antenna_switch_2.html (http://iz6ndw.blogspot.ru/2012/01/arduino-radio-cat-interface-for-antenna.html) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 397] Автор : R2DHG Дата : 04.10.2016 22:08 И сделать два режима слушать / опрашивать ? Это уже не пару байт отправить в регистры :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 398] Автор : UT0UM Дата : 04.10.2016 22:19 И сделать два режима слушать / опрашивать ? Это уже не пару байт отправить в регистры :-P ну или выбросить трансивер http://iz6ndw.blogspot.ru/2012/01/arduino-radio-cat-interface-for-antenna.html (http://iz6ndw.blogspot.ru/2012/01/arduino-radio-cat-interface-for-antenna.html)http://www.ik5pwc.it/en/civ_remote_antenna_switch_2.html то для айкомов в 857ом по другому в режиме подслушивания обязательно надо слушать запрос иначе нельзя понять когда радио частоту по САТ шлет -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 399] Автор : Tolya Дата : 05.10.2016 11:02 ну или выбросить трансивер Ну это уж слишком...может всё таки найду подходящий микроконтроллер и запущу его...а пока,раз Ардуину не подключить..пусть работает по старому дедовскому методу...с дешифратором на диодах... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 400] Автор : RX9CDR Дата : 05.10.2016 11:40 Совершенно случайно нашел интересную схему синтезатора частоты на ардуино нано и двух модулях AD9850 для SDR аппаратуры. Каждый модуль генерирует частоту со сдвигом 90 градусов. При чем, градусы можно выставлять программно. Нет ли среди участников форума специалистов, готовых довести этот синтезатор до ума? Я имею в виду переключалку диапазонов, изменение шага настройки и другие радиолюбительские вкусняшки. 244549 Вот оригинал статьи http://py2ohh.w2c.com.br/trx/qdrt2x9850/qdrt2x9850.html Вот гуглопереводчик http://translate.google.com/translate?hl=ru&sl=auto&tl=ru&u=http%3A%2F%2Fpy2ohh.w2c.com.br%2Ftrx%2Fqdrt2x9850%2Fqdrt2x9850.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 401] Автор : R2DHG Дата : 05.10.2016 11:44 Ну это уж слишком...может всё таки найду подходящий микроконтроллер и запущу его...а пока,раз Ардуину не подключить..пусть работает по старому дедовскому методу...с дешифратором на диодах... С чего вы решили, что ардуино не подходит ? Вы ведь так и не определились с задачей, мы за вас нафантазировали всякого. К "подходящему" микроконтроллеру тоже придется программу писать, только будет еще сложнее. Совершенно случайно нашел интересную схему синтезатора частоты на ардуино нано и двух модулях AD9850 для SDR А нужен ли такой если программа на компе не сможет им управлять ? Можно посмотреть вот такой https://sites.google.com/site/rshfiqtransceiver/home -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 402] Автор : Tolya Дата : 05.10.2016 12:20 мы за вас нафантазировали всякого. К "подходящему" микроконтроллеру тоже придется программу писать, только будет еще сложнее. Да нет..всё нормально и огромная всем благодарность,сейчас заказал пару сдвиговых регистров и всё соберу на макете,опробую и если всё в норме, внедрю в производство...а насчет программирования микроконтроллера,так есть у меня знакомый кузнец,всю жизнь в кузне проработал,так он сказал,приноси.. сваяем что нить...главное не забудь :пиво::пиво::пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 403] Автор : UT0UM Дата : 05.10.2016 12:24 может всё таки найду подходящий микроконтроллер и запущу его...а пока,раз Ардуину не подключить. что значит "подходящий"? почему ардуину не подключить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 404] Автор : US7IGN Дата : 05.10.2016 13:40 почему ардуину не подключить? где-то я такое уже видел =) http://www.radioscanner.ru/forum/topic49144.html#msg1272456 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 405] Автор : Tolya Дата : 05.10.2016 16:12 что значит "подходящий"? Извините,неправильно выразился..настоящий,с родной прошивкой для замены.. но уже третий месяц ищу...пока безрезультатно...обращался в сервис центры..но там отказались...а в ессу.ру сказали полгода,а может и больше ждать придется...и то не факт... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 406] Автор : Владимир_К Дата : 05.10.2016 16:27 Там ничего делать не надо...там всё работает нормально и как положено, Если "там" работает как положено, то и остальная часть программы должна работать "как положено". Не бывает так, чтобы пропала (испортилась) часть программы (конечно если не слетела память EEPROM и то, не всегда это может быть причиной. Или если программа криво написана с самого начала, что, понятно, не в этом случае). Я уже Вам рекомендовал спаять триггер и проверить наличие сигнала. Еще, я бы посоветовал, спаять внешнюю линейку регистров. Подать на них три сигнала и посмотреть поведение. Собрать также щуп с резистором и светодиодом, которым проверить что будет в этом регистре. Это простейшая диагностика. И надо начинать с простого, а потом уж идти дальше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 407] Автор : Tolya Дата : 05.10.2016 16:55 И надо начинать с простого, а потом уж идти дальше. Я уже это простое прохожу уже не по одному разу....и результат тот же..ну не грузятся последние 16 бит в регистры на плате РА.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 408] Автор : Tolya Дата : 05.10.2016 18:16 Если "там" работает как положено, то и остальная часть программы должна работать "как положено". Не бывает так, чтобы пропала (испортилась) часть программы Может и ещё как может..по работе часто такое происходит то сигнальные пропадут,то разговорные а то и другое пропадет или канал вообще из системы выпадет,да много чего происходит,иногда помогает банальная перезагрузка...а в большинстве заливаешь прогу по новой и всё...был бы проц в трансивере перепрограмируемый,то проблему можно было бы решить,а так увы и ах... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 409] Автор : Tolya Дата : 07.10.2016 11:13 Пока суть...да дело,разбираюсь с Ардуино..но пока дальше светодиодов дело не движется,хотя уже и TFT дисплей запустил,но не пойму зачем он нужен мне...Вопрос такого плана..а можно как то сформировать сигнал STB так,что бы кнопочку нажал и регистры защелкнуться... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 410] Автор : DerBear Дата : 07.10.2016 11:40 Совершенно случайно нашел интересную схему синтезатора частоты на ардуино нано и двух модулях AD9850 для SDR аппаратуры. Каждый модуль генерирует частоту со сдвигом 90 градусов. При чем, градусы можно выставлять программно. Вот оригинал статьи http://py2ohh.w2c.com.br/trx/qdrt2x9850/qdrt2x9850.html Вот гуглопереводчик http://translate.google.com/translat...drt2x9850.html Ну, наконец кто-то это сделал! У меня сразу вопрос, может кто-то может подружить это железо с программой miniVNA и уже таки сделает правильный векторный анализатор (в т.ч. антенн) со знаком реактивности и за 3 копейки ценой? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 411] Автор : R2DHG Дата : 07.10.2016 15:39 Это как то не с того конца, сделать генерацию двух таких сигналов намного легче, чем разобраться со всем остальным, тогда логичнее взять готовый проект вроде https://hamprojects.wordpress.com/2016/02/21/hf-arduino-vna-english-version/ и прикрутить туда второй генератор. Вопрос такого плана..а можно как то сформировать сигнал STB так,что бы кнопочку нажал и регистры защелкнуться... А что в них защелкнется то при этом ? :) Можете просто кнопку к регистрам подключить - будет именно так и работать, мк зачем ? http://risovach.ru/upload/2016/10/mem/nelzya-prosto-tak-vzyat-i-boromir-mem_126266648_orig_.jpg Или имеется в виду сформировать все три сигнала - DATA/CLK/STB по нажатию кнопки ? Тогда что должно быть в DATA ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 412] Автор : Tolya Дата : 07.10.2016 16:08 Тогда что должно быть в DATA ? Да...вот об этом то я и не подумал..надо всё по новой пересчитать.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 413] Автор : Владимир_К Дата : 07.10.2016 16:51 А что в них защелкнется то при этом Можно и без контроллера.. Берем несколько микросхем (регистров) с возможностью параллельного ввода данных(например К555ИР9). К этим входам подключаем тумблеры. Набираем тумблерами нужный код, потом заталкиваем его в регистры трансивера, подавая нужное число тактирующих импульсов (8,16 или 24, в зависимости от разрядности регистра). И потом защелкиваем. Импульсы надо подавать не кнопкой, она, при одном нажатии, выдаст их сотню:smile:. А нужно один. Для этого - паяем триггер(есть и другие варианты схем, способных выдать одиночный импульс). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 414] Автор : Tolya Дата : 07.10.2016 17:07 А нужно один. Для этого - паяем триггер(есть и другие варианты схем, способных выдать одиночный импульс). Всё это конечно хорошо...когда всё под руками есть..а тут надо с десяток резюков на 200 ом...всё перерыл и нашёл только два...так что не всё благополучно ,, в нашем королевстве,, а заказывать всё по мелочам в тырнете...так за отправку сдерут немерено...,,за морем телушка..полушка,да рупь за перевоз,, -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 415] Автор : Tolya Дата : 07.10.2016 21:46 Вывел провода CLK,DATA и STB для подключения к ардуино..теперь надо загрузить код: 00100000 00000000 вкл VHF диапазон 01000000 00000000 вкл UHF диапазон и вот тут полный ступор хотя и прочитал кучу инфо по подключению сдвиговых регистров к светодиодам и индикаторам....а тут непонятно... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 416] Автор : R2DHG Дата : 07.10.2016 22:41 Советский Союз помните, а что было 5 дней назад - с трудом ? :-P Тут как подключать такие регистры к ардуино http://ediy.com.my/blog/item/114-using-hef4094-shift-registers-with-arduino. Вот этот код отправит 2 байта в ваши регистры. Там где 1й / 2й байт выставьте биты как вам нужно. Ноги 8-12-11 тоже поставьте какие вам удобней. (Если по ссылке выше рабочий пример, то этот тоже должен работать.) //HEF4094 int latchPin = 8; //STR(pin 1) int clockPin = 12; //CP(pin 3) int dataPin = 11; //D(pin 2) void setup() { pinMode (latchPin, OUTPUT); pinMode (clockPin, OUTPUT); pinMode (dataPin, OUTPUT); sendToReg (0b00000000); // 1й байт sendToReg (0b00001000); // 2й байт } void loop() { } void sendToReg(byte theByte) { digitalWrite (latchPin, HIGH); //Pull latch LOW to send data shiftOut (dataPin, clockPin, MSBFIRST, theByte); //Send the data digitalWrite (latchPin, LOW); // Pull latch HIGH to stop sending data } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 417] Автор : Tolya Дата : 07.10.2016 22:58 Советский Союз помните, а что было 5 дней назад - с трудом ? Так в Советском Союзе прошла вся моя несознательная жизнь..а как ,,гегемон,, пришел..стал вести сознательную жизнь...отсюда и все проблемы.. а за скетч спасибо...:пиво::пиво::пиво: буду пробовать,отпишусь...мне суть всего этого ухватить,а там дело пойдет..но пока не получается.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 418] Автор : Tolya Дата : 08.10.2016 11:36 Вроде заработало,но видно где то я ,,накосячил,, с кодом..разбираюсь.. да ещё вопрос,а можно сделать так что бы не дергать питание, а загружать кнопкой... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 419] Автор : RD3Q Дата : 08.10.2016 14:14 А ни кто не пробывал собрать автоматический антенный тюнер на Ардуино? Может кто встречал скетчи именно, про тюнер UR4QBP читал на его форуме!Приладить блок реле и КСВ метр с индикатором! Но нужен скетч! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 420] Автор : UT0UM Дата : 08.10.2016 15:00 да ещё вопрос,а можно сделать так что бы не дергать питание, а загружать кнопкой... нажимайте резет на ардуине -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 421] Автор : UA0YAS Дата : 08.10.2016 15:21 RD3Q, перекомпилируйте исходники UR4QBP под ардуиновский микроконтроллер и запишите программатором. Скетч зачем? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 422] Автор : R2DHG Дата : 08.10.2016 15:53 да ещё вопрос,а можно сделать так что бы не дергать питание, а загружать кнопкой... Для отладки можете перенести вот эти строчки sendToReg (0b00000000); // 1й байт sendToReg (0b00001000); // 2й байт в основной цикл и добавить паузу - будет слать раз в секунду, ничего плохого вроде от этого не будет. void loop() { sendToReg (0b00000000); // 1й байт sendToReg (0b00001000); // 2й байт delay(1000); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 423] Автор : UT0UM Дата : 08.10.2016 16:01 будет слать раз в секунду, ничего плохого вроде от этого не будет. :) когда меня учили программировать, то говорили, что ресурсы беречь надо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 424] Автор : R2DHG Дата : 08.10.2016 16:15 Тогда ресурсов было мало и 640 кБ "хватало всем" :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 425] Автор : RW3ACQ Дата : 11.10.2016 20:56 Друзья, приветствую всех! Помогите, пожалуйста, разобраться со схемой электронного манипулятора от M0XPD. В своей статье автор приводит скетч и рисунок в формате Fritzing. Собрал, но не работает должным образом. Тупо синусоида 600 Hz при включении питания. Вот схема: http://4.bp.blogspot.com/-nCi5vobJ5HQ/UQ4GGTeixcI/AAAAAAAAEuo/G733sFyVtQQ/s1600/Fritzing.jpg и скетч соответственно в приложении M0XPD.txt 245059 Если кому несложно нарисуйте схему электрическую принципиальную данного устройства, а то как то обидно слегка)). Без кнопок конечно, они мне не нужны совсем. Номиналы резисторов автор указал (10 кОм) и на том спасибо. Написал конечно ему письмо, но, думаю, свои коллеги помогут быстрее. Оригинальная статья находится по адресу: http://m0xpd.blogspot.ru/2013/02/keyerduino.html Благодарю всех заранее за помощь! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 426] Автор : RN3GP Дата : 11.10.2016 21:04 Если кому несложно нарисуйте схему электрическую принципиальную данного устройства, а то как то обидно слегка)). А что ее рисовать, она вся на макетке. Красными линиями нарисованы внутренние соединения, для примера. Питание по все длине, горизонтально, вертикальные по 6 отверстий, тоже нарисовал несколько. Разобраться, что куда и с кем:ржач: несложно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 427] Автор : RW3ACQ Дата : 11.10.2016 21:09 Владимир, спасибо! Как доска с дырками устроена я понимаю. Но НЕ работает это дело в таком режиме, к сожалению. Поэтому тех, кто может, прошу схему нормальную ( ГОСТ 2.702-75, ГОСТ 2.708-81) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 428] Автор : UT0UM Дата : 11.10.2016 21:17 Владимир, спасибо! Как доска с дырками устроена я понимаю. Но НЕ работает это дело в таком режиме, к сожалению. Поэтому тех, кто может, прошу схему нормальную ( ГОСТ 2.702-75, ГОСТ 2.708-81) соберите на ардуино ключ K3NG заводится с попинка возможностей тьма! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 429] Автор : RW3ACQ Дата : 11.10.2016 21:23 UT0MM, приветствую! Мне нужна простая для детей в кружке (7-9 лет). Очень хотелось бы ЭТУ схему заставить работать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 430] Автор : UT0UM Дата : 11.10.2016 21:31 Мне нужна простая для детей в кружке (7-9 лет). Очень хотелось бы ЭТУ схему заставить работать. ну так отдайте детям они заставят там же все нарисовано, куда уже проще то? Тупо синусоида 600 Hz при включении питания. а на арудине светодиод мигает в такт ключеванию? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 431] Автор : RW3ACQ Дата : 11.10.2016 21:32 Ключевания не происходит, потому что после подачи питания просто идёт синус 600 Гц на спикер и всё) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 432] Автор : UT0UM Дата : 11.10.2016 21:34 Ключевания не происходит, потому что после подачи питания просто идёт синус 600 Гц на спикер и всё) а светодиод который на 13-ом пине на ардуино горит? отключите от ардуины все кроме динамика и посмотрите что будет -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 433] Автор : veso74 Дата : 11.10.2016 21:34 RW3ACQ, Сергей, схема и скетч работает с первого пуска. Проверьте соединение 3 резистора (pins 6, 7, 8) к +5В. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 434] Автор : RW3ACQ Дата : 11.10.2016 21:38 veso 74, спасибо! Сейчас буду проверять! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 435] Автор : UT0UM Дата : 11.10.2016 21:39 veso 74, спасибо! Сейчас буду проверять! теперь позамыкайте пин 8 на землю -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 436] Автор : Tolya Дата : 11.10.2016 21:56 а светодиод который на 13-ом пине на ардуино горит? Всё хочу спросить про этот светодиод...тут промерял напряжение на выходе 13 пина и просто касаясь одним концом щупа мультиметра яркость свечения падает,а касаясь вторым щупом минуса светодиод тухнет.... и напряжение показывает 1.5 вольта.. хотя сам 13 пин не нагружен... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 437] Автор : shwonder Дата : 11.10.2016 21:56 Есть вероятность неправильной установки тактовых кнопок . Там некоторые выводы кнопок используются как перемычки. У этих кнопок по два контакта спарено и пары замыкаются между собой , отличить их сложно , поэтому можно попробовать повернуть их на 90 градусов . Возможно схема воспринимает кнопки в замкнутом состоянии. Можно проверить мультиметром. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 438] Автор : RW3ACQ Дата : 11.10.2016 22:00 Друзья, спасибо всем Вам большое!!! по совету veso 74 перепроверил все контакты, и действительно 8-й пин был "в воздухе". У нас самый лучший форум всё-таки. Всем доброй ночи!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 439] Автор : R1AIT Дата : 12.10.2016 00:08 UT0MM, приветствую! Мне нужна простая для детей в кружке (7-9 лет). Очень хотелось бы ЭТУ схему заставить работать. А она не сложнее этой. Детям всю собирать не нужно, только манипулятор, пищалку и одну кнопку. Только функции нужные включите в конфигураторе. Получится проще чем эта и все работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 440] Автор : UT0UM Дата : 12.10.2016 00:22 А она не сложнее этой. Детям всю собирать не нужно, только манипулятор, пищалку и одну кнопку. Только функции нужные включите в конфигураторе. Получится проще чем эта и все работает. ну может детям в скетче тоже надо разобраться тогда да, эта проще -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 441] Автор : R1AIT Дата : 12.10.2016 09:02 ну может детям в скетче тоже надо разобраться тогда да, эта проще7-9 лет в скетче? Есть сомнения. И опыт их подтверждает. Для этого возраста больше подойдет Scratch или ArduBlock. IMHO тут можно на любой из этих схем попробовать что-то простое, а потом залить полнофункциональный софт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 442] Автор : R1AIT Дата : 13.10.2016 16:46 ... а программатор для голых атмег :-P Я подозревал, что альтернатива программатору на ардуине может быть довольно простой. http://skproj.ru/programmator-spi-flash-svoimi-rukami/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 443] Автор : RW3ACQ Дата : 16.10.2016 09:51 Приветствую всех! После успеха с телеграфным ключом, прошу помощи, как начинающий, в следующей схеме: Написать программу для Ардуино, которая будет отображать на линейке светодиодов из 8 штук уровень напряжения на аналоговом входе, к которому подключен переменный резистор. При уровне 0 индикатор не светится. На уровне 512 светится 4 из 8 светодиодов. Все светодиоды светятся при уровне равном 1023. Читал я про 74HC595, приобрёл. В интернете какие-то бегающие огоньки, а того, что мне надо нет. Помогите, пожалуйста, скетчем и схемой подключения. Спасибо заранее! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 444] Автор : R4FBQ Дата : 16.10.2016 11:10 https://www.arduino.cc/en/Tutorial/BarGraph такой ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 445] Автор : RW3ACQ Дата : 16.10.2016 12:14 Добрый день! Нет, отдельные светодиоды, "линейка" это я так их назвал, в линию стоят (или в столбец). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 446] Автор : RD9D Дата : 16.10.2016 12:14 Господа, помогите найти ключик на VBB 5...... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 447] Автор : UT0UM Дата : 16.10.2016 12:18 Нет ну как это нет? вниз прокрутите -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 448] Автор : RW3ACQ Дата : 16.10.2016 22:20 UT0UM, прокрутил, спасибо! А то я только картинку бар-графа увидел). Принцип тот, что на схеме, но мне нужно на 74HC595 подобный индикатор сделать, так как пины Ардуины уже заняты. Весь вопрос в 74HC595 и как это реализовать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 449] Автор : UT0UM Дата : 16.10.2016 22:27 Весь вопрос в 74HC595 и как это реализовать. ну ешкин жеж кот! Вы что, вместо того, чтобы погуглить сразу сюда с вопросом? Курите это http://arduino.ru/Tutorial/registr_74HC595 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 450] Автор : RW3ACQ Дата : 16.10.2016 22:30 Я уже эту статью читал сегодня и делал скетч (ерунда какая-то вышла), но ответа на свой вопрос не нашёл. Подключал всё правильно это 100%, так как другие схемы на сдвиговом регистре завелись без проблем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 451] Автор : UT0UM Дата : 16.10.2016 22:37 Я уже эту статью читал сегодня ну так читайте до просветления неужели у Вас не работают оттуда скетчи?! Вам надо в массив записать 8 констант, соответствующих кол-ву включеных светодиодов и в зависимости от значения АЦП выводить их в нужном порядке в 595 Что тут конкретно не понятно? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 452] Автор : R2DHG Дата : 16.10.2016 22:37 В чем вопрос то ? Управлять светодиодами по одному можете ? Почитайте еще вот тут про hc595 http://robocraft.ru/blog/arduino/519.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 453] Автор : RW3ACQ Дата : 16.10.2016 22:41 R2DHG, UT0UM , друзья, спасибо большое за советы! Буду читать до просветления про массивы и константы тогда. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 454] Автор : RT8U Дата : 17.10.2016 09:08 Можно ли реализовать такую схему? Ардуин #1 измеряет напряжение и токи, выполняет команды. Ардуин #2 отображает измеренное на индикаторе, передаёт команды нажатий на кнопки. Ардуины связаны между собой по медной или оптической линии. Расстоянием между ними 20-30 метров. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 455] Автор : R1AIT Дата : 17.10.2016 09:28 Можно ли реализовать такую схему? Ардуин #1 измеряет напряжение и токи, выполняет команды. Ардуин #2 отображает измеренное на индикаторе, передаёт команды нажатий на кнопки. А зачем второй Ардуино? Не проще готовое устройство типа смартфон, планшет или ПК. Почему WiFi или Bluetoth не подходит? Хотя и со второй ардуиной конечно возможно и вариантов много. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 456] Автор : R2DHG Дата : 17.10.2016 09:38 По медной - например SoftwareSerial (или использовать RX/TX, но могут быть проблемы со штатной заливкой прошивки) + rs485 (ADM1485 (http://www.chipdip.ru/product/adm1485jn/) и аналоги), вообще расстояние небольшое, так что вероятно можно и тупо (или через оптроны) соединить RX<->TX. По оптике - TSOP1736 (http://www.chipdip.ru/product/tsop1736/) + достаточно мощные ИК диоды, должно хватить, библиотеки есть разные, например http://www.righto.com/2009/08/multi-protocol-infrared-remote-library.html По блютус (в условиях прямой видимости 20-30 метров пробьет) - модули HC-05 или более новые, после настройки друг на друга они обеспечивают прозрачную передачу через тот же SoftwareSerial или как нибудь еще device - uart - hc-05 < - - - > hc-05 - uart - device, даже инициализировать не нужно - сами коннектятся при подаче питания. По wifi - модули esp8266, в этом случае можно даже обойтись без отдельных ардуин (у него есть свободные ноги и один АЦП), этот модуль сам себе ардуина с wifi и стоит ~100р. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 457] Автор : RT8U Дата : 17.10.2016 10:43 Нет прямой видимости, разные помещения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 458] Автор : R2DHG Дата : 17.10.2016 11:24 Тогда надо проверить возможность связи по блютус/wifi (может быть местная wifi сеть есть ? можно к ней esp8266 прицепить) или сразу делать на медной паре. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 459] Автор : RT8U Дата : 17.10.2016 19:12 А бывает адаптор связи с интерфейсом RS485? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 460] Автор : R2DHG Дата : 17.10.2016 19:30 Для ардуин https://lesson.iarduino.ru/page/urok-26-2-soedinyaem-dve-arduino-po-standartu-rs485/ Для компа https://ru.aliexpress.com/w/wholesale-usb-rs485-adapter.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 461] Автор : IG_58 Дата : 17.10.2016 20:28 А бывает адаптор связи с интерфейсом RS485? https://www.aliexpress.com/af/arduino-rs485-shield.html?ltype=wholesale&d=y&origin=n&isViewCP=y&catId=0&initiative_id=AS_20161017092721&SearchText=arduino+rs485+shield&blanktest=0 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 462] Автор : Олег,RA3DNC Дата : 17.10.2016 21:27 Можно ли реализовать такую схему? Ардуин #1 измеряет напряжение и токи, выполняет команды. Ардуин #2 отображает измеренное на индикаторе, передаёт команды нажатий на кнопки. Ардуины связаны между собой по медной или оптической линии. Расстоянием между ними 20-30 метров. Наверное, с помощью такого варианта можно сделать дистанционное управление РА (по типу как у АСОМ или ОМ POWER). Скрестив, например, Ардуину и 4-ю версию блока управления от RA3YBW. Соединение по RS485. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 463] Автор : R1AIT Дата : 18.10.2016 09:45 А ни кто не пробывал собрать автоматический антенный тюнер на Ардуино? У K3NG есть проект: https://blog.radioartisan.com/arduino-antenna-tuner/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 464] Автор : RT8U Дата : 18.10.2016 18:30 Спасибо за советы и подсказки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 465] Автор : UB4YBB Дата : 18.10.2016 21:51 Собрал ксв метр. Скетч за основу взял тут http://forklg.ru/viewtopic.php?t=1162&p=4216 Датчик собрал по схеме rz3dk. Работает но скетч надо конечно допилить. 245608245609245610245611245612 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 466] Автор : UB4YBB Дата : 19.10.2016 21:26 Помогите создать на нижней строчке такую шкалу 245650 Кусок кода lcd.setCursor(0, 0); // Устанавливаем курсор на первую строку и нулевой символ. lcd.print("FOR "); lcd.print(U1); // U прямое lcd.print(" REF "); lcd.print(U2);// U обратное lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SWR "); lcd.print(SWR);// Значение отношения (КСВ) lcd.print(" "); // Выводим на экран количество секунд с момента запуска ардуины delay(500); // задержка 500 мс -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 467] Автор : R2DHG Дата : 20.10.2016 00:56 Например так. Обратите внимание на initBar() и printBar(), остальное для демонстрации. #include LiquidCrystal lcd(5, 6, 7, 8, 9, 10); //Подключаем 1602 дисплей к соответствующим пинам, //указываем номера портов в порядке RS, E, DB4, DB5, DB6, DB7 int U1, U2; int SWR; void setup() { lcd.begin(16, 2); initBar(); // Записаваем в память LCD спецсимволы // Для примера U1 = 850; // Прямая U2 = 500; // Обратная // Ограничиваем чтобы уложиться в 3 знака if (U1 > 999) U1 = 999; if (U2 > 999) U2 = 999; SWR = 10 * (U1+U2)/(U1-U2); // КСВ * 10 для получения десятичной части // Ограничиваем чтобы уложиться в 2 знака (через точку 3 - "2.5") if (SWR > 99) SWR = 99; } void loop() { // Печатаем U1, U2 и SWR для контроля // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("FOR "); lcd.print(U1); // U прямое lcd.print(" REF "); lcd.print(U2);// U обратное lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SWR "); lcd.print(SWR / 10); // Значение отношения (КСВ), целая часть lcd.print("."); lcd.print(SWR - 10*(SWR / 10)); // Значение отношения (КСВ), дробная часть lcd.print(" "); delay(1000); // Печатаем U1 и SWR в виде "градусника" и числа справа // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("PWR:"); // рисуем "градусник" по U1 (максимальное значение для полного 999, длина 8 символов) printBar(U1, 999, 8); lcd.print(" "); lcd.print(U1); // U прямое lcd.setCursor(0, 1); lcd.print("SWR:"); // рисуем "градусник" по SWR (максимальное значение для полного 99 (КСВ = 9.9), длина 8 символов) printBar(SWR, 99, 8); lcd.print(" "); lcd.print(SWR / 10); // Значение отношения (КСВ), целая часть lcd.print("."); lcd.print(SWR - 10*(SWR / 10)); // Значение отношения (КСВ), дробная часть delay(1000); // Печатаем U1 и SWR в виде "градусника" без числа справа // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("PWR:"); // рисуем "градусник" по U1 (максимальное значение для полного 999, длина 12 символов) printBar(U1, 999, 12); lcd.setCursor(0, 1); lcd.print("SWR:"); // рисуем "градусник" по SWR (максимальное значение для полного 99 (КСВ = 9.9), длина 12 символов) printBar(SWR, 99, 12); delay(1000); // Очищаем дисплей lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(" "); } //Рисуем "градусник" //in - входящее значение //base - база (максимальное значение in для полностью заполненной строки) //lenbar - длина строки в символах void printBar(int in, int base, int lenbar) { int z = (unsigned int) (in) * 5 * lenbar / base; for (int i = 0;i < lenbar;i ++) { if (z > 4) { lcd.write(6); z = z - 5; } else if (z > 0) { lcd.write((z % 5) + 1); z = 0; } else lcd.write(1); } } //Запись спецсимволов в память LCD void initBar() { byte lcd_sym_01[7] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b10101 }; byte lcd_sym_02[7] = { 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10101 }; byte lcd_sym_03[7] = { 0b11000, 0b11000, 0b11000, 0b11000, 0b11000, 0b11000, 0b11101 }; byte lcd_sym_04[7] = { 0b11100, 0b11100, 0b11100, 0b11100, 0b11100, 0b11100, 0b11101 }; byte lcd_sym_05[7] = { 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11111 }; byte lcd_sym_06[7] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; lcd.createChar(1, lcd_sym_01); lcd.createChar(2, lcd_sym_02); lcd.createChar(3, lcd_sym_03); lcd.createChar(4, lcd_sym_04); lcd.createChar(5, lcd_sym_05); lcd.createChar(6, lcd_sym_06); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 468] Автор : veso74 Дата : 20.10.2016 11:19 R2DHG, екран выглядит очень хорошо для мои потребности. Вы даете хорошие варианти для будущего использования. Я только исправил для мой lcd массив символов на 5x8 точек (на нижная строка светило ненужные точки). Спасибо за идеи! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 469] Автор : R2DHG Дата : 20.10.2016 11:32 Я только исправил для мой lcd массив символов на 5x8 точек (на нижная строка светило ненужные точки). Вон оно что... видимо я в Proteus умудрился выбрать индикатор с 5x7 точек и не мог понять зачем это у меня в скетче символы 5x8 :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 470] Автор : UB4YBB Дата : 20.10.2016 21:57 R2DHG, Заработало, повозился с подключением библиотеки LiquidCrystal_I2C. Слабоватый из меня программист. С трансивером пока не проверял. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 471] Автор : redd Дата : 21.10.2016 22:34 www.freeduino.org Www.freeduino.ru -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 472] Автор : UT0UM Дата : 21.10.2016 22:53 www.freeduino.org (http://www.freeduino.org) Www.freeduino.ru (http://Www.freeduino.ru) и что Вы хотели этим сказать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 473] Автор : redd Дата : 21.10.2016 22:56 и что Вы хотели этим сказать? Если честно то ничего .... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 474] Автор : redd Дата : 22.10.2016 12:15 Программирование микроконтроллерных плат Arduino/Freeduino - второе издание подробной книги, а также исходные коды, схемы и другое: https://www.linuxcenter.ru/?good=lc8830 . Мобильные роботы на базе Arduino: https://www.linuxcenter.ru/?good=lc8845. Изучаем Arduino. 65 проектов своими руками: https://www.linuxcenter.ru/?good=lc8846. Дополнительные материалы можно скачать по ссылке ftp://ftp.bhv.ru/9785977536806.zip -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 475] Автор : RW3ACQ Дата : 22.10.2016 12:35 UB4YBB , приветствую! по схеме rz3dk - ссылочку на первоисточник дайте, пожалуйста. Будет здорово, если опубликуете весь проект: схемы, скетчи, подключения. На фотках, всё красиво, поздравляю с успехом! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 476] Автор : IG_58 Дата : 22.10.2016 14:19 Дополнительные материалы можно скачать по ссылке ftp://ftp.bhv.ru/9785977536806.zip 245853 WTF? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 477] Автор : UB4YBB Дата : 22.10.2016 14:32 RW3ACQ, Здравствуйте схему измерителя брал тут http://forum.qrz.ru/42-antennye-izmereniya/24380-izmeritel-swr-i-pwr-dlya-cb-3.html Первый скетч брал тут http://forklg.ru/viewtopic.php?t=1162&p=4216 245859245866 Подстроечные резисторы можно было не ставить, заработало без настройки на 150 омах как по схеме. Печатку измерителя прикладываю. Свой скетч выложу чуть позднее, сейчас добавляю кнопки для переключения отображения и регулировки яркости дисплея. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 478] Автор : redd Дата : 22.10.2016 14:48 245853 WTF? Возможно вы через файрвол (маскарадинг) работаете, поставте в фтп клиенте passive режим. А вообще просто браузером .... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 479] Автор : veso74 Дата : 22.10.2016 14:52 IG_58, Игорь, там все ОК. В архиве: Инсталятор Arduino/Freeduino 311 MB. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 480] Автор : IG_58 Дата : 22.10.2016 15:21 Спасибо, броузером открылось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 481] Автор : Tolya Дата : 22.10.2016 21:49 #define clock 13 #define data 12 #define latch 10 void setup() { pinMode(clock, OUTPUT); pinMode(data, OUTPUT); pinMode(latch, OUTPUT); digitalWrite(latch, HIGH); } void loop() { digitalWrite(latch, LOW); shiftOut(data, clock, LSBFIRST, 0b10000000); digitalWrite(latch, HIGH); } Теперь вгружаем в ардуину. Результат должен быть таким (зажёгся первый светодиод): Никак не получается..или все горят или не горят.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 482] Автор : Tolya Дата : 22.10.2016 23:05 Ура..!!! Заработало..загрузил другой скотч,задействовал 9,10 и 11 пин.. и всё пошло...буду подключать второй сдвиговый регистр... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 483] Автор : Henriks.V Дата : 23.10.2016 04:39 :offtop: загрузил другой скотч :пиво: и это по нашему! :пиво: P.S. http://likerenc.ru/scotch-vs-whisky/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 484] Автор : Tolya Дата : 23.10.2016 11:00 int dataPin = 9; //Пин подключен к DS входу 74HC595 int latchPin = 10; //Пин подключен к ST_CP входу 74HC595 int clockPin = 11; //Пин подключен к SH_CP входу 74HC595 void setup() { //устанавливаем режим OUTPUT pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); digitalWrite(latchPin, LOW); // устанавливаем синхронизацию "защелки" на LOW shiftOut(dataPin, clockPin, LSBFIRST, B10101010); // передаем последовательно на dataPin digitalWrite(latchPin, HIGH); //"защелкиваем" регистр, тем самым устанавливая значения на выходах } void loop() { } --------------- Всё нормально работает..но при загрузки включаются все светодиоды,а только потом те которые надо...как это убрать или сделать так что бы включались только те светодиоды которые надо... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 485] Автор : R2DHG Дата : 23.10.2016 12:05 В смысле от включения до запуска скетча они включены ? Можно через OE вход регистров отдельной ногой мк управлять, пока 0 не подадите выходы будут отключены или какую то быструю сбрасывалку прикрутить через вход сброса (он сбрасывает только сдвиговый регистр вроде) и защелку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 486] Автор : Tolya Дата : 23.10.2016 12:41 В смысле от включения до запуска скетча они включены ? Да...совершенно верно..а надо сделать так что бы при включении на выходе регистров были нолики и только после загрузки скетча на выходе появлялось то что нужно... прочитал кучу инфо про регистры ..но ответа как это сделать не нашёл... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 487] Автор : R2DHG Дата : 23.10.2016 12:52 Вот прям чтобы при включении никак, можно либо очень быстро сбросить и защелкнуть (не с мк, а внешней какой то схемой) либо сделать так чтобы при включении выходы были в высокоимпедансном состоянии и учесть это в схеме (например подтянуть выходы к 0 резисторами), а когда процессор очухается и затолкает нолики он же включит выходы регистров. Если регистры коммутируют фильтры то вроде бы это не критично должно быть - ну включатся несколько реле, через секунду лишние отключатся. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 488] Автор : Tolya Дата : 23.10.2016 13:09 или сделать нолики как раз активным сигналом) ...просто когда я подключаю к трансиверу..за это время когда на выходе одни еденички .. транзисторы управления реле в ФНЧ успевают нагрется очень сильно,так как весь выходной каскад оказывается на это время включенным... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 489] Автор : R2DHG Дата : 23.10.2016 13:24 Возбуждается что ли ? Без сигнала то чего ему греться. Секунды после запуска - это загрузчик ждет возможную прошивку. Если есть программатор - можно прошить ардуину без загрузчика (этот пункт есть в самой среде, ничего мудрить не надо, только программатор подключить к miso/mosi/sck) и тогда нолики пропишутся очень быстро. Ну или мудрить со схемой как я писал. Можете попробовать OE регистра на + повесить и посмотреть реле выключены будут или включены, если выключены - имеет смысл по этому пути пойти, а если есть еще одна ардуина - ее можно превратить в программатор и пойти по пути вырезания загрузчика. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 490] Автор : UT0UM Дата : 23.10.2016 13:31 при включении на выходе регистров были нолики завести питание на регистры через скетч -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 491] Автор : Tolya Дата : 23.10.2016 14:03 Возбуждается что ли ? Без сигнала то чего ему греться Просто включены все реле..если на приемные реле у каждого свой ключ,то при передаче,на один ключ получаются подключены все восемь реле,вместо одного..насчет транзисторов в выходном каскаде пока не знаю..так как пока у меня с них снято питание...я уже с этими экспериментами один транзистор в РА спалил.. Возбуждается что ли ? Без сигнала то чего ему греться Просто включены все реле..если на приемные реле у каждого свой ключ,то при передаче,на один ключ получаются подключены все восемь реле,вместо одного..насчет транзисторов в выходном каскаде пока не знаю..так как пока у меня с них снято питание...я уже с этими экспериментами один транзистор в РА спалил.. завести питание на регистры через скетч А это как можно сделать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 492] Автор : UT0UM Дата : 23.10.2016 14:19 А это как можно сделать? вот так int dataPin = 9; //Пин подключен к DS входу 74HC595 int latchPin = 10; //Пин подключен к ST_CP входу 74HC595 int clockPin = 11; //Пин подключен к SH_CP входу 74HC595 int PowerPin = 12; //Пин управления питанием 74HC595 void setup() { //устанавливаем режим OUTPUT pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(PowerPin, OUTPUT); digitalWrite(PowerPin, HIGH); digitalWrite(latchPin, LOW); // устанавливаем синхронизацию "защелки" на LOW shiftOut(dataPin, clockPin, LSBFIRST, B10101010); // передаем последовательно на dataPin digitalWrite(latchPin, HIGH); //"защелкиваем" регистр, тем самым устанавливая значения на выходах } void loop() { } и на 12 пин повесить питание регистров через транзисторный ключ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 493] Автор : Tolya Дата : 23.10.2016 16:05 и на 12 пин повесить питание регистров через транзисторный ключ Всё это хорошо..но не решает проблему.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 494] Автор : UT0UM Дата : 23.10.2016 16:24 Всё это хорошо..но не решает проблему.. почему? неужели на обесточенной 595-ой на выходах 1? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 495] Автор : Tolya Дата : 23.10.2016 16:59 Нет..инициализация проходит нормально..но при загрузке скетча..происходит подача кратковременно едениц на все выходы и только после этого выводит нужную инфо на выходы,тоже самое происходит и при нажатии сброс..тут статью в инете про это почитал,так такая же проблема описывалась но только там дергало нагрузки на выходе регистров,правда её решили...но уж больно там всё сложно... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 496] Автор : UT0UM Дата : 23.10.2016 17:28 тут статью в инете про это почитал а можно ссылочку сюда а может надо latchPin к +5 подтянуть? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 497] Автор : Tolya Дата : 23.10.2016 18:27 а можно ссылочку сюда Вот ссылку то я и не запомнил...но вроде бы сейчас всё заработало,похоже на наводку,сейчас буду разбираться...по крайней мере в данный момент при на нажатии на кнопку сброс 4 светодиода..как горели так и горят,а возьму Ардуино в руки..так и начинают они при перезагрузке подмаргивать и загораться... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 498] Автор : UT0UM Дата : 23.10.2016 19:10 так и начинают они при перезагрузке подмаргивать и загораться... надо latchPin к +5 подтянуть -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 499] Автор : Tolya Дата : 23.10.2016 20:41 Фу...вроде заработало,пришлось latchPin посадить на землю через емкость 0.1 Мкф..теперь при загрузке нужного мне скетча включаются те светодиоды что и надо и ничего не моргает и лишнее не включается...ладно буду копать дальше.. Всем мои благодарности и конечно :пиво::пиво::пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 500] Автор : Tolya Дата : 24.10.2016 14:13 Ну вроде всё заработало...правда пришлось отредактировать свой скетч на каждый диапазон итого 8 штук..и их приходится загружать с компа в Ардуино для каждого диапазона. А можно сделать это кнопкой...нажал кнопку на выходе регистров поменялся код...например как в трансивере переключаются диапазоны...а то ради того чтобы поменять всего один нолик на еденичку..комп держать рядом,как то не серъёзно...хотя впринципе и можно... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 501] Автор : Владимир_К Дата : 24.10.2016 14:38 В IDE Ардуино откройте примеры, digital-button. Это кнопка. Разберитесь, как это (кнопка) работает. В условие (If) вставьте переход на подпрограмму, которая к Вашему числу добавит единицу (не обязательно переходить на подпрограмму, можно просто число увеличить). Но использование подпрограмм позволит "расти дальше". Таким образом, диапазон увеличится на единицу. Добавьте еще одну кнопку, при нажатии ее, надо число уменьшить. И вообще, открывайте примеры, анализируйте как что работает. Иначе будете топтаться на месте.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 502] Автор : R2DHG Дата : 24.10.2016 15:19 Можно :-P Скетч покажите. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 503] Автор : Tolya Дата : 24.10.2016 16:23 Иначе будете топтаться на месте.. Я пытаюсь что то понять..но для меня это темный лес..и поэтому я спрашиваю сдесь у тех кто этим занимается и для них написать строчку в программе,как говорится ,, раз плюнуть,, а мне??...может завтра вообще ничего этого не надо будет.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 504] Автор : Владимир_К Дата : 24.10.2016 17:17 кто этим занимается и для них написать строчку в программе,как говорится ,, раз плюнуть Ардуино я не использую, а то написал бы.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 505] Автор : R2DHG Дата : 24.10.2016 17:38 Я пытаюсь что то понять..но для меня это темный лес И на чем ваши попытки застряли ? :-P https://www.youtube.com/watch?v=qUxbVLwODOE Скиньте какой код получился, а то пару страниц назад видел только отправку 01010101 в один регистр. Надо что то типа бегающей единицы 00010000 или как ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 506] Автор : Tolya Дата : 24.10.2016 18:04 Надо что то типа бегающей единицы 00010000 или как ? Например: Диапазон 1.8 Мгц .. 00010000 01000000 вкл диапазон HF и реле вкл ФНЧ на 1.8 Мгц Диапазон 3.6 Мгц ..00010000 00100000 Вкл диапазон HF и реле вкл ФНЧ на 3.6 Мгц и т.д на все 7 КВ диапазонов .. В данный момент у меня создан скетч на каждый диапазон и я загружаю его в Ардуино и на выходе регистров имею код соответствующий диапазону... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 507] Автор : UT0UM Дата : 24.10.2016 18:06 Я пытаюсь что то понять..но для меня это темный лес надо разбираться не дело за каждым действием на форум ходить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 508] Автор : Tolya Дата : 24.10.2016 18:13 надо разбираться не дело за каждым действием на форум ходить Да я бы с удовольствием в этом разобрался и пытаюсь..но в голову уже ничего не лезет,видно возраст дает своё знать...вот сегодня поднял балон с газом,всего то на 10 см что бы в ящик поставить и в итоге целый день со спиной в кровати валяюсь,а про голову вообще молчу... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 509] Автор : UT0UM Дата : 24.10.2016 18:30 А можно сделать это кнопкой можно сделать вообще без кнопок нажал резет на ардуине и записался новый код -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 510] Автор : Tolya Дата : 24.10.2016 19:33 нажал резет на ардуине и записался новый код Ну...это ж уже слишком круто будет...тут микроконтроллер для трансивера на горизонте нарисовался,но хотелось бы до его прихода ко мне.... этот проект с Ардуиной для трансивера довести до конца... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 511] Автор : UT0UM Дата : 24.10.2016 20:18 Ну вроде всё заработало... выложите скетч сюда -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 512] Автор : R2DHG Дата : 24.10.2016 21:35 И коды для всех диапазонов чтоб не гадать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 513] Автор : Tolya Дата : 24.10.2016 21:58 И коды для всех диапазонов чтоб не гадать. Да коды я и сам могу поменять,отредактировать так как мне надо будет...а вот как переключение реализовать...??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 514] Автор : UT0UM Дата : 24.10.2016 22:03 а вот как переключение реализовать... ну есть два варианта: в очередной раз послать Вас курить arduino.ru или дописать кусочек кода в Ваш скетч, который Вы никак не выложите сюда (желательно вместе с кодами для 595, чтобы потом опять не рассказывать Вам как что-то сделать) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 515] Автор : Владимир_К Дата : 24.10.2016 22:06 дописать кусочек кода в Ваш скетч, который Вы никак не выложите сюда Что-то сдается мне, что нет его... Надеюсь все же, что ошибаюсь.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 516] Автор : UT0UM Дата : 24.10.2016 22:12 Что-то сдается мне, что нет его... Надеюсь все же, что ошибаюсь.. та какой то был, но не понятно он ли в итоге в работе оказался -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 517] Автор : Tolya Дата : 24.10.2016 22:27 Всё ребята...завязываю,не буду пудрить мозги себе и вам...огромная всем благодарность за помощь и подсказки..всего самого наилучшего и с Уважением ко всем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 518] Автор : Владимир_К Дата : 24.10.2016 22:29 и поэтому я спрашиваю сдесь у тех кто этим занимается и для них написать строчку в программе,как говорится ,, раз плюнуть,, а мне?? Ну так чтобы строчку дописать, надо место, куда ее дописывать, или на заборе писать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 519] Автор : rm4hq Дата : 25.10.2016 06:50 Подскажите пример вычисления усредненного значения с аналогового входа. Например, из 10 последних замеров.А то показания вольтметра прыгают, неприятно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 520] Автор : Kia2700d Дата : 25.10.2016 08:15 неприятно можно вот так https://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%BE%D0%BB%D1%8C%D0%B7%D1%8F%D1%89%D0%B0%D1%8F_%D1%81%D1%80%D0%B5%D0%B4%D0%BD%D1%8F%D1%8F#.D0.AD.D0.BA.D1.81.D0.BF.D0.BE.D0.BD.D0.B5.D0.BD.D1.86.D0.B8.D0.B0.D0.BB.D1.8C.D0.BD.D0.BE.D0.B5_.D1.81.D0.BA.D0.BE.D0.BB.D1.8C.D0.B7.D1.8F.D1.89.D0.B5.D0.B5_.D1.81.D1.80.D0.B5.D0.B4.D0.BD.D0.B5.D0.B5_.D0.BF.D1.80.D0.BE.D0.B8.D0.B7.D0.B2.D0.BE.D0.BB.D1.8C.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BF.D0.BE.D1.80.D1.8F.D0.B4.D0.BA.D0.B0 avg = (k * X) + (1.0 - k) * avg Х - текущий замер k - сглаживающий коэф. подобрать между 0 и 1 так чтобы глазу было приятно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 521] Автор : UB4YBB Дата : 25.10.2016 08:49 Изготовил платку с кнопками. 246059246060246058 Хотел сделать регулировку яркости дисплея и переключения режима отбражения но так и незаработало:-( Может код не тот выбрал для кнопок? int bl = 9; // Номер Pin к которому подключена подсветкаint brightness =0; // Переменная в которой хранится уровень яркости (От 0 до 254) int buttonPlus=8; // Номер Pin к которому подключена кнопка int buttonMinus=7; // Номер Pin к которому подключена кнопка - void setup() { pinMode(bl, OUTPUT); // Порт 9 (bl) будет работать как Выход. } void loop() { // Этот цикл будет выполняться бесконечное количество раз. if (digitalRead(buttonPlus) == HIGH) { brightness += 5; } // Делаем проверку, если вход под номером 9 (buttonPlus) имеет состояние 5 В. Увеличиваем значение переменной яркости на 5 единиц. if (digitalRead(buttonMinus) == HIGH) { brightness -= 5; } // Делаем проверку, если вход под номером 10 (buttonMinus) имеет состояние 5 В. Уменьшаем значение переменной яркости на 5 единиц. brightness = constrain(brightness, 0, 254); // Эта функция контролирует, что бы переменная brightness не стала больше 254 и меньше 0, если значение вылазит за границу то функция 0 или 254 analogWrite(bl, brightness); // Устанавливаем состояние яркости дисплея delay(50); // Пауза 50 миллисекунд. } С демо программой дисплея работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 522] Автор : rm4hq Дата : 25.10.2016 09:07 avg = (k * X) + (1.0 - k) * avg Х - текущий замер k - сглаживающий коэф. подобрать между 0 и 1 так чтобы глазу было приятно. Сделал вот так float newVolt = 10.04 * analogRead(battery_voltage_pin) / 667; volt = (volt * 9 + newVolt) / 10; // вычисляем усредненное значение из 10 lcd.setCursor (0, 1); lcd.print("BAT="); lcd.print(volt, 1); Вроде нормально. За Ваш вариант тоже спасибо, может пригодится еще. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 523] Автор : R2DHG Дата : 25.10.2016 09:58 Может код не тот выбрал для кнопок? Как у вас кнопки подключены ? Обычно делают подтяжку ноги к +, а кнопкой замыкают на землю pinMode(buttonMinus, INPUT); digitalWrite(buttonMinus, HIGH); в вашем коде идет проверка на HIGH - как то не так. И добавьте антидребезг обязательно, можно простейший: if (digitalRead(buttonMinus) == LOW) { //Кнопка предположительно нажата delay(20); //Ждем когда дребезг кончится if (digitalRead(buttonMinus) == LOW) { //Кнопка нажата } } а лучше с учетом предыдущего состояния. int bl = 9; - Почему Ы ? - Чтобы никто не догадался :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 524] Автор : UB4YBB Дата : 25.10.2016 10:06 R2DHG, Кнопки подключены стандартно +на вход кнопка замыкает на землю. Не Ы а bl. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 525] Автор : R2DHG Дата : 25.10.2016 10:08 R2DHG, Кнопки подключены стандартно +на вход кнопка замыкает на землю. Тогда if (digitalRead(buttonPlus) == LOW) {}. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 526] Автор : Tolya Дата : 25.10.2016 11:44 ---------------------------------- int dataPin = 9; //Пин подключен к DS входу 74HC595 int latchPin = 10; //Пин подключен к ST_CP входу 74HC595 int clockPin = 11; //Пин подключен к SH_CP входу 74HC595 void setup() { //устанавливаем режим OUTPUT pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); digitalWrite(latchPin, LOW); // устанавливаем синхронизацию "защелки" на LOW // начинаем "продавливать" данные по цепочке регистров, начиная с последнего shiftOut(dataPin, clockPin, LSBFIRST, B01001100); // передаем последовательно на dataPin - в первом регистре значение B01001100 shiftOut(dataPin, clockPin, LSBFIRST, B10000111); // "продавливаем" данные в следующий регистр - в первом регистре B10000111, во втором - B01001100 // и т.д. по количеству регистров digitalWrite(latchPin, HIGH); //"защелкиваем" регистр, тем самым устанавливая значения на выходах } void loop() { } ----------------- Вроде получилось сюда вставить.... ,,Уж если ты родился баобабом,то баобабом и умрешь...,, В.Высоцкий -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 527] Автор : R2DHG Дата : 25.10.2016 12:04 Уже хорошо. А теперь приведите комбинации "в первом регистре B10000111, во втором - B01001100" для всех диапазонов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 528] Автор : Tolya Дата : 25.10.2016 13:03 1.8 MHz B00010000 1рег B00000010 2 рег 3.6 B00010000 B01000000 7.0 B00010000 B00010000 10/14 B00010000 B10000000 18/21 B00010000 B00001000 24/28 B00010000 B00000100 50 B00011000 B01000000 VHF B00100000 B00000000 UHF B01000000 B00000000 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 529] Автор : UB4YBB Дата : 25.10.2016 13:13 Тогда if (digitalRead(buttonPlus) == LOW) {}. Как таким способом назначить одной кнопке + другой - и привязать на цифровой выход? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 530] Автор : R2DHG Дата : 25.10.2016 13:15 Так же как у вас, но активный уровень у них LOW (нажата), а не HIGH. Единственное что у вас там вроде нет обработки ситуации "нажали и держим", что приведет вероятно к быстрому ++++++ или ------- до предела. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 531] Автор : Олег,RA3DNC Дата : 25.10.2016 19:44 Коллеги добрый вечер! Вот какая проблема. Собрал K3NG Rotator controller. Все здорово, но... Ввиду того что устройство постоянно подключено к компьютеру USB кабелем, при включении компа соответственно подается и питание на Ардуину. А мне как раз и не надо чтобы питание подавалось постоянно. Можно ли как-то отключать питание Ардуины, не выдергивая кабель ( ну или не разрезав соответствующий проводник на плате)? Или это фантастика? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 532] Автор : UT0UM Дата : 25.10.2016 20:43 Можно ли как-то отключать питание Ардуины выпаять диод на ардуине -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 533] Автор : Олег,RA3DNC Дата : 25.10.2016 21:04 выпаять диод на ардуине Посмотрел схему - диод включен за разъемом внешнего питания, а не после USB. Наверное, идея нереальна. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 534] Автор : UT0UM Дата : 25.10.2016 21:17 Посмотрел схему - диод включен за разъемом внешнего питания, а не после USB. Наверное, идея нереальна. как так? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 535] Автор : UB4YBB Дата : 25.10.2016 21:19 Кнопки заработали но неполноценно. https://www.youtube.com/watch?v=re6aorVlANU // КСВ Метр int bl = 9; // Номер Pin к которому подключена подсветка int brightness =254; // Переменная в которой хранится уровень яркости (От 0 до 254) int buttonPlus=8; // Номер Pin к которому подключена кнопка int buttonMinus=7; // Номер Pin к которому подключена кнопка - #include #include LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей void setup() { pinMode(bl, OUTPUT); // Порт 9 (bl) будет работать как Выход. lcd.init(); lcd.backlight();// Включаем подсветку дисплея lcd.print(" KSV SWR METER"); lcd.setCursor(6, 1); lcd.print("1.0"); delay(3000); // задержка 1000 мс } void loop() { // Этот цикл будет выполняться бесконечное количество раз. if (digitalRead(buttonPlus) == LOW) {brightness += 5;} // Делаем проверку, если вход под номером 8 (buttonPlus) имеет состояние 5 В. Увеличиваем значение переменной яркости на 5 единиц. if (digitalRead(buttonMinus) == LOW) {brightness -= 5;} analogWrite(bl, brightness); // Устанавливаем состояние яркости дисплея delay(50); // Пауза 50 миллисекунд. int U1=0;// U прямое int U2=0;// U обратное int U12=0;// Сумма U float U21=0;// Разность U float KSV=0;// Значение отношения (КСВ) int Ur1 = analogRead(A0); // считываем значение U с аналогового входа 0 int Ur2 = analogRead(A1); // считываем значение U с аналогового входа 1 delay(50); // задержка 50 мс int Ur3 = analogRead(A0); // считываем значение U с аналогового входа 0 int Ur4 = analogRead(A1); // считываем значение U с аналогового входа 1 delay(50); // задержка 50 мс int Ur5 = analogRead(A0); // считываем значение U с аналогового входа 0 int Ur6 = analogRead(A1); // считываем значение U с аналогового входа 1 U1=(Ur1+Ur3+Ur5)/3; // присваиваем значение переменной U2=(Ur2+Ur4+Ur6)/3;// присваиваем значение переменной U12=U1+U2; // вычисляем сумму U21=U1-U2; // вычисляем разность KSV=U12/U21;// вычисляем отношение lcd.setCursor(0, 0); // Устанавливаем курсор на первую строку и нулевой символ. lcd.print("PRA "); lcd.print(U1); // U прямое lcd.print(" OBR "); lcd.print(U2);// U обратное lcd.print(" "); lcd.setCursor(0, 1); lcd.print("KSV "); lcd.print(KSV);// Значение отношения (КСВ) lcd.print(" "); // Выводим на экран количество секунд с момента запуска ардуины delay(500); // задержка 500 мс } Что ещё нужно подправить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 536] Автор : Олег,RA3DNC Дата : 25.10.2016 21:20 как так? Ну как - вот так:smile: Защита от переполюсовки, если питаете не через USB. В-общем, надо подумать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 537] Автор : R2DHG Дата : 25.10.2016 21:22 Можно ли как-то отключать питание Ардуины, не выдергивая кабель ( ну или не разрезав соответствующий проводник на плате)? Или это фантастика? Ну как то непонятно, да. А в чем смысл обесточенной ардуины, подключенной к usb ? Чтобы кабель не дергать просто ? Кнопки заработали но неполноценно. Что ещё нужно подправить? Зависит от критерия полноценности :) Яркость вроде меняется туда сюда, как вы хотите чтобы работало ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 538] Автор : UT0UM Дата : 25.10.2016 21:26 Ну как - вот так:smile: Защита от переполюсовки, если питаете не через USB. В-общем, надо подумать. а там у вас не нано? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 539] Автор : Олег,RA3DNC Дата : 25.10.2016 21:31 Ну как то непонятно, да. А в чем смысл обесточенной ардуины, подключенной к usb ? Чтобы кабель не дергать просто ? Именно так - чтобы не дергать кабель. Интерфейс управления повороткой, подключен к пульту G-800DXA и по USB к компьютеру. Получается так что даже если пульт выключен, интерфейс все равно во включенном состоянии (пока включен комп). Постоянно дергать кабель как-то не айс :-(. а там у вас не нано? Нет, установлена UNO. Можно, конечно, применить НАНО, но надо переделывать конструктив. как так? Ну как - вот так:smile: Защита от переполюсовки, если питаете не через USB. В-общем, надо подумать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 540] Автор : UB4YBB Дата : 25.10.2016 21:34 Зависит от критерия полноценности Яркость вроде меняется туда сюда, как вы хотите чтобы работало ? Нет плавности, хочеться вот так. https://www.youtube.com/watch?v=nAKl5lCRwVY -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 541] Автор : UT0UM Дата : 25.10.2016 21:38 Нет, установлена UNO. ну так предохранитель Ф1 сдуйте -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 542] Автор : Олег,RA3DNC Дата : 25.10.2016 21:46 ну так предохранитель Ф1 сдуйте Да уже думал об этом, наверное, это наиболее приемлемый вариант. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 543] Автор : R2DHG Дата : 25.10.2016 21:49 Нет плавности, хочеться вот так. Так поставьте delay в конце не 500, а хотя бы 100. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 544] Автор : Олег,RA3DNC Дата : 25.10.2016 22:04 ну так предохранитель Ф1 сдуйте Н-да, нет на этой плате предохранителя.... Ладно, вопрос снимается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 545] Автор : UB4YBB Дата : 25.10.2016 22:07 R2DHG, В общем они по кругу работают и плюс минус роли не играет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 546] Автор : R2DHG Дата : 25.10.2016 22:17 Вроде получилось сюда вставить.... Как то вот так например. Кнопки от 7 и 8 на землю. #define buttonMinusPin 7 #define buttonPlusPin 8 struct BandReg { unsigned int first; unsigned int second; }; BandReg bandReg[9] = { B00010000, B00000010, //1.8 MHz B00010000, B01000000, //3.6 B00010000, B00010000, //7.0 B00010000, B10000000, //10/14 B00010000, B00001000, //18/21 B00010000, B00000100, //24/28 B00011000, B01000000, //50 B00100000, B00000000, //VHF B01000000, B00000000 //UHF }; int dataPin = 9; //Пин подключен к DS входу 74HC595 int latchPin = 10; //Пин подключен к ST_CP входу 74HC595 int clockPin = 11; //Пин подключен к SH_CP входу 74HC595 int xStateButtonMinus = HIGH; int xStateButtonPlus = HIGH; int band = 0; void setup() { //устанавливаем режим OUTPUT pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); pinMode(buttonMinusPin, INPUT_PULLUP); pinMode(buttonPlusPin, INPUT_PULLUP); updateReg(); } void updateReg() { digitalWrite(latchPin, LOW); // устанавливаем синхронизацию "защелки" на LOW // начинаем "продавливать" данные по цепочке регистров, начиная с последнего shiftOut(dataPin, clockPin, LSBFIRST, bandReg.first); // передаем последовательно на dataPin - в первом регистре значение B01001100 shiftOut(dataPin, clockPin, LSBFIRST, bandReg[band].second); // "продавливаем" данные в следующий регистр - в первом регистре B10000111, во втором - B01001100 // и т.д. по количеству регистров digitalWrite(latchPin, HIGH); //"защелкиваем" регистр, тем самым устанавливая значения на выходах } void loop() { int cButtonState; cButtonState = digitalRead(buttonMinusPin); if (cButtonState != xStateButtonMinus) { delay(20); if (digitalRead(buttonMinusPin) != xStateButtonMinus) { if (cButtonState == LOW) { if (band > 0) { band -= 1; updateReg(); } } xStateButtonMinus = cButtonState; } } cButtonState = digitalRead(buttonPlusPin); if (cButtonState != xStateButtonPlus) { delay(20); if (digitalRead(buttonPlusPin) != xStateButtonPlus) { if (cButtonState == LOW) { if (band < 8) { band += 1; updateReg(); } } xStateButtonPlus = cButtonState; } } } [B]R2DHG, В общем они по кругу работают и плюс минус роли не играет. Чтобы не бегали по кругу добавьте проверку граничных условий на яркость. if (digitalRead(buttonPlus) == LOW) {if (brightness < 249) brightness += 5;} if (digitalRead(buttonMinus) == LOW) {if (brightness > 4) brightness -= 5;} или так, понагляднее if (digitalRead(buttonPlus) == LOW) {brightness += 5;} if (digitalRead(buttonMinus) == LOW) {brightness -= 5;} if (brightness < 0) brightness = 0; if (brightness > 254) brightness = 254; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 547] Автор : UB4YBB Дата : 25.10.2016 22:18 Заработало, :super: строчку не надо удалять было brightness = constrain(brightness, 0, 254); // Эта функция контролирует, что бы переменная brightness не стала больше 254 и меньше 0, если значение вылазит за границу то функция 0 или 254 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 548] Автор : Tolya Дата : 25.10.2016 22:19 Как то вот так например. Кнопки от 7 и 8 на землю. сегодня уже не буду..а завтра попробую и доложу и конечно от меня...:пиво::пиво::пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 549] Автор : UB4YBB Дата : 25.10.2016 22:20 Заработало, :super: строчку не надо удалять было brightness = constrain(brightness, 0, 254); // Эта функция контролирует, что бы переменная brightness не стала больше 254 и меньше 0, если значение вылазит за границу то функция 0 или 254 R2DHG, Сейчас попробую вашим способом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 550] Автор : UT0UM Дата : 25.10.2016 22:24 Кнопки от 7 и 8 на землю. та зачем те кнопки? проще в пзу писать номер последнего загруженного кода при перезапуске его считывать и загонять след код -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 551] Автор : R2DHG Дата : 25.10.2016 22:41 Загрузчик тупит же :-P R2DHG, Сейчас попробую вашим способом. Они так же работают. Я ту строчку видел, потом смотрю уже нет - подумал может где то в другом месте на глаза попалась. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 552] Автор : UB4YBB Дата : 26.10.2016 20:30 R2DHG, Здравствуйте! как сделать в вашем скетче с помощью кнопки переключение режимом отображения "градусник","цифры","градусник цифры"? Добавлено через 16 минут(ы): Сейчас регулировка яркости работает вот так. https://www.youtube.com/watch?v=ZoTdWtwUam0 Осталось сделать переключение режимов отображения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 553] Автор : R2DHG Дата : 26.10.2016 21:15 R2DHG, Здравствуйте! как сделать в вашем скетче с помощью кнопки переключение режимом отображения "градусник","цифры","градусник цифры"? Это не мой скетч. С градусником была просто "демка" градусника, с виду что то похожее, но там просто текст выводился "как на картинке". Если тут пролетал этот скетч КСВ метра - дайте номер поста, а то могу что нибудь не то найти. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 554] Автор : UB4YBB Дата : 26.10.2016 21:26 R2DHG,#include LiquidCrystal lcd(5, 6, 7, 8, 9, 10); //Подключаем 1602 дисплей к соответствующим пинам, //указываем номера портов в порядке RS, E, DB4, DB5, DB6, DB7 int U1, U2; int SWR; void setup() { lcd.begin(16, 2); initBar(); // Записаваем в память LCD спецсимволы // Для примера U1 = 850; // Прямая U2 = 500; // Обратная // Ограничиваем чтобы уложиться в 3 знака if (U1 > 999) U1 = 999; if (U2 > 999) U2 = 999; SWR = 10 * (U1+U2)/(U1-U2); // КСВ * 10 для получения десятичной части // Ограничиваем чтобы уложиться в 2 знака (через точку 3 - "2.5") if (SWR > 99) SWR = 99; } void loop() { // Печатаем U1, U2 и SWR для контроля // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("FOR "); lcd.print(U1); // U прямое lcd.print(" REF "); lcd.print(U2);// U обратное lcd.print(" "); lcd.setCursor(0, 1); lcd.print("SWR "); lcd.print(SWR / 10); // Значение отношения (КСВ), целая часть lcd.print("."); lcd.print(SWR - 10*(SWR / 10)); // Значение отношения (КСВ), дробная часть lcd.print(" "); delay(1000); // Печатаем U1 и SWR в виде "градусника" и числа справа // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("PWR:"); // рисуем "градусник" по U1 (максимальное значение для полного 999, длина 8 символов) printBar(U1, 999, 8); lcd.print(" "); lcd.print(U1); // U прямое lcd.setCursor(0, 1); lcd.print("SWR:"); // рисуем "градусник" по SWR (максимальное значение для полного 99 (КСВ = 9.9), длина 8 символов) printBar(SWR, 99, 8); lcd.print(" "); lcd.print(SWR / 10); // Значение отношения (КСВ), целая часть lcd.print("."); lcd.print(SWR - 10*(SWR / 10)); // Значение отношения (КСВ), дробная часть delay(1000); // Печатаем U1 и SWR в виде "градусника" без числа справа // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("PWR:"); // рисуем "градусник" по U1 (максимальное значение для полного 999, длина 12 символов) printBar(U1, 999, 12); lcd.setCursor(0, 1); lcd.print("SWR:"); // рисуем "градусник" по SWR (максимальное значение для полного 99 (КСВ = 9.9), длина 12 символов) printBar(SWR, 99, 12); delay(1000); // Очищаем дисплей lcd.setCursor(0, 0); lcd.print(" "); lcd.setCursor(0, 1); lcd.print(" "); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 555] Автор : R2DHG Дата : 26.10.2016 22:10 Вы оттуда выкусили то, ради чего весь код выше написан. Это просто демка для демонстрации градусника (без него самого), в ней нет ничего, кроме вывода на экран. У вас какой то другой же ? Измеряет что то видимо. Кидайте его тогда. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 556] Автор : UB4YBB Дата : 26.10.2016 22:36 R2DHG, Я сейчас пытаюсь прикрутить из вашей демки градусник к своему коду, с переключением режима (кнопкой) отображения цифры градусник. мой скетч // КСВ Метр int bl = 9; // Номер Pin к которому подключена подсветка int brightness =254; // Переменная в которой хранится уровень яркости (От 0 до 254) int buttonPlus=8; // Номер Pin к которому подключена кнопка int buttonMinus=7; // Номер Pin к которому подключена кнопка - #include #include LiquidCrystal_I2C lcd(0x27,16,2); // Устанавливаем дисплей void setup() { lcd.backlight();// Включаем подсветку дисплея lcd.init(); analogWrite(bl, brightness); // Устанавливаем состояние яркости дисплея lcd.print(" SWR METER"); lcd.setCursor(5, 1); lcd.print("V_1.0"); delay(1500); // задержка 1500 мс } void loop() { // Этот цикл будет выполняться бесконечное количество раз. if (digitalRead(buttonPlus) == LOW) {brightness += 12;} // Делаем проверку, если вход под номером 8 (buttonPlus) имеет состояние 5 В. Увеличиваем значение переменной яркости на 5 единиц. if (digitalRead(buttonMinus) == LOW) {brightness -= 12;} if (brightness < 0) brightness = 0; if (brightness > 254) brightness = 254; analogWrite(bl, brightness); // Устанавливаем состояние яркости дисплея delay(75); // Пауза 75 миллисекунд. int U1=0;// U прямое int U2=0;// U обратное int U12=0;// Сумма U float U21=0;// Разность U float KSV=0;// Значение отношения (КСВ) int Ur1 = analogRead(A0); // считываем значение U с аналогового входа 0 int Ur2 = analogRead(A1); // считываем значение U с аналогового входа 1 delay(50); // задержка 50 мс int Ur3 = analogRead(A0); // считываем значение U с аналогового входа 0 int Ur4 = analogRead(A1); // считываем значение U с аналогового входа 1 delay(50); // задержка 50 мс int Ur5 = analogRead(A0); // считываем значение U с аналогового входа 0 int Ur6 = analogRead(A1); // считываем значение U с аналогового входа 1 U1=(Ur1+Ur3+Ur5)/3; // присваиваем значение переменной U2=(Ur2+Ur4+Ur6)/3;// присваиваем значение переменной U12=U1+U2; // вычисляем сумму U21=U1-U2; // вычисляем разность KSV=U12/U21;// вычисляем отношение lcd.setCursor(0, 0); // Устанавливаем курсор на первую строку и нулевой символ. lcd.print("PRA "); lcd.print(U1); // U прямое lcd.print(" OBR "); lcd.print(U2);// U обратное lcd.print(" "); lcd.setCursor(0, 1); lcd.print("KSV "); lcd.print(KSV);// Значение отношения (КСВ) lcd.print(" "); // Выводим на экран количество секунд с момента запуска ардуины delay(30); // задержка 30 мс } Прикрутить вот эту часть // Печатаем U1 и SWR в виде "градусника" и числа справа // Устанавливаем курсор на первую строку и нулевой символ. lcd.setCursor(0, 0); lcd.print("PWR:"); // рисуем "градусник" по U1 (максимальное значение для полного 999, длина 8 символов) printBar(U1, 999, 8); lcd.print(" "); lcd.print(U1); // U прямое lcd.setCursor(0, 1); lcd.print("SWR:"); // рисуем "градусник" по SWR (максимальное значение для полного 99 (КСВ = 9.9), длина 8 символов) printBar(SWR, 99, 8); lcd.print(" "); lcd.print(SWR / 10); // Значение отношения (КСВ), целая часть lcd.print("."); lcd.print(SWR - 10*(SWR / 10)); // Значение отношения (КСВ), дробная часть -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 557] Автор : R2DHG Дата : 26.10.2016 22:55 Хорошо. Вам понадобится вот этот код. Можно в конец скетча воткнуть. //Рисуем "градусник" //in - входящее значение //base - база (максимальное значение in для полностью заполненной строки) //lenbar - длина строки в символах void printBar(int in, int base, int lenbar) { int z = (unsigned int) (in) * 5 * lenbar / base; for (int i = 0;i < lenbar;i ++) { if (z > 4) { lcd.write(6); z = z - 5; } else if (z > 0) { lcd.write((z % 5) + 1); z = 0; } else lcd.write(1); } } //Запись спецсимволов в память LCD void initBar() { byte lcd_sym_01[7] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b10101 }; byte lcd_sym_02[7] = { 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10000, 0b10101 }; byte lcd_sym_03[7] = { 0b11000, 0b11000, 0b11000, 0b11000, 0b11000, 0b11000, 0b11101 }; byte lcd_sym_04[7] = { 0b11100, 0b11100, 0b11100, 0b11100, 0b11100, 0b11100, 0b11101 }; byte lcd_sym_05[7] = { 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11110, 0b11111 }; byte lcd_sym_06[7] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; lcd.createChar(1, lcd_sym_01); lcd.createChar(2, lcd_sym_02); lcd.createChar(3, lcd_sym_03); lcd.createChar(4, lcd_sym_04); lcd.createChar(5, lcd_sym_05); lcd.createChar(6, lcd_sym_06); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 558] Автор : RW3ACQ Дата : 27.10.2016 00:45 Друзья, приветствую всех! Помогите, пожалуйста, со схемкой резервного питания для Nano. Источник питания №1 9-12 В , источник питания №2 7.4 В. Схемы источников есть, нужна только схема "переключения". Падение больше 0.35В не очень желательно. У Nano рекомендуемый нижний параметр 7В. Гуглил, нашел схему на полевике, вот такую: http://avrproject.ru/rezerv/na_polevom_tranzistore.jpg Номиналы резистора и конденсатора оставить такими же для моих напряжений? Или схема работает в случае равных напряжений U пит.осн = U пит. резерв.? Простая схема на BAT 85 при 100мА это дает уже 0.9 В просадки. Заранее благодарю за идеи! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 559] Автор : UB4YBB Дата : 30.10.2016 23:16 Программирование отложил в сторону, занялся корпусом. Пока как то так. 246475246474246476246477 246478246479246481246482 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 560] Автор : R2DHG Дата : 30.10.2016 23:29 Падение больше 0.35В не очень желательно. У Nano рекомендуемый нижний параметр 7В. Ага, там на схеме стабилизатор с падением до 2в, ну можно сменить его на что то с меньшим. Гуглил, нашел схему на полевике, вот такую: Сам не пробовал, но вроде подобное делают, ага. (номиналы пойдут) Простая схема на BAT 85 при 100мА это дает уже 0.9 В просадки. По идее вдвое меньше должно быть, точно BAT 85 ? Ааа... нашел, да, 0.8В по даташиту при токе 100 ма. В самой ардуине подобная схема на MBR0520 - на нем <0.4В при таком токе. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 561] Автор : Алексей2009 Дата : 30.10.2016 23:38 RW3ACQ, Я бы поставил реле 5в герконовое. При пропадании питания 5в оно отскочит и контакт включит (переключится) батарею. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 562] Автор : RW3ACQ Дата : 31.10.2016 21:08 Алексей, спасибо большое, но у меня сама конструкция с две спичечных коробки. Реле будет немного громоздко там выглядеть. Благодарю за идею в любом случае! Добавлено через 5 минут(ы): Друзья, разъясните, пожалуйста, про EEPROM. Сделать хочу вот что: при отключении питания должно сохраняться последнее значение PWM, которое выдает какой-нибудь пин. Значит в цикле void loop актуальное значение должно записываться в энергонезависимую память Arduino, если я правильно понимаю. Сколько будет циклов записи \ считывания из памяти в течение, скажем, часа работы прибора? У Arduino край 100 000. Благодарю заранее за ценные советы! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 563] Автор : Владимир_К Дата : 31.10.2016 21:45 Значит в цикле void loop актуальное значение должно записываться в энергонезависимую память Arduino, если я правильно понимаю. Боюсь, за несколько дней (часов) Ваша память закончится. Но может не за дней, а месяцев. Трудно судить, не зная продолжительность цикла. Поэтому, я бы сделал так - Ардуино выключает питание сам. То есть вы нажимаете кнопку "выключить"... получив команду контроллер записывает в ЕЕПРОМ нужную информацию и подает сигнал на ключ, отключающий питание. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 564] Автор : R2DHG Дата : 31.10.2016 21:57 Как вариант на ардуину вешаем 470 мкф или больше и питаем через диод, на ногу с прерыванием подаем сигнал с питания (не ардуины с конденсатором, а берем за диодом), настраиваем прерывание по заднему фронту. Теперь, если питание "снаружи" ардуины пропадет, автоматически вызовется прерывание "пропадания питания" и у нас будет некоторое время для записи информации в EEPROM пока разряжается конденсатор. Можно и по таймеру проверять наличие напряжения или даже в основном цикле если там нет чего то долгого, только конденсатор взять потолще для гарантии. Мне хватало пару байт записать 470 мкф для ардуины мини. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 565] Автор : RW3ACQ Дата : 31.10.2016 22:04 Владимир_К, R2DHG , друзья, благодарю за советы! В общем и целом задача сводится к тому, чтобы как можно меньше "дергать" EEPROM по циклам записи\чтения, а то может быстро закончится. Я бы в принципе рассмотрел вариант записи значения актуального PWM по нажатию кнопки какой-нибудь. Перед отключением питания нажал на кнопку, записал данные в EEPROM и пошёл спать, условно говоря. Сейчас буду гуглить по поводу записи в EEPROM по кнопке. Если сие действительно можно осуществить, напишите пожалуйста. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 566] Автор : R2DHG Дата : 31.10.2016 22:09 Если не надо прям самое распоследнее значение можно сделать как в моих скетчах синтезатора - при изменении параметра в глобальную переменную пишем текущее значение таймера savetime = millis() + 3000; (в миллисекундах) и потом где нибудь в основном цикле проверяем if (millis() > savetime) { saveEEPROM(); savetime = 0; }. Как только параметр изменится и потом не будет меняться в течении 3 секунд (покрутили ручку, выставили значение) произойдет запись в EEPROM, в таком режиме ее надолго хватит. Библиотеку EEPROM посмотрите - там ничего хитрого. Записать / прочитать байт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 567] Автор : RA2FIM Дата : 31.10.2016 22:11 коллеги вот тоже тема изделие на ардуино полезное для радиолюбителя ну и = поле деятельности = http://forklg.ru/viewtopic.php?t=1041 до 1 мгц принцип работы синтезатора на микроконтроллере мне известен просто подумалось а ведь возможена и обработка сигналов -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 568] Автор : R2DHG Дата : 31.10.2016 22:15 Если бы интересовали сигналы в районе килогерца... Так ведь нет :-P Впрочем есть проекты на stm32, но то уже не ардуино (ну и все равно не те частоты). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 569] Автор : ra3gn Дата : 01.11.2016 09:28 Привет любителям ардуин Не было в наличии платок андуин, но нашел не востребованные attiny13(это почти ардуино). Сделал програматор из uno и получил таймер вкл. и выкл. усилителя: //таймер вкл. усил. : мягкий накал, мягкое вкл. высовольтных емк,полное высокое,вык вентилятора с зад. void setup() { DDRB=0b00001111;//3-0 выход PORTB |= (1<<3); //вкл вентилятор delay(5000); PORTB |= (1<<0); // вкл. полный накал 5с (5 сек) delay(5000); PORTB |= (1<<1); // вкл заряд выс. конд 5с (4мин) delay(5000); PORTB |= (1<<2); // вкл полное анодное 5с (4 мин +30 сек) } void loop() { int data = PINB;//читаем порт if((0 << PB4) & data){ // если на 4 ноге пропало 1(выкл усилитель) PORTB &= (~((1<<0)|(1<<1)|(1<<2))); //выключить ножки 0, 1, 2 delay(10000); PORTB &= ~(1<<3); // выкл вентилятор охлаждения с задержкой 10с(5мин.) } } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 570] Автор : ra3gn Дата : 01.11.2016 12:44 UP есть ошибочка, рабочий вариант: //таймер вкл. усил. : мягкий накал, мягкое вкл. высовольтных емк,полное высокое void setup() { DDRB=0b00001111;//3-0 выход PORTB |= (1<<3); //вкл 3 delay(5000); PORTB |= (1<<0); // вкл. полный накал(5 сек) delay(5000); PORTB |= (1<<1); // вкл заряд выс. конд(4мин) delay(5000); PORTB |= (1<<2); // вкл полное анодное(4 мин +30 сек) } void loop() { int data = PINB;//читаем порт if((1 << PB4) & data){// если вкл, ничего не делаем } else{ PORTB &= (~((1<<0)|(1<<1)|(1<<2))); //выключить ножки 0, 1, 2// если выключен delay(5000); PORTB &= ~(1<<3); // выкл вентилятор охлаждения с задержкой 5с(5мин.) } delay(1000); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 571] Автор : RC3ZQ Дата : 05.11.2016 11:21 Добрый день. Повторял кто либо конструкцию синтезатора JA2GQP http://ja2gqp.blogspot.ru/ (http://ja2gqp.blogspot.ru/) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 572] Автор : XENOMORPH Дата : 05.11.2016 11:29 Повторял кто либо конструкцию синтезатора JA2GQP Да, работает нормально, но есть нюанс, при перестройке частоты слышны щелчки (если АРУ приёмника не ахти) в моём случае всё более или менее нормально. https://www.youtube.com/watch?v=oZ1rr4EVXds -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 573] Автор : RC3ZQ Дата : 05.11.2016 12:05 RA3YCI (http://www.cqham.ru/forum/member.php?12081-RA3YCI) Добрый день. Вы используете модуль на Si5351a или микросхема плюс обвязка? Щелчки может можно подавить какими либо RC цепочками в цепях питания uno и в цепях энкодера?... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 574] Автор : XENOMORPH Дата : 05.11.2016 12:16 Микросхема si5351 + обвязка.246911 Щелчки точно программные, как говорят, вроде из-за постоянного PLL Reset. В оригинале синтезатора на AD9850, JA2GQP написал что их нет. https://ja2nkd.blogspot.ru/search/label/DDS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 575] Автор : ur3ilf Дата : 05.11.2016 13:14 Зачем делать ресет гуна вообще не понятно. Щелчки будут по двум причинам. 1. При быстрой перестройке в больших пределах разрывается кратковременно петля ФАПЧ. 2. При переключении коэффициента деления ГУН перестраивается скачком на другую частоту естественно. Тоже будет щелчок. Так и должно быть. При правильной реализации они не заметны. Так же таблица коэффициента деления помогает. ГУН без проблем перестраивается от 1100 до 500МГц. Можно несколько диапазонов перекрыть не меняя делители. Даже при выходной частоте умноженной на 4 для сдр или прямого преобразования. В оригинале синтезатора на AD9850, JA2GQP написал что их нет. В dds другой принцип. Там и не будет щелчков. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 576] Автор : RC3ZQ Дата : 05.11.2016 13:31 Щелчки будут по двум причинам. А чтобы эти причины исправить сильно скетч надо "ковырнуть". Принципы управления dds очень меняются? Тут файлы проекта https://sites.google.com/site/ja2gqp/ (https://sites.google.com/site/ja2gqp/) Имеются файлы si5351a_TFT_Ver3.1.ino, si5351_TFT.ino, vfo_v3_eep.ino . Тут я понимаю скетч nano, дисплея tft и eepr nano? Ху из ху..как говорится?:ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 577] Автор : ur3ilf Дата : 05.11.2016 15:17 Имеются файлы si5351a_TFT_Ver3.1.ino, si5351_TFT.ino, vfo_v3_eep.ino . Тут я понимаю скетч nano, дисплея tft и eepr nano? Ху из ху..как говорится?:ржач: Я в ардуино не в зуб ногой и даже желания нет изучать. Хороший тот язык который ты знаешь. У меня свой путь, дисплей дюйма четыре, любой чип синтезатора и вперёд. Нет ни чего не возможного. Нужно только время и желание. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 578] Автор : RC3ZQ Дата : 05.11.2016 18:46 Хороший тот язык который ты знаешь. По мне так они все хороши...поскольку не знаю не одного:ржач:...а те кто знает это избранные люди среди радиолюбителей коротковолновиков. В этой конструкции собственно привлекает дисплей и простота сборки схемы (nano + модуль si5153+печатка под утюг). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 579] Автор : Tolya Дата : 06.11.2016 18:30 Есть LCD дисплей MDLS16265-SS-LV-G-LED04 16pin можно его подключить к Ардуино или искать всё таки дисплей 1602... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 580] Автор : UT0UM Дата : 06.11.2016 19:31 можно его подключить к Ардуино думаю да, он же на hd44780 http://media.digikey.com/pdf/Data%20Sheets/Varitronix%20PDFs/Varitronix%20LCD%20Initialization%20Instructions.pdf http://robocraft.ru/blog/arduino/503.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 581] Автор : Tolya Дата : 06.11.2016 20:23 Буду пробовать....а то c TFTLCD дисплеем с чипом на ILI9327 кроме как полосками экран заполнять,ничего не нашёл..а была задумка осциолограф сделать... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 582] Автор : Tolya Дата : 09.11.2016 16:01 Так вроде с LCD дисплеем разобрался,а вот как с TFT дисплеем быть??? Как его подружить с другой программой,например у меня есть 3.5 tftlcd дисплей на чипе ili9327 и я его хочу применить в КСВ метре или простом вольтметре...?? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 583] Автор : UT0UM Дата : 09.11.2016 16:26 Как его подружить с другой программой,например у меня есть 3.5 tftlcd дисплей на чипе ili9327 вот так (https://github.com/dgolda/UTFT) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 584] Автор : Tolya Дата : 09.11.2016 17:02 вот так Спасибо...,,посмотрел я в книгу и увидел фигу,, и понял что мне это не осилить..займусь ка.. я пока семисегментными индикаторами... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 585] Автор : RW3ACQ Дата : 10.11.2016 21:53 Друзья, приветствую! Подскажите, как изменить скетч, чтобы сделать шаг изменения яркости LED (fadeAmount) = 5 при яркости (brightness) = 100? Вот скетч: /* ** Энкодер ** Для управлением яркостью LED используется энкодер Sparkfun */ int brightness = 120; // яркость LED, начинаем с половины int fadeAmount = 10; // шаг изменения яркости LED unsigned long currentTime; unsigned long loopTime; const int pin_A = 12; // pin 12 const int pin_B = 11; // pin 11 unsigned char encoder_A; unsigned char encoder_B; unsigned char encoder_A_prev=0; void setup() { // declare pin 9 to be an output: pinMode(9, OUTPUT); // устанавливаем pin 9 как выход pinMode(pin_A, INPUT); pinMode(pin_B, INPUT); currentTime = millis(); loopTime = currentTime; } void loop() { currentTime = millis(); if(currentTime >= (loopTime + 5)){ // проверяем каждые 5мс (200 Гц) encoder_A = digitalRead(pin_A); // считываем состояние выхода А энкодера encoder_B = digitalRead(pin_B); // считываем состояние выхода B энкодера if((!encoder_A) && (encoder_A_prev)){ // если состояние изменилось с положительного к нулю if(encoder_B) { // выход В в полож. сост., значит вращение по часовой стрелке // увеличиваем яркость, не более чем до 255 if(brightness + fadeAmount <= 255) brightness += fadeAmount; } else { // выход В в 0 сост., значит вращение против часовой стрелки // уменьшаем яркость, но не ниже 0 if(brightness - fadeAmount >= 0) brightness -= fadeAmount; } } encoder_A_prev = encoder_A; // сохраняем значение А для следующего цикла analogWrite(9, brightness); // устанавливаем яркость на 9 ножку loopTime = currentTime; } } Благодарю заранее за советы! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 586] Автор : R2DHG Дата : 10.11.2016 22:41 Можно "в лоб", поставив перед if(brightness + fadeAmount <= 255) brightness += fadeAmount; и if(brightness - fadeAmount >= 0) brightness -= fadeAmount; условие типа такого if(brightness>=100) fadeAmount = 5; else fadeAmount = 10; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 587] Автор : ra3gn Дата : 12.11.2016 12:18 Привет любителям ардуин. За бугром уже переключают приемные антенны с помощью esp8266. Может быть кто-то уже освоил? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 588] Автор : UA0YAS Дата : 12.11.2016 15:40 А в чем сложность? я люстру включал со смартфона. Одна беда- радиус действия этого модуля невелик. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 589] Автор : ra3gn Дата : 12.11.2016 16:08 to ua0yas Модули для этого и сделаны. У меня вопрос: можно соединить два модуля без роутера? Метров 100 должен же работать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 590] Автор : UA0YAS Дата : 12.11.2016 16:26 Без роутера можно. Он сам может быт точкой доступа. Насчет ста метров-это что то фантастическое. Бывают модули nrf24lo1 со встроенными усилителями. Вот они могут 100 метров даже свозь бетонную стену. Пробовал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 591] Автор : R2DHG Дата : 13.11.2016 01:23 Может с более менее нормальной антенной потянут, типа esp8266-02 http://ecx.images-amazon.com/images/I/31DWTxyFstL.jpg -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 592] Автор : XENOMORPH Дата : 16.11.2016 03:53 Прошу помощи. При выводе шрифта на дисплей поверх 3D кнопок, на шрифте виден чёрный фон. Если применить myGLCD.setBackColor(VGA_TRANSPARENT); то фона нет, на кнопках только шрифт, но эта команда влияет (замедляет и закрашивает до неузнавания) на показания частоты, напряжения, в общем на всё то, что динамически меняется на дисплее. Можно ли как-то применить myGLCD.setBackColor(VGA_TRANSPARENT); для конкретного места, не вообще на всё, а только на шрифты? или есть какая-нибудь хитрость, что-бы все динамические показания отделить от этой команды? 247774 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 593] Автор : Tolya Дата : 16.11.2016 16:47 Ну вот..наконец то добрался до подключения Ардуино к трансиверу..докладываю,как и обещал,что у меня получилось.. С разъёма CАT/LINEAR подал питание на Ардуино...перерезал три дорожки что идут с микроконтролера на регистры РА и вывел три провода с этих регистров CLK,DATA и STB и подал их на Ардуино...включил и УРА !!!!...всё заработало,правда потом пришлось маленько подкорректировать код,но это уже были мелочи..так что Ардуино..рулит и теперь приём на всех диапазонах есть..осталось сделать передачу??? C уважением и благодарностью ко всем!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 594] Автор : ra3gn Дата : 16.11.2016 17:12 to r2dhg Эти модули(esp8622) имеют приличный уровень на выходе, больше чем в мобильных компьютерах. В условия жилого дома , когда на каждом канале сидит по несколько роутеров, у меня работает без сбоев. Я же не видио транслирую, запрос - ответ. В деревне, дальность 300м вполне реальна. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 595] Автор : Tolya Дата : 17.11.2016 11:00 R2DHG, Добрый день! Сообщите если можно в личку,как с вами связаться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 596] Автор : XENOMORPH Дата : 18.11.2016 04:45 Разобрался. Чтобы получить шрифт без фона и при этом не "поиметь тормоза всёй графики", нужно myGLCD.setBackColor(VGA_TRANSPARENT); после всех принт строк, закрыть командой myGLCD.setBackColor(0, 0, 0); если фон чёрный. myGLCD.setBackColor(VGA_TRANSPARENT); myGLCD.setColor(0, 0, 0); myGLCD.print("USB", 146, 10); myGLCD.print("LSB", 78, 10); myGLCD.print("AM", 289, 10); myGLCD.print("CW", 220, 10); myGLCD.setBackColor(0, 0, 0); Было 247936 Стало 247937 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 597] Автор : RW3ACQ Дата : 18.11.2016 19:21 RA3YCI, приветствую! А что за проект на фото? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 598] Автор : XENOMORPH Дата : 18.11.2016 19:41 А что за проект на фото? Да есть тут, один). "Воюю" с графикой, время уходит на неё немеренно, а так всё остальное вроде бы работает. Показания скачат, потому что порты висят в воздухе. https://www.youtube.com/watch?v=DpIpFymoHJE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 599] Автор : igor 2015 Дата : 14.12.2016 18:32 Заголовок : ошибки сканирования Привет всем любителям ардуино. Захотелось синтез с цветным экраном. Но пишет ошибки при сканировании. У меня версия 1.6.7. Библиотеки скачал. Может, не те? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 600] Автор : UB7KPV Дата : 15.12.2016 17:01 RA3YCI (http://www.cqham.ru/forum/member.php?12081-RA3YCI) А на каком контроллере это работает ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 601] Автор : XENOMORPH Дата : 15.12.2016 17:06 UB7KPV, На таком же, как и у Вас, Mega2560 ) https://www.youtube.com/watch?v=rA-jFxhVSno -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 602] Автор : UB7KPV Дата : 15.12.2016 18:05 На таком же, как и у Вас, Mega2560 ) На фото я заметил панораму как в сдр, производительности этой меги хватает для этого ? Я тоже планировал панораму сделать но на DUE. Да и какой дисплей ??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 603] Автор : Tolya Дата : 21.12.2016 13:59 250736250737 Вот что у меня получилось..трансивер благодаря Ардуино теперь полностью рабочий,жду корпус что бы всё привести в порядок... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 604] Автор : RW3ACQ Дата : 21.12.2016 14:25 Tolya, приветствую! Я, к сожалению, не сначала в теме, расскажите, пожалуйста, поподробнее про Ваш проект. Почему трансивер стал "полностью рабочим"? Спасибо заранее! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 605] Автор : R2DHG Дата : 21.12.2016 14:44 Я тоже планировал панораму сделать но на DUE. На DUE и Teensy видел какие то SDR проекты, правда до ума вроде не особо доведенные, но до панорамы, наверное, довести можно. Это я в том плане, что сканированием сейчас делать наверное не стоит. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 606] Автор : UB7KPV Дата : 21.12.2016 20:40 На DUE и Teensy видел какие то SDR проекты, Я тоже видел. Open Sourse рулит :super: Но нет пока время такой проект начинать хоть руки и чешутся ;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 607] Автор : Tolya Дата : 21.12.2016 22:38 Почему трансивер стал "полностью рабочим"? Спасибо заранее! Трансивер был выведен из строя статическим напряжением,после восстановления вышедших из строя деталей,оказалось что вышел из строя ещё и один порт на микроконтроллере управлением РА...пока шли поиски нового процессора...возникла идея подключить для этого Ардуино..но так как я сам в программировании ни бум..бум обратился сдесь на форуме помочь мне с написанием скетча и огромная моя благодарность Андрею R2DHG он мне помог с этим..мне пришлось перерезать три провода от микроконтроллера и доверить управление РА Ардуино... теперь всё работает..правда диапазоны в РА переключаю вручную..но это уже ерунда..по сравнению с тем что было... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 608] Автор : Tolya Дата : 24.12.2016 13:09 Добрый день! Была задумка сделать переключение диапазонов через код диапазонов..но увы??? А можно как то вывести с Ардуино индикацию включения диапазонов на светодиодах,например 1.8 один светодиод,3.6 другой и т.д... ??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 609] Автор : rm4hq Дата : 30.12.2016 20:25 R2DHG, Заработало, повозился с подключением библиотеки LiquidCrystal_I2C. Слабоватый из меня программист. С трансивером пока не проверял. У вас работает "градусник" на дисплее через I2C? Тоже хочу подключить через этот порт. Если можно, в двух словах, что за проблемы были с библиотекой? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 610] Автор : Олег,RA3DNC Дата : 25.01.2017 21:58 Коллеги приветствую! Такой вот вопрос. Начал понемногу тестировать на макете блок управления и контроля для РА конструкции RA3YBW. Все замечательно, но есть проблема - блок предназначен для работы совместно с релейной коммутацией диапазонов, а у меня в РА используется галетник (очень хороший, от MultiTech :smile:). Переделывать полностью готовую конструкцию не хотелось бы. Возникла идея использовать для вращения галетника шаговый двигатель с управлением от Ардуины. Требуется программа, которая понимала бы в какую сторону и на сколько шагов должен повернуться шаговик в зависимости от пришедшего на вход Ардуины сигнала от блока управления. Сам я программист никакой, поэтому хотелось бы получить помощь от более продвинутых пользователей. Возможно, существуют уже готовые варианты таких скетчей. Буду признателен за любые советы и помощь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 611] Автор : R2DHG Дата : 25.01.2017 22:14 Есть готовые библиотеки управления ШД - с этой стороны засад нет, а вот как контроль положения сделать можно подумать. Проще всего гонять при каждом включении до упора влево, можно даже без концевика - ничего движку не будет, но галетник жалко. (Как вариант запоминать в EEPROM, но как то это не очень надежно выглядит, но можно). Перекодировать код с реле в шаги туда/сюда не сложно. А потянет ШД или с редуктором планируется ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 612] Автор : Олег,RA3DNC Дата : 25.01.2017 22:31 Есть готовые библиотеки управления ШД - с этой стороны засад нет, а вот как контроль положения сделать можно подумать. Проще всего гонять при каждом включении до упора влево, можно даже без концевика - ничего движку не будет, но галетник жалко. (Как вариант запоминать в EEPROM, но как то это не очень надежно выглядит, но можно). Перекодировать код с реле в шаги туда/сюда не сложно. А потянет ШД или с редуктором планируется ? Контроль положения, наверное, можно сделать, хотя бы с помощью обычных концевиков. Хотя это усложнение механики, лучше бы обойтись без этого. Редуктор конечно, здесь без вопросов. Но пока хотелось бы понять, возможно ли в принципе и насколько сложно будет все реализовать. Если получится на макете, тогда буду думать уже применительно к конкретной конструкции. Кстати, с управляющим кодом там все просто - каждому диапазону соответствует логический 0 на одном из выходов м/сх драйвера ULN2003. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 613] Автор : R2DHG Дата : 25.01.2017 22:41 Получится. Выглядит примерно так... На старте загоняем в крайнее положение (до концевика или просто с запасом крутим), обнуляем в библиотеке положение ШД. В цикле смотрим на какой ноге у нас 0 и из массива или if/case получаем нужное положение ШД, если новое положение <> старому - просто скармливаем библиотеке новое положение, куда крутить она сама разберется (accelstepper например). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 614] Автор : user12 Дата : 25.01.2017 23:01 А вариант сервоприводов? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 615] Автор : R2DHG Дата : 25.01.2017 23:19 Которые сервомашинки ? Для галетника, по идее, вариант годный, но надо прикинуть как то провернет или нет. Плохо, что они все заточены на скорость, замедление в редукторе не очень большое, хотя момент вроде по характеристикам неплохой у мощных. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 616] Автор : IG_58 Дата : 26.01.2017 02:39 Галетный выключатель не нужен, можно поставить несколько реле, управляемых дискретными выходами Ардуино. Поскольку можно обойтись без галетного переключателя, очень уж большой момент на валу двигателя не понадобится и можно применить двигатель постоянного тока с понижающим редуктором, такие есть на ali. Коммутировать ему полярность для изменения направления вращения. Кроме КПЕ, посадить ему на ось или на пром. шестерню энкодер, по нему положение вала и направление вращения легко вычисляются и запоминаются в EEPROM. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 617] Автор : IG_58 Дата : 26.01.2017 10:20 Проще всего в качестве датчика положения оси КПЕ применить многооборотный потенциометр, запитать его +5В и подать на аналоговый вход Arduino. Тогда не придется вычислять и запоминать положение оси. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 618] Автор : R2DHG Дата : 26.01.2017 10:53 Вот такие штуки меня обычно в ступор ставят. Если у кпе ось с двух сторон или у ШД - нет проблем, а если нет такой оси... блин, мне было бы проще диск с оптопарой нацепить на вал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 619] Автор : IG_58 Дата : 26.01.2017 11:15 Так нацепите, это и будет аналог инкрементального энкодера. Только если это будет просто диск с метками, то придется вычислять его положение и направление в программе, и по концевику каждый раз сбрасывать положение в ноль и определяться с направлением вращения (однозначно - в сторону от концевика). Ну и дребезг диска этого на краях меток придется как-то фильтровать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 620] Автор : R2DHG Дата : 26.01.2017 11:34 Я крутил легкий КПЕ от микрона просто напрямую с ШД (nema 17) без концевика и энкодера (с упором в крайнем положении) - проще уже некуда (а вот вариометр от р-140 так не крутанешь или ШД надо серьезней брать). Галетник не пробовал, но если конструкция уже собрана и работает - стоит попробовать, чем менять на реле сразу, тоже ведь возни... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 621] Автор : Владимир_К Дата : 26.01.2017 12:06 Так нацепите, это и будет аналог инкрементального энкодера. Не надо инкрементального. Нужен абсолютный: http://www.avislab.com/blog/encoder/ Диск с сегментами, выдающий код 1-2-4-8. Для галетника на 8 положений достаточно 1-2-4. Три оптопары. Диск, напечатанный на бумаге. Оптопары работающие на отражение. Самое сложное - закрепить диск на оси галетника, если там нет выступающей части. Если можно, по оси просверлить отверстие, нарезать резьбу и закрепить диск энкодера. К торцу оси, можно, в конце концов, диск припаять. Для этого, вырезать его из жести, по центру просверлить отверстие, приложить к торцу оси и припаять, через это отверстие. Но, надо, чтобы ось выступала. На диск из жести наклеить отпечатанный на самоклейке диск как на рисунке по ссылке. Такой энкодер избавить от необходимости крутить галетник до концевика. Это надо делать каждый раз при включении, поэтому, оно, в принципе не напрягает, но ведь возможны сбои.. И тогда все непредсказуемо. Ну и, если уж идти до конца, надо разобраться с кодом Грея. Хотя здесь можно обойтись и обычным двоичным кодом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 622] Автор : R2DHG Дата : 26.01.2017 12:24 Это все не упрощает конструкцию мягко говоря :-P У меня еще была мысль цветовую маркировку сделать - есть компактные датчики цвета со встроенной подсветкой, как раз сейчас жду по почте платку с таким на пробу. Для поворотки хотел - 3 цветовых датчика возможно хватит, обычным кодом грея надо больше датчиков - не влезет просто все это в корпус :( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 623] Автор : Олег,RA3DNC Дата : 26.01.2017 17:55 Уважаемые коллеги! Огромное спасибо что проявили интерес к предложенной проблеме. Кое-что начинает проясняться. Хочу еще раз уточнить исходные условия. Имеется рабочий РА, возникла идея приделать к нему автоматическую настройку П-контура. Пока хочу понять в принципе, насколько это реализуемо в смысле конструктивно, есть ли смысл вообще затевать весь огород. КПЕ планируется тоже крутить шаговиками, это все есть в контроллере RA3YBA 4-я версия. Хотелось бы именно галетник тоже вращать шаговиком, ибо переделывать на релейную коммутацию это переделывать пол-усилителя, проще новый собрать:smile:. Да и накладно выйдет, так как реле нужно много (применен Pi-L контур) и самые подходящие по габаритам это П1Д. А шаговые у меня есть от Роботрона, они достаточно мощные, через редуктор должны потянуть. Для вращения КПЕ предполагается применить менее мощные от 5-дюймовых советских флопиков. Вал галетника длинный, диск энкодера закрепить без проблем. Про код Грея по ссылке почитал, вроде бы это то что надо. Кстати, интересно, а как этот узел реализован в импортных РА-автоматах? Там ведь тоже шаговый крутит галетник (точно такой как в моем РА, может только пружина заменена на более слабую), а вот датчик какой? Ну и конечно, вопрос по самой программе. Возможно, существует что-либо подходящее готовое, что можно адаптировать под данную конкретную задачу? Или писать с нуля? Сам я программист никакой, это для меня проблема:-(. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 624] Автор : R2DHG Дата : 26.01.2017 18:03 Т.е. контроллер отдельный будет крутить все остальное и как бы реле переключать, а узел на ардуине только шевелить галетник ? Пока вроде ничего хитрого, попробую набросать с учетом датчика с кодом Грея. Силовая часть под ШД будет какая (для определенности, в библиотеке можно разные варианты указать) - там может быть внешний драйвер как для 3d принтера, H мост или, если ШД униполярный, просто ключи ? Кстати, интересно, а как этот узел реализован в импортных РА-автоматах? Проще всего переменный резистор прикрутить если получится, а надежней отдельную секцию на гелетнике наверное. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 625] Автор : UA3ANH Дата : 26.01.2017 18:14 Всем привет! Сначала немного информации, а потом описание проблемы. RX4HP создал сайт http://arduinoprom.ru где в ютубе показывает свои эксперименты с модулями. И как он пишет - "На этом видеоблоге будет размещен весь процесс работы, схемы, скетчи и многое другое." Честь и хвала этому энтузиасту. Может кому что и пригодится! Теперь собственно проблема. Я заинтересовался системой "Умный дом". Кусочки с разными модулями выглядят прекрасно! НО!!! Беда в том, что для управления через планшет или ПК необходимые картинки берутся через интернет! Вроде бы памяти на картинки не хватает! Все было бы хорошо если бы этот умный дом был на Красной Площади в Москве или в центре Питера! :-)... А ведь все предназначено для загородного дома. На Н.Г. был в гостях в Тамбовской обл. Есть электричество и водопровод! И ВСЁ! ГАЗ - ОТСУТСТВУЕТ, Интернета - НЕТ. Сотовый оператор один! Да и тот работает если выйти на дорогу за 100 метров от дома. А так не хочется ставить табло типа 24х8.... и кто пользовался меню в трансивере - знает как муторно бывает там выбрать необходимый параметр. Может кто знает решение данной проблемы? Заранее благодарю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 626] Автор : R2DHG Дата : 26.01.2017 18:20 Кусочки с разными модулями выглядят прекрасно! НО!!! Беда в том, что для управления через планшет или ПК необходимые картинки берутся через интернет! Вроде бы памяти на картинки не хватает! Не очень понятно зачем это надо (точно не из за памяти), но если это действительно почему то так - надо поискать другую реализацию, наверняка найдется и без привязки к интернету. В простейшем случае такой кубик делается на модуле esp8266 и он сам себе wifi точка и сам себе сайт со страничкой управления (во всяком случае так можно сделать). Хотя вот да... картинки, возможно, лучше держать где то отдельно - с модуля их неудобно раздавать (а может и вообще никак), на каком нибудь домашнем сервере например. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 627] Автор : UA3ANH Дата : 26.01.2017 18:26 на каком нибудь домашнем сервере например. Как? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 628] Автор : ra3gn Дата : 26.01.2017 18:26 to ua3anm Вы задачу не поставили, поэтому нет решения. Интернет завети в дом очень просто- внешняя антенна с модемом. Вопросы дистанционоого управления давно все решены: https://remoteqth.com/index.php -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 629] Автор : UA3ANH Дата : 26.01.2017 18:30 на каком нибудь домашнем сервере например. Как? Не очень понятно зачем это надо Что бы было интуитивно и наглядно. на каком нибудь домашнем сервере например. Как? Не очень понятно зачем это надо Что бы было интуитивно и наглядно. Интернет завети в дом очень просто- внешняя антенна. Вопросы дистанционоого управления давно все решены: https://remoteqth.com/index.php Есть еще проще! Интернет через спутниковую тарелку за 30000р... Для непонятливых! СОТОВОЙ связи практически там НЕТ! Даже с внешней антенной! - ПРОБОВАЛОСЬ неоднократно! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 630] Автор : ra3gn Дата : 26.01.2017 18:35 Тут два варианта: 1 нужно быть спецом и не задавать вопросы 2 или все купить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 631] Автор : UA3ANH Дата : 26.01.2017 18:38 1 нужно быть спецом и не задавать вопросы 2 или все купить. Вот у спецов и спрашиваю! А что купить выяснится после консультации со специалистами! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 632] Автор : Олег,RA3DNC Дата : 26.01.2017 18:41 Т.е. контроллер отдельный будет крутить все остальное и как бы реле переключать, а узел на ардуине только шевелить галетник ? Пока вроде ничего хитрого, попробую набросать с учетом датчика с кодом Грея. Силовая часть под ШД будет какая (для определенности, в библиотеке можно разные варианты указать) - там может быть внешний драйвер как для 3d принтера, H мост или, если ШД униполярный, просто ключи ? Да, основной контроллер крутит КПЕ (там есть фазовый детектор), включает-отключает анодное, дополнительный обдув и т.д. И выдает сигналы для переключения диапазонов в ручном режиме или автоматом (в схеме контроллера есть бэндкодер для управления от трансивера). Силовой части пока нет, хочу взять у товарища напопробовать стандартный шилд управления шаговым для Ардуины. Можно и самому сделать такой же как для шаговых которые КПЕ крутят. Там обычные ключи. Отдельную секцию на галетник, наверное, будет проблематично по причине того что галетник не стандартный, могут не совпасть положения движков. Тогда уж лучше обычные микрики поставить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 633] Автор : UA3ANH Дата : 26.01.2017 18:42 Тут два варианта: 1 нужно быть спецом и не задавать вопросы 2 или все купить. Вот у спецов и спрашиваю. А покупка после консультации со специалистами. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 634] Автор : R2DHG Дата : 26.01.2017 19:16 Как? Если вы про FLprog, то понятия не имею - лучше у автора FLprog спросить на сайте, на скринах с демки был локальный IP адрес, так что может и можно. А в принципе разворачивается на отдельном компе (или роутере или каком нибудь respberry pi) http сервер и туда скидываются картинки, потом модуль просто дает на нее ссылку либо интерфейсом занимается домашний комп, а уже с него реально управляются модули. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 635] Автор : UA3ANH Дата : 26.01.2017 19:35 <адрес домашнего сервера/картинка.jpg Благодарю. Эту идею надо обдумать. Но вроде должна быть работоспособной. <адрес домашнего сервера/картинка.jpg Благодарю. Эту идею надо обдумать. Но вроде должна быть работоспособной. FLprog А FLprog проверен. там все понятно... Добавлено через 5 минут(ы): Да.... Запустить Denwer и как локальный хост использовать. Должно работать без проблем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 636] Автор : AVG Дата : 01.03.2017 19:48 Добрый день! Была задумка сделать переключение диапазонов через код диапазонов..но увы??? А можно как то вывести с Ардуино индикацию включения диапазонов на светодиодах,например 1.8 один светодиод,3.6 другой и т.д... ??? Конечно можно. Тут упоминали программу FLProg (http://flprog.ru) . Её не пробовали для создания проекта для Ардуино? Не получится пишите попробуем слоять... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 637] Автор : Tolya Дата : 01.03.2017 22:46 Не получится пишите попробуем слоять... Спасибо..но благодаря этому форуму и лично Александру R2DHG всё работает в лучшем виде и процессор даже менять не надо.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 638] Автор : Tolya Дата : 02.03.2017 19:44 Тут упоминали программу FLProg . Её не пробовали для создания проекта для Ардуино? Хотелось бы попробовать,но вот беда..никак не могу её скачать??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 639] Автор : RN3GP Дата : 02.03.2017 19:57 никак не могу её скачать??? http://flprog.ru/load/distributivy_programmy/latest_version/19 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 640] Автор : AVG Дата : 03.03.2017 06:08 Хотелось бы попробовать,но вот беда..никак не могу её скачать??? Почему? У Вас медленный интернет? Добавлено через 6 минут(ы): http://flprog.ru/load/distributivy_programmy/latest_version/19 Зачем на англицком если есть на русском новая версия FLProg 2.3.2 (http://flprog.ru/load/distributivy_programmy/dounloaddistrib/portativnaja_versija_programmy_flprog_2_3_2_dlja_windows/1-1-0-247) http://flprog.ru/load/distributivy_programmy/dounloaddistrib/portativnaja_versija_programmy_flprog_2_3_2_dlja_windows/1-1-0-247 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 641] Автор : Serg Дата : 08.03.2017 19:56 Вопрос ардуино-чайника: Есть такая утилита XLoader для загрузки HEX-ов, прошу объяснить, она шьет напрямую микросхему, как обычный МК, т.е. потом теряется внутренний ардуионовский бутлоадер или же ничего не нарушается и потом можно скажем записать без проблем какой-то скеч из ардуиновской ide обычным способом? И еще вопрос, этот xloader - по сути "вызыватель" avrdude.exe с определенными ключами командной строки и всё? Т.е. если он на WinXP без net4.0 на запускается, можно обойтись без него, сделав нужный .bat файл для запуска avrdude? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 642] Автор : Владимир_К Дата : 08.03.2017 20:17 Есть такая утилита XLoader для загрузки HEX-ов, прошу объяснить, она шьет напрямую микросхему, как обычный МК Нет, она "шьет" через бутлоадер, задача утилиты прошить ардуино любым HЕХ-файлом, который может быть создан в любой другой среде, например Ассемблер, WinAVR и пр. После прошивки Ардуино так им и остается:smile:. И еще вопрос, этот xloader - по сути "вызыватель" avrdude.exe с определенными ключами командной строки и всё? Этого не знаю.. Чтобы доподлинно это узнать, надо попытаться с помощью XLoader прошить Ардуино на компе у которого нет ни IDE Ардуино ни avrdude.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 643] Автор : RA4FHE Дата : 08.03.2017 20:27 И еще вопрос, этот xloader - по сути "вызыватель" avrdude.exe с определенными ключами командной строки и всё? Да всё верно:-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 644] Автор : UT7DL Дата : 09.03.2017 21:00 Привет друзья ! Есть Arduino MEGA 2560 и дисплейчик 480x320 3.2 TFTLCD Shield Подскажите где взять скетч для теста дисплея и ардуино ? Графические возможности хочется посмотреть Если у кого есть примерчик для Codevision .... Спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 645] Автор : Serg Дата : 09.03.2017 21:51 UT7DL, только вчера я "баянил" этим вопросом проверки экрана: http://www.cqham.ru/forum/showthread.php?34517-Synthesizer-on-Mega-2560-3-2-TFT-LCD-Si5351-V2-0&p=1372619&viewfull=1#post1372619 Ничего своего писать даже не надо, демо готовое. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 646] Автор : XENOMORPH Дата : 10.03.2017 15:54 Для обладателей плат Mega 2560 + LCD 320x480. Простой RF MULTI Monitor для трансивера. Для экспериментов и не только 8-). 258107 258108 Также Power Supply монитор для блока питания. Отображение потребляемой мощности, напряжения и тока. 258109 258110 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 647] Автор : Tadas Дата : 10.03.2017 16:40 Что-то SWR великоват :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 648] Автор : XENOMORPH Дата : 10.03.2017 17:00 Tadas, Когда фотографировал, в конструкции выводы не были подтянуты на GND, так что, всё ништяк) PS: Кому FPS покажется мало, измените размер шрифта в меньшую сторону. https://www.youtube.com/watch?v=rH4POXNYV-I -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 649] Автор : UT7DL Дата : 16.03.2017 12:30 Привет всем ! При компиляции выдает: exit status 1 Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560 Что это за ошибка ? Спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 650] Автор : IG_58 Дата : 16.03.2017 13:14 В ряде случаев это лечится переустановкой Arduino IDE (деинсталляция, опционально проверка реестра и коррекция ошибок, чистая инсталляция актуальной версии). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 651] Автор : UT7DL Дата : 16.03.2017 14:14 258701 спасибо. Сейчас попробую Добавлено через 37 минут(ы): Разобрался. Спасибо. Пробую измерять напряжение с ADC0 (A0) ADC1 (A1) int a; int b; a = analogRead(0) b= analogRead(1) и вывожу результат : myGLCD.printNumI(a,250,10); myGLCD.printNumI(b,250,100); Ничего не подаю на эти 2 входа и вижу на экране 276 - 279 - разные значения выводятся. Как это понимать ? Спасибо за помощь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 652] Автор : R1AIT Дата : 16.03.2017 14:35 Ничего не подаю на эти 2 входа и вижу на экране 276 - 279 - разные значения выводятся. Как это понимать ? Спасибо за помощьИменно так выглядит это самое "ничего" на входе. :) Если выводы никуда не подключены, то результат, в зависимости от внутренностей устройства, в принципе может быть любым. У ардуины обычно получется что-то примерно в середине интервала 0-1024, и большей частью постоянно меняется в довольно больших пределах. Никуда не подключать входы не правильно. В зависимости от того, вход чего так болтается, могут возникнуть неприятные явления вроде самовозбуждения и усиления каких-либо внешних воздействий. Даже если и выход элемента никуда не подключен, может влиять на окружающие цепи создавая помехи. По этой причине, неиспользуемые входы микросхем обычно таки подключают куда нибудь. В ардуине с этим чуть проще. О проблемах из-за неподключенных выводов я не слышал/читал, особенно, если и в программе они не инициализируются. Если нужно, то на выходах ардуины есть встроенные резисторы. На цифровых входах они задействуются командой Pinmode(pin, INPUTPULLUP). На аналоговых задействовать тоже можно, но там вроде как-то не тривиально, хотя люди делают и мне примеры попадались. Навскидку не помню как. Гугл в помощь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 653] Автор : R2DHG Дата : 16.03.2017 14:42 А если рукой поводить над платой можно почувствовать себя экстрасенсом :-P Высокоомные они очень. Иногда на одной ноге переменным резистором регулируешь напряжение, а с соседнего входа читается почти тоже самое - то ли по грязи на плате то ли по текстолиту добегает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 654] Автор : UT7DL Дата : 16.03.2017 14:47 А если рукой поводить Показания изменяются. Так что ... Использовать нагрузочные резисторы ? К примеру 10к подстроечники ? Если нужно, то на выходах ардуины есть встроенные резисторы. а с этого момента можно пример ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 655] Автор : vadim_d Дата : 16.03.2017 14:57 Так что ... Использовать нагрузочные резисторы ? Пока отлаживаете программу, нужно ведь знать, что подается на вход - простой подстроечник на время отладки все решает. А дальше сигнал будет приходить с источника, и никаких дополнительных подвесок ему обычно не надо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 656] Автор : IG_58 Дата : 16.03.2017 14:59 Так что ... Использовать нагрузочные резисторы ? Ну да, например, так. Открытый высокоомный вход - это антенна, АЦП ловит сигнал, наведенный электромагнитным полем на открытый вход и выдает какой-то код. Я так делал сенсорное управление синтезатором. Посадите входы на землю через резистор, чем меньшего номинала, тем лучше. В принципе, нескольких килоом обычно хватает, чтобы это дело заткнуть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 657] Автор : UT7DL Дата : 16.03.2017 15:05 Нужно будет заказать изогнутые по углом 90 градусов планки контактов. Не хочу прямо к платке подпаивать. Спасибо всем. Буду дальше "пилить" :пиво::-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 658] Автор : Олег,RA3DNC Дата : 16.03.2017 15:33 Нужно будет заказать изогнутые по углом 90 градусов планки контактов. Ну да, и ждать неизвестно сколько такую мелочь... Берете плату от старого HDD или СD/DVD привода, там как раз изогнутые контакты:smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 659] Автор : UT0UM Дата : 16.03.2017 18:11 Ну да, и ждать неизвестно сколько такую мелочь... чего? пару дней -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 660] Автор : R1AIT Дата : 16.03.2017 21:22 а с этого момента можно пример ? Под рукой нет. Подробно тут: https://www.arduino.cc/en/Reference/PinMode В примере там, к сожалению, нога конфигурируется как выход. Хотя, со входом аналогично делается. А с INPUTPULLUP получается вход подтянутый к питанию резистором в 20-50 килоом. Нашел пример тут: http://robotosha.ru/arduino/connect-button-arduino.html Помнится, что вроде и аналоговый вход также можно. На русском сайте тоже кое-что есть. http://arduino.ru/Tutorial/AnalogInputPins -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 661] Автор : R2DHG Дата : 16.03.2017 21:46 Не хочу прямо к платке подпаивать. Ардуина вообще не особо нежная, главное с поданным питанием не паять и в +5 не подавать +12 :-P Если от USB питать то и замыкание выходов на общий и + или лог 1 и 0 между собой ни к чему страшному не приводит - разве что мк рестарт делает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 662] Автор : UD0DAB Дата : 17.03.2017 12:16 Кто сталкивался, внутренний ИОН в ардуинках стабильный? Или лучше взять 431 тлку? Надо измерять питание трансивера, батарейки часов, датчики КСВ.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 663] Автор : rm4hq Дата : 17.03.2017 13:04 внутренний ИОН в ардуинках стабильный? Думаю, для нашей точности хватит. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 664] Автор : UD0DAB Дата : 17.03.2017 14:35 Думаю, для нашей точности хватит. Поглядел.. В про мини нету выхода арефф на пины. Поэтому буду юзать внутренний ион 1.1 вольта. Кажется вот картинка внутреннего иона от температуры и питания для Atmega 328: 258789 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 665] Автор : WT2J Дата : 03.04.2017 00:49 Интересная страничка Акиа Мизуно @ JA2GQP Не плохо он сделал RF Analyzer. https://twitter.com/ja2gqp -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 666] Автор : uk8adi Дата : 03.04.2017 16:36 Не плохо он сделал RF Analyzer. Очень даже! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 667] Автор : XENOMORPH Дата : 03.04.2017 16:53 Вернее повторил, это разработка JA2NKD https://ja2nkd.blogspot.ru/2017/02/rf-analyzer-case-in-ver10.html Тоже повторил приборчик, только заменил кварц на плате NANO, установил 27MHz, стал пошустрее работать (при программировании вернуть назад 16MHz). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 668] Автор : UD0DAB Дата : 03.04.2017 18:33 это разработка JA2NKD https://ja2nkd.blogspot.ru/2017/02/r...-in-ver10.html Монументальный прибор :) Корпус брутален! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 669] Автор : ra3gn Дата : 06.04.2017 14:32 привет любителям ардуин. Регулятор оборотов для двиг(12в,2а) от сервера для охлаждения выходной лампы(если надоел постоянный вой от двигателя). // ra3g_6_04_2017_пи - регулятор оборотов для двигателя(12в,2а) охлаждения лампы int analogPin = 0; // А0 номер порта к которому подключен терморезистор(10ком)+5к на плюс float kInt = 0.05; // коэф. интегральной части float kPr = 0.8; // коэф. пропорцианальной части float setTemp = 3.22;//зад. темп. float measureTemp = 3.4;// измер темп. float regTempErr;// разница темпр float speedInt;//интегр часть float speedPr;//пропор часть float Speed;//скорость вентилятора int minSpeed = 27;// минимальная скорость int maxSpeed = 150; //максим. скорость(255 возможна) void setup() { Serial.begin(38400); // установка связи по serial // ШИМ 8 разрядов, 7,8125 кГц TCCR1A = TCCR1A & 0xe0 | 1; TCCR1B = TCCR1B & 0xe0 | 0x0a; analogWrite(9, minSpeed); // на выводе 9 ШИМ резистор 1ком на синий провод } void loop() { measureTemp = (float)(5 * analogRead(analogPin))/1024; // счит темп, переводим в вольты regTempErr = setTemp - measureTemp; // считаем ошибку if(measureTemp < setTemp) speedInt = speedInt + regTempErr * kInt;// инт. часть else speedInt = 0;// если ошибка отрицательна, выключаем регулятор speedPr = regTempErr * kPr ;//пропорциональная часть Speed= minSpeed + 255*(speedInt + speedPr)/5 ;// задание на скорость if (Speed > maxSpeed) Speed = maxSpeed; //огр снизу if (Speed < minSpeed) Speed = minSpeed; //огр сверху analogWrite(9, Speed); // выводим шим // для наладки Serial.print("temp=");Serial.print(measureTemp,2); Serial.print(" Err=");Serial.print(regTempErr,2); Serial.print(" speedInt=");Serial.print(speedInt,2); Serial.print(" speedPr=");Serial.print(speedPr,2); Serial.print(" Speed=");Serial.print(Speed,2); Serial.println(" "); delay (1000); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 670] Автор : UT7DL Дата : 06.04.2017 16:39 Привет всем ! Коллеги подскажите как описать прерывание от 2 таймера и как его задействовать ? В Codevision Это как 2 пальца об асфальт :crazy: а здесь пока не умею Хочу программно реализовать часики. Мне нужно чтобы таймер тикал с интервалом 1 сек Спасибо огромное -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 671] Автор : R2DHG Дата : 06.04.2017 17:20 Ну вы можете так же попробовать сделать. Совсем уж специальных штуковин в ардуине для этого нет, но можно посмотреть библиотеки TimerOne TimerThree (не для atmega328) или прям так http://www.stepwood.com/mcucodes/2012/03/02/arduino-ispolzovanie-taymeraschetchika-2-v-k/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 672] Автор : veso74 Дата : 06.04.2017 17:33 UT7DL, код для 2 сек (для секундные "точки") noInterrupts(); // initialize timer1 and disable all interrupts TCCR1A = 0; TCCR1B = 0; TCNT1 = 0; OCR1A = 31250; // compare match register 16MHz/256/2Hz TCCR1B |= (1 << WGM12); // CTC mode TCCR1B |= (1 << CS12); // 256 prescaler TIMSK1 |= (1 << OCIE1A); // enable timer compare interrupt interrupts(); // enable all interrupts *********** ISR(TIMER1_COMPA_vect) { // timer compare interrupt service routine ch_flag ^= 1; if (ch_flag) ss++; } ss - секунди, а по ch_flag можно точки управлять. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 673] Автор : XENOMORPH Дата : 06.04.2017 20:41 В личку народ стучался, значит есть интерес к конструкции из поста №667. Поскольку конструкция состоит из модулей, основная печатка это макетная плата, а вот для AD8307 платы нет, вернее есть на ALI, но жаба душит, и ждать долго). Кому лень рисовать, выкладываю свою. Микросхема чувствительная, поэтому требует хорошего экранирования. В моём варианте, минимальный уровень при заглушенном входе 73,6 dBm. В архиве 2 варианта, без компенсации, для работы на более высоких частотах (100-500MHz), и без (подробности в и-нете). 260336 260337 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 674] Автор : UT7DL Дата : 07.04.2017 11:17 veso74 спасибо огромное. Все понял по данному вопросу. Еще такой вопрос - то был таймер 2 соответсвенно обработчик прерывания называется ISR(TIMER1_COMPA_vec t) {} т.е. обработчик сравнения в регистре OCR1A А как называется обработчик к примеру по переполнению таймера ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 675] Автор : UT7DL Дата : 07.04.2017 12:18 Пишу так : ISR(TIMER2_OVF_vec) { } Ардуино ругается - Arduino: 1.8.1 Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" collect2.exe: error: ld returned 5 exit status exit status 1 Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 676] Автор : veso74 Дата : 07.04.2017 13:34 ... collect2.exe: error: ld returned 5 exit status exit status 1 ... UT7DL, у Вас какая ОС? Ето проблем компилятора с winXP: https://forum.arduino.cc/index.php?topic=310950.0 Как вариант: (цитирую себя): #347 (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1307789&viewfull=1#post1307789) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 677] Автор : UT7DL Дата : 07.04.2017 16:55 Совершенно верно Win XP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 678] Автор : Tolya Дата : 07.04.2017 18:16 Добрый вечер! Можно использовать Ардуино как САТ интерфейс к трансиверу,а то лежит без дела..хотелось бы приспособить под что то нужное... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 679] Автор : RT5D Дата : 07.04.2017 18:56 Всем привет! Никто не подскажет, как можно вывести на дисплей ардуины ток анода и сетки усилителя с бестрансформаторным питанием? Может применить специализированные изолированные датчики тока на эффекте холла? Не прошьет-ли? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 680] Автор : Tadas Дата : 07.04.2017 20:43 Не прошьет-ли? Если не будет превышено допустимое напряжение изоляции, то не прошьёт. Читайте описание датчика. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 681] Автор : RA2FIM Дата : 04.05.2017 23:06 вот по-тхоньку =лёд тронулся=.... http://srukami.inf.ua/pultoscop_v2.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 682] Автор : Alex 1 Дата : 05.05.2017 07:48 =лёд тронулся=.... Решил изваять что то подобное, но для RF, и с почти с таким же дисплеем. Но вот саму ардуину покупать во мне жлоп пробудился, потому как есть свободно лежащие 328 меги. Решил сделать эрзац ардуино-нано, с посадочными местами как у оной, но без USB загрузчика ..262081 .. есть и НЕХы для конструкции, но появился вопрос, какие фьюзы заливать и так ли уж важен в тактировании нано кварц на 16мГц, может просто скорректировать фьюзу под кварц 8мГц?. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 683] Автор : UT7DL Дата : 05.05.2017 08:07 Привет всем ! Упражняюсь с Mega2560 - осваиваю (после Codevision) среду программирования Ардуино. Решил сделать часики аналоговые простые. Подскажите математику рисования секундной стрелки Стрелку то саму не проблема нарисовать и двигать тоже - она у меня к примеру укорачивается проходя с 0 часов до 3 к примеру Уже 3 дня читаю интернет и ничего получается... :-P Спасибо друзья за помощь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 684] Автор : Владимир_К Дата : 05.05.2017 10:52 есть и НЕХы для конструкции, но появился вопрос, какие фьюзы заливать и так ли уж важен в тактировании нано кварц на 16мГц, может просто скорректировать фьюзу под кварц 8мГц?. Если будете использовать самоделку как "Ардуино", то надо именно 16 мгц. Иначе грузить через загрузчик не будет. Можно плату использовать без загрузчика (бутлоадера). Но тогда нужен программатор, зато тактовую частоту можно брать любую, например от внутреннего генератора. Для использования платы как Ардуино, но с другой тактовой частотой, также видел решение в интернете. Там вносятся изменения в программу "бутлоадера". Но, надо искать.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 685] Автор : veso74 Дата : 05.05.2017 11:27 ... есть и НЕХы для конструкции, но появился вопрос, какие фьюзы заливать и так ли уж важен в тактировании нано кварц на 16мГц, может просто скорректировать фьюзу под кварц 8мГц?. Alex 1, в Program Files \ Arduino\hardware\arduino\avr есть файл boards.txt. В настройки можно изменит то, что вам нужно. --- ориг. фьюзи: Nano, строка 149 nano.menu.cpu.atmega328.bootloader.low_fuses=0xFF nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA nano.menu.cpu.atmega328.bootloader.extended_fuses=0xFD -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 686] Автор : R2DHG Дата : 05.05.2017 12:16 Стрелку то саму не проблема нарисовать и двигать тоже - она у меня к примеру укорачивается проходя с 0 часов до 3 к примеру Т.е. вы рисуете круг, а он не круглый ? В вертикальной палке точек больше, чем в горизонтальной ? Решил сделать эрзац ардуино-нано, с посадочными местами как у оной, но без USB загрузчика ... может просто скорректировать фьюзу под кварц 8мГц?. Если шить программатором будете, то можно и так, но могут проскакивать ошибки при обмене по com-порту - тут как повезет с отклонением частоты. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 687] Автор : Alex 1 Дата : 05.05.2017 13:41 но могут проскакивать ошибки при обмене по com-порту Это автономный прибор, вывод всей информации на дисплей 2,8" .... http://ja2gqp.blogspot.ru/2017/ .... , просто у меня ныне нет маленького кварца на 16, но есть на 8. И естественно на плате нет ни какого загрузчика, для заливки есть usbaps. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 688] Автор : XENOMORPH Дата : 05.05.2017 15:19 какие фьюзы заливать и так ли уж важен в тактировании нано кварц на 16мГц Фьюзы с прошитым кодом RF Analyzer читаются так (проверено перепрошивкой). С кварцем 27MHz (2 вывода, без GND) работает, как и с 8 и 16. 16MHz - прибор тормоз, с 8MHz полный торомоз, FPS ~>0,5. 262103 Коды (HEX BIN) FLASH/EEPROM/FUSE RF Analyzer. 262104 262105 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 689] Автор : R2DHG Дата : 05.05.2017 15:51 И естественно на плате нет ни какого загрузчика, для заливки есть usbaps. Тогда без проблем, я на макетке так в голую мегу и лью прям из среды ардуинской, еще и места больше, только надо в boards.txt скорректировать 16 на 8 или плату выбрать с кварцем 8 чтобы delay() правильно работали. А вот с цветным экраном действительно проблемы могут быть, не совсем он для ардуины на меге (в монохромном то 1 байт - 8 точек, а в цветном даже при 16 бит выходит 2 байта одна точка - в 16 раз больше инфы и медленнее дисплей! ну или ног куча нужна), вот с аналогом ардуины на stm32 дисплеи даже по spi летают (правда библиотека дисплея с поддержкой DMA отжирает до 32кб флэша сходу). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 690] Автор : ra6ljm Дата : 07.05.2017 10:55 Решил попробовать... Подключил DS1307 и реле (для управления нагрузкой ). Скетч не компилится, видимо хочет настоящее время, а я не соображу,как его выставить. Прошу помощи. Сразу скажу, что это моя первая поделка из ардуино модулей, так что... Вот этот кусок кода clock.begin(); // Этот закоментированый кусок кода раскоментируем, когда хотим установить время в часах: // clock.fillByYMD(2016,11,26);//Jan 19,2013 // clock.fillByHMS(19,48,30);//15:28 30" // clock.fillDayOfWeek(TUE);//Saturday // Serial.print("setTime"); printTime(); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 691] Автор : R2DHG Дата : 07.05.2017 12:21 Скетч не компилится, видимо хочет настоящее время, а я не соображу,как его выставить. Вряд ли, компилятору до этого дела нет. Приведите весь код и ошибку желательно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 692] Автор : ra6ljm Дата : 07.05.2017 12:54 Код и ошибки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 693] Автор : veso74 Дата : 07.05.2017 13:54 ra6ljm, если я нашел коректно ваша библиотека DS1307, то вариант для ошибки можно в Arduino IDE: у вас v1.0.5, у меня v1.8.2. Код: ваш. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 694] Автор : ra6ljm Дата : 07.05.2017 14:45 veso74, Благодарю:пиво:. Не понял, как вы сделали, но скомпилилось. Ну и подскажите,пожалуйста, как выставить текущее время? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 695] Автор : veso74 Дата : 07.05.2017 15:14 Ну и подскажите, пожалуйста, как выставить текущее время? А так работает (в setup)? (все как в examples, папка RTC_DS1307) clock.begin(); clock.fillByYMD(2017, 5, 7); // YYYY, MM, DD clock.fillByHMS(15, 13, 00); // HH, MM, SS clock.fillDayOfWeek(SUN); clock.setTime(); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 696] Автор : ra6ljm Дата : 15.05.2017 21:30 Выше выкладывал код для включения нагрузки, в определенные интервалы реального времени. Все работает в железе. Нужна помощь по внедрению в данный код тактовой кнопки, для принудительного включения- отключения нагрузки, при любых условиях времени. Просто управление кнопкой, смотрю здесь (https://www.drive2.ru/b/454125791135924574/) спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 697] Автор : igor 2015 Дата : 21.05.2017 15:30 Добрый день. Собрал синтез на макетке с японского сайта, ссылка на 58 стр. Ставил старую прошивку, после новую. Так , в старой прошивке ver 3.0., частота одна -7050 кГц, всего один диапазон. В новой прошивке ver3_1 - диапазоны все, но как включаешь - на экране сразу 94.967.290. Откуда она вылазит? Крутишь валкод, частоту можно накрутить, но если крутануть чуть назад - сразу 94.967.290. Да и значки на экране - по раскладке полос не переключаются , только LSB высвечивается.Отсюда: как добавить диапазоны в первую прошивку, можно непрерывный 1-30 МГц с добавлением шага 100 кГц . Как исправить ошибки во втором скетче. Японцу не писал, не знаю, как там регистрироваться и отправлять. Сам пробовал, выставил начальную частоту - 1 МГц и конечную 30 МГц, но диапазон на 7900 и заканчивается. Файл eep.ino - это тест, только выкидывает таблицу, больше ничего. Экран st775, диагональ -1,8 дм. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 698] Автор : veso74 Дата : 21.05.2017 15:55 igor 2015, а Вы выполнили программа vfo_v3_eep.ino по первоначальние установки значения ячейки EERPOM-а? https://sites.google.com/site/ja2nkd/download -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 699] Автор : igor 2015 Дата : 21.05.2017 16:04 Добрый день. Veso, как это сделать. Да, я залил скетч eep.ino, к прошивке ver3.1, но при включении вышла только таблица с диапазонами и все. Что нужно ещё сделать? Не силён я в японском языке. Сначала залил скетч ver3.1, синтез стал работать, как описано выше, залил еер.ino - появилась таблица с диапазонами и как дальше, что ещё нажать или включить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 700] Автор : veso74 Дата : 21.05.2017 16:18 И я не силён в японском языке :-P. В конце есть текст на английском: install sketch(Arduino IDE V1.6.5) 1) Edite sketch(vfo_v3eep.ico). That is initial band-data(frequency, mode and step.) 2) Compile & write to EEPROM in arduino-nano. 3) Edit sketch(NKDVFO22_Ver310.ico). That is main progam. 4) Compile &write to flash memorry in arduino\nano. (https://ja2nkd.blogspot.bg/2016/10/dds-vfo-controller-version-up-ver31.html) Залейте последователно vfo_v3_eep.in, потом NKDVFO22_Ver310.ico. Поставьте и резисторная матрица для кнопки переключения (на ваших фото я не вижу) (вход A7). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 701] Автор : igor 2015 Дата : 21.05.2017 16:35 Veso, вы указали файлы для экрана 2,2 дюйма. У меня 1,8 дюйм - также все выполнить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 702] Автор : veso74 Дата : 21.05.2017 16:52 ... для экрана 2,2 дюйма. У меня 1,8 дюйм - также все выполнить? Да, не досмотрел, есть для 1.8'': vfo_v3_18eep.ino, но действие одно и тоже. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 703] Автор : igor 2015 Дата : 21.05.2017 17:25 Ну залил, сначала - еер.ino,после nkdvfo18_ver3_1, так же все и осталось. При включении на экране 94.967.290 , резистор в 10 ком поставил. Без него с метр не выводится на экран. Добавлено через 18 минут(ы): Да, там написано сделать компиляцию после заливки еер.ino - как её осуществить? На экране только таблица. Добавлено через 9 минут(ы): Veso, может проще расширить диапазон в версии 3.0 и добавить шаг в 100 кГц. Попробуйте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 704] Автор : UD0DAB Дата : 22.05.2017 14:41 Товарищи, если не туда, прошу послать куда надо. Вытравил плату для использования на ней ардуино про мини и еще кучи модулей. Свой шилд в общем. А проблема в чем: Есть 5 штук платок ардуино про мини. Из поднебесной. 4 работают со всех сторон, всяко разно и без проблем шьются и программатором и через UART. Одна платка зараза не шьется через UART хоть тресни! Через ISP шьется без вопросов. Самое главное что все пины нормально работают и UART на ардуине пашет! Но прошивка не происходит! Пишет: Using Port : COM22 Using Programmer : arduino Overriding Baud Rate : 57600 avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 avrdude done. Thank you. То есть функционально этот arduino pro mini работает нормально, но шиться ни в какую через UART не хочет! Кто с МК на ты, подскажите, куда покопать? Или это просто дохлый МК и забить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 705] Автор : UA0YAS Дата : 22.05.2017 15:32 не шьется через UART хоть тресни! Через ISP шьется без вопросов загрузчик(bootloader)отсутствует https://yandex.ru/search/?text=%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D1%8C%20bootloader%20arduino&lr=76 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 706] Автор : UD0DAB Дата : 22.05.2017 16:03 загрузчик(bootloader )отсутствует Пробовал прошить загрузчик через среду Arduino IDE. Пишет что загрузчик удачно вписался! А через уарт все равно не шьется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 707] Автор : UA0YAS Дата : 22.05.2017 16:23 чем пробовал шить? Железо? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 708] Автор : ra6ljm Дата : 22.05.2017 16:25 Лед мигает? Мигалка с загрузчиком у меня ставится. Загрузчик я ставил через ISP. Можно из ide через другую ардуину. Я не пробовал... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 709] Автор : UD0DAB Дата : 22.05.2017 16:40 загрузчик(bootloader )отсутствует Пробовал прошить загрузчик через среду Arduino IDE. Пишет что загрузчик удачно вписался! А через уарт все равно не шьется. чем пробовал шить? Железо? Программатор - arduino nano прошитая как ISP. При попытке шить через уарт проверял сигнал сброса - про-мини сброс проходит. Такое ощущение что не совпадает скорость порта. Может на платке керамический резонатор кривой? Там 16 МГц должно быть? А может мой импровизированный программатор криво загрузчик шьет? Как то прошивку СЧИТАТЬ из МК можно назад на комп?? После прошивки через ISP загрузчика, на про-мини лед мигает как положено. Следовательно прошивка через ISP работает. Может просто мега глючная - перепаять ее.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 710] Автор : veso74 Дата : 22.05.2017 17:19 igor 2015, у меня NKDVFO18 ver 3.1 работает с первого пуска. Енкодер работает, с резистор 27k к точки соединения 10k/10k, A7 я переключал диапазон. vfo_v3_18eep.ino -> NKDVFO18_Ver3_1.ino, Arduino Nano, 1,8'' TFT, st7735 --- UD0CAJ, такой случай бил у меня: Я получил Arduino Pro Mini с Blink, LED оригинально мигал, но я не успел запрограмировать никак Arduino с USB to TTL адаптер. Видимо били нехорошие спойки. Через медная оплетка и флюс я перепаял все 4 сторони MCU. Заработало. Не люблю ети супер-smd корпуси (28mlf?)! Попробуйте, перепаяйте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 711] Автор : Владимир_К Дата : 22.05.2017 17:21 При попытке шить через уарт проверял сигнал сброса - про-мини сброс проходит. Для Вашей платы Ардуино, посмотрите скорость порта. Я шью через загрузчик Ардуино из среды WinAVR. Если скорость не соответствует плате, тогда не шьет. Кроме того, от UARTA надо сигнал сброса подать, то есть кроме TXD и RXD нужен еще DTR. В первых версиях (а у меня был первый самодельный на Atmega8) была кнопка сброса. Поменял контроллер на 328, прошил новый загрузчик от Ардуино Duemilanove. Попробовал кнопкой сбросить и прошить, ничего не получилось, пришлось навесным проводочком подать DTR. Но, для про мини, последнее, скорее всего не нужно.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 712] Автор : R2DHG Дата : 22.05.2017 17:51 А может мой импровизированный программатор криво загрузчик шьет? Как то прошивку СЧИТАТЬ из МК можно назад на комп?? После прошивки через ISP загрузчика, на про-мини лед мигает как положено. Следовательно прошивка через ISP работает. Может просто мега глючная - перепаять ее.... Рискните тот же загрузчик в рабочую ардуину залить на пробу. Оно конечно штатный должен на 57600 принимать, но вообще есть варианты загрузчиков, работающие только на 115200. Может просто непропай где то в TX/RX между ногами меги и uart ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 713] Автор : UD0DAB Дата : 22.05.2017 22:11 Рискните тот же загрузчик в рабочую ардуину залить на пробу. Попробовал. Залил в другую про-мини. все ок. По части железа в глючной про-мини все рабочее. Если заливаю через spi скетч с общением по uart, то подключив потом это к компу я подаю и принимаю данные без проблем. Пробовал и 9600 и 57600. А кроме arduino ide чем можно загрузчик залить еще? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 714] Автор : veso74 Дата : 22.05.2017 22:20 А кроме arduino ide чем можно загрузчик залить еще? С avr програматор и его софт, напр. USBasp и eXtreme Burner AVR. HEX файл: C:\Program Files\Arduino\hardware\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328.hex Fuses: находится в C:\Program Files\Arduino\hardware\arduino\avr\boards.txt строка 676: pro.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF pro.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xDA pro.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0xFD pro.menu.cpu.16MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 715] Автор : R2DHG Дата : 22.05.2017 22:26 Я через какую то оболочку avrdude заливал. Они лежат в \Arduino\hardware\arduino\avr\bootloaders , я заливал optiboot чтобы watchdog работал нормально, но вот он возможно работал потом на 115200 (но не факт, что из среды брал, может специально такой и качал - не помню уже). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 716] Автор : UT7DL Дата : 31.05.2017 15:01 Привет всем ! Возник такой вопрос: Mega2560 + 3.2 display HX8357 вывожу к примеру строку tft.setTextColor(TFT_WHITE,TFT_GREY); tft.setCursor(10,300); tft.print(" Stop"); в тех же координатах хочу вывести другое : tft.setTextColor(TFT_WHITE,TFT_GREY); tft.setCursor(10,300); tft.print("RUN ");} Выводимые строки накладываются одна на другую. Надо чтоб затиралось предыдущая строка Что делать ? Спасибо за помощь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 717] Автор : IG_58 Дата : 31.05.2017 15:25 Как-то так, что ли... tft.setTextColor(TFT _WHITE,TFT_GREY); tft.setCursor(10,300 ); tft.print(" Stop"); . . . . . еще какой-то код . . . . tft.setTextColor(TFT _WHITE,TFT_GREY); tft.setCursor(10,300 ); tft.print(" "); // здесь в print 5 пробелов, форум их не отобразил tft.setTextColor(TFT _WHITE,TFT_GREY); tft.setCursor(10,300 ); tft.print("RUN ");} -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 718] Автор : UT7DL Дата : 31.05.2017 16:07 Разобрался :-P нужно использовать tft.drawString("[ Stop ]", 30, 250, 4); эта функция правильно работает -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 719] Автор : UT7DL Дата : 09.06.2017 18:47 Привет всем ! Еще такой вопрос. Есть такой код read_A = digitalRead(A); read_B = digitalRead(B); if (( !read_A ) && (C)) { if ( read_B ) { s++; direct = 1; } else { s--; direct = 0; } } C = read_A; Это реализация энкодера где direct - направление вращения Меня интересует следующее - как узнать что энкодер не вращается Спасибо за помощь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 720] Автор : UT0UM Дата : 09.06.2017 19:25 как узнать что энкодер не вращается повесить А и Б на прерывания -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 721] Автор : UT7DL Дата : 09.06.2017 19:46 Спасибо. У меня 2 энкодера. Хватит прерываний ? примерчик можно глянуть ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 722] Автор : UT0UM Дата : 09.06.2017 19:58 Хватит прерываний ? если не тупо в лоб, то и одного хватит -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 723] Автор : Tadas Дата : 09.06.2017 20:32 Меня интересует следующее - как узнать что энкодер не вращается Если s не меняется, значит не крутится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 724] Автор : UT0UM Дата : 09.06.2017 20:34 Если s не меняется, значит не крутится. ну человек наверное не это имел ввиду для того чтобы изменилось s нужно опросить энкодер видимо он хочет опрашивать энкодер, только тогда, когда тот крутится чтобы разгрузить контроллер под другие задачи -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 725] Автор : Tadas Дата : 09.06.2017 20:40 видимо он хочет опрашивать энкодер, только тогда, когда тот крутится чтобы разгрузить контроллер под другие задачи Из приведённого текста это не следует. А опрос энкодера занимает настолько мало времени, что для других задач это не помеха. Вполне можно делать в главном цикле. Но конечно, правильнее всего поставить это на прерывания. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 726] Автор : UT7DL Дата : 09.06.2017 20:46 Таймер по переполнению - там идет опрос. Меня интересует тот момент когда энкодер не крутится. Допустим переменная s имеет в данный момент значение 50. Энкодер не крутится. Как узнать программно что он остановлен ? Вот это мне нужно -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 727] Автор : UT0UM Дата : 09.06.2017 20:51 Как узнать программно что он остановлен ? ну повесить А на одно прерывание а Б на другое если нет прерываний, то энкодер не крутится -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 728] Автор : Tadas Дата : 09.06.2017 21:06 Допустим переменная s имеет в данный момент значение 50. Энкодер не крутится. Как узнать программно что он остановлен ? Надо запоминать старое значение s и сравнивать с текущим значением после опроса. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 729] Автор : UD0DAB Дата : 13.06.2017 04:11 Стало интересно, а ни кто не пробовал на ардуине сваять DSP для обработки iQ сигналов в аудио и наоборот? Знаю есть проекты самостоятельные (Пион, Тюльпан и прочие). А вот именно на какой-нибудь Мега2560 или arduinoDue? Это вообще возможно? Я понимаю что скорость работы их не велика, но может хоть с плохим качеством это реализуемо? Вот что-то накопал подобное: http://m0xpd.blogspot.ru/2014/02/arduino-sdr.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 730] Автор : EU1ABR Дата : 13.06.2017 06:29 Arduino Due это уже поближе -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 731] Автор : UD0DAB Дата : 13.06.2017 13:24 Arduino Due это уже поближе Понять бы еще как эти кучи формул из статей про DSP превращаются в код, который должен оцифровать два канала, затем сдвинуть один из них на 90 градусов, а затем суммировать(вычесть) и то же самое прогнать в обратку при ТХ! :-( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 732] Автор : UA0YAS Дата : 13.06.2017 16:56 Этот вопрос периодически всплывает на разных форумах. Но практически эта идея еще ни кем не реализована -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 733] Автор : IG_58 Дата : 13.06.2017 17:19 Коллеги, на плате Arduino Nano между +Vin (30-я нога) и +5V (27-я нога)стоит стаб AMS1117-5.0. По паспорту эта плюшка держит 1000мА, но как-то слабо верится в это. Хотелось бы нагрузить 5-вольтовый ее выход остальной схемой, потребляющей примерно 250мА, но боюсь, не вылетит ли. Какой есть у вас опыт по этому поводу? Может ну его нафиг, и запитать остальную схему не от 27-й ноги Arduino, а от отдельного LM7805? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 734] Автор : R2DHG Дата : 13.06.2017 18:34 Понять бы еще как эти кучи формул из статей про DSP превращаются в код, который должен оцифровать два канала, затем сдвинуть один из них на 90 градусов, а затем суммировать(вычесть) и то же самое прогнать в обратку при ТХ! :-( В обратку не видел, а на прием под DUE и Teensy (тоже типа ардуины) есть скетчи и чуть больше не SDR, а просто библиотек DSP (без обработки квадратур), т.е. можно попытаться из готовых кирпичиков собрать свое. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 735] Автор : fedorenko28 Дата : 15.06.2017 05:46 Заголовок : IC-V ICOM Не стал создавать новую тему. Да и вопрос по ардуино в принципе. Случилась известная проблема с трансивером Icom IC-732 потек дисплей. Вариант заказа конечно монитрорится, но вещь достаточно редкая. Поиск по теме дал интересные ссылки. По первой ссылке приставка к трансиверу, там же есть прошивка http://radiodv.net/my_icom_civ.php , по второй адаптация кода для ардуино http://darkbyte.ru/2016/92/arduino-cat-ci-v-interface-for-icom-ic-820/ . Цель объединить в ардуино управление трансивером по CAT с компьютера и индикацию на дисплее частоты и режима работы. С индикацией боле менее получилось, а вот данные аппаратный uart в софтовый и обратно не шлет, или шлет но не верные. В скетче конечно много лишнего, но я начинающий и пока слабо понимаю, что там за что отвечает))) Если просто использовать аппаратный uart дуины, то есть ардуину как ком порт, работает корректно в омнириг частота-модуляция есть. 264729 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 736] Автор : Владимир_К Дата : 15.06.2017 10:45 Цель объединить в ардуино управление трансивером по CAT с компьютера и индикацию на дисплее частоты и режима работы. Я сейчас примерно занимаюсь подобной проблемой. Не совсем понятна цель, то есть, что Вы хотите. Если хотите управлять трансивером с компьютера, то зачем Ардуино? Частоту и прочее, то есть то, что Вы сейчас не можете видеть на индикаторе трансивера из-за его дефекта, Вы увидите на компьютере. И все остальное, что выдает по САТ IC-732. Также и управлять всеми функциями доступными в IC-732. Если просто собрать приставку для замены индикатора, вышедшего из строя, то достаточно информации по первой ссылке. Прошивка там есть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 737] Автор : fedorenko28 Дата : 15.06.2017 15:07 На компе частота обновляется очень инертно, что мне на нравится, а на стороннем дисплее так сказать моментально. Вот и возникла идея объединить, но мозгов не хватает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 738] Автор : UA6WRV Дата : 20.06.2017 21:34 Весьма советую обратить внимание на прекрасную возможность программировать Ардуино на ФБД функциональных блоках и релейных диаграмм , это позволит большому количеству радиолюбителей прекрасно знающих схемотехнику и работу логических устройств но не знакомых с языками программирования возможность самостоятельно программировать ардуинки, данную возможность предоставляет flprog.ru -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 739] Автор : rm4hq Дата : 20.06.2017 21:46 Весьма советую обратить внимание на прекрасную возможность программировать Ардуино на ФБД функциональных блоках и релейных диаграмм Насколько я понимаю, тогда уже нет возможности использовать куски кода из чужих скетчей, а это бывает очень удобно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 740] Автор : UA6WRV Дата : 20.06.2017 21:55 Не совсем так , программируем в фбд и потом перед загрузкой в ардуино идёт компиляция в нормальный скеч и можно его так же редактировать итд итп -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 741] Автор : UT0UM Дата : 21.06.2017 00:17 идёт компиляция в нормальный скеч я представляю что оно там накомпилирует :crazy: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 742] Автор : UA6WRV Дата : 22.06.2017 01:42 Всё опробованно и работает !!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 743] Автор : UT0UM Дата : 22.06.2017 01:48 Всё опробованно и работает !!! а можно показать тут пример скетча, который создал этот компилятор? ну в смысле на С++ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 744] Автор : fedorenko28 Дата : 22.06.2017 05:17 В любом случает код будет тяжелее, что с оригинальным arduino ide, что с программой визуального программирования, из за кучи подгружаемых библиотек. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 745] Автор : Slav9n Дата : 22.06.2017 05:42 Поддерживаю UT0UM (http://www.cqham.ru/forum/member.php?20703-UT0UM) , тоже хочется посмотреть пример кода. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 746] Автор : UT0UM Дата : 22.06.2017 10:09 код будет тяжелее код не интересует, его править нельзя интересует именно скетч -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 747] Автор : R4CFZ Дата : 21.07.2017 00:43 Помогите начинающему ардуиноисту Как правильно вставить в ардуино этот дисплей?267172267173 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 748] Автор : UT0UM Дата : 21.07.2017 01:35 вставить вставить его можно только одним способом иначе не позволит шаг а дальше Вам уже написали Необходимо найти подходящею библиотеку для этого типа дисплея, далее после установки библиотеки найти в examples пример под свой дисплей и попробовать залить его мегу. вот этот (http://shop.boxtec.ch/tft-lcd-shield-for-arduino-unomega-ili9481-p-42762.html) очень похож на Ваш там же есть и библиотеки и примеры (http://shop.boxtec.ch/pub/diverse/3.5inch_Arduino_ILI9481_v1.1.zip) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 749] Автор : R4CFZ Дата : 21.07.2017 02:54 Понятно То есть без переходного интерфейса?Щас попробую-подсветка наверное должна заработать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 750] Автор : UB7KPV Дата : 21.07.2017 17:44 "Понятно То есть без переходного интерфейса?" Всё верно, никаких переходников, если я правильно понял то данный дисплей можно вставить даже в arduino uno, примеры из библиотек которые вам скидывали опробовали заливать? И скиньте ссылку на ваш дисплей!!!!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 751] Автор : R4CFZ Дата : 21.07.2017 19:58 http://shop.boxtec.ch/tft-lcd-shield-for-arduino-unomega-ili9481-p-42762.html - ссылка на мой дисплей Отсюда был и скачан zip архив но при его установке в ардуино пишет-выбранная папка зип не содержит корректных библиотек Может его не весь надо было устанавливать?Я не програмист и мне трудно все это понять! A дисплей после долгих экспериментов я установил как на фото-так хоть немного светится подсветка экрана-хотя может это и не правильно Что делать дальше не знаю!267201267202267203267204 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 752] Автор : R4CFZ Дата : 21.07.2017 22:16 Пишет еще по загрузке зип папки что не дожна начинаться с цифр и содержать пробелы Может изменить ее название? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 753] Автор : UT0UM Дата : 21.07.2017 22:18 Может его не весь надо было устанавливать?Я не програмист и мне трудно все это понять! ну а просто посмотреть что там в архиве напаковано? слабо? 267207 Вон там есть папка Install libraries там внутри есть библиотеки ну короче, нельзя вот так с наскока почитайте в инете как с ардуиной работать как примеры запускать, как библиотеки устанавливать есть даже серии уроков и у вас все разложится по полочкам -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 754] Автор : R4CFZ Дата : 21.07.2017 22:56 Конечно распаковал и посмотрел а папки из Install librares загрузил в библиотеку аурдино И как библиотеки Загружать научился А что с папками Exsample 01-06 делать надо? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 755] Автор : vadim_d Дата : 21.07.2017 23:09 А что с папками Exsample 01-06 делать надо? Если это Example, то должны быть примеры, попробуйте скомпилировать и запустить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 756] Автор : UT0UM Дата : 21.07.2017 23:27 А что с папками Exsample 01-06 делать надо? в них лежат скетчи с примерами их нужно загрузить в среду, скомпилировать и залить в ардуино тогда на экране что то появится -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 757] Автор : R4CFZ Дата : 21.07.2017 23:41 Сейчас попробую Честно сказать устал уже с ней как 3 дня назад из китая пришла так и мучаюсь -бросить не могу-голова кругом идет Все 3 папкииз Install Librares-Adafruit CFX Adafruit TFTLCD Touch Screen лежат в библиотеке тем не менее кроме подсветки экрана ничего нет Может тут еще какая бяка зарыта?Попробую скетчи -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 758] Автор : UT0UM Дата : 22.07.2017 00:12 Все 3 папкииз Install Librares-Adafruit CFX Adafruit TFTLCD Touch Screen лежат в библиотеке тем не менее кроме подсветки экрана ничего нет Попробую скетчи :facepalm: у Вас каша в голове попробуйте почитать уроки по ардуино -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 759] Автор : R4CFZ Дата : 22.07.2017 08:18 :facepalm: у Вас каша в голове попробуйте почитать уроки по ардуино Может быть и каша:shock:-я только 3 дня имею дело с этим устройством а хочется сразу достичь больших высот Почитаю и схожу к знакомым спецам-не думал что с такой вроде простой штукой будут такие проблемы! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 760] Автор : UT7DL Дата : 22.07.2017 09:02 Привет друзья ! Подскажите ответ - нужно вывести на экранчик цифровое значение которое изменяется от 0 до 900. Если использовать команды типа print - то при выводе меньшего числа к примеру 45 остается предыдущее значение от числа В Codevision я использовал sprint для форматирования буфера. Что можно использовать в среде Ардуино ? Спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 761] Автор : R2DHG Дата : 22.07.2017 09:06 Может быть и кашаhttp://www.cqham.ru/forum/images/smilies/icon_eek.gif-я только 3 дня имею дело с этим устройством а хочется сразу достичь больших высот Почитаю и схожу к знакомым спецам-не думал что с такой вроде простой штукой будут такие проблемы! Так удалось скомпилировать и залить пример или так и выводит ошибку ? В Codevision я использовал sprint для форматирования буфера. Что можно использовать в среде Ардуино ? Спасибо Если используете UTFT там вроде есть printNumI / printNumF. А можно и просто пробелы сначала в это место влепить текстом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 762] Автор : UT7DL Дата : 22.07.2017 09:45 Библиотека TFT_HX8357 - она намного быстрее работает с графикой Можно использовать printNumI ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 763] Автор : R2DHG Дата : 22.07.2017 09:49 Это из библиотеки функция. Если в TFT_HX8357 такой нет, то нет. Но вообще графические библиотеки довольно похожи, может и есть или есть аналогичная. По мне все цветные медленные на авр. На ардуино-платах с stm32 такие дисплеи просто летают и заморачиваться с оптимизацией не приходится, есть библиотеки с использование dma. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 764] Автор : rm4hq Дата : 22.07.2017 10:45 Подскажите ответ - нужно вывести на экранчик цифровое значение которое изменяется от 0 до 900. Если использовать команды типа print - то при выводе меньшего числа к примеру 45 остается предыдущее значение от числа Можно стирать пробелом после числа. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 765] Автор : R4CFZ Дата : 22.07.2017 11:42 Так удалось скомпилировать и залить пример или так и выводит ошибку ? Если используете UTFT там вроде есть printNumI / printNumF. А можно и просто пробелы сначала в это место влепить текстом. исплей вообще молчит ни на что не реагирует - только немного светится подсветка Я возможно его не так вставил - надо через какой то переходник в 2 боковых ряда гнезд А так просте програмки типа пищалок моргалок загружаются и работают Надо к какому то телефонному спецу обратится это ихи дела-прошивки и дисплеи Д -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 766] Автор : R2DHG Дата : 23.07.2017 00:14 Да не. Он же в УНО небось напрямую втыкается и в мегу должен бы. Если питание и земля попали куда надо - скорее всего он правильно подключен. Телефонщики вряд ли помогут. Ну разве что телефонщики-ардуинщики ) Надо разобраться со всеми контактами какие куда попали и как там в библитеке при инициализации прописано. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 767] Автор : R4CFZ Дата : 23.07.2017 07:16 Питание и земля попали правильно а остальное надо смотреть -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 768] Автор : Tadas Дата : 23.07.2017 08:26 Питание и земля попали правильно а остальное надо смотреть А Вы этим советом воспользовались ? в них лежат скетчи с примерами их нужно загрузить в среду, скомпилировать и залить в ардуино тогда на экране что то появится Того, что библиотеки инсталированы и лежат на месте ещё недостаточно. Надо воспользовавшись библиотечными функциями засылать информацию на дисплей. Без этого кроме подсветки ничего и не увидите. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 769] Автор : R4CFZ Дата : 23.07.2017 09:28 А Вы этим советом воспользовались ? Того, что библиотеки инсталированы и лежат на месте ещё недостаточно. Надо воспользовавшись библиотечными функциями засылать информацию на дисплей. Без этого кроме подсветки ничего и не увидите. Я 2-ой день на работе и здесь у меня другой комп-ноутбук Аурдино с собой У меня никак не сложится стройная и последовательная мысль что надо,в какой последовательности и как сделать - это новая для меня отрасль Обьясните последовательность действий по установке программ и примеров для дисплея-как поступить с папкой Install libraris? Напишите последовательность действий с толком и расстановкой:-P А то я мечусь туда-сюда а как это правильно сделать не знаю-ардуино у меня всего 4-ый день Напишите мне лучше на почту-sergey.kizyakov@mail.ru А Вы этим советом воспользовались ? Того, что библиотеки инсталированы и лежат на месте ещё недостаточно. Надо воспользовавшись библиотечными функциями засылать информацию на дисплей. Без этого кроме подсветки ничего и не увидите. http://shop.boxtec.ch/tft-lcd-shield-for-arduino-unomega-ili9481-p-42762.html - ссылка на мой дисплей там есть и программа для него -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 770] Автор : rm4hq Дата : 23.07.2017 09:34 Сергей 80, вставляете библиотеки в папку libraris. При запуске программы в списке примеров вы должны видеть новые примеры для вашего дисплея. Открываете, проверяете, что бы управляющие выводы дисплеем соответствовали реально подключенным. Компилируете и заливаете в ардуино. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 771] Автор : R4CFZ Дата : 23.07.2017 10:22 [QUOTE=rm4hq;1419669]Сергей 80, вставляете библиотеки в папку libraris. При запуске программы в списке примеров вы должны видеть новые примеры для вашего дисплея. Открываете, проверяете, что бы управляющие выводы дисплеем соответствовали реально подключенным. Компилируете и заливаете в ардуино. Вы имеете ввиду примеры из папок Exsampie? А вот в папке Install libraries ecть 3 папки Их тоже вставить в Документы-папкаLibraris-затем открыть в ардуино -найти их выделить и загрузить, так? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 772] Автор : Tadas Дата : 23.07.2017 10:49 А то я мечусь туда-сюда а как это правильно сделать не знаю Сам я ардуино занимаюсь мало, предпочитаю писать свои программы на Си. В Вашем случае надо сделать такие шаги: 1. скопировать из Install libraries каталоги Adafruit_GFX, Adafruit_TFTLCD, TouchScreen в каталог Arduino...\Sketchbook\libraries 2. скопировать каталоги Example.... в каталог \Arduino...\Sketchbook 3. Запустить среду ардуино 4. Открыть скетч примера, напр. Еxample01-Simple test\Simple test for UNO\_9341uno\_9341uno.ino 5. Загрузить скетч в ардуину 6. Смотреть что делается на экране 7. Если результат появился, последовательно опробовать следующие Example Ну а потом изучать среду и язык программирования ардуино и начать писать свои программы. Этому пункту можно посвятить всю оставшуюся жизнь :smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 773] Автор : UD2F Дата : 23.07.2017 11:11 Сергей 80 Для начала неплохо бы вообще почитать хотя бы тут http://arduino.ru/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 774] Автор : R4CFZ Дата : 23.07.2017 11:39 Сам я ардуино занимаюсь мало, предпочитаю писать свои программы на Си. В Вашем случае надо сделать такие шаги: 1. скопировать из Install libraries каталоги Adafruit_GFX, Adafruit_TFTLCD, TouchScreen в каталог Arduino...\Sketchbook\libraries 2. скопировать каталоги Example.... в каталог \Arduino...\Sketchbook 3. Запустить среду ардуино 4. Открыть скетч примера, напр. Еxample01-Simple test\Simple test for UNO\_9341uno\_9341uno.ino 5. Загрузить скетч в ардуину 6. Смотреть что делается на экране 7. Если результат появился, последовательно опробовать следующие Example Ну а потом изучать среду и язык программирования ардуино и начать писать свои программы. Этому пункту можно посвятить всю оставшуюся жизнь :smile: аписали хорошо-спасибо!Я просто столько перечитал за эти дни а стройной системы в голове так и не сложилось-для этого нужно время Арудино я выписал только для того что бы сделать на ней синтезатор частот -с этой ветки и попал сюда-хотя щас убеждаюсь что это очень интересная штука и на ней можно сделать много полезного -ну а щас пока времени просто нет на ее детальное изучение Всем большое спасибо -сегодня отработаю 2-ой день а работаю кономехаником 2 дня по 16 ч. а завтра начну с ней ковыряться Всем большое спасибо! Н -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 775] Автор : R4CFZ Дата : 23.07.2017 17:35 Сейчас попробывал все сделать - 3 папки из Install libraries не загружаются-пишет Ошибка компиляции-может из-за того что я их дома 2 дня назад загружал? Загрузил файл _9341uno из Exsample01 -посмотрел его -подключение выводов соответствует действительности-загрузилего в ардуино-загорелись,а не заморгали, 2 светодиода RX \TX и на этом все-дисплей как молчал так и молчит - гадина такая!!! :ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 776] Автор : R7MU Дата : 23.07.2017 17:45 Посмотрите http://pikabu.ru/story/video_uroki_po_arduino_ot_dzheremi_bluma_jeremy_blumkniga_3901988 можно было бы и книгу купить, Вам необходимо разобраться со средой программирования Arduino IDE, и тогда всё станет на свои места, не стоит тупо копировать скетчи, они тоже могут быть с ошибками. Посмотрите еще тут http://zelectro.cc/Home/Popular/1 все скетчи работающие и очень наглядно дан материал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 777] Автор : rm4hq Дата : 23.07.2017 18:01 Сейчас попробывал все сделать - 3 папки из Install libraries не загружаются-пишет Ошибка компиляции-: Ошибок быть не должно. Надо с ними разбираться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 778] Автор : R4CFZ Дата : 23.07.2017 18:21 ейчас единсвенное чего добился прошел тест из примеров-Adafruit TFTLCD-graphtest Больше не один не запускаются хотя и загружаются без ошибок -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 779] Автор : R2DHG Дата : 23.07.2017 18:28 Ошибок нет, все грузится в ардуину, но на экране ничего не происходит ? Ну в принципе если один тест заработал - значит все нормально, можно дальше функции и по инструкции к библиотеке изучать, добавляя вызовы в этот заработавший скетч. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 780] Автор : R4CFZ Дата : 23.07.2017 18:30 Получается что программа из Install ribraries -Adafruit TFTLCD у меня прошилась в Мега 2560 а 2 остальных или не работают-старые версии или не прошились Так получается?Тут в самой Аурдино в библиотеке постоянно приходят новые версии разных программ в том числе и для экрана - может оттуда загрузить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 781] Автор : Владимир_К Дата : 23.07.2017 18:35 Вот скачал по вашей ссылке архив с примерами для данного дисплея. Архив поместил в папку с IDE Arduino в Examples\ display. Распаковал. Там куча примеров. Запускаем среду Ардуино, Нажимаем "файл" и открываем из этой папки какой-либо файл примера. На скрине экрана я показал какой. Потом жмем компиляцию (verify). Скомпилировалось без ошибок. Попробуйте так. У меня дисплея нет, поэтому, работает оно или нет, ничего сказать не могу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 782] Автор : R2DHG Дата : 23.07.2017 18:54 Тут в самой Аурдино в библиотеке постоянно приходят новые версии разных программ в том числе и для экрана - может оттуда загрузить? Загрузить что ? Не сказать, что каждый экран (тип, контроллер) индивидуален, но близко к тому. Если есть для вашего контроллера - можно попробовать. С некоторыми дисплеями бывают засады вплоть до цвета точки на нем, не ту выбрали в библиотеке и уже не работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 783] Автор : R4CFZ Дата : 23.07.2017 19:31 Загрузить что ? Не сказать, что каждый экран (тип, контроллер) индивидуален, но близко к тому. Если есть для вашего контроллера - можно попробовать. С некоторыми дисплеями бывают засады вплоть до цвета точки на нем, не ту выбрали в библиотеке и уже не работает. Приходят новые версии Для различных устройств мега2560-хранилище,сенсор экран и др. Я так понимаю что это как в компе-для моей версии Глупый вопрос я никак не могу отключить этот тест и удалял и отключал аурдино и перегружал комп все равно работает Как это выключить??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 784] Автор : Владимир_К Дата : 23.07.2017 19:45 Приходят новые версии Для различных устройств мега2560-хранилище,сенсор экран и др. Откуда приходят? Что сами загружаются?:-(. То есть, как Windows, автоматически обновляются? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 785] Автор : R4CFZ Дата : 23.07.2017 20:00 [QUOTE=Владимир_К;1419840]Откуда приходят? Что сами загружаются?:-(. То есть, как Windows, автоматически обновляются?[/ Нет они автоматически не обновляются:ржач: -просят разрешения загрузить их и пишут что это более новое обновление А у вас что разве нет такого? Y -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 786] Автор : UB0WBL Дата : 23.07.2017 20:02 Может кто подскажет, как выдать на ногу короткий импульс. Предположим на 3 пине назначенном входом стояла единица и сменилась на ноль, при таком событии нужно выдать положительный импульс 1 сек. на 10 пине назначенном выходом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 787] Автор : R4CFZ Дата : 23.07.2017 20:06 Вот скачал по вашей ссылке архив с примерами для данного дисплея. Архив поместил в папку с IDE Arduino в Examples\ display. Распаковал. Там куча примеров. Запускаем среду Ардуино, Нажимаем "файл" и открываем из этой папки какой-либо файл примера. На скрине экрана я показал какой. Потом жмем компиляцию (verify). Скомпилировалось без ошибок. Попробуйте так. У меня дисплея нет, поэтому, работает оно или нет, ничего сказать не могу. У меня из этой папки не один пример не работает-даже не появляется в примерах Я их загружаю-скетчь-добавить файл- он он компелируется но потом появляется предупреждение что неверный файл -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 788] Автор : Владимир_К Дата : 23.07.2017 20:18 просят разрешения загрузить их и пишут что это более новое обновление Пошлите куда подальше, мало чего они там напишут:-(. А если серьезно, попробуйте сделать так, как я написал в 781 посту. У меня из этой папки не один пример не работает-даже не появляется в примерах Когда я распаковал в папку тот архив, ссылку на который Вы давали (там где описан дисплей), в примерах его тоже не было. Закрыл программу Ардуино, затем запустил снова. После этого, эта библиотека примеров появилась там где надо. Добавлено через 6 минут(ы): У меня из этой папки не один пример не работает Да, есть такое дело... Попробовал еще пару примеров, не компилируются.. А первый раз повезло видимо.. Вот что хреново с Ардуино, что нет режима отладки. (А может не знаю как его включить). В этом отношении AVR Studio 4.19 мне нравится больше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 789] Автор : R4CFZ Дата : 23.07.2017 20:34 Пошлите куда подальше, мало чего они там напишут:-(. А если серьезно, попробуйте сделать так, как я написал в 781 посту. Когда я распаковал в папку тот архив, ссылку на который Вы давали (там где описан дисплей), в примерах его тоже не было. Закрыл программу Ардуино, затем запустил снова. После этого, эта библиотека примеров появилась там где надо. Добавлено через 6 минут(ы): Да, есть такое дело... Попробовал еще пару примеров, не компилируются.. А первый раз повезло видимо.. Вот что хреново с Ардуино, что нет режима отладки. (А может не знаю как его включить). В этом отношении AVR Studio 4.19 мне нравится больше. попробывал ничего не получилось Что то тут не то-пока не пойму что кроме график теста пока ниче не работает Щас еще фильм ужасов покажу:crazy: и домой Там на компе посерьезней с ней повожусь Такая маленькая а такая вредная штучка оказалась!:ржач: Я -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 790] Автор : R2DHG Дата : 24.07.2017 00:27 Что то тут не то-пока не пойму что кроме график теста пока ниче не работает А что вы еще хотите увидеть то ? Кино ? :-P В принципе на этом этапе уже можно начинать писать своё. Может кто подскажет, как выдать на ногу короткий импульс. Предположим на 3 пине назначенном входом стояла единица и сменилась на ноль, при таком событии нужно выдать положительный импульс 1 сек. на 10 пине назначенном выходом. Если каких то особых требований нет и параллельно ничего не делается, то можно и просто опросом как то так #define PININ 3 #define PINOUT 10 int lastStat = HIGH; void setup() { pinMode(PININ, INPUT); pinMode(PINOUT, OUTPUT); digitalWrite(PINOUT, LOW); } void loop() { if ((digitalRead(PININ) == LOW) && (lastStat == HIGH)) { digitalWrite(PINOUT, HIGH); delay(1000); digitalWrite(PINOUT, LOW); lastStat = LOW; } else lastStat = digitalRead(PININ); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 791] Автор : UT0UM Дата : 24.07.2017 00:30 А что вы еще хотите увидеть то ? наверное синтезатор :ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 792] Автор : R2DHG Дата : 24.07.2017 01:14 Ааа... ясно :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 793] Автор : UB0WBL Дата : 24.07.2017 07:37 Может кто подскажет, как выдать на ногу короткий импульс. Предположим на 3 пине назначенном входом стояла единица и сменилась на ноль, при таком событии нужно выдать положительный импульс 1 сек. на 10 пине назначенном выходом. Никто не в курсе ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 794] Автор : Tadas Дата : 24.07.2017 07:43 Никто не в курсе ? Так ведь чуть выше Вам показали как. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 795] Автор : UB0WBL Дата : 24.07.2017 09:26 Так ведь чуть выше Вам показали как. Извиняюсь, не увидел. R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG) Благодарю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 796] Автор : R4CFZ Дата : 24.07.2017 11:09 !!! Добавлено через 9 минут(ы): А что вы еще хотите увидеть то ? Кино ? :-P В принципе на этом этапе уже можно начинать писать своё. Если каких то особых требований нет и параллельно ничего не делается, то можно и просто опросом как то так #define PININ 3 #define PINOUT 10 int lastStat = HIGH; void setup() { pinMode(PININ, INPUT); pinMode(PINOUT, OUTPUT); digitalWrite(PINOUT, LOW); } void loop() { if ((digitalRead(PININ) == LOW) && (lastStat == HIGH)) { digitalWrite(PINOUT, HIGH); delay(1000); digitalWrite(PINOUT, LOW); lastStat = LOW; } else lastStat = digitalRead(PININ); } ино,вино и домино!!!:ржач: К -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 797] Автор : R2DHG Дата : 24.07.2017 12:38 Просто начинайте писать что вы там себе придумали и выдергивайте постепенно из запустившегося примера нужные куски (там же наверное разные круги/квадраты/текст ?), начав с инициализации дисплея. Ну там "Hello World!!!" в разноцветной рамке какой нибудь или... синтезатор :-P:-P:-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 798] Автор : R4CFZ Дата : 24.07.2017 13:02 Просто начинайте писать что вы там себе придумали и выдергивайте постепенно из запустившегося примера нужные куски (там же наверное разные круги/квадраты/текст ?), начав с инициализации дисплея. Ну там "Hello World!!!" в разноцветной рамке какой нибудь или... синтезатор :-P:-P:-P На счет синтезатора в этой ветке уже есть написанные для него программы-http://www.cqham.ru/forum/showthread.php?34517-Synthesizer-on-Mega-2560-3-2-TFT-LCD-Si5351-V2-0 А так поэксперементировать конечно можно-я уже пробовал-но нужны знания что бы делать это осознано -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 799] Автор : R2DHG Дата : 24.07.2017 13:30 Поэкспериментировать нужно ! А для "написанных программ" лучший вариант брать дисплей прям как в теме, а то их много разных. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 800] Автор : UT0UM Дата : 24.07.2017 13:30 в этой ветке оно конечно да, но боюсь что на Вашем экране они работать не будут надо будет их под него адаптировать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 801] Автор : R4CFZ Дата : 24.07.2017 13:50 оно конечно да, но боюсь что на Вашем экране они работать не будут надо будет их под него адаптировать Это я уже понял-заказал аналогичный на али Хотя конечно наверное можно поменять в программе нумерацию выводов и т.п. но это такая колгота получится из-за каких то 450 руб. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 802] Автор : R2DHG Дата : 24.07.2017 14:11 Если контроллер одинаковый и разрешение экрана - повозиться смысл есть (ну если вообще охота с этим возиться). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 803] Автор : R4CFZ Дата : 24.07.2017 14:14 Если контроллер одинаковый и разрешение экрана - повозиться смысл есть (ну если вообще охота с этим возиться). Сейчас нет не охота-потому что еще несколько конструкции в работе-просто нет времени -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 804] Автор : ew2ah Дата : 25.07.2017 20:49 Подскажите пожалста, никак не компилируется NKDVFO18_Ver3_1.ino, по видимому проблема с библиотекой Arduino: 1.6.9 (Windows XP), Плата:"Arduino Nano, ATmega328"C:\Program Files\arduino\arduino-1.6.9\libraries\EF_AD9850/EF_AD9850.h:27:22: fatal error: WProgram.h: No such file or directory #include "WProgram.h" Может нужна новая версия EF_AD9850? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 805] Автор : XENOMORPH Дата : 25.07.2017 21:05 ew2ah, Замените строчку #include "WProgram.h" на #include "Arduino.h" в файле EF_AD9850.h библиотеки EF_AD9850. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 806] Автор : ew2ah Дата : 25.07.2017 21:58 Спасибо, сейчас попробуем, я чувствовал что где-то подвох! А все поиски показывали что библиотека устарела и WProgram не работает больше! Добавлено через 9 минут(ы): Загрузилось! Спасибо!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 807] Автор : UB0WBL Дата : 30.07.2017 19:24 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG) Благодарю. Не получилось :cry: Нужно чтобы единица на выходе появлялась один раз за всё выполнение программы и потом не реагировала на перепады уровней, а получается что через некоторое время, мне кажется когда оканчивается время delay, единица опять проскакивает на выходе при перепаде 1-0 на входе. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 808] Автор : rm4hq Дата : 30.07.2017 20:56 UB0WBL, введите еще одну переменную, которой после выполнения нужного действия присваиваете 1, а перед выполнением ставите дополнительное условие не 1. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 809] Автор : R2DHG Дата : 30.07.2017 22:19 Я думал концевик его каждый раз взводить должен. Можно наверное и так - digitalWrite(PINOUT, LOW); меняем на while (1==1) digitalWrite(PINOUT, LOW); тогда он после импульса до перезапуска просто зависнет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 810] Автор : UB0WBL Дата : 30.07.2017 23:48 Я думал концевик его каждый раз взводить должен. Можно наверное и так - digitalWrite(PINOUT, LOW); меняем на while (1==1) digitalWrite(PINOUT, LOW); тогда он после импульса до перезапуска просто зависнет. Вся программа зависнет ? Она кроме этой процедуры еще кое-что должна делать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 811] Автор : R2DHG Дата : 31.07.2017 01:35 Да, вся. Если так нельзя, то, как выше написали, нужно ввести еще один "флаг" в виде переменной, на старте его сбросить (=0), а после выдачи импульса поднять (=1) и при поднятом флаге не отрабатывать тот код (заключить его в if (flag == 0) { ... }). Справитесь ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 812] Автор : UB0WBL Дата : 31.07.2017 12:49 Да, вся. Если так нельзя, то, как выше написали, нужно ввести еще один "флаг" в виде переменной, на старте его сбросить (=0), а после выдачи импульса поднять (=1) и при поднятом флаге не отрабатывать тот код (заключить его в if (flag == 0) { ... }). Справитесь ? Попробую. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 813] Автор : R0SBD Дата : 02.08.2017 17:22 А что за sdr - Teensy SDR : http://rheslip.blogspot.ru/2015/01/teensy-sdr-project-update.html вроде как управляется на ардуино. Что-то нормальной схемы его не нашел... Ещё ссылка: http://pa0rwe.nl/?page_id=459 Почитал. Есть такие микроконтроллеры: http://myarduino.at.ua/publ/teensy_3_1/1-1-0-7 и http://amperka.ru/product/teensy-31 . Т.е. эти контроллеры - это как бы дальнейшее развитие ардуино, более новая версия ардуино так сказать... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 814] Автор : R2DHG Дата : 02.08.2017 17:52 Сама Teensy аналог ардуино, но с более производительным процессором (с версии 3.00). Там дури хватит и на SDR. Для Arduino DUE тоже есть DSP библиотеки, но SDR на них не видел. Железок разных понаделали и все вроде как ардуины :) К сожалению по $2 их на али нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 815] Автор : R0SBD Дата : 02.08.2017 18:06 Вот несколько проектов sdr на этой плате teensy 3.1, 3.2: http://longlist.org/teensy+sdr что-то правда антивирусник ругается на этот сайт , вернее когда ссылки пытаешься открыть.. Ещё вот : http://rheslip.blogspot.ru/2015/01/teensy-sdr-project-update.html К сожалению по $2 их на али нет. Вот примерные цены : https://forum.pjrc.com/threads/32203-Teensy-Software-Defined-Radio-Receiver (пост 7- тут и ссылка на его проект teensy sdr). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 816] Автор : R2DHG Дата : 02.08.2017 18:12 Интересно, но жаба душит, с пересылкой выходит немало :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 817] Автор : R0SBD Дата : 03.08.2017 04:27 Кое что прикинул: https://ru.aliexpress.com/premium/1.8-SPI-TFT-128x160-ST7735R.html?SearchText=1.8+SPI+TFT+128x160+ST7735R<ype=wholesale&d=y&tc=ppc&blanktest=0&initiative_id=SB_20170802172354&origin=y&catId=0&isViewCP=y TFT - 300 р. с пересылкой, teensy 3.2 - https://ru.aliexpress.com/premium/teensy-3.2.html?spm=a2g0v.search0204.0.0.TDSUiH&site=rus&groupsort=1&SearchText=teensy+3.2&g=y&SortType=price_asc&tc=ppc&initiative_id=SB_20170802172509&filterCat=202001107,202000056,202059159 - 800 р. с пересылкой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 818] Автор : R2DHG Дата : 03.08.2017 09:33 Аудио шилд еще нужен вроде евойный, а он дороже самой тинси вдвое или его спаять предполагается ? Чип то вроде недорогой, но он 16 бит - маловато :-| Вообще не знал, что на али появились тинси 3.2, так уже интересней - можно не только для sdr взять :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 819] Автор : RT5D Дата : 12.09.2017 14:09 Всем привет! Может кто подскажет, если взять 2 ардуины и 2 шилда Ethernet, можно-ли через локалку управлять из одной ардуины второй. К примеру, на первой нажать кнопочку, на второй срабатывает реле? Есть идея сделать удаленный коммутатор антенн. Хотелось-бы обойтись без всяких гаджетов, типа компа, планшета и т.д. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 820] Автор : serg057 Дата : 12.09.2017 14:25 RT5D, Можно применить микросхемы телефонных номеронабирателей, приемник и передатчик. Информация о нажатой кнопке передается двумя тонами, что позволяет считывать информацию даже в шумах. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 821] Автор : R2DHG Дата : 12.09.2017 14:54 Наверное можно (на ардуинах), но возможно лучше на esp8266 если это в пределах действия wifi - вообще без проводов. Шилды разные и, насколько я знаю, недорогие с глюками, хотя для такого управления может это и неважно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 822] Автор : UT0UM Дата : 12.09.2017 14:55 и 2 шилда Ethernet на esp8266 наверное будет даже дешевле, чем 2 шилда Езернет+кабель -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 823] Автор : R2DHG Дата : 12.09.2017 14:57 Да, но может ардуины с шилдами уже есть ) У меня парочка дешевых модулей валяется, так и не попробовал, взял на W5500 - там практически все внутри уже реализовано, гораздо удобней (но и дороже), в esp8266 тоже удобно и просто. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 824] Автор : IG_58 Дата : 12.09.2017 14:59 А почему без планшета или смартфона? Кнопочку нажать на смартфоне через WiFi куда удобнее, чем лепить вторую Ардуину. Плюс со смартфона можно управлять положением антенны, тюнером, и т.п. Ардуиносовместимые контроллеры есть, погуглите на предмет WeMos D1 и NodeMCU. https://www.youtube.com/watch?v=sukCWwqId5Q (https://www.youtube.com/watch?v=sukCWwqId5Q) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 825] Автор : RN3GP Дата : 12.09.2017 16:08 IG_58, Игорь, вот что отличает немца от "простого":ржач: человека. Нам покрутить конденсатор, надо сервопривод + муфта и кронштейн, что бы все это свинтить. Это все. Немцу надо две муфты гибкие, 3 вала, опорные подшипники, резистор, ременная зубчатая передача, рама, шаговый двигатель, фрикцион, кулек уголков, пакетик болтиков, по моему, что-то пропустил.:shock: А серьезно, руки у Вас правильно растут.:пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 826] Автор : IG_58 Дата : 12.09.2017 17:46 Владимир, спасибо :) :пиво: На самом деле, там вроде бы, с одной стороны, нет ничего лишнего, а с другой - делал из того, что было в тумбочке :) Муфта на валу шагового двигателя нужна? Нужна, т.к. руки ж кривые, и несоосность нужно как-то устранять. Затем идет планетарный редуктор 1:6 от верньера какого-то приемника (было куплено на eBay 4 года назад и ждало своего часа). После редуктора идет раздача на КПЕ и на многооборотный потенциометр - датчик положения. Нужно? Нужно. Значит, муфта на вал потенциометра и передача на еще один вал - на КПЕ. Вал этот должен концом на что-то опираться, поэтому из старого потенциометра выдирается передняя часть - опорный подшипник. Ну и далее - опять же несоосность чтобы убрать - еще одна гибкая муфта. Всё копеечное, всё у китайцев - завались их. Ну и, собственно, КПЕ. Уголоков нарезал ножовкой, делов-то. Дня четыре кумекал, пилил, сверлил, переделывал, пока не получил что-то близкое к тому, что представлял. Ненавижу слесаринг, но куда ж без него. Еще дней пять ушло, пока разобрался с контроллером, с управлением обмотками степпера, написал скетч, ну и еще пару дней на Blynk. Зато теперь можно настраивать рамку, не поднимая жопу со стула, - прямо со смартфона, комфортно. А уж удовольствия сколько от процесса было, и это для меня важнее, чем результат :) Значит, получилось примерно 20 оборотов двигателя на весь ход КПЕ, и это совсем не так уж много, т.к. резонанс у рамки довольно острый, особенно на сороковке. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 827] Автор : RT5D Дата : 12.09.2017 22:01 Спасибо за ответы. Немного поясню.. Предполагается коммутация удаленной группой бевереджей. Т.е. сидеть, смотреть в экран монитора, вторым глазом на трансивер, поэтому вариант с планшетом не к месту, чтобы еще пальцем попасть в нужную кнопку. Просто обычной галетой перещелкивать, не глядя на нее. попробую порыть в сторону ESP8266, может что и наковыряю. Да, роутер с wi-fi будет и с одной стороны и с другой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 828] Автор : R3KEE Дата : 13.09.2017 06:14 https://remoteqth.com/ здесь можно посмотреть. там и переключатель есть и контроллер. и по проводам, и по IP. и еще интересные вещи присутствуют. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 829] Автор : rеdd Дата : 13.09.2017 12:56 http://mcustore.ru/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 830] Автор : ra3gn Дата : 13.09.2017 14:19 Rt5d Сергей, Научился управлять с помощью 8266 приемными антеннами. Сделал блок управления на столе и добавил блочек к контроллеру. Чуть позже написал приложение вместо блочка на столе. Можно управлять из компа. У меня приемные ант. 4 фаз. вертикала на 3 диапазона, есть переключатель диапазонов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 831] Автор : Олег,RA3DNC Дата : 14.09.2017 20:50 Добрый вечер! Нашел на eBay вот такую примочку для FT-817 - http://www.ebay.com/itm/CatDisplay-817-3-5-TFT-for-FT-817-or-FT-817ND-/122673374433?hash=item1c8fe724e1:g:AY4AAOSwCotZpO9W Может кто встречал на просторах Инета ее описание ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 832] Автор : rm4hq Дата : 14.09.2017 21:41 Может кто встречал на просторах Инета ее описание ? Вот что выдал яндекс: https://www.youtube.com/watch?v=oxfVfFTzEXo https://sites.google.com/site/zl1cvd/catdisplay -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 833] Автор : R2PM Дата : 14.09.2017 21:47 Нашел на eBay вот такую примочку для FT-817 Добрый вечер Олег!!!! Спасибо за информацию!!!! Попрjбую написать программку свою. Получиться напишу. С уважением Виктор. R2PM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 834] Автор : UT0UM Дата : 14.09.2017 22:04 программку свою неплохо бы тач заюзать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 835] Автор : D0ITC Дата : 18.09.2017 09:38 Подскажите пожалуйста, как можно сделать прошивку для Atmega8 на Arduino UNO с процессором Atmega168? Попробовал залить в восьмую атмегу hex(без бутлоадера) полученный из ардуино IDE, но на индикаторе пусто. Заливал этот же hex в 168-мую и всё работает. Программатор STK-500. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 836] Автор : R2DHG Дата : 18.09.2017 09:50 В среде можно выбрать плату "Arduino NG or older" и тогда в процессорах будет Atmega8. Нашел на eBay вот такую примочку для FT-817 Это нужно когда родной дисплей накрылся ? 2 штуки продалось по $100 - ниче се... бизнес :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 837] Автор : D0ITC Дата : 18.09.2017 10:19 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), всё получилось, большое спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 838] Автор : Олег,RA3DNC Дата : 18.09.2017 13:46 Это нужно когда родной дисплей накрылся ? 2 штуки продалось по $100 - ниче се... бизнес :-P Не обязательно. Не знаю как там ситуация с 857/897, а для 817-го из-за его миниатюрности очень даже не помешает цветной хорошо читаемый дисплей. На котором отображаются даже те параметры, которых нет на штатном. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 839] Автор : R2DHG Дата : 18.09.2017 14:11 Пожалуй... Там в принципе ничего такого нет, дольше всего симпатично отрисовывать это все на экране. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 840] Автор : Олег,RA3DNC Дата : 18.09.2017 15:23 Пожалуй... Там в принципе ничего такого нет, дольше всего симпатично отрисовывать это все на экране. Есть вопрос, все-таки пока больше теоретический, в порядке бреда :smile: На дисплейном модуле STM32-DISCO имеется возможность установки ARDUINO UNO. Не встречалось ли кому случайно в Инете, как подружить эти два модуля. Применительно к любительскому радио. Там на STM есть 2 микрофона, вход/выход аудио, вроде бы вход видеокамеры и еще чего-то, сейчас уж и не помню. АА EU1KY на такой собран. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 841] Автор : UT0UM Дата : 18.09.2017 15:30 То разъемы для шильдов от ардуины Уно Зачем Дискавери с ардуиной дружить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 842] Автор : Олег,RA3DNC Дата : 18.09.2017 16:24 То разъемы для шильдов от ардуины Уно Зачем Дискавери с ардуиной дружить? Да, действительно, для шилдов. Прошу извинить, что-то мозги переклинило :cry:, не пинайте сильно... Задам вопрос иначе - применение Дискавери в НАМ-радио ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 843] Автор : UT0UM Дата : 18.09.2017 16:57 Дык трансиверы на таких процах Вон Husarek DSP польский как вариант -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 844] Автор : UD0DAB Дата : 19.09.2017 19:49 Пытаюсь заводить AD9834 c ардуины. Заводится. Но частота не та что задаю. Использую готовую либу которую взял тут https://blog.radioartisan.com/analog-devices-dds-arduino-library/ Есть еще либа, но нет к ней описания, а мозгов не хватает. Кто подскажет пример использования библиотеки отсюда (https://github.com/arachnidlabs/ad983x-arduino)? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 845] Автор : UT0UM Дата : 19.09.2017 20:01 пример вот тут (http://uarl.info/forum/index.php?topic=162.msg500#msg500)мой скетч к трансиверу на Ардуино+9834 я уже не помню как я делал, посмотрите сами -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 846] Автор : UD0DAB Дата : 19.09.2017 20:10 вот тут мой скетч

Не нашел в теме по ссылке скетча. Видео есть. А файлов нет... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 847] Автор : UT0UM Дата : 19.09.2017 21:43

Не нашел в теме по ссылке скетча. Видео есть. А файлов нет... прикрепил к сообщению -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 848] Автор : R2DHG Дата : 19.09.2017 21:50 Вот еще можно попробовать без библиотек. Из чего то рабочего выдрал. // Подключение AD9834 #define AD9834_FSYNC 12 #define AD9834_DATA 11 #define AD9834_SCLK 13 #define pulseLow(pin) { digitalWrite(pin, LOW); delay(1); digitalWrite(pin, HIGH); delay(1); } void setup() { pinMode(AD9834_FSYNC,OUTPUT); pinMode(AD9834_SCLK, OUTPUT); pinMode(AD9834_DATA, OUTPUT); digitalWrite(AD9834_FSYNC, HIGH); digitalWrite(AD9834_SCLK, HIGH); sendFrequency(8867000); } void loop() { } void sendFrequency(double frequency) { int32_t freq = frequency * 5.36870912; // note 50 MHz clock on 9834 word regLo=freq&0x3FFF; word regHi=freq>>14; regLo |=0x4000; regHi |=0x4000; tfr_word(0x2100); tfr_word(regLo); tfr_word(regHi); tfr_word(0xC000); tfr_word(0x2000); } void tfr_word(word data) { digitalWrite(AD9834_FSYNC, LOW); for (int i=0; i<16; i++) { bool value=data & 0x8000; digitalWrite(AD9834_DATA, value); data <<=1; data &=0xFFFF; pulseLow(AD9834_SCLK); } digitalWrite(AD9834_FSYNC, HIGH); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 849] Автор : UT0UM Дата : 19.09.2017 21:51 Вот еще можно попробовать без библиотек. Из чего то рабочего выдрал. // Подключение AD9834 #define AD9834_FSYNC 12 #define AD9834_DATA 11 #define AD9834_SCLK 13 #define pulseLow(pin) { digitalWrite(pin, LOW); delay(1); digitalWrite(pin, HIGH); delay(1); } void setup() { pinMode(AD9834_FSYNC,OUTPUT); pinMode(AD9834_SCLK, OUTPUT); pinMode(AD9834_DATA, OUTPUT); digitalWrite(AD9834_FSYNC, HIGH); digitalWrite(AD9834_SCLK, HIGH); sendFrequency(8867000); } void loop() { } void sendFrequency(double frequency) { int32_t freq = frequency * 5.36870912; // note 50 MHz clock on 9834 word regLo=freq&0x3FFF; word regHi=freq>>14; regLo |=0x4000; regHi |=0x4000; tfr_word(0x2100); tfr_word(regLo); tfr_word(regHi); tfr_word(0xC000); tfr_word(0x2000); } void tfr_word(word data) { digitalWrite(AD9834_FSYNC, LOW); for (int i=0; i<16; i++) { bool value=data & 0x8000; digitalWrite(AD9834_DATA, value); data <<=1; data &=0xFFFF; pulseLow(AD9834_SCLK); } digitalWrite(AD9834_FSYNC, HIGH); } о это у меня так работает -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 850] Автор : R2DHG Дата : 19.09.2017 21:55 :-P где стащил не помню -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 851] Автор : UT0UM Дата : 19.09.2017 21:57 где кажется у японцев -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 852] Автор : UD0DAB Дата : 20.09.2017 02:10 Вот еще можно попробовать без библиотек. Из чего то рабочего выдрал.
Спасибо! Проверить пытаюсь а выдает ошибку.

C:\Users\game\YandexDisk\Р*лектроника\PICO_FM\sketch_sep20a\sketch_sep20a.ino: In function 'void setup()':

sketch_sep20a:14: error: 'sendFrequency' was not declared in this scope

C:\Users\game\YandexDisk\Р*лектроника\PICO_FM\sketch_sep20a\sketch_sep20a.ino: In function 'void sendFrequency(double)':

sketch_sep20a:27: error: 'tfr_word' was not declared in this scope

exit status 1
'sendFrequency' was not declared in this scope


Вот что за хрень! Он типа ругается что я вызвал функцию которая не объявлена! ВСЕ! разобрался! в пути к скетчу не понимает национальные символы и при компиляции ошибается! Вопрос! freq = frequency * 5.36870912; // note 50 MHz clock on 9834 вот эта цифра как посчитана? Тут можно так понимаю какую-нить калибровку замутить, да? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 853] Автор : UD0DAB Дата : 20.09.2017 03:57 А кто как сохраняет в памяти текущую частоту? Пишут что епром дохнет быстро от частых записей в него (например 2 секунды не кручу валкод и частота заносится в память). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 854] Автор : Slav9n Дата : 20.09.2017 04:38 Пишу EEPROM; if (memstatus == 0) { if (timepassed + 2000 < millis()) { storeMEM(); } } void storeMEM() { EEPROM.write(0, millions); EEPROM.write(1, hundredthousands); EEPROM.write(2, tenthousands); EEPROM.write(3, thousands); EEPROM.write(4, hundreds); EEPROM.write(5, tens); EEPROM.write(6, ones); memstatus = 1; }; Считываю; freq = String(EEPROM.read(0)) + String(EEPROM.read(1)) + String(EEPROM.read(2)) + String(EEPROM.read(3)) + String(EEPROM.read(4)) + String(EEPROM.read(5)) + String(EEPROM.read(6)); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 855] Автор : R2DHG Дата : 20.09.2017 09:12 Если будете прям каждые 2 секунды писать - сдохнет, а если через 2 секунды после последних изменений частоты (покрутили ручку, а потом 2 секунды не крутим) - хватит надолго, я думаю. Вопрос! вот эта цифра как посчитана? Тут можно так понимаю какую-нить калибровку замутить, да? Максимальная разрядность счетчика-делителя (или как его там правильно назвать) 28 бит поделить на тактовую частоту - 268 435 456 / 50 000 000, для наглядности можно так и прописать вместо 5.3#### (правда компилятор может типы попутать). Калибровку тут, ага. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 856] Автор : IG_58 Дата : 20.09.2017 10:11 Slav9n, Замените EEPROM.write на EEPROM.put, тогда новая запись будет производиться только в случае, если новые данные отличаются от ранее записанных. Это многократно увеличит ресурс записи EEPROM. Добавлено через 36 минут(ы): И да, пишите в EEPROM секунд через 10 после того, как отпустили ручку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 857] Автор : rm4hq Дата : 20.09.2017 10:24 А кто как сохраняет в памяти текущую частоту? . При смене диапазона и отключении питания. А зачем чаще? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 858] Автор : R2DHG Дата : 20.09.2017 11:18 Чтобы при отключении питания не делать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 859] Автор : Tadas Дата : 20.09.2017 12:15 Питание отключается гораздо реже, чем ручка поворачивается :-P rm4hq делает оптимально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 860] Автор : R2DHG Дата : 20.09.2017 13:04 Это понятно, но нужно совершать некоторые телодвижения по контролю питания, а то и целую ногу под это отдать - жалко :-P Я примерно прикинул на сколько хватит EEPROM - мне вполне достаточно, а если это будет в единственном трансивере стоять, который крутят каждый день часами или на продажу... тогда нехорошо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 861] Автор : rm4hq Дата : 20.09.2017 13:25 Это понятно, но нужно совершать некоторые телодвижения по контролю питания, а то и целую ногу под это отдать - жалко . Так все равно же есть пин вольтметра. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 862] Автор : UA0YAS Дата : 20.09.2017 13:32 ресурс eeprom далеко не безграничен. его беречь нужно, а не писать туда после каждого вздоха -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 863] Автор : UD0DAB Дата : 20.09.2017 14:14 Калибровку тут, ага. Методом научного тыка (калиброванный по сигналам точного времени гиацинт и ЗК компьютера) у меня вышло число 5.368582. Потом прикручу калибровку. В общем как не крути, а в синтезе надо иметь часы и термодатчик. Поэтому прикручиваю платку с DS1307 DS12820 и 24C32. В сам МК буду сохранять параметры которые меняются редко а в 24С32 пусть пихает частоту, АТТ и УВЧ. Осталось только в голове увидеть картину и понять как эти менюшки сварганить и желательно что бы не ИНДУССКИМ кодом :ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 864] Автор : R2DHG Дата : 20.09.2017 14:28 В общем как не крути, а в синтезе надо иметь часы и термодатчик. Поэтому прикручиваю платку с DS1307 DS12820 и 24C32. Ну если есть платка "с DS1307 DS12820 и 24C32", то конечно... чего бы не прикрутить то. А еще вольтметр :-P Так все равно же есть пин вольтметра. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 865] Автор : UD0DAB Дата : 20.09.2017 14:33 А еще вольтметр Это вообще по умолчанию! И что бы в меню можно было выставить уровень напруги при которой включается тревога. Что бы аккум не высаживать ниже положенного. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 866] Автор : R2DHG Дата : 20.09.2017 14:36 Вот кому как. По скетчу из "синтезатор за полчаса" всякое просили... RIT, CAT, корректировку ПЧ и калибровки на ходу из меню даже, а вот вольтметр вроде нет :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 867] Автор : UD0DAB Дата : 20.09.2017 14:40 Интересно а нет такого проекта что бы в коде поменял пины и тип синтеза на свой и все работает! Что бы прям ВСЕ было! И сдвиг ПЧ если синтез позволяет, и ксв всякие и дисплеи разные... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 868] Автор : Slav9n Дата : 20.09.2017 14:47 Тест eeprom: 271107 271108 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 869] Автор : R2DHG Дата : 20.09.2017 21:41 Ясно, можно особо не париться и писать, но даташит гарантирует сильно меньше вроде. Интересно а нет такого проекта что бы в коде поменял пины и тип синтеза на свой и все работает! Что бы прям ВСЕ было! И сдвиг ПЧ если синтез позволяет, и ксв всякие и дисплеи разные... Проще найти проект под нужный синтез и дисплей и он наверняка будет лучше вылизан, хотя мысль такая была. Слишком много времени угробится на отладку такого универсального нечто. С другой стороны ардуино - это и есть такой проект. Там код для синтезатора наковырял, тут для дисплея, засунул в подходящий скетч... К тому моменту, когда это заработает - уже считай сам себе программист, тоже полезно :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 870] Автор : Genadi Zawidowski Дата : 20.09.2017 21:47 Без Ардуино мой проект претендует на такой универсальный... Правда описанием что на что влияет может служить только набор из нескольких десятков разных конфигураций обслуживаемых трансиверов, под разные частотные схемы и разные синтезаторы. Документ описывающий процедуру адаптации ещё никем не написан. И, как любой крупный проект, требует разбирательства с помощью редактора текста, умеющего искать слова в дереве исходников. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 871] Автор : RD9D Дата : 26.09.2017 19:35 Уважаемые, помогите написать скейчь для коммутатора, на простой коммутатор я написал на 8х1, но проблема в том что надо сделать выбор приёмной и передающей антенны и их переключение во время передачи -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 872] Автор : UT0UM Дата : 26.09.2017 19:40 Уважаемые, помогите написать скейчь для коммутатора, на простой коммутатор я написал на 8х1, но проблема в том что надо сделать выбор приёмной и передающей антенны и их переключение во время передачи заведите один из пинов на ПТТ и опрашивайте его если он LOW значит это передача и надо включить соответствующую антенну если он HIGH значит это прием и надо включить соответствующую антенну -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 873] Автор : RD9D Дата : 26.09.2017 19:48 заведите один из пинов на ПТТ и опрашивайте его если он LOW значит это передача и надо включить соответствующую антенну если он HIGH значит это прием и надо включить соответствующую антенну Это то понятно я про выбор антенн как это сделать, допустим стоит 2 антенна как приемная и ей надо выбрать 5 как передающую. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 874] Автор : UT0UM Дата : 26.09.2017 19:54 Это то понятно я про выбор антенн как это сделать, допустим стоит 2 антенна как приемная и ей надо выбрать 5 как передающую. ну так массив 2 х 8 в первой строке передющие антенны во второй приемные и в зависимости от пина ПТТ (0 или 1) выбирается либо первая строка массива, либо вторая -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 875] Автор : RA4HME Дата : 27.09.2017 20:54 XENOMORPH (http://www.cqham.ru/forum/member.php?12081-XENOMORPH) УДАЛЕНИЕ И УСТАНОВКА ПРОГИ АРДУИНО НЕ ПРИВЕЛИ К ПОЛОЖИТЕЛьНОМУ РЕЗУЛЬТАТУ. НЕ КОМПИЛИРУЕТСЯ Ваш монитор. Какой выход из положения?. Ардуино ещё тот гемморой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 876] Автор : XENOMORPH Дата : 27.09.2017 20:59 RA4HME, выход, залить прошивку через XLoader 271605 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 877] Автор : XENOMORPH Дата : 29.09.2017 11:55 Понадобился блок управления аттенюатором на поляризованых электромагнитах, решил сделать на Arduino Nano и простом LCD 2x16, цветной TFT больно жирно будет)) Может пригодиться, кто имеет подобный. По схеме в принципе всё понятно, питание от 8 до 15 вольт. По управлению, при включении по умолчанию установлено 0dB, энкодером выбираем от 0 до -121dB с шагом в 1 dB, при нажатии на кнопку, происходит сброс всех электромагнитов в исходное состояние, и далее подъём нужных секций в зависимости от выбранного затухания. 271716 271713271714271715 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 878] Автор : RN3GP Дата : 29.09.2017 12:40 Понадобился блок управления аттенюатором На этой базе можно ручной тюнер сделать, релюшками щелкать конденсаторы и индуктивности, Г-образный. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 879] Автор : RA4HME Дата : 01.10.2017 07:32 Уважаемые участники форума! Я ищу конструкцию на Ардуино с большим дисплеем 3,2 для управления усилителем.-включение накал-сетка анод. Измерение КСВ-МОЩНОСТЬ как сделано в конструкции http://www.cqham.ru/forum/showthread.php?29552-PWR-SWR-TEMP-FAN-ATMEGA8. Индикация напряжений, тока сетки. Возможно управление задержкой включения трансивера.Пожалуйста отзовитесь кто знает где поискать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 880] Автор : ra3gn Дата : 01.10.2017 08:23 rd9d Нужно добавить 2 переключателя для выбора антенн, Например так: 271892 У меня этот пульт переключает направление приемной антенны по вай фай. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 881] Автор : R2DHG Дата : 01.10.2017 18:47 Может пригодиться, кто имеет подобный. А где такой взяли ? Классная штука. На этой базе можно ручной тюнер сделать, релюшками щелкать конденсаторы и индуктивности, Г-образный. Оно и так полезно. К генератору какому нибудь приставить. У недорогих современных не поставишь -140 как в Г4-176, хотя я может не все смотрел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 882] Автор : XENOMORPH Дата : 01.10.2017 20:13 А где такой взяли? Классная штука. К сожалению, там таких уже нет ;-), да штука классная, хоть и шумная во время переключения, и комплект кабелей из медной трубки и фидера. К тому же экономичная, ток потребления всей схемы в режиме покоя от 12 вольт, 95 ма. ---------- update: небольшие уточнения по схеме модуля питания. 271948 Уточню, на электромагниты подаётся постоянное напряжение длительностью около 100 мс, и далее сбрасывается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 883] Автор : RA4HME Дата : 02.10.2017 07:41 Заголовок : ошибка компиляции pc monitor 271988Уважаемые участники форума! Не могу скомпилировать код PC MONITOR пост 646 автор XENOMORH. Спасибо автору выложил НЕХ, прошился, но изображение в зеркалке. Ардуино мега 2560 дисплей 3.2 (для ардеуино 2560 без платы с согласованием уровней) процессор Н8357С. При попытке компиляции в Ардуино IDE Разных версий (1.6.11 1.8.2 1.8.3) ошибка компиляции. Добавлял библиотеки через ардуино-скетч-добавить библиотеку ...Просто копировал в корень С, В КОРЕНЬ Д, и пробовал в папку с установленой программой - итог один и тот же. Знающие люди подскажите мои ошибки. И что делать с зеркалкой? Исправить в скетче, но не получается компиляция. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 884] Автор : XENOMORPH Дата : 02.10.2017 09:07 RA4HME, у Вас дисплей с инверсией, для него прошивка ниже. В архиве скетч и библиотека, попробуйте скомпилировать выбрав правильно плату в Arduino IDE (mega 2560). Старые библиотеки сохраните, и временно удалите из папки libraries. 271995 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 885] Автор : RA4HME Дата : 02.10.2017 09:23 Заголовок : рс монитор спасибо, вечером попробую. Пора уходить. Я очень извиняюсь за беспокойство. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 886] Автор : RA4HME Дата : 02.10.2017 17:55 Не пошло прикрепляю фото . В первом варианте вроде как правильное расположение символов,только наизнанку, а во втором непонятки и изменение цвета..Под названием прошивка 1 это ранее выложенная версия. Прошивка 2-это то,что выложено 29.092017 (с инверсией)272040272041 программировал через Xloader.это я к тому что не добился ничего от ардуино, попробую завтра на другом компе , который не видел раньше Ардуинки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 887] Автор : XENOMORPH Дата : 02.10.2017 18:52 RA4HME, Ну и дисплей Вам попался)), пробуйте эту 272047 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 888] Автор : RA4HME Дата : 02.10.2017 19:34 272059Вариант 3 тоже в зеркалке. Ну и ге-рой я купил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 889] Автор : XENOMORPH Дата : 02.10.2017 20:05 Попробуйте эти 4, начните с четвёртой. 272061 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 890] Автор : RA4HME Дата : 02.10.2017 20:23 не пошло,всё как на фото выше. Достал я уже наверное, если у Вас нет особого желания можно на этом закончить. А если есть , то я не откажусь от опытов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 891] Автор : XENOMORPH Дата : 02.10.2017 21:26 если у Вас нет особого желания Желание есть, но нет возможности, так-как у Вас котроллер дисплея другой, а у меня такого дисплея с таким контроллером нет, увы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 892] Автор : WT2J Дата : 02.10.2017 21:40 The mirror effect made the numbers look reversed and the touch coordinates were not correct. I tested some other sketches like Paint and they all worked fine. I examined the code difference and found the issue. The rotation was not set in the number pad sketch. I set the rotation to zero and everything worked fine. https://www.youtube.com/watch?v=guGaU7fM5KU -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 893] Автор : RA4HME Дата : 03.10.2017 06:31 AG2T Thanks for the advice and participation, I'll try when I can see the sketch.I'm not an Arduin, I'm just learning. AG2T Спасибо за совет и участие, попробую когда смогу увидеть скетч.Я не ардуинщик , я только учусь. HENOMORPH Не могли бы Вы прислать на мою почту RA4HME@YANDEX.RU нескомпилированый скетч в блокноте или каком другом документе. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 894] Автор : D0ITC Дата : 03.10.2017 09:50 Пытаюсь подключить к ардуино уно индикатор LPH8836, нашел библиотеку S65Display.h, но с ней ошибка компиляции, программа ругается именно на библиотеку. Версия Auduino 1.8.4. Может у кого-то есть рабочая библиотека. Индикатор я подключил по схеме шилда во вложении, только сигналы согласовал делителями. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 895] Автор : R2DHG Дата : 03.10.2017 11:03 Как ругается то ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 896] Автор : R1AIT Дата : 03.10.2017 11:03 Пытаюсь подключить к ардуино уно индикатор LPH8836, нашел библиотеку S65Display.h, но с ней ошибка компиляции, программа ругается именно на библиотеку. Для понимания ситуации, в таких случаях логичнее приводить не собственные выводы, а полный текст сообщения об ошибке или скриншот. Еще, хочу заметить, что библиотека, это такой же скетч, только оформленный соответствующим образом. Пару раз натыкался на такую простую вещь, что какие-то версии IDE требуют, чтобы функции, в тексте программы, обязательно были описаны до их использования, а в каких то версиях они могут быть и в конце текста. Если сделано по второму варианту, то при компиляции начинает вываливать ошибки, что программа или функция не найдена. Банальный перенос описаний в начало текста легко исправляет ситуацию. Могут быть и другие простые вещи. Если вы самостоятельно не в состоянии их заметить или идентифицировать, давайте исходную информацию, а не то, как вы понимаете происходящее. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 897] Автор : R2DHG Дата : 03.10.2017 11:18 Мне сходу попалась какая то древняя S65Display - действительно ругается в новых версиях. Вот отсюда не ругается на пример из GraphicsLib если включить S65LPH88 https://github.com/watterott/S65-Shield https://github.com/watterott/Arduino-Libs -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 898] Автор : D0ITC Дата : 03.10.2017 12:11 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), ругается как во вложении 1. Скачал я по ссылкам, но при попытке добавить библиотеку в программу выдаёт как во вложении 2. Прошу прощения за бестолковость, я начинающий. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 899] Автор : R1AIT Дата : 03.10.2017 12:44 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), ругается как во вложении 1. Скачал я по ссылкам, но при попытке добавить библиотеку в программу выдаёт как во вложении. Прежде чем добавлять в програму, это делалось? 272112 В сообщении написано, что zip файл не содержит корректных библиотек. Нужно её подключить для начала. Это делалось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 900] Автор : D0ITC Дата : 03.10.2017 12:52 Да, устанавливал, но пишет что папка не содержит корректных библиотек. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 901] Автор : R2DHG Дата : 03.10.2017 13:03 Так может и не содержит корректных для новых версий среды. Внутри в примерах случайно не .pde файлы ? Мне такой архив попался когда S65Display в поиск вбил - это для очень старой версии среды. По моим ссылкам я не пробовал так ставить. Скопировал внутренности в мои документы / arduino / library и оттуда же открыл пример. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 902] Автор : R1AIT Дата : 03.10.2017 13:27 Да, устанавливал, но пишет что папка не содержит корректных библиотек. Так на этапе установки пишет, или при компиляции? В первом случае, видимо что-то с архивом. Попробуйте его просто распаковать для начала. Если при компиляции, то у вас что-то не так написано в строке подключения, ибо компилятор ссылается на ZIP, и вполне естественно, ибо он с ним работать не умеет и совать ему ZIP совсем не нужно. Добавлено через 8 минут(ы): Внутри в примерах случайно не .pde файлы ? С этим проблем обычно не бывает pde нормально подхватываются в новых версиях, хотя, ньюансы в принципе возможны. По моим ссылкам я не пробовал так ставить. Скопировал внутренности в мои документы / arduino / library и оттуда же открыл пример. Не здесь ли проблема у US2IT ? Windows умеет видеть .zip как папки, хотя на самом деле это архив. Этот вариант установки тоже годиться, но архив таки нужно распаковать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 903] Автор : D0ITC Дата : 03.10.2017 14:11 R1AIT (http://www.cqham.ru/forum/member.php?9026-R1AIT), так пишет на этапе установки. Библиотеку я пробовал добавить и в архиве(там есть пункт: добавить ZIP библиотеку) и так как предложил R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), архив распаковывал. Пока так ничего и не получилось, как только выбираю пример с этой библиотекой или просто включаю её и пробую проверить- выводит ошибку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 904] Автор : ra3gn Дата : 03.10.2017 14:24 us2it Не надо распаковывать, как скачали так и добавляйте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 905] Автор : D0ITC Дата : 03.10.2017 14:32 Ну так я в начале не распаковывая и добавлял, но выдаёт программа ошибку. Пишет что не корректная библиотека. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 906] Автор : ra3gn Дата : 03.10.2017 14:35 us2it Ищите другую, люди делают, не машины. Может быть с ошибкой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 907] Автор : D0ITC Дата : 03.10.2017 14:52 Ищу, но пока никак. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 908] Автор : ra3gn Дата : 03.10.2017 15:37 us2it На форумах лучше, пишут пробовал этот не пошел, а этот работает. У меня один дисплей только с 3 попытки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 909] Автор : D0ITC Дата : 03.10.2017 16:12 Перепробовал всё что попадалось на форумах, но пока пусто. Не хочет моя программа с ними работать. Добавлял уже несколько различных библиотек(LiquidCrystalRus, LiquidCrystal_I2C_V112) и все нормально работают, а тут засада. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 910] Автор : R2DHG Дата : 03.10.2017 16:23 Я что то запутался... А с какой ошибка ? Со старой или с той, что по моей ссылке ? У меня нормально компилит. С этим проблем обычно не бывает pde нормально подхватываются в новых версиях, хотя, ньюансы в принципе возможны. Там в библиотеке что то не то, уже видел подобное со старыми библиотеками, скорее всего починить можно, но вроде есть новее. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 911] Автор : D0ITC Дата : 03.10.2017 16:24 с обоими -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 912] Автор : RD9D Дата : 03.10.2017 16:33 rd9d Нужно добавить 2 переключателя для выбора антенн, Например так: 271892 У меня этот пульт переключает направление приемной антенны по вай фай. Я вот только так придумал реализовать Сейчас надо пытаться скетч написать на все это 272118 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 913] Автор : XENOMORPH Дата : 03.10.2017 17:25 US2IT, попробуйте включить в настройках программы, сообщения компилятора: подробно, или всё, это поможет детально выявить ошибки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 914] Автор : ra3gn Дата : 03.10.2017 17:36 rd9d Если не хватает ног, можно использовать всего 2 аналоговых входа, путем считывания напряжения с резисторов, распаянных на галетном переключателе. Думаю кнопки по входу для выбора антенн - не совсем верное решение. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 915] Автор : UT0UM Дата : 03.10.2017 18:12 так второй комплект кнопок не нужен нужна 1 доп кнопка параллельно птт когда она нажата, то выбирается ант на передачу если нет, то на прием -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 916] Автор : RD9D Дата : 03.10.2017 19:09 второй комплект кнопок не нужен нужна 1 доп кнопка параллельно птт когда она нажата, то выбирается ант на передачу если нет, то на прием не много не понял логики, стоя на передаче, выбирается передающая антенна, так сгорят все реле, при переключении. Если только на оборот, при передаче выбирать приёмную антенну -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 917] Автор : UT0UM Дата : 03.10.2017 19:22 не много не понял логики, стоя на передаче, выбирается передающая антенна, так сгорят все реле, при переключении. Если только на оборот, при передаче выбирать приёмную антенну та ну нет же конечно, только на приеме но при нажатой кнопке РТТ выбирается передающая антенна при не нажатой кнопке РТТ выбирается приемная антенна у Вас же РТТ заведено в этот коммутатор с трансивера когда трансивер уходит на передачу, тогда этот пин РТТ сажается на землю а кнопка будет сажать пин на землю тогда, когда надо выбрать передающуюю антенну -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 918] Автор : rz3qs Дата : 03.10.2017 19:53 .... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 919] Автор : RD9D Дата : 03.10.2017 20:10 та ну нет же конечно, только на приеме но при нажатой кнопке РТТ выбирается передающая антенна при не нажатой кнопке РТТ выбирается приемная антенна у Вас же РТТ заведено в этот коммутатор с трансивера когда трансивер уходит на передачу, тогда этот пин РТТ сажается на землю а кнопка будет сажать пин на землю тогда, когда надо выбрать передающуюю антенну Все вроде дотюмкал, поставить кнопку параллельно сигналу РТТ, и при её нажатии выбирать передающую антенну, так -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 920] Автор : UT0UM Дата : 03.10.2017 20:18 Все вроде дотюмкал, поставить кнопку параллельно сигналу РТТ, и при её нажатии выбирать передающую антенну, так да еще так очень удобно, если надо послушать на передающую антенну (у меня так сделано) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 921] Автор : RD9D Дата : 03.10.2017 20:43 да еще так очень удобно, если надо послушать на передающую антенну (у меня так сделано) Алексей, а можно скетч посмотреть на ваш коммутатор -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 922] Автор : UT0UM Дата : 03.10.2017 21:33 скетч можно 272132 но наверное не поможет :ржач: кидайте сюда свой допилим -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 923] Автор : RD9D Дата : 04.10.2017 12:44 можно 272132 но наверное не поможет :ржач: кидайте сюда свой допилим Часть напилил, а вот дальше уже тямы не хватает (не работал я толком с ардуинками) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 924] Автор : ra3gn Дата : 04.10.2017 13:20 rd9d Обычно переключают приемную или передающая антенна в трансивере. На передачу всегда передающая, если их несколько или можно переключить направления. 272156 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 925] Автор : RA4HME Дата : 05.10.2017 18:43 Граждане и товарищи! Я не ардуинщик, я только учусь. Не пойму как можно изменить размер шрифта.Весь день потратил в интернете,но зря. нашёл только это- Исходная библиотека включает 3 шрифта (BigFont); BigFont[]; 95 символов 16×16 высота 2мм (SmallFont); SmallFont[]; 95 символов 8×12 высота 1мм (SevenSegNumFont); SevenSegNumFont[]; 10 цифровых символов 32×50 высота 7.5мм, Шрифт SevenSegNumFont имитирует 7-сегментный цифровой индикатор.(но не имитирует), а мне надо с высотой 4-5мм- сколько в пикселях не знаю.Меняется их размер или нет. Если да,то как.Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 926] Автор : UV7QAE Дата : 05.10.2017 18:49 Как это не знаете? А посчитать не пробовали? 16 пикселей = 2 мм, 8 = 1 мм, вам надо на 40 мм. Есть отличная библиотека с огромной кучей шрифтов https://github.com/olikraus/u8glib Список шрифтов тут https://github.com/olikraus/u8glib/wiki/fontsize -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 927] Автор : seybr Дата : 05.10.2017 19:03 Подскажите в скетчах тип int 8-и или 16-и разрядная? Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 928] Автор : veso74 Дата : 05.10.2017 19:32 seybr, цитат: В Arduino Uno (и других платах на базе микроконтроллеров ATmega) переменные типа int хранят 16-битные (2-байтовые) значения. Такая размерность дает диапазон от -32768 до 32767 (минимальное значение -2^15 и максимальное значение (2^15 )-1). В Arduino Due переменные типа int - 32-битные (4-байта), что дает возможность хранить значения в диапазоне от -2 147 483 648 до 2 147 483 647 (минимальное значение -2^31 и максимальное значение (2^31)-1). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 929] Автор : seybr Дата : 05.10.2017 19:49 veso74, спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 930] Автор : RA4HME Дата : 05.10.2017 19:53 UV7QAE,Спасибо, я весь день провёл не там где надо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 931] Автор : US5IVZ Дата : 06.10.2017 00:21 Всем доброго времени суток! Вопрос к продвинутым ардуинщикам. Хочу допилить скетч от K3NG rotator controller под свои хотелки. Мне нужно подключить одну кнопку (парковка) на ардуино нано. У меня осталось два свободных пина D0 и D13. K D13 подключаюсь, обозначив этот пин в скетче (файл rotator_pins.h)как 13 ,но ничего не происходит ,очевидно потому ,что на этом пине висит LED ардуино. А D0 не могу прописать так как 0 в данном скетче обозначает что данная функция не используется. На всех остальных пинах проверял ,после соответствующей "прописки" и компиляции все работает. Вопрос как выйти из положения? Выпаять LED не предлагать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 932] Автор : UT0UM Дата : 06.10.2017 02:27 выйти из положения я надеюсь Вы кнопку с пина 13 на землю прицепили? тогда надо подтянуть пин 13 к +5В через резистор Ом в 100 (0,25Вт) чтобы на нем по умолчанию был высокий уровень (будет гореть светодиод) а когда нажмете кнопку, то на нем будет низкий уровень (светодиод потухнет) еще, как вариант, поменять местами D13 с одним из тех пинов, которые управляют транзисторными ключами D13, как выход, будет работать без проблем ну или выпаять резистор, который последовательно со светодиодом, раз "Выпаять LED не предлагать" :ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 933] Автор : US5IVZ Дата : 06.10.2017 04:56 To:UT0UM Спасибо "за наводку"! С пин d13 -да на землю кнопка и как выход для ключа тоже можно. А про D0-забыть? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 934] Автор : UT0UM Дата : 06.10.2017 11:09 А про D0-забыть? #ifdef FEATURE_PARK #define button_park 1 #endif видимо да а если есть коннект по ЮСБ с компом, то пины 0 и 1 использовать не получится они заняты под ЮСБ и свободны чисто внешне -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 935] Автор : UT0UM Дата : 07.10.2017 03:23 напилил ну пока так смотрите // Антенный переключатель 1х8 //Порты для выходов переключаемых антенн int ant[] = {12, 11, 10, 9, 8, 7, 6, 5}; //Порты для кнопок // A0 - это 14, А1 - 15 итд // первое число єто номер пина PTT int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21}; int PTT = 1; int NumButton[] = {0, 0}; //Номер нажатой кнопки. При включении всегда будет устанавливаться антенна на порту 12 и на прием и на передачу boolean ButtonPressed = false; // Флаг нажатой кнопки boolean RXFlag = true; // Флаг перехода на прием void setup () { // порты на вход for (int i=0; i <= 8; i++) { pinMode (bt,INPUT); } // порты на выход for (int i=0; i <= 7; i++) { pinMode (ant[i],OUTPUT); } } void ReadButton() //Определяем номер нажатой кнопки { PTT = digitalRead (bt[0]); // чтение состояние ПТТ for (int i=1; i <= 8; i++) { if (digitalRead (bt[i]) == HIGH) { ButtonPressed = true; NumButton[PTT]= i-1; } } if (PTT) { RXFlag = true; } } void SetAntenna() // включение нужной антенны { if (RXFlag) { if (!PTT) { RXFlag = false; ButtonPressed = true; } } if (ButtonPressed) { for (int i=0; i <= 7; i++) { digitalWrite (ant[i], LOW); } digitalWrite (ant[NumButton[PTT]], HIGH); ButtonPressed = false; } } void loop () { ReadButton(); SetAntenna(); } [I]Добавлено через 6 минут(ы): и да, забыл сказать, что А6 и А7 как цифровые входы работать не будут (http://forum.amperka.ru/threads/%D0%97%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D1%84%D0%B0%D0%BA%D1%82-%D0%BE%D0%B1-arduino-mini.6057/) перевесьте эти две кнопки на другие ноги -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 936] Автор : RD9D Дата : 07.10.2017 15:48 ну пока так смотрите // Антенный переключатель 1х8 //Порты для выходов переключаемых антенн int ant[] = {12, 11, 10, 9, 8, 7, 6, 5}; //Порты для кнопок // A0 - это 14, А1 - 15 итд // первое число єто номер пина PTT int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21}; int PTT = 1; int NumButton[] = {0, 0}; //Номер нажатой кнопки. При включении всегда будет устанавливаться антенна на порту 12 и на прием и на передачу boolean ButtonPressed = false; // Флаг нажатой кнопки boolean RXFlag = true; // Флаг перехода на прием void setup () { // порты на вход for (int i=0; i <= 8; i++) { pinMode (bt,INPUT); } // порты на выход for (int i=0; i <= 7; i++) { pinMode (ant[i],OUTPUT); } } void ReadButton() //Определяем номер нажатой кнопки { PTT = digitalRead (bt[0]); // чтение состояние ПТТ for (int i=1; i <= 8; i++) { if (digitalRead (bt[i]) == HIGH) { ButtonPressed = true; NumButton[PTT]= i-1; } } if (PTT) { RXFlag = true; } } void SetAntenna() // включение нужной антенны { if (RXFlag) { if (!PTT) { RXFlag = false; ButtonPressed = true; } } if (ButtonPressed) { for (int i=0; i <= 7; i++) { digitalWrite (ant[i], LOW); } digitalWrite (ant[NumButton[PTT]], HIGH); ButtonPressed = false; } } void loop () { ReadButton(); SetAntenna(); } [I]Добавлено через 6 минут(ы): и да, забыл сказать, что А6 и А7 как цифровые входы работать не будут (http://forum.amperka.ru/threads/%D0%97%D0%B0%D0%BD%D0%B8%D0%BC%D0%B0%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-%D1%84%D0%B0%D0%BA%D1%82-%D0%BE%D0%B1-arduino-mini.6057/) перевесьте эти две кнопки на другие ноги Алексей, спасибо, в понедельник по разбираюсь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 937] Автор : RD9D Дата : 12.10.2017 12:41 А6 и А7 это на мини вроде не работают а в нано вроде работают // первое число єто номер пина PTT int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21}; int PTT = 1; кнопка ПТТ всетаки 1 или 2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 938] Автор : UT0UM Дата : 12.10.2017 13:11 А6 и А7 э они везде не работают как цифровые входы, где атмега328 в смд корпусе // первое число єто номер пина PTT int bt[] = {2, 14, 15, 16, 17, 18, 19, 20, 21}; 2 PTT - это просто переменная -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 939] Автор : UD0DAB Дата : 13.10.2017 06:36 :evil: Все товарищи. Одно расстройство. Не выходит у данилы каменный цветок. По отдельности с компонентами работать могу. Часы, память, 9834, 4-х разрядный лед дисплей, енкодер - все это работает, показывает, крутит... А накодить простенький синтез, собрать эти куски кода воедино - голова вообще одеревенела. Надо короткое нажатие на енкодер - показывать время, дату, частоту в КГц и так по кругу. Длинное - простое меню типа F1 - установить минуты, F2 - часы, ... F5 - частота ПЧ МГц, F6 - частота ПЧ КГц. Одна из ног переключает +- пч. Пишу,пишу а выходит какакакаято. Может кто возьмется занедорого?:oops: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 940] Автор : UA0YAS Дата : 13.10.2017 08:25 Arduino головного мозга, однако. Добро пожаловать в AtmelStudio, с отладчиком и регистрами.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 941] Автор : UD0DAB Дата : 13.10.2017 08:32 А какая разница в чем писать? Тут у меня скорее с логикой проблемы. Я не могу монять какой должна быть логическая структура программы моего синтеза. Может накропать блок-схему для начала? В глубине души программистику недолюбливаю, а теперь вот столкнулся с чем-то сложнее HelloWorld и начались проблемы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 942] Автор : UA0YAS Дата : 13.10.2017 08:44 блок схема- это правильно. Там же и все флаги расставить. было бы не плохо смотреть, что твориться в регистрах, на чем затыкается программа, включать пошаговое выполнение. а в чем писать - не разницы. Можно даже в блокноте или консольном редакторе :smile: Создавать шедевры примитивными инструментами могут только Мастера. ЗЫ. Может стоить взять готовый чужой проект и изменить его под себя? Ведь наверняка используете библиотеки, несовместимые друг с другом... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 943] Автор : UD0DAB Дата : 13.10.2017 09:10 Ведь наверняка используете библиотеки, несовместимые друг с другом... Исчо раз - все у меня работает. Затык не в совместимости. Затык в том что я НЕ УМЕЮ писать сложные программы в принципе. А код сам по себе помодульно работает без вопросов. Вот например я включаю синтез. Надо проверить есть ли в памяти предСостояние частоты и прочего. Если нет - надо выставить дефолтные. Потом вот меню. Енкодер должен как-то этим управлять, оно должно в память сохраниться. И частотой еще управлять. И если часы показывают, то запрашивать их и на экран раз в секунду... А во время ТХ еще, только КСВ показывать на экран. И как эту всю кашу в голове собрать пока не сообразил :) Может стоить взять готовый чужой проект и изменить его под себя? В чужом коде вечно все как-то непонятно. Свои грабли опыту больше дают и потом чувствуешь маленькую пободу :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 944] Автор : UA0YAS Дата : 13.10.2017 09:15 наверное стоит постепенно усложнять проект? начните с валкодера.. еще можно подсматривать в чужой код, очень помогает при самообучении... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 945] Автор : R1AIT Дата : 13.10.2017 09:19 ...было бы не плохо смотреть, ... на чем затыкается программа, включать пошаговое выполнение.А что мешает? IMHO посмотреть нужное место можно всегда. Было бы желание. Остальное, дело субъективное и зависит от привычек, предпочтений и задуманного. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 946] Автор : R2DHG Дата : 13.10.2017 09:19 Ардуина мешает - там пошаговой отладки нет :-P Хотя обычно и не нужна. Наличие пошаговой отладки не избавляет от необходимости понимания как оно вообще работает и должно работать. Мне кажется UD0CAJ понимает проблему совершенно правильно если раньше не программил. Отлаживать так глубоко, что аж до регистров особой необходимости нет - вывода переменных в com-порт или на экран разрабатываемого девайса чаще всего хватает. Думаю нужно почитать что нибудь про "конечные автоматы" и ситуация прояснится. В целом ничего особо хитрого - в основном цикле опрос датчиков (кнопок, энкодера) и реакция на события (смена частоты, обновление информации на дисплее). Для опроса и реакции пишется кучка функций типа опроситьКнопки, опроситьЭнкодер, установитьЧастоту, обновитьИнфуНаДисплее, обновитьУправляющиеСигналыДПФ и т.п., в основном цикле обычно какой нибудь case из событий "нажали кнопку 1" / "нажали кнопку 2" / "изменилось положение энкодера" и все это бегает по кругу опрос - case - опрос - case ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 947] Автор : UD0DAB Дата : 13.10.2017 09:25 в основном цикле обычно какой нибудь case из событий "нажали кнопку 1" / "нажали кнопку 2" / "изменилось положение энкодера" и все это бегает по кругу опрос - case - опрос - case ... Вот оно в голове по кругу и бегает :) Буду рисовать блоксхему, а то сам не всегда понимаю чего хочу добиться. А блоки потом кодом заменить несложно... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 948] Автор : R1AIT Дата : 13.10.2017 09:25 Отлаживать так глубоко, что аж до регистров особой необходимости нет - вывода переменных в com-порт или на экран разрабатываемого девайса чаще всего хватает. и я об этом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 949] Автор : Владимир_К Дата : 13.10.2017 12:25 Добавлено через 6 минут(ы): В чужом коде вечно все как-то непонятно. Свои грабли опыту больше дают и потом чувствуешь маленькую победу До победы путь может оказаться далеким, а стоит одним глазом подсмотреть чужой код, и вот оно то, на что потратил уйму времени. И уже подсказывали - если у Вас куча событий, которые надо выполнять, в зависимости от состояний, почитайте о флаговых автоматах, диспетчерах и пр. Вот ссылка, где кое-что есть об этом: http://easyelectronics.ru/avr-uchebnyj-kurs-arxitektura-programm.html А вообще, я не представляю среду разработки, где нет пошаговой отладки. Поэтому, попробовал среду Ардуино и сразу отказался. Но сами платы Ардуино, использую, учитывая их удобство загрузки программ, а для написания WinAVR2010, отладка AVR Studio 4.19. Можно и то и другое делать в AVR Studio, 6 и последующие. Загрузчик Ардуино (бутлоадер) этими программами поддерживается. Правда, с 6-студией, что-то мне не повезло, старые программы (некоторые) пришлось подгонять, а это время, поэтому пока WinAVR. Вот оно в голове по кругу и бегает Этим должны заниматься таймеры их может быть много, каждый отвечает за задачу, которую должна отработать программа. Каждый таймер выставляет свой бит (флаг), программа просматривая флаги последовательно и, найдя установленный бит, выполняет соответствующую этому биту задачу. Другие флаги выставляются событиями. Но надо это читать, так как то, что я написал, использовал мало и глубокого понятия пока нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 950] Автор : Tolya Дата : 13.10.2017 13:25 Еcть вот такой дисплейчик..tftlcd 3.5 ili 9327..можно что нибудь с него сделать,хотя бы те же часы или выкинуть его и не заморачиваться с ним.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 951] Автор : Tadas Дата : 13.10.2017 13:36 Зачем выкидывать? Делают люди ведь: https://www.youtube.com/watch?v=sXMM3Vinsx0 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 952] Автор : UT0UM Дата : 13.10.2017 17:14 Я не могу монять а Вы разбейте задачу на маленькие задачки и потихоньку их пишите вон если у вас дисплей отдельно работает так сделайте этот кусок кода отдельной функцией назовите его Showdigits например и вызывайте эту функцию с нужным параметром, когда необходимо например Showdigits(7050); итд -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 953] Автор : UD0DAB Дата : 13.10.2017 18:39 Да это я умею :) Вот например сейчас у меня работает синтез, настраивается енкодером. И даже шаг переключаю нажатием на енкодер (пока бэнды не определены, далеко иной раз крутить от 1900 до 7076 КГц например) Но надо еще по длинному нажатию в меню как-то выйти. А там попрыгать, попереключать параметры и в память их по длинному нажатию занести. А еще как-то надо определить есть что в памяти, или я батарейку сменил и память забыла все и надо сбросить настройки на дефолт. И проблема не в написании кода как такового. Проблема в том что я не вижу пока логики связей всего этого. Можно написать как "Индусы" - памяти хватит. Но хочется же что бы и работало шустро и не глючило и исходник что бы не был похож на тестовую страницу матричного принтера.... Просветление, понимаете-ли, никак не приходит :) И еще оказалось что часы я запаял, а провода не развел! Но это не так важно сейчас. И про датчик температуры не забыть!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 954] Автор : UT0UM Дата : 13.10.2017 18:44 по длинному нажатию длинное нажатие сначала надо обработать написали обработку? есть что в памяти ну так пишите в какую-то ячейку уникальный код и каждый раз сравнивайте есть он там или нет если есть, то и остальное есть -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 955] Автор : Tadas Дата : 13.10.2017 19:04 Но надо еще по длинному нажатию в меню как-то выйти. А там попрыгать, попереключать параметры и в память их по длинному нажатию занести. Посмотрите эту статью - https://sohabr.net/habr/post/251181/ На мой взгляд на основе этого кода можно всё что Вам хочется сделать. Пояснения достаточно исчерпывающие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 956] Автор : UD0DAB Дата : 13.10.2017 20:31 длинное нажатие сначала надо обработать написали обработку? Написал! И даже с антизвоном! Если было не нажато и нажалось это нажатие. А если было нажато и отжалось - это отжатие. Если НЕ БЫЛО нажато, то отжатие не срабатывает. И наоборот. Ну и проверка что полсекунды держали. Это пашет без проблем вообще! Буду за меню браться. Но завтра. Полчетвертого уже местное :shock: О! не ожидал гемор, но поморгать одним разрядом на индикаторе непросто :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 957] Автор : RA4HME Дата : 14.10.2017 08:08 272810272811 Приветствую всех участников форума. Благодарю за ответы на мои предыдущие вопросы.Особая благодарность за помощь учасникам форума XENOMORPH и UV7QAE.Я искал скетч для управления усилителем индикации состояния выбранного режима работы и диапазона. Измерение КСВ с отображением на дисплее в виде цифр и шкалы подобной как на фото. У меня снова возникли вопросы следующего характера- КАК НАПИСАТЬ КОД ЧТО БЫ ПРИ ПОДАЧЕ НАПРЯЖЕНИЯ НА РАЗНЫЕ ВХОДА ПЛАТЫ Atmega 2560 в правой части дисплея индицировался выбранный диапазон. Например подано +5 на вход А0 - индицируется диапазон 160 метров. Подано +5 на вход A1-диапазон 80 метров и т.д. На дисплее видно в прямоугольниках надписи ssb.cw.FM. DIGI.RX.TX. Как сделать эти прямоугольники другим фоном и на этом фоне были видны эти надписи, а при активации выбранного режима,ПУТЁМ ПОДАЧИ +5 ВОЛЬТ НА ВХОД (НАПРИМЕР А9) надпись например CW была видима как активная, может быть чтобы менялся фон или цвет в прямоугольнике, может становился ярче или менял цвет или меняли цвет цифры. Можно использовать кнопки (в замен подачи напряжений на входа) для управления усилителем-выбором диапазона и режимом работы.Прикрепляю скетч на фото того что видите.(для TFT ATMEGA2560(красный ярлык) может быть кто видел в интернете подобную конструкцию, еси до, то дайте ссылку. СКЕТЧ на фото слева #include UTFT myGLCD(CTE32HR, 38, 39, 40, 41); //ОБЪЯВЛЕНИЕ ВСТРОЕННОГО ШРИФТА extern uint8_t GroteskBold24x48[]; extern uint8_t Grotesk32x64[]; extern uint8_t SmallFont[]; extern uint8_t hallfetica_normal[]; extern uint8_t Arial_round_16x24[]; void setup() { myGLCD.InitLCD(LANDSCAPE); // очищаем экран myGLCD.clrScr(); // выбираем тип шрифта myGLCD.setFont (GroteskBold24x48); // выбираем цвет шрифта myGLCD.setColor(VGA_MAROON); // печатаем при загрузке ("PA 200 W") в центре верхней строки дисплея myGLCD.print("PA 200 W", CENTER, 130); // выбираем цвет шрифта при загрузке "PA 200 W" в центре верхней строки дисплея myGLCD.setColor(VGA_LIME); //время занрузки -в милисекундах (ПРИ ЗАГРУЗКЕ ИДЁТ ПОЛОСА ГОРИЗОНТАЛЬНАЯ) delay(500); myGLCD.fillRect(80, 200, 100, 220); delay(100); myGLCD.fillRect(80, 200, 150, 220); delay(100); myGLCD.fillRect(80, 200, 200, 220); delay(100); myGLCD.fillRect(80, 200, 250, 220); delay(100); myGLCD.fillRect(80, 200, 300, 220); delay(100); myGLCD.fillRect(80, 200, 350, 220); delay(100); myGLCD.fillRect(80, 200, 400, 220); delay(800); myGLCD.clrScr(); analogReference(INTERNAL2V56); // активация встроенного опорника MEGA 2560 ////////////////////////////////////////////////////////////////////////////////// //надписи в окнах 1-7 и определение расположения, типа шрифта и цвета myGLCD.setColor(VGA_LIME); myGLCD.setFont( Arial_round_16x24); myGLCD.print("SSB", 21, 26); myGLCD.print("FM",97, 26); myGLCD.print("RX", 165,26); myGLCD.print("CW", 28, 75); myGLCD.print("DIG", 91, 75); myGLCD.print("TX", 165, 75); myGLCD.setColor(VGA_BLUE); myGLCD.setFont(GroteskBold24x48); myGLCD.print("160 metr", 240, 58); myGLCD.setColor(VGA_LIME); myGLCD.setFont(Arial_round_16x24); myGLCD.print("BAND", 240, 25); //вывод информации о режиме работы PA // рисую прямоугольники в левой части дисплея для отображения информации о режиме работы PA myGLCD.setColor(100,150,200); // цвет прямоугольников myGLCD.drawRoundRect(20, 20 ,70 ,50); // 1 окно режим SSB myGLCD.drawRoundRect(140, 20 ,90 ,50); // 2 окно режим CW myGLCD.drawRoundRect(20, 100 ,70 ,70); // 3 окно режим AM/FM myGLCD.drawRoundRect(140, 100 ,90 ,70); // 4 окно режим DIGI myGLCD.drawRoundRect(200, 20 ,160 ,50); // 5 ТХ myGLCD.drawRoundRect(200, 100 ,160 ,70); // 6 RX myGLCD.setColor(VGA_WHITE); myGLCD.drawRoundRect(11, 110 ,460 ,11); // 6 окно-диапазон (160,80 ит.д. } void loop() { -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 958] Автор : R2DHG Дата : 14.10.2017 13:18 Что то мешает сделать прямо в лоб ? myGLCD.setFont( Arial_round_16x24); if (digitalRead(A0) == LOW) myGLCD.setColor(VGA_ LIME); else myGLCD.setColor(VGA_WHITE ); myGLCD.print("SSB", 21, 26); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 959] Автор : RA4HME Дата : 15.10.2017 08:09 Здравствуйте! Спасибо R2DHG за помощь. Такой вариант тоже возможен, но при использовании такого варианта будет просто меняться цвет текста, можно сделать заполнение окна нужным текстом, но тогда будет выглядеть некрасиво пустующее окно.(в данном случае SSB). Я хочу сделать так чтобы текст в окнах был неактивный пока не будет включен соответствующий режим. то есть окна имеют какой то бледный фон и на этом фоне надпись и при выборе соответствующего режима цвет окна и надписи становились более чёткими, возможно с изменением цвета. Как в компьютере, если кнопка неактивна,она бледная но видимая, если активна- она четкая и хорошо видимая. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 960] Автор : vgusv Дата : 15.10.2017 15:08 RA4HME,может так вас устроит; if ( ATT==false ){ ATT = true;// если бит сброшен то устанавливаем его tft.fillRoundRect(19,185,65,40,4,GREEN); tft.setCursor(33, 199); tft.println("ATT"); goto outATT;} if ( ATT ==true ){ ATT = false;// если бит установлен то сбрасываем его tft.fillRoundRect(19,185,65,40,4,GREY); tft.setCursor(33, 199); tft.println("ATT"); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 961] Автор : Владимир_К Дата : 15.10.2017 15:22 Для таких случаев, удобно применить операцию "XOR". Например, есть кнопка, которая при нажатии должна сбрасывать или устанавливать бит переменной. Для этого не нужно проверять, что там записано - установлен или сброшен бит, а просто выполняем XOR переменной и константы, в которой все нули, кроме бита, который соответствует этой кнопке. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 962] Автор : R2DHG Дата : 15.10.2017 15:37 Я хочу сделать так чтобы текст в окнах был неактивный пока не будет включен соответствующий режим. то есть окна имеют какой то бледный фон и на этом фоне надпись и при выборе соответствующего режима цвет окна и надписи становились более чёткими, возможно с изменением цвета. Как в компьютере, если кнопка неактивна,она бледная но видимая, если активна- она четкая и хорошо видимая. Ничего, кроме цвета, при этом не меняется. Рисуйте и текст и прямоугольник одного цвета при HIGH на ноге и другого цвета при LOW, ничего более хитрого не нужно для данного эффекта, подобрать цвета только - меньшей/большей яркости (как вариант) или вообще разные (бледно-серый выкл/красный или зеленый вкл). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 963] Автор : RA4HME Дата : 15.10.2017 21:49 Цвет рамок оставил прежним цветом-бледно голубым. Цвет надписей (55,55,55)- бледно серый . При активном режиме цвет меняется на ярко зелёный. Остальные варианты не пробовал.Буду пробовать завтра. Всем спасибо за помощь и участие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 964] Автор : RA4HME Дата : 16.10.2017 13:41 Приветствую участников форума! остановился на варианте предложенном R2DHG, подобрал цвета как написано в посте выше. RA4HME,может так вас устроит; if ( ATT==false ){ ATT = true;// если бит сброшен то устанавливаем его tft.fillRoundRect(19 ,185,65,40,4,GREEN); tft.setCursor(33, 199); tft.println("ATT"); goto outATT;} if ( ATT ==true ){ ATT = false;// если бит установлен то сбрасываем его tft.fillRoundRect(19 ,185,65,40,4,GREY); tft.setCursor(33, 199); tft.println("ATT"); } этот вариант опробовал, но не совсем то, что надо. Прямоугольники закрашиваются и надписей не видно. С операцией XOR не решился, опыта практически нет. осталось сделать самое сложное шкалу индикации уровня сигнала -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 965] Автор : R2DHG Дата : 16.10.2017 14:00 Если закрашиваются надо одним цветом закрашивать, а другим текст выводить. Я думал как на скрине на прошлой странице они в рамках просто. Что то типа if ( ATT==false ){ ATT = true;// если бит сброшен то устанавливаем его tft.fillRoundRect(19 ,185,65,40,4,GREEN); tft.setCursor(33, 199); tft.setColor(RED); tft.println("ATT"); } else { ATT = false;// если бит установлен то сбрасываем его tft.fillRoundRect(19 ,185,65,40,4,GREY); tft.setCursor(33, 199); tft.setColor(BLACK); tft.println("ATT"); }; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 966] Автор : RA4HME Дата : 16.10.2017 18:24 Всё правильно. Они как на скрине (дисплей 3.2 Н8357С) ,в рамках.Если рамки залить цветом, а другим цветом писать(всё равно каким), то надписей не видно. Оставляю так как написал в посте 964 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 967] Автор : UD0DAB Дата : 18.10.2017 18:17 Удалил.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 968] Автор : D0ITC Дата : 22.10.2017 13:16 Всем добрый день! Я уже задавал здесь вопрос про библиотеку S65Display, хочу подключить к Arduino индикатор LPH8836. Всё что я смог найти в интернете при компиляции выдаёт ошибку, что при этом пишет выложил в текстовом документе. Программа у меня Arduino 1.8.4 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 969] Автор : R2DHG Дата : 22.10.2017 15:54 Пишут, что если замена prog_uint8_t на uint8_t в font_10x16.c и других файлах не поможет, то нужно использовать версию среды 1.0.6 или более раннюю. В общем старая библиотека какая то. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 970] Автор : D0ITC Дата : 22.10.2017 16:25 Понятно, спасибо за ответ. Значит новой библиотеки просто нет иначе уже нашел бы. Сейчас попробую заменить prog_uint8_t на uint8_t во всех файлах на которые программа будет ругаться, может быть поможет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 971] Автор : veso74 Дата : 22.10.2017 16:39 US2IT, напишите в начало скетча #ifndef prog_uint8_t typedef uint8_t prog_uint8_t; #endif Тогда замена во всех файлах ненужна. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 972] Автор : R2DHG Дата : 22.10.2017 17:20 Я где то выше давал ссылку на новую для такого дисплея - с компиляцией примера проблем не было в новой версии среды, называлась, возможно, по другому. #897 Правда у меня дисплея такого нет, в железе не проверял. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 973] Автор : D0ITC Дата : 22.10.2017 18:43 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), заменил во всех файлах prog_uint8_t на uint8_t, библиотека стала компилироваться, но те примеры что есть у меня пока не работают, буду разбираться дальше. Спасибо за подсказку. veso74 (http://www.cqham.ru/forum/member.php?5615-veso74), заменил уже, но буду иметь ввиду что так тоже можно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 974] Автор : RA4HME Дата : 22.10.2017 20:29 Всем здравствуйте! Уважаемые знатоки Ардуино, подскажите пожалуйста существуют ли библиотеки для шкал подобных как в синтезаторе http://www.cqham.ru/forum/showthread.php?34517-Synthesizer-on-Mega-2560-3-2-TFT-LCD-Si5351-V2-0 Атмега 2560+tft. мне надо для конструкции ( в этой ветке стр.96 пост 958) а в Ардуино я не силён, только начинаю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 975] Автор : R2DHG Дата : 22.10.2017 20:52 библиотеки для шкал подобных как в синтезаторе в смысле ? для отображения s-метра ? полагаю их сами пишут в каждом случае индивидуально, можно подсмотреть где нибудь если скетч выложен -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 976] Автор : RA4HME Дата : 22.10.2017 21:10 Нет, надо для отображения уровня сигнала и КСВ.Шкала подобная как на фото стр 96 пост 958.Можно просто вывести показания в цифрах, но дисплей большой и место есть. Почему бы не сделать красиво. А большой ещё и потому что зрение уже не очень хорошее. в этой теме (не помню точно страницу,примерно 80-86 стр.)есть монитор для усилителя\трансивера до 200 вт,вот на базе этой конструкции я и хочу сделать небольшую модернизацию. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 977] Автор : XENOMORPH Дата : 22.10.2017 21:51 RA4HME, Попробуйте загрузить, адаптировать геометрию под свои нужды и размеры, а потом вписать в код эти 2 примера (работают с библиотекой UTFT. Вход напряжения (порт A0). 273508 273509 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 978] Автор : RA4HME Дата : 22.10.2017 22:05 XENOMORPH,Добрый вечер! Я рад снова с Вами общаться. Не хотел Вас беспокоить,Вы мне очень помогли в прошлый раз.Попробую завтра , сегодня я на работе и с собой нет ничего, не взял устал,можно сказать в тупике. Пока дорисовываю шкалу.Спасибо завтра попробую к вечеру. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 979] Автор : R2DHG Дата : 22.10.2017 22:51 В теме про синтезатор на 2560 есть скетч и эта часть выделена в файл S_P_SWR_meter.ino - можно оттуда взять. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 980] Автор : XENOMORPH Дата : 23.10.2017 10:28 Простой вариант шкалы измерителя мощности до 100W. Вход PIN (A0), максимальное входное напряжение 2,56V. Скетч работает с библиотекой UTFT. LCD 3.2 320X480. 273529 273530 273531 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 981] Автор : RA4HME Дата : 23.10.2017 13:33 Здравствуйте! Сегодня опробовал скомпилировать вариант S-metr (файл на стр.98,пост 978) У меня что то не так-ошибка компилятора : ошибка: 's_bar' не был объявлен в этой области 273547 Вариант выложенный на стр 99,пост 981 прошился без проблем, с моим дисплеем было зеркально, но эта проблема уже решена , за что спасибо. Возник сразу второй вопрос-достаточно изменить данные делителя на входе для того чтобы измерять уровень мощности в 200 Вт или требуются изменения в скетче? Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 982] Автор : XENOMORPH Дата : 23.10.2017 14:08 или требуются изменения в скетче? Для изменения верхнего предела, измените значение (75.00) в строчке V = (VM * 75.00 / 1024); например на 100, 50 или 200. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 983] Автор : RA4HME Дата : 23.10.2017 20:41 Понял про измерение. А как устранить ошибку компиляции (пост 982) В чём моя ошибка? Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 984] Автор : XENOMORPH Дата : 23.10.2017 20:55 Проверил ещё раз, компилируется нормально, возможно длинный путь к скетчу. Положите папку в корень какого-нибудь диска (без папок с кириллицей). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 985] Автор : RA4HME Дата : 23.10.2017 21:32 Понял. Библиотека только UTFT? Шрифты встроенные,больше ничего добавлять не надо? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 986] Автор : RA4HME Дата : 24.10.2017 08:55 Здравствуйте! Пост 984, 986 - вопрос снят. Разобрался, в спешке наделал ошибок . Заблудился в трёх соснах.Предыдущий вариант s-метра работает, последний тоже работает. Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 987] Автор : D0ITC Дата : 24.10.2017 12:11 Индикатор LPH8836 удалось запустить графику. Программа Arduino 1.8.4. Вывел на дисплей "градусники", делаю SWR/PWR метр и S-метр в одной конструкции, а вот с текстом никак, выводятся одни кракозябры. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 988] Автор : Genadi Zawidowski Дата : 24.10.2017 12:45 Русский й? А английский выводит ся? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 989] Автор : D0ITC Дата : 24.10.2017 12:52 Гена, привет! Не выводится ничего из текста, не английские, не русские, не цифры. На фотке две буквы рядом. Не могу вывести ничего адекватного, один какой-то мусор. Размер выводимого "пятна" меняется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 990] Автор : RA4HME Дата : 24.10.2017 12:58 Недавно натыкался на статью про этот дисплей.Не знаю поможет или нет Вот ссылка http://datagor.ru/microcontrollers/686-prisobachivaem-displejj-ot-siemens-s65-k-mk.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 991] Автор : XENOMORPH Дата : 24.10.2017 20:13 Интересную штуку "замутил" на SI5351, частотный конвертер (преобразователь частоты) для рубидиевого и кварцевого генератора типа "Гиацинт-М" с частотой на выходе 5MHz. Преобразователь позволяет из основной, точной частоты 10 и 5MHz, получить частоты от 1 до 150MHz с шагом 1 Hz (полная управляемая версия с LCD, энкодером и кнопками), и фиксированную частоту 4MHz (можно прошить другую) например для конструкций самодельных частотомеров. Простой (бюджетный) преобразователь для гиацинта, состоит из платы arduino NANO и модуля на SI5351. Вместо кварцевого резонатора, сигнал с гиацинта (стороннего генератора) подаётся на вторую ножку SI5351. Преобразователь с LCD, стартует с 10MHz, управляется тремя кнопками, + и - 1MHz, кнопкой выбора шага перестройки выбираются шаги(1,10,100Hz,1KHz,10KHz) и энкодером. На фото видно, что деление происходит точно. Вопросы по фильтрам на выходе, делителя, опускаю. Прошивки заливаются Xloader -ом. В архиве 4 прошивки и схемы FULL и LIGHT версии соответственно. GIACINT 5 IN 4 MHZ OUT - простая версия для гиацинт,ардуино и si5351 без LCD, вход 5MHz выход 4MHz. GIACINT 5 IN OUT 1-150MHZ - полная версия для гиацинт, ардуино, si5351, LCD, вход 5MHz выход 1-150MHz. OTHER 10 IN 4MHZ OUT - простая версия для сторонних генераторов,ардуино и si5351 без LCD, вход 10MHz выход 4MHz. Rubidium 10IN OUT 1-150MHZ - полная версия для фикс. генераторов 10MHz, ардуино, si5351, LCD, вход 10MHz выход 1-150MHz. 273658 273653273654273655273656 273657 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 992] Автор : radiofannat Дата : 24.10.2017 21:45 а что уже никто не стремится сделать меньше шумов в гетеродине для большой динамики? я вижу только умножения, все забыли про деления :shock: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 993] Автор : lion11 Дата : 24.10.2017 22:06 Интересную штуку "замутил" на SI5351 Интересная конструкция получилась, а возможно переделать(полная версия для гиацинт) под гиацинт-М-И с нестандартной частотой - 4,9152Мгц ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 994] Автор : XENOMORPH Дата : 24.10.2017 22:27 lion11, да 273663 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 995] Автор : lion11 Дата : 24.10.2017 23:20 Спасибо за прошивку, а возможно попросить Вас скетч данной прошивки под нестандартный гиацинт.отправить можно в личку. Я писать программу не умею а вот подредактировать смогу. С Уважением, Андрей. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 996] Автор : D0ITC Дата : 25.10.2017 17:24 Получилось вывести текст на LPH8836, установил на втором компе Arduino 1.0.6 и подобрал к ней библиотеку. Шрифт не очень, но это поправимо. Как всегда столкнулся со следующей проблемой- как вывести на экран значение измерений. Библиотека не поддерживает(старая)такие команды как drawInteger иdrawFloat. А как в старых библиотеках выводить эти значения не пойму. Может кто подскажет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 997] Автор : R2DHG Дата : 25.10.2017 17:40 Может и никак. Тогда стырить из новой или свое написать / подсмотреть - там ничего сложного. Посмотрите в файле S65Display.h какие вообще функции есть, в том, что мне попался, есть только вывод символа. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 998] Автор : D0ITC Дата : 25.10.2017 22:34 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), спасибо за ответ. Я сравнил файлы S65Display.h и S65Display.cpp, в тех что в моей библиотеке нет drawInteger и drawFloat.Скопировал то что относилось к этим командам и вставил в свои файлы, но команды эти не заработали. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 999] Автор : D0ITC Дата : 26.10.2017 17:21 Никак не получается вывести значения измерений, перепробовал кучу разных версий программ и библиотек. Шрифт нашел вроде не плохой, а значения пока нарисовал чтобы вычислить координаты. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1000] Автор : D0ITC Дата : 27.10.2017 07:42 Всё, вопрос снят, получилось подключить команды drawInteger иdrawFloat. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1001] Автор : D0ITC Дата : 27.10.2017 11:50 Появился ещё один вопрос, а есть ли возможность получить hex в Arduino 1.0.6? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1002] Автор : veso74 Дата : 27.10.2017 12:18 US2IT, после компиляции смотрите в TMP папке. У меня так (на XP): -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1003] Автор : D0ITC Дата : 27.10.2017 17:17 Спасибо, всё получилось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1004] Автор : RA4HME Дата : 01.11.2017 07:40 Здравствуйте уважаемые форумчане! При введении измерения КСВ в дисплей усилителя мощности столкнулся с задачей, которую не могу решить сам ввиду недостатка знаний программирования ардуино. По этой причине обращаюсь. Суть проблемы в следующем. При измерении КСВ для отображения шкалы КСВ сигнал считывается с напряжения поступающего на аналоговый вход А2 (отражённая) строка 33)Таким образом длина шкалы будет всегда меняться в зависимости от напряжения на А2 (прилагаю фото трёх вариантов и значение напряжения на входе.На А1 Не пишу).Но значение КСВ отображённое в цифрах будет верным (строка 40) Хотел сделать так, чтобы отображение шкалы зависело от соответствующего значения КСВ , а не от считываемого напряжения с А2. Как это сделать я в тупике,поэтому обращаюсь на форум 274093 274094 274095 #include UTFT myGLCD(CTE32HR, 38, 39, 40, 41); //ОБЪЯВЛЕНИЕ ВСТРОЕННОГО ШРИФТА extern uint8_t GroteskBold24x48[]; extern uint8_t Grotesk32x64[]; extern uint8_t Arial_round_16x24[]; extern uint8_t hallfetica_normal[]; extern uint8_t BigFont[]; //ДЛЯ ШКАЛЫ КСВ МЕТРА int swr = 0; int swr_old = 0; float V1; // АНАЛОГОВЫЙ ВХОД 1 ПАДАЮЩАЯ float V2; // АНАЛОГОВЫЙ ВХОД 2 ОТРАЖОННАЯ.. float SWR; // КСВ void setup() { myGLCD.InitLCD(LANDSCAPE); //горизонтальное размещение // очищаем экран myGLCD.clrScr(); analogReference(INTERNAL2V56); //встроенное опорное напряжение 2,56 вольта analogReference(INTERNAL2V56); // активация встроенного опорника MEGA 2560 } void loop() { // ШКАЛА КСВ МЕТРА V1 = analogRead(A1); V2 = analogRead(A2); SWR = (V1 + V2) / (V1 - V2); swr = V2 / 17; //swr=(V1 + V2) / (V1 - V2)/17; myGLCD.setFont(Arial_round_16x24); myGLCD.setColor(VGA_WHITE); //myGLCD.printNumI(swr,440,210); myGLCD.printNumF(SWR, 0, 300, 250, '.', 8, ' '); // вывод КСВ if (swr > swr_old) { for (int j = swr_old; j < swr; j++) { myGLCD.setColor(VGA_RED); myGLCD.fillRect(65 + j * 6, 230, 68 + j * 6, 210); if (j < 17) myGLCD.setColor(VGA_WHITE); myGLCD.fillRect(65 + j * 6, 230, 68 + j * 6, 210);//ПРОБУЮ } swr_old = swr; } else { myGLCD.setColor(0, 0, 0); myGLCD.fillRect(65 + swr * 6, 230, 68 + swr_old * 6, 210); swr_old = swr; } } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1005] Автор : XENOMORPH Дата : 01.11.2017 10:34 RA4HME, Попробуйте этот вариант 274103 Отображение шкалы до сотых, + растянутая шкала в пределах SWR 1.00-2.00, + номного "косметики", убраны значения SWR более 10, и запредельные значения в отрицательную сторону. PS: сейчас тоже мудрю swr power метр, на маленьком дисплее и ардуино нано, и мне опыт пригодится допилить код)) 274104 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1006] Автор : RA4HME Дата : 01.11.2017 10:50 Здравствуйте XENOMORPH! Не знаю Вашего настоящего имени,поэтому обращаюсь по нику.Попробовал этот вариант, всё отлично. В который раз Вы меня вытягиваете. Большое спасибо.А делаете на маленьком дисплее для настройки антенн или для встраивания куда либо? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1007] Автор : XENOMORPH Дата : 01.11.2017 11:52 Делаю для си-би радиостанции, как небольшой, внешний блок. Добавлено через 36 минут(ы): Может кому и пригодится.274106 Библиотека, скетч в архиве, описание думаю не требуется, максимальная отображаемая мощность 200 ватт, макс. КСВ 10. 274107274108 Дисплей такой. 274109 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1008] Автор : RA4HME Дата : 01.11.2017 12:03 скачал. может пригодится. Есть и дисплей именно такой и Ардуинки. Очень интересная вещь этА Ардуино. Мне сразу мысль пришла - можно сделать антенный анализатор (не VNA)и т.д. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1009] Автор : R2DHG Дата : 01.11.2017 14:23 Например вот https://hackaday.com/2015/08/06/40-antenna-analyzer-with-arduino-and-ad9850/ Да вроде и на этом форуме тоже были. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1010] Автор : D0ITC Дата : 01.11.2017 15:24 На индикаторе LPH8836 после выключения питания ещё какое-то время видно изображение. Может кто подскажет как это побороть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1011] Автор : R2DHG Дата : 01.11.2017 15:33 Без подсветки ? А это плохо ? :shock: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1012] Автор : D0ITC Дата : 01.11.2017 15:43 Ну конечно же без подсветки, питание выключено, а изображение на дисплее ещё остаётся. Я слышал что для них это вредно, вот и спросил как можно победить, или может не нужно ничего делать если для индикатора это не страшно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1013] Автор : ua6bqn Дата : 01.11.2017 16:46 Здравствуйте XENOMORPH! Большая просьба подкорректировать скетч под 500Вт и ксв 5. С уважением Владимир -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1014] Автор : UD0DAB Дата : 01.11.2017 16:53 как можно победить Измерять питание. Если просело, очистить дисплей нужным фоном. на питание МК поставить диод и кондер пару тысяч микрофарад. Питание измерять до диода -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1015] Автор : XENOMORPH Дата : 01.11.2017 17:09 ua6bqn, 512 Ватт, максимальный КСВ "5". 274118 274119 В архиве прошивки к 1008 посту. 274121 12,5W 24W 50W 112,5W 200W 312W 800W 1250W 2,5KW 3,2KW 5KW 9,8KW -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1016] Автор : D0ITC Дата : 01.11.2017 21:07 UD0CAJ (http://www.cqham.ru/forum/member.php?14170-UD0CAJ), всё понял, спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1017] Автор : R2DHG Дата : 01.11.2017 21:23 Я слышал что для них это вредно, вот и спросил как можно победить, или может не нужно ничего делать если для индикатора это не страшно. Не видел чтобы кто то подобным заморачивался. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1018] Автор : ua6bqn Дата : 02.11.2017 21:13 Всем добрый вечер. Нужна помощь в создании проекта : Снятие ВАХ светодиода на ардуино с выводом информации на андроид устройство, не мне , дочери, сам не могу слаб в этом деле, помогите кто нибудь. С уважением Владимир -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1019] Автор : R2DHG Дата : 02.11.2017 23:31 Тут сразу много вопросов возникает. К примеру выбор интерфейса. Если бы мне надо было быстро - взял бы esp8266 как контроллер (или в паре с ардуиной) и сформировал бы график в html, андроид просто броузером бы подцепил. Но это я не пробовал ничего под андроид писать - может быть это несложно, хотя один фиг сильно проще не будет, в этом случае к ардуине можно bluetooth прицепить. Вроде бы есть processing под андроид - http://android.processing.org/install.html про связку ардуины и процессинг информации и примеров много и среда программирования/язык похожи - должно быть проще если выбрать вариант через bluetooth. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1020] Автор : ua6bqn Дата : 02.11.2017 23:45 Имеется ардуино уно+ HC-06 на андроиде установлено приложение Bluetooth Electronics , первое задание по выводу температуры и влажности вроде как получилось, а вот с ВАХ светодиода вообще не пойму как -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1021] Автор : R2DHG Дата : 02.11.2017 23:51 Ну это фиг знает... разве что кто то с этим разбирался :-P Какая то специфическая графическая штуковина. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1022] Автор : R3KEE Дата : 03.11.2017 07:32 Имеется ардуино уно+ HC-06 на андроиде установлено приложение Bluetooth Electronics , первое задание по выводу температуры и влажности вроде как получилось, а вот с ВАХ светодиода вообще не пойму как начните с разбиения задачи на мелкие куски: 1) измерения а) напряжения б) тока 2) передача на удаленное устройство 3) визуализация теперь вопрос в каком из пунктов нет понимания? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1023] Автор : D0ITC Дата : 03.11.2017 13:17 Делаю выносной блок к радиостанции на 2м, в ней есть возможность подключения внешнего S-метра. Питание блока беру тоже с радиостанции, потребляет меньше 40мА. Ну и за одно объединил с измерителем КСВ и мощности. Так со всем разобрался, а вот с выбором шрифтов никак. Пришлось для разнообразия вывести один шрифт но разного размера. Правда и с этим не всё гладко, размеры уж очень на много отличаются один от другого(например 1 от 2). Дисплей от S65 LPH8836, библиотека S65Display. Команды drawInteger и drawFloat в библиотеку ввести удалось, а вот setFont никак не получается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1024] Автор : R2DHG Дата : 03.11.2017 15:52 Там возможно вообще только один шрифт в прошивку попадает, который в #define выбран. В общем setFont туда непросто добавить, возможно проще другую библиотеку найти. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1025] Автор : D0ITC Дата : 03.11.2017 16:21 Да я так и понял, в принципе сделал всё что хотел, единственно что бы ещё хотел, так это уменьшить синие 0, 50 и 100, а то великоватыми смотрятся. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1026] Автор : R2DHG Дата : 03.11.2017 16:29 Да нормально вроде. Большое разнообразие шрифтов и цветов вместе тоже не очень смотрится. Можно просто линейку нарисовать без цифр с рисками разной высоты. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1027] Автор : D0ITC Дата : 03.11.2017 17:30 Сделал линейку без цифр с рисками, прошью- посмотрю как лучше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1028] Автор : olbi Дата : 03.11.2017 19:33 Ребята подскажите пожалуйста как подключить семь кнопок на один вход , чтобы при нажатии одной кнопки на дисплее 3,5 дюйма (библиотека UTFT) отобразилось скажем цифра 20, нажал другую вместо 20 отобразилась 50, нажал третью вместо 50 отобразилась 10.и т.д. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1029] Автор : olbi Дата : 03.11.2017 21:20 чтобы при нажатии одной кнопки на дисплее 3,5 дюйма (библиотека UTFT) отобразилось скажем цифра 20, нажал другую вместо 20 отобразилась 50, нажал третью вместо 50 отобразилась 10.и т.д. На основе этого кода можно сделать? Последний раз редактировалось olbi; Сегодня в 20:59. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1030] Автор : R2DHG Дата : 03.11.2017 21:22 Можно как то так 274292 switch (analogRead(A3)) { case 0 ... 100: myValue = 10; break; case 101 ... 128: myValue = 20; break; case 129 ... 250: myValue = 50; break; default: myValue = 0; } if (myValue != xmyValue)&&(myValue > 0) { showLCD(myValue); xmyValue = myValue; } и подобрать значения АЦП в case. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1031] Автор : olbi Дата : 04.11.2017 13:21 Не пойму где накасячил,я не силён в этом, не подскажете? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1032] Автор : R2DHG Дата : 04.11.2017 15:53 Нет функции showLCD() ? Ну надо... дописать :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1033] Автор : olbi Дата : 05.11.2017 07:19 R2DHG, А откуда схема,ссылку не дадите посмотреть для чего кнопка сброс. После каждого нажатия и перед последующим делать сброс? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1034] Автор : olbi Дата : 05.11.2017 08:45 R2DHG, сдесь была ошибка- if ((myValue != xmyValue)&&(myValue > 0)) кроме- showLCD (myValue); Спасибо за науку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1035] Автор : olbi Дата : 05.11.2017 18:05 Не пойму,компилируется без ошибок, грузится в плату. Но не работает-вместо цифр myValue =10 и т.далее на дисплее одна полоса длинная.Кто подкажет причину? Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1036] Автор : XENOMORPH Дата : 05.11.2017 19:41 olbi, 10 появляется при 0.25-1.10V 20 появляется при 1.0-2.10V 50 появляется при 2.2-5.00V 274384 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1037] Автор : olbi Дата : 05.11.2017 20:46 спасибо, пробовать буду завтра. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1038] Автор : olbi Дата : 06.11.2017 21:19 скетч работает,но возникла другая неприятнось.когда прописываю другие цифры для отображения myValue = 190; myValue = 20; myValue = 50; на дисплее после после отображения цифры 190 и последующего надатия на другую кнопку с значением 20 или 50- отображается 200 или 500, то есть добавляется ещё один не нужный ноль.И без перегрузки его не убрать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1039] Автор : R2DHG Дата : 06.11.2017 21:27 Добавьте пробел после числа или выводите сначала пробелы в нужном количестве, а поверх них число в том же месте - тогда будет и 0-9 и 1000 нормально выводиться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1040] Автор : olbi Дата : 06.11.2017 21:45 Сделал так,не помогло. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1041] Автор : R2DHG Дата : 06.11.2017 22:02 Не может быть. Это ноль от 190, а выводя 20 или 50 вы его не стираете. Приведите код. Как вариант эта библиотека не рисует пробел (т.е. не стирает на экране ничего в этом месте, а только сдвигает координаты курсора). Можно проверить заменив пробел на какой нибудь символ. В таком случае перед выводом числа можно нарисовать в этом месте заполненный цветом фона прямоугольник. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1042] Автор : XENOMORPH Дата : 06.11.2017 22:20 Закрасим его )) 274476 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1043] Автор : olbi Дата : 06.11.2017 22:29 Да ,всё работает как надо. Спасибо. Похоже я всех достал. Извините, зато обучение моё продвигается на практике с такими учителями значительно быстрей . СПАСИБО. Кстати насчёт символа-ставил запятую и числа 5,1 1,9 и т.д. на экран выводились только знаки до запятой, тоже самое и с точкой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1044] Автор : R2DHG Дата : 06.11.2017 23:11 Если прям числа 5,9 1,9 то нужно использовать printNumF и переменные типа float. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1045] Автор : olbi Дата : 07.11.2017 12:38 Спасибо за советы,за науку вроде всё закончил с Вашей помощью под свои задачи.Всё работает как хотел,если в процессе не выявится что-то -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1046] Автор : ur7hfo Дата : 07.11.2017 17:38 Можно float выводить в стиле : #include float F = 1234.12; void setup() { Serial.begin(9600); Serial << "This is an example float print" << endl; Serial << _FLOAT(F,2); } void loop() {} Ссылка на библиотеку - https://github.com/geneReeves/ArduinoStreaming -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1047] Автор : olbi Дата : 08.11.2017 08:29 Опробовал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1048] Автор : olbi Дата : 08.11.2017 21:36 Здравствуйте! А кто скажет как часто можно заливать прошивку в Атмегу. Исправил скетч-залил исправил-залил. Есть какой то предел? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1049] Автор : ur7hfo Дата : 08.11.2017 21:48 Из даташита на ATmega48A/PA/88A/PA/168A/PA/328/P Write/Erase Cycles: 10,000 Flash/100,000 EEPROM -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1050] Автор : olbi Дата : 08.11.2017 21:53 Спасибо,мне на учёбу хватит, а там и подарок можно будет заказать Деду Морозу -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1051] Автор : rm4hq Дата : 08.11.2017 21:55 Из даташита на ATmega48A/PA/88A/PA/168A/PA/328/P Write/Erase Cycles: 10,000 Flash/100,000 EEPROM Только надо учитывать, что это на оригиналы, а не китайские клоны. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1052] Автор : olbi Дата : 08.11.2017 22:10 Тогда будем посмотреть что будет на практике -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1053] Автор : R2DHG Дата : 08.11.2017 22:19 По EEPROM кто то давал данные практических тестов - там чуть ли не на порядок больше получалось, ошибка появлялась при миллионах записей, для побаловаться в домашних условиях точно хватит, ну и 10000 раз перепрошить... тоже :-P Я иногда по ошибке писал в EEPROM вот прям сплошным потоком несколько секунд, ничего - вроде жива была. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1054] Автор : rm4hq Дата : 09.11.2017 09:46 По EEPROM кто то давал данные практических тестов Я как-то наверное по сто раз в день перешивал. Так через месяц Ардуина глючить начала. Взял новый экземпляр, все стало нормально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1055] Автор : RA4HME Дата : 09.11.2017 14:00 Приветствую всех. Как то тихо на форуме. Предлагаю обсудить,по критиковать, предложить другое решение и т.д Так как опыта у меня практически нет сделал такой скетч (часть программы управления усилителем)для переключения диапазонов усилителя Работает, но минус -задействованы все аналоговые входы/выходы. краткое описание работы ПЕРЕКЛЮЧЕНИЕ ДИАПАЗОНОВ УСИЛИТЕЛЯ.АТМЕГА 2560 ДИСПЛЕЙ 3.2 ДЮЙМА КНОПКИ ПОДКЛЮЧАЮТСЯ ОДНИМ (ВТОРОЙ НА ОБЩИЙ ПРОВОД) ПРОВОДОМ ВЫБОР ДИАПАЗОНА ОСУЩЕСТВЛЯЕТСЯ НАЖАТИЕМ НА ОДУ ИЗ КНОПОК, ПРИ НАЖАТИЕ НА КНОПКУ НА ЭКРАНЕ ОТОБРАЖАЕТСЯ ДИАПАЗОН (В МЕТРАХ) И ВКЛЮЧАЕТСЯ СООТВЕТСТВУЮЩЕЕ РЕЛЕ ФУНКЦИЕЙ (НАПРИМЕР digitalWrite(A6, HIGH);) ВСЕ ОСТАЛЬНЫЕ РЕЛЕ ОТКЛЮЧЕНЫ С ПОМОЩЬЮ (digitalWrite(A7, LOW);) И ТАК ДАЛЕЕ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1056] Автор : R2DHG Дата : 09.11.2017 14:13 Желательно управление реле выделить в отдельную функцию и при вызове передавать туда номер диапазона - сразу код станет в разы меньше, а так нормально. Ну и надо, наверное, какую то автоматическую штуковину наверное добавить параллельно кнопкам - чтобы по CAT или еще как нибудь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1057] Автор : RA4HME Дата : 09.11.2017 16:19 Я об этом думал давно,ещё до приобретения Ардуино. Ардуино решает многие задачи без особых хлопот.Поищу в сети готовое решение (сам ещё слаб) - декодер диапазонов. Перешёл на диапазон скажем 15 метров и УМ переключился по команде от трансивера. 274607 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1058] Автор : R2DHG Дата : 09.11.2017 16:33 Тут в теме было раньше подобное - лечили yaesu, которая не переключала штатно фильтры, но правильно выдавала код на BANDx. Попробуйте полистать. Хотя проще, наверное, заново написать - там просто, надо только определиться как это будет совмещено с ручным переключением. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1059] Автор : UD0DAB Дата : 10.11.2017 06:09 Товарищи, с математикой на "ВЫ". Подскажите формулку. Вот я имею аналоговый вход от 0 до 1023. Как мне это завернуть в значения S-метра? Там какая-то логарифмическая зависимость вроде. Как это посчитать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1060] Автор : UD0DAB Дата : 10.11.2017 08:17 void smeter () { int raws = analogRead(myspin); if (mysold != raws) { mysold = raws; mys = 20 * log10(raws); } } вот получилось значения mys бегают от 0 до 60, как мне и надо (у меня 64 пикселя есть на экране под это дело. Экранчик маахонький) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1061] Автор : R2DHG Дата : 10.11.2017 10:09 Подозреваю что реальная зависимость зависит от аппарата. Если нужен прям настоящий S-метр - придется таки калибровать и программно оно будет уже по другому выглядеть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1062] Автор : D0ITC Дата : 10.11.2017 11:46 Я делал S-метр для своей FM радиостанции с линейной зависимостью, а логарифмическая зависимость в самом аппарате. На задней стенке радиостанции есть разъём, кроме всего прочего там есть вывод RSSI OUT, без сигнала на нём 1,69в, при сигнале максимальный уровень 3,52в. Разделил этот промежуток от 1 балла до +60дБ. Ясно что если проверить ГСС то врядли совпадёт, но это не измерительный прибор, ориентироваться вполне можно. Сейчас с товарищем пытаемся сделать градусники прямой и обратной волны в КСВ-метре на LCD 1602. Проблема в том что нужно выводить оба градусника в одной строке. Так как мы сделали градусники сильно мерцают, как это победить мыслей нет. Видел как такое работает у Кукина в КСВ-метре, там всё работает красиво, глазом не заметно никакого мерцания. Может кто натолкнёт на мысль. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1063] Автор : veso74 Дата : 10.11.2017 12:13 ... сделали градусники сильно мерцают, как это победить мыслей нет ... Может кто натолкнёт на мысль. 1. с использованием интегратора (аналоговой (RC) или програмной). 2. с усреднение измерения, через многократние (примерно 10-кратние) отчети ADC (чтение АЦП, запись в массив, вычисление среднего значения). На английском постотрите Arduino ADC Smoothing. 3: с использованием зоны нечувствительности. Напр. я исполовал для звуковой VU-meter: if ((abs(val - val_old)) > 3) { draw_bar(val); ... } при 3-уровня зони нечувствительности АЦП. Было бы лучше иметь несколько методов обработки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1064] Автор : R2DHG Дата : 10.11.2017 12:27 Проблема в том что нужно выводить оба градусника в одной строке. Так как мы сделали градусники сильно мерцают, как это победить мыслей нет. Видел как такое работает у Кукина в КСВ-метре, там всё работает красиво, глазом не заметно никакого мерцания. Может кто натолкнёт на мысль. Зависит от природы мерцания. Если связанное с перерисовкой на LCD, то контролировать изменение относительно предыдущего значения и не перерисовывать без необходимости весь "градусник". Если подать на входы АЦП стабильное напряжение с подстроечников и при этом изображение полосок мерцает - это оно. В случае использования цветного дисплея с мк avr это еще и быстродействие повысит. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1065] Автор : D0ITC Дата : 10.11.2017 12:35 Усреднение у нас сделано, не 10-кратное, но четырёх кратное есть, я пробовал восьми, но разницы уже не заметил. Интегратор пока не нужен, я проверяю всё на стенде подачей напряжений на входа с регуляторов. Проблема в том что мы выводим поочерёдно подпрограммы градусников прямой и обратной волны, мерцание проявляется только на градусниках, с выводом КСВ и мощности всё нормально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1066] Автор : veso74 Дата : 10.11.2017 12:40 US2IT, a это библиотека LiquidCrystalRus в вашем скетче? mk90/LiquidCrystalRus (https://github.com/mk90/LiquidCrystalRus) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1067] Автор : D0ITC Дата : 10.11.2017 12:46 Нет, в скетче её нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1068] Автор : R2DHG Дата : 10.11.2017 12:47 Проблема в том что мы выводим поочерёдно подпрограммы градусников прямой и обратной волны, мерцание проявляется только на градусниках Я вот не совсем понял зачем это и как это должно выглядеть по задумке ? Навскидку получается, что вы рисуете один поверх другого несколько раз в секунду - оно разумеется мерцает т.к. в нормальной ситуации отраженка короткая, а прямая длинная, но как задумывалось то ? В лоб такое решается заведением буфера под строку, т.е. формируем строку симоволов не выводя на дисплей, сравниваем ее со строкой в предыдущем цикле посимвольно и только если символ отличается - выводим его на LCD, но в данном случае не поможет т.к. непонятно как оно должно быть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1069] Автор : veso74 Дата : 10.11.2017 12:55 Да, мерцания "хорошие" :) Но строки выглядят красиво нарисованными ;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1070] Автор : R2DHG Дата : 10.11.2017 13:00 Ааа... там вверху прямая, а внизу обратная ? Ясно ) Тогда вариант с буфером строки поможет (если сами замеры не дрожат). И я бы выводил в одной процедуре сразу, а не отдельно forward/reverse. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1071] Автор : D0ITC Дата : 10.11.2017 13:17 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), задумывалось как на фото. veso74 (http://www.cqham.ru/forum/member.php?5615-veso74), оперативно Вы проверили:smile: R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), выглядеть должно как на фото. veso74 (http://www.cqham.ru/forum/member.php?5615-veso74), оперативно Вы проверили:smile: R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG), а можно коротенький пример? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1072] Автор : R2DHG Дата : 10.11.2017 14:15 Попробуйте так. Может даже заработает. Т.е. подменяем в функциях запись в дисплей на запись в строку, а потом выводим строку на дисплей посимвольно, но только если символ поменялся с предыдущей итерации. (Убрал часть комментариев чтобы влезло.) #include #include LiquidCrystal lcd(12, 11, 7, 6, 5, 4); uint8_t symbol1[8] = {16,16,16,16,16,00,00,00}; //определяем символ 1 для "одна палка" прямой волны uint8_t symbol2[8] = {20,20,20,20,20,00,00,00}; //определяем символ 2 для "две палки" прямой волны uint8_t symbol3[8] = {21,21,21,21,21,00,00,00}; //определяем символ 3 для "три палки" прямой волны uint8_t symbol4[8] = {00,00,00,00,00,00,16,16}; //определяем символ 4 для "одна палка" обратной волны uint8_t symbol5[8] = {00,00,00,00,00,00,20,20}; //определяем символ 5 для "две палки" обратной волны uint8_t symbol6[8] = {00,00,00,00,00,00,21,21}; //определяем символ 6 для "три палки" обратной волны float U1=0; //напряжение прямой волны float U2=0; //напряжение обратной волны float SWR=0; //значение КСВ float PWR=0; //значение мощности ниже 10-ти Ватт int PWR1=0; //значение мощности выше 10-ти Ватт float V=0; //привязка к напряжению int a=0; //целое число прямой волны int b=0; //остаток прямой волны int c=0; //целое число обратной волны int d=0; //остаток обратной волны int LedPin=9; //подключаем делитель мощности к порту 9 int flag=0; //флаг переключения предела мощности int l=15; //переменная вычисления мощности 100Вт int k=45; //переменная вычисления мощности 1000Вт long previousMillis=0; //зададим начальное значение для счетчика millis long Time=100; //время задержки возврата на малую мощность int val=1; //задаем переменную, для счетчика char curString[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //новая строка char exString[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; //предыдущая строка // вывод градусника // void show(void){ for(int n=0; n<16; n++) if (exString[n] != curString[n]) { lcd.setCursor(n,1); lcd.write((uint8_t)curString[n]); exString[n] = curString[n]; } } void forward(void){ //lcd.setCursor(0,1); int n=0; int a=U1/63; int b=U1-a*63; for(int i=0; i<16; i++){ //lcd.write((uint8_t)32); curString[n++] = 32; } //lcd.setCursor(0,1); n=0; if (a>0){ for(int i=0; ii? 3:32); curString[n++] = a>i? 3:32; } if (b<=21){ //lcd.write((uint8_t)1); curString[n++] = 1; } if (b>21&&b<=42){ //lcd.write((uint8_t)2); curString[n++] = 2; } if (b>42&&b<=63){ //lcd.write((uint8_t)3); curString[n++] = 3; } } else { if (b<=21){ //lcd.write((uint8_t)1); curString[n++] = 1; } if (b>21&&b<=42){ //lcd.write((uint8_t)2); curString[n++] = 2; } if (b>42&&b<=63){ //lcd.write((uint8_t)3); curString[n++] = 3; } } } //********************** подпрограмма "Градусник" обратной волны ***************************************************** void reverse(void){ //lcd.setCursor(0,1); //устанавливаем курсор дисплея на 0 символ 1 строки int n=0; int c=U2/63; //вычисляем значение переменной a целого числа int d=U2-c*63; //вычисляем значение переменной b остатка от деления for(int i=0; i<16; i++){ //выполняем цикл 16 раз для вывода шкалы из 16 символов //lcd.write((uint8_t)32); //начиная с позиции в которую ранее был установлен курсор curString[n++] = 32; } //выводим на дисплей символ 4(точек прямой волны) //lcd.setCursor(0,1); //возвращяем курсор дисплея на 0 символ 1 строки n = 0; if (c>0){ //если a>0 то for(int i=0; ii? 6:32); curString[n++] = c>i? 6:32; } //когда a>0 то допечатываем остаток b: if (d<=21){ //если b меньше или равно 21 //lcd.write((uint8_t)4); //то на дисплей выводится символ 1 из ячейки 1 ОЗУ дисплея curString[n++] = 4; } if (d>21&&d<=42){ //если b больше 21 и b меньше или равно 42 //lcd.write((uint8_t)5); //то на дисплей выводится символ 2 из ячейки 2 ОЗУ дисплея curString[n++] = 5; } if (d>42&&d<=63){ //если b больше 42 и b меньше или равно 63 //lcd.write((uint8_t)6); //то на дисплей выводится символ 3 из ячейки 3 ОЗУ дисплея curString[n++] = 6; } } else { //когда a=0 то допечатываем остаток b в нулевом знакоместе: if (d<=21){ //если b меньше или равно 21 //lcd.write((uint8_t)4); //то на дисплей выводится символ 1 из ячейки 1 ОЗУ дисплея curString[n++] = 4; } if (d>21&&d<=42){ //если b больше 21 и b меньше или равно 42 //lcd.write((uint8_t)5); //то на дисплей выводится символ 2 из ячейки 2 ОЗУ дисплея curString[n++] = 5; } if (d>42&&d<=63){ //если b больше 42 и b меньше или равно 63 //lcd.write((uint8_t)6); //то на дисплей выводится символ 3 из ячейки 3 ОЗУ дисплея curString[n++] = 6; } } } //*********************** Установочная часть программы **************************************************************** void setup() { // Установочная часть программы lcd.begin(16, 2); //устанавливаем размерность дисплея pinMode(13,OUTPUT); //включаем вывод 13 на выход pinMode(LedPin, OUTPUT); lcd.print(" SWR/PWR meter"); //выводим на дисплей надпись "SWR/PWR meter" lcd.setCursor(5,1); //устанавливаем курсор lcd.print("D0ITC"); //выводим на дисплей надпись "D0ITC" delay(1000); //задержка 2с lcd.clear(); //очищаем дисплей //************* Загружаем символы из массива в ячейки ОЗУ дисплея *************************************************** lcd.createChar(1,symbol1); //загружаем символ из массива symbol1 в нулевую ячейку ОЗУ дисплея lcd.createChar(2,symbol2); //загружаем символ из массива symbol2 в первую ячейку ОЗУ дисплея lcd.createChar(3,symbol3); //загружаем символ из массива symbol3 во вторую ячейку ОЗУ дисплея lcd.createChar(4,symbol4); //загружаем символ из массива symbol4 в третью ячейку ОЗУ дисплея lcd.createChar(5,symbol5); //загружаем символ из массива symbol4 в четвёртую ячейку ОЗУ дисплея lcd.createChar(6,symbol6); //загружаем символ из массива symbol4 в пятую ячейку ОЗУ дисплея } //*********************** Непрерывный цикл измерения ****************************************************************** void loop() { float Ur1 = analogRead(A0); //считываем значение U с аналогового входа 0 float Ur2 = analogRead(A1); //считываем значение U с аналогового входа 1 delay(5); //задержка 5мс float Ur3 = analogRead(A0); //считываем значение U с аналогового входа 0 float Ur4 = analogRead(A1); //считываем значение U с аналогового входа 1 delay(5); //задержка 5мс float Ur5 = analogRead(A0); //считываем значение U с аналогового входа 0 float Ur6 = analogRead(A1); //считываем значение U с аналогового входа 1 delay(5); //задержка 5мс float Ur7 = analogRead(A0); //считываем значение U с аналогового входа 0 float Ur8 = analogRead(A1); //считываем значение U с аналогового входа 1 U1=(Ur1+Ur3+Ur5+Ur7)/4; //присваиваем значение переменной усреднения сигнала прямой волны U2=(Ur2+Ur4+Ur6+Ur8)/4; //присваиваем значение переменной усреднения сигнала обратной волны reverse(); //выводим градусник обратной волны delay(10); //задержка 5мс lcd.setCursor(0,0); //устанавливаем курсор на первую строку и нулевой символ lcd.print("SWR="); //выводим на дисплей надпись "SWR" //****************************** Расчёт КСВ *************************************************************************** if ((U1==0)&&(U2==0)){SWR=1.0;} if ((U1!=0)&&(U2!=0)&&(U1==U2)||(U2>U1)){SWR=9.99;} if (U1>U2){SWR=(U1+U2)/(U1-U2); //если U1>U2, то выводим значение КСВ, расчитанное по формуле if (SWR>10){SWR=9.99;} if (SWR>3)digitalWrite(13,HIGH); //если КСВ=3 и выше включается звуковой сигнал на выв.13 else digitalWrite(13,LOW);} //если КСВ<3 то сигнал выключен lcd.print(SWR); //выводим на дисплей показания КСВ lcd.print(" "); //**************************** Расчёт мощности ************************************************************************ if (flag==0){ //если состояние флага 0 вычисляем мощность с коэффициентом l V=((U1*5)/1008)*l; //приводим напряжение к мощности 100Вт PWR=(V*V)/50; //вычисляем мощность digitalWrite(LedPin,LOW); if (PWR>110){flag=1; digitalWrite(LedPin,HIGH);}//если мощность выше 100Вт меняем флаг на 1 if (PWR<=10){ //если мощность меньше или равна 10W lcd.setCursor(9,0); //устанавливаем курсор на вторую строку и нулевой символ lcd.print("P="); //индикация мощности с плавающей запятой lcd.print(PWR); //выводим на дисплей показания мощности lcd.print("W "); } if (PWR>10){ //если мощность больше 10Вт PWR1=PWR; lcd.setCursor(9,0); //устанавливаем курсор на вторую строку и нулевой символ lcd.print("P="); //округлённая индикация мощности lcd.print(int (PWR1)); //выводим на дисплей показания мощности lcd.print("W "); } } if (flag==1){ //если состояние флага 1 вычисляем мощность с коэффициентом k V=((U1*5)/1008)*k; //приводим напряжение к мощности 1000Вт PWR=(V*V)/50; //вычисляем мощность if (PWR>1000){PWR=1000;} //ограничиваем мощность на уровне 1000Вт PWR1=PWR; lcd.setCursor(8,0); lcd.print("*"); //выводим "*" для контроля выбранного предела мощности lcd.setCursor(9,0); //устанавливаем курсор на вторую строку и нулевой символ lcd.print("P="); //округлённая индикация мощности lcd.print(int (PWR1)); //выводим на дисплей показания мощности lcd.print("W "); } forward(); //выводим градусник прямой волны show(); //************************* Управление возвратом мощности ************************************************************* if(PWR<100&&flag==1){ //если мощность меньше 100Вт и флаг=1 if(millis() - previousMillis >= 1) //начинаем считать время { previousMillis = millis(); val++; //с каждой миллисекундой увеличиваем значение val } } else //иначе { val = 0; //обнуляем счётчик } if(val >= Time){ //как только значение val становится равным Time flag=0; //сбрасываем флаг в 0 val = 0; //обнуляем счётчик } } //****************************** Конец!!! *************************************************************************** -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1073] Автор : ur7hfo Дата : 10.11.2017 14:41 Поищу в сети готовое решение (сам ещё слаб) - декодер диапазонов. /* * UR7HFO (c)2016 band decoder for BCD. * * Yaesu BCD_A - A0 pin // YaesuBCD DIN8 connector pin 4. * Yaesu BCD_B - A1 pin // YaesuBCD DIN8 connector pin 5. * Yaesu BCD_C - A2 pin // YaesuBCD DIN8 connector pin 6. * Yaesu BCD_D - A3 pin // YaesuBCD DIN8 connector pin 7. */ // Yaesu BCD #define BCD_A A0 #define BCD_B A1 #define BCD_C A2 #define BCD_D A3 // Relay pins #define b160 2 #define b80 3 #define b40 4 #define b30 5 #define b20 6 #define b17 7 #define b15 8 #define b12 9 #define b10 10 unsigned int band = 0; void setup() { pinMode(b160, OUTPUT); pinMode(b80, OUTPUT); pinMode(b40, OUTPUT); pinMode(b30, OUTPUT); pinMode(b20, OUTPUT); pinMode(b17, OUTPUT); pinMode(b15, OUTPUT); pinMode(b12, OUTPUT); pinMode(b10, OUTPUT); // Relay module ( non inverted) digitalWrite(b160, LOW); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); // Yaesu BCD pinMode(BCD_A, INPUT); pinMode(BCD_B, INPUT); pinMode(BCD_C, INPUT); pinMode(BCD_D, INPUT); } void loop() { band = YaesuBCD(); WriteBand(band); } int YaesuBCD() { boolean bcdA = 0; // Yaesu DIN8 connector pin 4. boolean bcdB = 0; // Yaesu DIN8 connector pin 5. boolean bcdC = 0; // Yaesu DIN8 connector pin 6. boolean bcdD = 0; // Yaesu DIN8 connector pin 7. // 409 = 2V = HIGH = true if( analogRead(BCD_A) > 409 ) { bcdA = true; } else { bcdA = false; } if( analogRead(BCD_B) > 409 ) { bcdB = true; } else { bcdB = false; } if( analogRead(BCD_C) > 409 ) { bcdC = true; } else { bcdC = false; } if( analogRead(BCD_D) > 409 ) { bcdD = true; } else { bcdD = false; } // 1 0 0 0 - 160 m if( bcdA && !bcdB && !bcdC && !bcdD ) { return 160; } // 0 1 0 0 - 80 m if( !bcdA && bcdB && !bcdC && !bcdD ) { return 80; } // 1 1 0 0 - 40 m if( bcdA && bcdB && !bcdC && !bcdD ) { return 40; } // 0 0 1 0 - 30 m if( !bcdA && !bcdB && bcdC && !bcdD ) { return 30; } // 1 0 1 0 - 20 m if( bcdA && !bcdB && bcdC && !bcdD ) { return 20; } // 0 1 1 0 - 17 m if( !bcdA && bcdB && bcdC && !bcdD ) { return 17; } // 1 1 1 0 - 15 m if( bcdA && bcdB && bcdC && !bcdD ) { return 15; } // 0 0 0 1 - 12 m if( !bcdA && !bcdB && !bcdC && bcdD ) { return 12; } // 1 0 0 1 - 10 m if( bcdA && !bcdB && !bcdC && bcdD ) { return 10; } // 0 1 0 1 - 6 m if( !bcdA && bcdB && !bcdC && bcdD ) { return 6; } return 0; } void WriteBand(int band) { // 160 m if ( band == 160 ) { digitalWrite(b160, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 80 m if ( band == 80 ) { digitalWrite(b80, HIGH); digitalWrite(b160, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 40 m if ( band == 40 ) { digitalWrite(b40, HIGH); digitalWrite(b80, LOW); digitalWrite(b160, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 30 m if ( band == 30 ) { digitalWrite(b30, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b160, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 20 m if ( band == 20 ) { digitalWrite(b20, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b160, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 17 m if ( band == 17 ) { digitalWrite(b17, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b160, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 15 m if ( band == 15 ) { digitalWrite(b15, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b160, LOW); digitalWrite(b12, LOW); digitalWrite(b10, LOW); } // 12 m if ( band == 12 ) { digitalWrite(b12, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b160, LOW); digitalWrite(b10, LOW); } // 10 m if ( band == 10 ) { digitalWrite(b10, HIGH); digitalWrite(b80, LOW); digitalWrite(b40, LOW); digitalWrite(b30, LOW); digitalWrite(b20, LOW); digitalWrite(b17, LOW); digitalWrite(b15, LOW); digitalWrite(b12, LOW); digitalWrite(b160, LOW); } } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1074] Автор : rx3apf Дата : 10.11.2017 14:51 В лоб такое решается заведением буфера под строку, т.е. формируем строку симоволов не выводя на дисплей, сравниваем ее со строкой в предыдущем цикле посимвольно и только если символ отличается - выводим его на LCD, "В лоб" такое решается динамическим формированием "пользовательского" знакогенератора (поскольку базовых 8 символов недостаточно). Нужен символ полного заполнения двух "градусников" (статический), символ конца первого и конца второго, которые формируются с учетом состояния обоих "градусников"). Регенерация на экране - по мере необходимости. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1075] Автор : Владимир_К Дата : 10.11.2017 15:24 Удалил.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1076] Автор : R2DHG Дата : 10.11.2017 15:26 Получается на фотке, где видно и прямую и обратную - это результат "мерцания" ? Тогда да - надо еще хитрее "В лоб" такое решается динамическим формированием "пользовательского" знакогенератора (поскольку базовых 8 символов недостаточно). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1077] Автор : D0ITC Дата : 10.11.2017 15:32 rx3apf, я сейчас сделал похожим методом, изменил символы в массиве, а градусники вывожу одновременно. Всё работает нормально, только пришлось ввести условие если напряжение обратной волны выше прямой, то градусник не рисуется, это привело к тому, что если градусник обратной доходит до градусника прямой, то обратный пропадает. Правда на практике такое почти не встречается, но всё-таки. R2DHG, буду разбираться, потом напишу что получится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1078] Автор : R2DHG Дата : 10.11.2017 15:33 Получается не одновременно, а по очереди - вот и мерцает. Тут действительно на ходу нужно еще и символы менять, иначе не хатит на все комбинации. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1079] Автор : veso74 Дата : 10.11.2017 15:38 R2DHG, с вашего кода нет мерцание, но нет и вторя строка. Получается не одновременно, а по очереди - вот и мерцает. И я думаю, что по очереди. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1080] Автор : R2DHG Дата : 10.11.2017 15:41 R2DHG, с вашего кода нет мерцание, но нет и вторя строка. Угу, там последняя выведенная остается только в буфере. Надо одновременно рисовать каждый символ для прямой и отраженной, не по очереди. Вот с графическим дисплеем прокатило бы и так. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1081] Автор : D0ITC Дата : 10.11.2017 15:52 R2DHG, прямая работает хорошо, лучше чем у нас, если на нашу смотреть сверху то видны переливы, а прямо то нормально. Ваша со всех сторон хорошо. Обратной нет вообще. veso74, а вы мою последнюю не пробовали? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1082] Автор : R2DHG Дата : 10.11.2017 15:56 R2DHG, прямая работает хорошо, лучше чем у нас, если на нашу смотреть сверху то видны переливы, а прямо то нормально. Ваша со всех сторон хорошо. Обратной нет вообще. Тот вариант для статичного вывода на дисплей, а у вас по задумке получается перерисовка символа - вы то верхнюю часть выводите, то нижнюю, визуально вроде видно, но от мерцания избавиться при таком способе невозможно. Нужно выводить один символ в котором и прямая и обратная прорисованы - только так не будет мерцать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1083] Автор : veso74 Дата : 10.11.2017 15:59 R2DHG...а вы мою последнюю не пробовали? US2IT, работает и не мерцает :). Вероятно есть "глюк" программы (при SWR > 10 вторая строка "исчезает"), но SWR > 10 практически нереальная ефирная ситуация. (PS Вашо сообщение #1078 (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1459718&viewfull=1#post1459718) 1-к-1, точно описали). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1084] Автор : R2DHG Дата : 10.11.2017 16:00 Чудеса :-P А... дорисовали в один символ прямую с обратной. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1085] Автор : UD0DAB Дата : 10.11.2017 16:06 Товарищи, вопрос. Вот я выключаю ТРХ. Его ардуина видит что питание проседает и начинает записывать текущие значения в еепром (частота, мода, сдвиг, расстройка...). Когда я включаю ТРХ ардуина все восстанавливает взад. Но есть момент - как определить что ТРХ уже ВЫКЛЮЧАЛСЯ? Ну например я его первый раз прошил свежей паршивкой и при включении он мне из епрома кашу как выдаст! Видится 2 мысли: считать память, если CRC совпадает, то все ок, иначе все значения взять по дефолту. Придумать какой-нить ключ (например если есть в епроме фраза StoredOk то считывать) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1086] Автор : R2DHG Дата : 10.11.2017 16:08 Можно ключ при считывании, а можно наоборот если при запуске видно, что каша - инициализировать начальными значениями. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1087] Автор : Integral Дата : 10.11.2017 16:15 Кукин Николай Николаевич, Николаевич, одна надежда на Вас :-P. В вашем КСВ-метре по схеме 4Z5KY градусник работает как надо, код не покажете? А то мозги у нас уже кипят. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1088] Автор : Кукин Николай Николаевич Дата : 10.11.2017 16:16 Приветствую всех, случайно ткнул не туда, попал в тему ардуино. Может конечно я лезу не в свое дело, но посмотрел текст ксв метра US2IT - там ну просто должно моргать по определению. Последовательное переписывание знакоместа даже одним и тем же символом много раз в секунду дает мерцание. при определенных условиях совпадения скорости засылки знака в дисплей и скорости отрисовки символа дисплейным контроллером даже может проявиться стробоскопический эффект движения отдельных пикселов в переписываемых буквах. RX3APF все очень точно сформулировал, как надо делать, что собственно у меня и было реализовано. Конечно, советовать со стороны легче, чем самому рыть программу. Но все-таки, как бы я сейчас сделал построение программы. Прежде всего, для измерения отрезков времени в диапазоне 1-20 мсек использовал бы один из таймеров, а не функции цикловых задержек delay(). Для измерения ацп использовать обработчик аппаратного прерывания по окончанию преобразования ацп. Переключение каналов делать в обработчике прерывания. Если не нужно непрерывное измерение ацп, то количество циклов измерения можно определить, задавая запуск ацп из таймера. Например, сконфигурировали таймер на 1-2 тысячи тиков в секунду, т.е. 1 тик= 0,5-1 мсек. Тогда, задав для внутреннего счетчика , (который организуем в обработчике таймерного прерывания (а их,счетчиков, можно сделать много)), допустим значение 10, получим 10*1=10 мсек, и по этому событию можно уже выставить какой-нибудь флаг, который прочитать уже снаружи в программе, и выполнить действие, попутно сбросив флаг и счетчик на повторный счет таймером. Из того же обработчика таймерного прерывания также запускать на исполнение работу ацп, скажем раз в 10 мсек, т.е. 100 раз в секунду, для просто ксв-метра чаще и не надо. За счет этого значительно разгрузив основную программу во времени. Таким образом выигрывается просто огромное время для работы всей программы, так как все вышеперечисленные вещи будут происходить с использованием аппаратных средств процика и программно на них будет тратиться минимальное время работы обработчиков прерываний. И вообще применил бы организацию всей программы в виде набора конечных автоматов(или другое название "автомат конечных состояний"). Поверьте, такой метод значительно упрощает само программирование и , главное, значительно уменьшает количество ошибок в работе при написании кода, а также делает очень простым модификацию кода программы при добавлении непредвиденных "хотелок", возникающих по ходу дела. Это вкратце по организации так называемых флаговых автоматов и обработчиков прерываний. Теперь по формированию шкал прямой и обратной волны в одной строке индикатора типа 1602. Здесь у меня было сделано по следующему алгоритму. Сначала строились, если можно так выразиться, "виртуальные шкалы" для прямой и обратки.Причем для прямой волны использовалась старшая половинка байта в диапазоне от 0x00 до 0x70, для обратки - младшая половинка байта от 0x00 до 0x07. После этого эти байты для каждого знакоместа складывались, получалось число вида, например, 0x77 что в двоичном виде дает число 01110111. Ничего не напоминает? Очень просто 111 - это прямо приводит к формировнию трех палок в шкале, три палки вверху и три палки внизу. Так проще анализировать. После этого уже дальше ясно, для этого кода в соответствующую ячейку памяти индикатора закачивался соответствующий код, формирующий три палки в верхней и нижней зоне знакоместа, а в выводимой строке для этого места указывался адрес ячейки знакогенератора (код символа от 0 до 8), куда записан этот код символа. Таким образом можно сформировать строку для всех знакомест, а потом целиком ее загнать в индикатор. Таким же способом сюда можно добавить еще и палку пикового сигнала, но это уже еще большее усложнение алгоритма. Эта вещь была реализована в конструкции ксв-метра Евгения RZ3QS, посмотрите исходники там. С использованием таймера это можно делать порядка 20-30 раз в секунду, чаще не надо. Минус у предлагаемых мной решений только один на мой взгляд - нужно переписать всю программу целиком, а может быть даже и отказаться от ардуино-программирования полностью, оставив от него только bootloader, да и то, его можно переписать и ужать до 512 байт (для мег 8-32), одновременно добавив функцию программирования EEPROM (где-то читал, 2 кб загрузчик ардуино не может программировать еепром, чего же они туда натолкали-то на 2 кб?). Во всяком случае, в конструкции RZ3QS это все реализовано давно. Да, по поводу кода формирования шкалы, он выкладывался Евгением. Где-то и у меня завалялся, поищу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1089] Автор : R2DHG Дата : 10.11.2017 16:28 Приветствую всех, случайно ткнул не туда, попал в тему ардуино. Может конечно я лезу не в свое дело, но посмотрел текст ксв метра US2IT - там ну просто должно моргать по определению. Он уже немного поменял код в последнем варианте, но не до конца :-P Переделывать - это как то слишком круто, осталось динамическое формирование этого самого символа добавить и будет нормально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1090] Автор : UD0DAB Дата : 10.11.2017 16:39 R2DHG, Вот еще что подумал, у меня целая куча переменных и писать их по очереди не хочется. Думаю вот как сделать: Просадка по питанию! { Собираем переменные в одну большую кучу(массив) Высчитываем контрольную сумму этого массива записываем этот массив в еепром Записываем перед массивом (это что бы не менять потом ничего если массив поменяю) контрольную сумму } При чтении если CRC не сойдется оставляем значения по дефолту. Как узнать сколько понадобится времени что бы провернуть это дело с записью до того как питание совсем пропадет? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1091] Автор : R2DHG Дата : 10.11.2017 16:44 Проще экспериментально проверить - засечь с помощью millis() время входа в процедуру записи и потом время выхода. Но CRC перебор, IMHO. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1092] Автор : Кукин Николай Николаевич Дата : 10.11.2017 17:24 Вот поскреб по суссекам, вырезал что не нужно, оставил загрузки в знакогенератор дисплея, функции формирования верхней и нижней части строки, функцию формирования палки пикового значения, но ее для начала лучше отключить, закомментарив вызов PeakLevel() в функции SynthesChar(). Удачи. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1093] Автор : UD0DAB Дата : 10.11.2017 18:45 Товарищи, совсем каша перемещалась.. Хочу упихать кучу переменных в одну что бы ее одной коммандой отправить на запись в память. В примере от ардуины есть момент с такой штукой, как СТРУКТУРА. Вот она: struct MyObject { float field1; byte field2; char name[10]; } Но я не могу найти толком описания этой штуки. Вот в примере есть заполнение этой структуры данными и запись в память: MyObject customVar = {3.14f, 65, "Working!"}; EEPROM.put(eeAddress, customVar); Что это? Вот именно это customVar? Почему пишется не MyObject? Я могу в строке MyObject customVar... в фигурных скобках писать не значения а переменные которые мне надо сохранить? Непонятно Добавлено через 5 минут(ы): Вот немножко прояснилось из перевода куска кода из примера EEPROM.get: struct MyObject { float field1; byte field2; char name[10]; }; void secondTest() { int eeAddress = sizeof(float); // перемещаемся к участку EEPROM-памяти, находящемуся вслед за тем, где хранится переменная «f» MyObject customVar; // переменная для хранения данных пользовательского объекта, извлеченных из EEPROM-памяти EEPROM.get(eeAddress, customVar); В момент объявления структуры, я могу вот так сделать, если у меня уже давно объявлены переменные field1, field2 и name[10]? struct MyObject { field1; field2; name[10]; }; Добавлено через 19 минут(ы): Вот что надо было читать! не по ардуине а по с++! Структура - это совокупность переменных, объединенных одним именем, предоставляющая общепринятый способ совместного хранения информации. Объявление структуры приводит к образованию шаблона, используемого для создания объектов структуры. Переменные, образующие структуру, называются членами структуры. (Члены структуры также часто называются элементами или полями.) Обычно все члены структуры связаны друг с другом. Например, информация об имени и адресе, находящаяся в списке рассылки, обычно представляется в виде структуры. Следующий фрагмент кода объявляет шаблон структуры, определяющий имя и адрес. Ключевое слово struct сообщает компилятору об объявлении структуры. struct addr { char name[30]; char street [40]; char city[20]; char state[3]; unsigned long int zip; }; Объявление завершается точкой с запятой, поскольку объявление структуры - это оператор. Имя структуры addr идентифицирует структуру данных и является спецификатором типа. Имя структуры часто используют как ярлык. На данный момент на самом деле не создано никакой переменной. Определена только форма данных. Для объявления настоящей переменной, соответствующей данной структуре, следует написать: struct addr addr_info; В данной строке происходит объявление переменной addr_info типа addr. При объявлении структуры определяется переменная смешанного типа. До тех пор, пока не будет объявлена переменная данного типа, она не будет существовать. Когда объявлена структурная переменная, компилятор автоматически выделяет необходимый участок памяти для размещения всех ее членов -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1094] Автор : lion11 Дата : 10.11.2017 20:58 Здравствуйте. Хочу написать прошивку Цифрового Измерителя КСВ и Мощности в программе FLProg но вот формулы как правильно рассчитать показания мощности не знаю. Как я понял что КСВ рассчитывается так: (прямаю+обратная)/(прямая-обратная) и вроде ксв получилось правильно вывести на экран. А вот мощность не получается рассчитать. Сейчас у меня при мощности 35ват с рэфлектрометра приходит 3,5 вольта а при 5 ватах где то 1.16 вольта. Напишите Пожалуйста как правильно в рассчитать показания Мощности, максимальная мощность интересует пока до 50W. С Уважением,Андрей. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1095] Автор : R2DHG Дата : 10.11.2017 22:28 Может падение на диодах уже сказывается при 1.16 вольта ? Можете еще пару точек замерить - 10 и 20 вт например. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1096] Автор : D0ITC Дата : 10.11.2017 23:25 R2DHG, запустил градусник обратной волны с вашим кодом. Программа измеряет КСВ и мощность, предел мощности выбирается автоматически.При превышении КСВ=3 на порт 13 выводится высокий уровень для подключения пьезика. Есть два предела 100 и 1000Вт. При превышении мощности 110Вт программа переключается на предел 1000Вт и подключает дополнительный входной делитель напряжения прямой и обратной волны, так же на LCD выводится значок "*". Если в течении 10-15с мощность не превышает 100Вт, то предел мощности возвращается на 100Вт. Кроме этого если мощность до 10Вт, то индикация с плавающей точкой, а выше 10Вт целочисленно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1097] Автор : UD0DAB Дата : 11.11.2017 16:54 Приветствую всех! Сутки курил мануалы по сям и не проникся. Вот есть у меня структура разных переменных. Я понял что именно раз она структура, то при объявлении элементы лежат в памяти вместе один за одним. Мне нужно посчитать контрольную сумму байтов ВСЕЙ структуры (ибо я ее так в ЕЕПРОМ и собираюсь выгрузить). Не нашел способа обратиться к этой структуре как к массиву из байтов. Решил попробовать так: Возвращаем адрес переменной структуры. (adr=&struct) i=0 цикл i #include #include #define I2C_ADDR 0x3F // <<- Add your address here. #define Rs_pin 0 #define Rw_pin 1 #define En_pin 2 #define BACKLIGHT_PIN 3 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7 LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); ну и в начале setup пишу: void setup() { lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE); lcd.begin(20, 4); ****************************************** Спасибо Вам большое за внимание к моему дисплею! Покамест не отвлекайтесь, пишите код для Вашего экрана и сетапа, с моим позже попробуем. Результаты измерения прямой мощности почти соответствуют моим, это очень удобно. Я так полагаю, у нас получилась одинаковая амплитуда напряжения на диодах? Или какова еще причина такого совпадения? Удачи Вам в продолжении проекта! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1122] Автор : D0ITC Дата : 13.11.2017 22:12 Я заметил, что градусники не очень дружат с I2C, выглядят не очень. Я немного доработал программу, сейчас выглядит так -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1123] Автор : exUA4ABS Дата : 13.11.2017 22:57 Я заметил, что градусники не очень дружат с I2C, выглядят не очень. Я немного доработал программу, сейчас выглядит так Ткните носом в схему, чтобы долго не искать.:-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1124] Автор : fedorenko28 Дата : 14.11.2017 03:28 Александр, приветствую! Вот результаты тестирования с фотографиями: ******************************************** #include #include #include #define I2C_ADDR 0x3F // <<- Add your address here. #define Rs_pin 0 #define Rw_pin 1 #define En_pin 2 #define BACKLIGHT_PIN 3 #define D4_pin 4 #define D5_pin 5 #define D6_pin 6 #define D7_pin 7 LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin); ну и в начале setup пишу: void setup() { lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE); lcd.begin(20, 4); Хм у меня все проще с i2c #include // подключаем библиотеку i2c #include //подключаем библиотеку дисплея с i2c LiquidCrystal_I2C lcd(0x27,16,2); // устанавливаем размерность дисплея и адрес void setup() { lcd.init(); // инициализация дисплея lcd.backlight(); // включение подстветки диплея lcd.clear(); // очиска дисплея Библиотека с githab -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1125] Автор : D0ITC Дата : 14.11.2017 08:38 exUA4ABS, вот схема. Добавлено через 34 минут(ы): Последний скетч для 1602, вся распиновка для этой схемы, нужно только раскоментировать нужную строку инициализации LCD, там есть и для ардуино. Может кому пригодится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1126] Автор : RD3Q Дата : 14.11.2017 12:52 Решил собрать мультитестер на ардуине по приведенной схеме с дисплеем 2,8 TFT ILI9341 SPI. Прошил, всю схему не собирал - только дисплей подключил, нет ни чего на экране, подсветка работает. Ардуино Нано. Документацию прилагаю, может кто-то чего посоветует? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1127] Автор : RA9CMG Дата : 14.11.2017 21:01 Уважаемые программисты. Есть ли у Вас готовые схемы и скетчи для синтезатора на Arduino Nano+LCD 1602+SI5351 ? Хочется для полевого трансивера минимальный синтезатор желательно с САТ. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1128] Автор : Slav9n Дата : 14.11.2017 21:16 http://www.youtube.com/watch?v=K5CXwd8p7TY http://ur5yfv.com.ua/index.php/stati/raznoe/151-iz-modulya-na-si5351a-sintezator-generator-pomoshch-instruktsii-chast-2.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1129] Автор : R2DHG Дата : 14.11.2017 21:27 Вот в этой теме были http://www.cqham.ru/forum/showthread.php?29944-%D1%E8%ED%F2%E5%E7%E0%F2%EE%F0-%E7%E0-%EF%EE%EB%F7%E0%F1%E0&highlight=%F1%E8%ED%F2%E5%E7%E0%F2%EE%F0+%EF%EE%EB%F7%E0%F1%E0 в районе постов #360-370 например, если в целом пойдет - есть версия посвежее с CAT и "перекидыванием" частот между выходами при TX/RX для реверсивных аппаратов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1130] Автор : ru4ng Дата : 14.11.2017 21:40 exUA4ABS, вот схема. Добавлено через 34 минут(ы): Последний скетч для 1602, вся распиновка для этой схемы, нужно только раскоментировать нужную строку инициализации LCD, там есть и для ардуино. Может кому пригодится. Спасибо Сергей! Замечательный скетч. Смакетировал схему, скетч скомпилировался на ура с первого раза, залил в нано , замечательно работает. Попробовал разные дисплеи, черный на желтом, зеленый на черном, белый на синем, больше понравился зеленый. Можно приступать к изготовлению печатки, ну самого прибора в целом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1131] Автор : UB0WBL Дата : 14.11.2017 21:55 exUA4ABS, вот схема. Добавлено через 34 минут(ы): Последний скетч для 1602, вся распиновка для этой схемы, нужно только раскоментировать нужную строку инициализации LCD, там есть и для ардуино. Может кому пригодится. А где посмотреть описание ? Какие диоды, транзисторы, распиновка для Aрдуины ? Калибровка как выполняется ? Кнопка "MODE" что делает ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1132] Автор : D0ITC Дата : 14.11.2017 23:20 UB0WBL, да какое же здесь описание, всё как в любом КСВ-метре. Эта схема взята с форума, автор Сергей 4Z5KY. Какой применить датчик КСВ это уже другой разговор, всё зависит от того где думаете применять прибор(КВ, УКВ). Распиновка для этой схемы, у меня применена атмега 8 в корпусе SMD. В скетче есть две строки инициализации дисплея, одна если применять с ардуино, вторая для этой схемы. Не нужное закоментировать. Кнопка ""MODE" здесь не используется, она нужна была для переключения пределов мощности, а здесь автоматический переход. Калибруется по общепринятой методике. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1133] Автор : RA4HME Дата : 15.11.2017 07:44 Здравствуйте! А может кто подсказать как писать код для панорамы, скажем для оценки полосы входного/выходного сигнала.Может есть решения дайте ссылку. За 4 дня в сети не нашёл ничего. Решения конечно есть, но пресловутый бизнес проект никто не выложит, хотя и вряд ли кто на этом заработает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1134] Автор : R2DHG Дата : 15.11.2017 09:12 Т.е. SDR приемник ? самое близкое по теме вариант на teensy 3 (гуглится по "sdr teensy"). Обычная ардуина на atmega328 для обработки звука не очень. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1135] Автор : Владимир_К Дата : 15.11.2017 12:48 Arduino nano v3. Китайский клон с преобразователем на CH340. Есть такая проблема, не всегда запускается программа. Запустить можно нажав кнопку "сброс". Иногда запускается если включить и выключить питание. Проверил осциллографом, не генерит кварц. В сети нашел описание проблемы и ее решение. Там ребята заменили библиотеку вывода на дисплей, после чего девайс стал работать нормально:-(. Причем тут библиотека? А может и правда, есть какие-то неизвестные процессы.. При питании от USB также запускается нормально. В самодельном Ардуино, эта же программа работает и запускается без проблем. Что-то мне кажется, в девайсе я налепил конденсаторов по питанию много, может кварц не активный и при медленном нарастании питающего напряжения не запускается? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1136] Автор : R2DHG Дата : 15.11.2017 13:10 Проверил осциллографом, не генерит кварц. В сети нашел описание проблемы и ее решение. Там ребята заменили библиотеку вывода на дисплей, после чего девайс стал работать нормально:-(. Причем тут библиотека? Очень странно :shock: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1137] Автор : UD0DAB Дата : 15.11.2017 14:52 Arduino nano v3. Китайский клон с преобразователем на CH340. Было такое, кварц тупо не припаялся. Пропаял платку и пошло. Это была моя первая ардуина. Я тогда чуть не разочаровался в них :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1138] Автор : olbi Дата : 15.11.2017 19:18 удалил .ошибочная запись -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1139] Автор : Владимир_К Дата : 15.11.2017 20:11 Было такое, кварц тупо не припаялся. Просмотрел, вроде нормально припаян. Параллельно кварцу (немного не правильно выразился, не параллельно кварцу, а параллельно конденсаторам) подпаял подстроечники (4 пф-20 пф), реакции практически никакой. Подключил программатор к Ардуино чтобы прочитать Fuse. На всякий случай, может не те установлены. Имею такое Hight - DA, Low-FF, Ext - 05. Программатор USBtinyISP, программа Sinaprog. Что интересно, с подключенным программатором плата запускается без проблем. Раз 20 включал, выключал, все нормально. Питание 5 вольт от программатора не подается. Только сигналы и земля. Но, если отключить кабель USB от программатора, оставив обесточенный программатор к Ардуино, плата не запускается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1140] Автор : Vital R2GKH Дата : 15.11.2017 20:25 Владимир, проверьте "подтяжку" ножки RST микроконтроллера на платке к +5В. Коллега намучался, пока не нашли, что эта лапка тупо висела в воздухе. Как ни странно, ATMega8 это прощает, а вот 328 нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1141] Автор : rx3apf Дата : 15.11.2017 21:37 Линия "Reset" у всех AVR (в том числе M328) имеет встроенный pull-up с номиналом 30...60 kOhm. Если паршивый флюс с высокой остаточной электропроводностью - проблемы могут быть. Импеданс входа получается достаточно высоким, чтобы ловить мощные внешние помехи, но в общем случае и без дополнительной подтяжки ОБЯЗАНО работать, хоть бы и с болтающейся в воздухе ногой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1142] Автор : Владимир_К Дата : 15.11.2017 23:47 Коллега намучался, пока не нашли, что эта лапка тупо висела в воздухе. Браво Vital R2GKH! Прицепил 10 ком с питания на RESET и все стало как надо. Хотя, замер сопротивления между плюсом питания и ногой RESET, показывает 4,7 кома без этого резистора:-(. То есть, что-то там стоит, хотя тут визуально проследить наличие резистора, равно как и дорожки, трудно. И что обидно, такая проблема у меня уже была давно с 168 мегой. Там просто забыл впаять резистор, да и не придавал ему значения, уповая на наличие внутренней подтяжки. Честно говоря и сейчас не догоняю, какая связь между сбросом и кварцем? Если бы он генерил, а программа не работала, или начинала работать неизвестно с какого места, тогда бы вопросов не было... Кстати есть еще один не понятный факт.. Ext fuse в этом Ардуино 05, то есть 00000101. А последняя единица - указывает, что программа после RESET должна начинать работать с нулевого адреса. А как же тогда Bootloader работает? Вот например: http://robocraft.ru/blog/arduino/51.html Обратите внимание на дополнительный фьюзбайт по ссылке для 168-й. Он должен быть нулем, а здесь 1. В моей самоделке (Ардуино) как раз 0 и записан. Но работает и там и здесь... Чудны дела твои... Вот выписка из даташита: BOOTRST Reset Address 1 Reset Vector = Application Reset (address 0x0000) 0 Reset Vector = Boot Loader Reset (see Table 26-7 on page 289) Кстати, проверил сейчас внимательнее, есть резистор 10 ком (4,7 к это с другой полярностью омметра было). Все дорожки целы, от плюса питания к резистору, к кнопке, от кнопки на землю на ногу контроллера. Все есть. Но 10 ком не хватает. Китайское качество видимо... Добавлено через 45 минут(ы): Выпаял резистор 10 ком, поставил 4,7 кома, все работает четко, хотя, скорее всего, это неправильно. Причина наверняка не здесь, разве что, действительно "китайское" качество и другого лечения этого пациента нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1143] Автор : rx3apf Дата : 15.11.2017 23:59 Кстати есть еще один не понятный факт.. Ext fuse в этом Ардуино 05, то есть 00000101. А последняя единица - указывает, что программа после RESET должна начинать работать с нулевого адреса. А как же тогда Bootloader работает? "Ext fuse" - это настройка супервизора питания. BOOTRST, BOOTSZxx - это старший байт "основных" фьюзов. Что же касается ноги сброса - интересно бы глянуть, сколько же там без внешнего резистора ? Напряжение, конечно (измерять сопротивление смысла нет). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1144] Автор : Владимир_К Дата : 16.11.2017 00:13 "Ext fuse" - это настройка супервизора питания. BOOTRST, BOOTSZxx - это старший байт "основных" фьюзов. Я же выше выкопировку из даташита привел... А BOOTSZ- размер области памяти для бутлоадера. То Вы спутали с BODLEVEL. Что же касается ноги сброса - интересно бы глянуть Замерял я это. На выходе стабилизатора питания 5,04 вольта, на ноге "RESET" - 4,96. Измерял китайским тестером. И, сдается мне, падение это из-за входного сопротивления тестера. Я замечал это несколько раз, правда так и не измерил, какое же у него входное. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1145] Автор : rx3apf Дата : 16.11.2017 00:29 В даташите совершенно определенно указано, что в "ext fuse" задействованы только три младших бита, BODLEVELn. А BOOTRST, BOOTSZn - это в "fuse high byte", это другой байт. Уровень "1" на ноге сброса корректный. Должно бы работать без проблем. Хотя плата может быть так разведена, что есть наводка от соседней ноги (проверяется включением конденсатора 10...100 nF между "землей" и сбросом). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1146] Автор : Владимир_К Дата : 16.11.2017 01:10 В даташите совершенно определенно указано, что в "ext fuse" задействованы только три младших бита, BODLEVELn. А BOOTRST, BOOTSZn - это в "fuse high byte", это другой байт. Я ввел Вас в заблуждение, так как смотрел даташит Atmega168. И там как раз в таблице Extended Fuse Byte for ATmega88PA/168PA указаны BOOTSZn и BOOTRST. И честно говоря, не обратил внимание, что таблицы то разные. И по ссылке: http://robocraft.ru/blog/arduino/51.html также указана 168. И в моей самодельной Ардуине стоит 328, а прошита так как указано в ссылке. И я до сегодняшнего дня, считал, что 168 и 328 это одно и тоже, за исключением памяти... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1147] Автор : rx3apf Дата : 16.11.2017 12:55 Забавно - я-то не сообразил глянуть DS на 48/88/168, и тоже считал, что это одно и то же ;) Да, к вопросу "незапуска" платы с подключенным и обесточенным программатором - ровно так и должно быть, нога RST подключена к программатору, и по ней платы пытается запитать программатор через защитный диод на портовой ноге контроллера в программаторе. Начиная с какого-то номинала дополнительной "подтяжки" это получается, но так делать не следует... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1148] Автор : Владимир_К Дата : 16.11.2017 13:10 Забавно - я-то не сообразил глянуть DS на 48/88/168, и тоже считал, что это одно и то же Хорошо что RSTDISBL местами не поменяли, а то бы точно залетел:smile:. Вчера, кстати, глядя на даташит 168 обнаружил, что фьюзы BOOTSZn выставлены "неправильно". "Исправил", плата перестала запускаться с бутлоадера:smile:. Вернул назад.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1149] Автор : Integral Дата : 16.11.2017 15:17 К посту #1126 (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1460866&viewfull=1#post14608 66), записал видео работы КСВ-метра и измерителя мощности с автомасштабированием . Для SSB надо на датчике прямой и обратной волны по электролиту поставить, что бы показания не "скакали". https://www.youtube.com/watch?v=sx65Bc60buQ&feature=youtu.be -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1150] Автор : RA4HME Дата : 17.11.2017 08:50 275061Здравствуйте! Я с вопросом по дисплею 3,2 дюйма? КОНТРОЛЛЕР HX8357C. Кто может подсказать-дисплей +мега 2560 заняты все пины (фото)или есть свободные.Если да, то можно обозначить какие пины не использует дисплей. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1151] Автор : RW3ACQ Дата : 22.11.2017 23:01 Приветствую всех! Друзья, а подскажите, как на Arduino организовать показания средней мощности в SSB (average), чтобы выглядело как примерно вот здесь: https://www.youtube.com/watch?v=xRvJqDo-4H0&feature=youtu.be -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1152] Автор : UA0YAS Дата : 23.11.2017 02:05 чуть увеличить емкость конденсатора на измерительном входе падающей волны и резистор для его разряда -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1153] Автор : D0ITC Дата : 23.11.2017 08:17 Нужна помощь. При подключении Mega2560 с индикатором HX8357 с библиотекой UTFT.h получается зеркальное изображение по горизонтали, какой командой отзеркалить не нашел, может кто подскажет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1154] Автор : exUA4ABS Дата : 23.11.2017 10:07 То RW3ACQ Вот так сделано. 275530 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1155] Автор : R2DNU Дата : 23.11.2017 11:01 US2IT, я решил просто. В библиотеке для ILI8341 (я ее использовал) заменил инициализацию Memory access control (адрес команады 36h) c LCD_Write_COM(0x36); // Memory Access Control LCD_Write_DATA(0x48); на LCD_Write_COM(0x36); // Memory Access Control LCD_Write_DATA(0x88); именно старший бит отвечает за режим чтения экранной памяти. US2IT, я решил просто. В библиотеке для ILI8341 (я ее использовал) заменил инициализацию Memory access control (адрес команады 36h) c LCD_Write_COM(0x36); // Memory Access Control LCD_Write_DATA(0x48); на LCD_Write_COM(0x36); // Memory Access Control LCD_Write_DATA(0x88); именно старший бит отвечает за режим чтения экранной памяти. уточняю, в библиотеке ILI9341 R2DNU, -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1156] Автор : XENOMORPH Дата : 23.11.2017 11:07 какой командой отзеркалить Необходимо в файле initlcd.h, который находится в UTFT/tft_drivers/ili9481 отредактировать данные строчки, или скачать исправленный файл 275535 //LCD_Write_COM(0x21); // INVERT COLOR раскомментировать если требуется LCD_Write_COM(0x36); // MIRROR закомментировать если требуется LCD_Write_DATA(0x8A); // вставить (0x0A); или (0x8A); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1157] Автор : D0ITC Дата : 23.11.2017 12:36 XENOMORPH, большое спасибо, воспользовался исправленным файлом и "зеркало" пропало, но изображение перевернулось, как можно этим управлять. В библиотеке TFT_HX8357.h делается с помощью tft.setRotation(3); а здесь как? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1158] Автор : XENOMORPH Дата : 23.11.2017 13:19 Для поворота LCD на 180 градусов, нужно поменять значение в файле initlcd.h, который находится в UTFT/tft_drivers/ili9481 в одной из строчек (зависит от цвета ярлычка на защитной плёнке). LCD_Write_COM(0x36); // попробовать поменять на (0x0D); LCD_Write_DATA(0x8A); // попробовать поменять на (0x0D);......... у меня поворот работает в этой строке......... на (0x0D); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1159] Автор : D0ITC Дата : 23.11.2017 13:55 R2DNU, спасибо за подсказку, в моём случае получилось так: //LCD_Write_COM(0x21); // INVERT COLOR LCD_Write_COM(0x36); // MIRROR LCD_Write_DATA(0x48); // MIRROR LCD_Write_DATA(0x0A); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1160] Автор : Tolya Дата : 23.11.2017 14:07 Так и не нашёл применение дисплея на чипе ILI9327..есть ли готовый скотч для изготовления ксв метра...направленный ответвитель имеется.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1161] Автор : D0ITC Дата : 23.11.2017 17:44 Переделал скетч с библиотеки TFT_HX8357.h на UTFT, но выбор шрифтов никакой, может кто подскажет как выйти из положения. В UTFT BigFont выглядит мелким, а SmallFont так вообще. А больше выбора нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1162] Автор : exUA4ABS Дата : 23.11.2017 19:00 US2IT Александр, я задумал встроить PWR_SWR_AUTO в усилитель. И захотелось заодно на этой-же Ардуинке сделать реле задержки включения высокого. Подправил ваш скетч из поста 1125. Добавил немного. Будет работать на PIN4? Пока проверить не на чем. //*********************** Установочная часть программы ***************************************************************** void setup() { int ledPin = 4; delay(180000); // 3 мин pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); lcd.begin(16, 2); //устанавливаем размерность дисплея pinMode(SoundPin,OUTPUT); //включаем вывод 10 на выход pinMode(DivPin, OUTPUT); //включаем вывод 9 на выход lcd.print(" SWR/PWR meter"); //выводим на дисплей надпись "SWR/PWR meter" lcd.setCursor(5,1); //устанавливаем курсор lcd.print("HI,RU4A!"); //выводим на дисплей надпись "HI,RU4A!" delay(1000); //задержка 2с lcd.clear(); //очищаем дисплей -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1163] Автор : D0ITC Дата : 23.11.2017 19:08 exUA4ABS, если будете делать на ардуино, то выв.4 занят индикатором, а если будет отдельная конструкция то свободен. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1164] Автор : UZ5DM Дата : 23.11.2017 19:12 При подключении Mega2560 с индикатором HX8357 с библиотекой UTFT.h получается зеркальное изображение по горизонтали, какой командой отзеркалить не нашел, может кто подскажет. Я использую библиотеку TFT_HX8357.h Тогда все нормально tft.init(); tft.setRotation(3); tft.invertDisplay(1); Переделал скетч с библиотеки TFT_HX8357.h TFT_HX8357.h - намного быстрее работает с графикой. И фонты скачать в сети можно любые -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1165] Автор : Alex 1 Дата : 23.11.2017 21:59 Может не в тему, но таки испрошу, как будут выглядеть фьюзы в "дудке" из этой программы .. 275589 .. , так будет верно .. 275590 ..это для 32 меги. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1166] Автор : ru4ng Дата : 09.12.2017 21:31 exUA4ABS, вот схема. Добавлено через 34 минут(ы): Последний скетч для 1602, вся распиновка для этой схемы, нужно только раскоментировать нужную строку инициализации LCD, там есть и для ардуино. Может кому пригодится. Сергей возник вопрос. Скетч компилится все хорошо, пробовал скомпилить под нано, но полученный размер не входит в 8 мегу как на схеме. Подскажите как быть,может я чтото не правильно делаю. Можете поделитесь хекс файлом -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1167] Автор : R2DHG Дата : 09.12.2017 23:56 Поищите в платах "Arduino NG or older" тогда можно будет выбрать именно 8 мегу - может так влезет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1168] Автор : Integral Дата : 10.12.2017 03:04 Сергей возник вопрос. Скетч компилится все хорошо, пробовал скомпилить под нано, но полученный размер не входит в 8 мегу как на схеме. Поищите в платах "Arduino NG or older" Да, именно плата "Arduino NG or older": 276536 Затем во вкладке Скетч сделать Экспорт бинарного файла. В папке получите две прошивки - с бутлоадером и без него. Поскольку у меня отдельная конструкция на Mega8, то я использую без бутлоадера. Кстати в том скетче нужно удалить библиотеку (строчку) #include , она все равно не используется, а память использует хорошо. Добавил у себя в Облаке схему КСВ и измерителя мощности с автомасштабированием (https://cloud.mail.ru/public/Jp61/ovAUFwvQn), там же и скетч с прошивкой. 276537 276538 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1169] Автор : elektronshik Дата : 10.12.2017 08:59 Integral, Здравствуйте! Подскажите, где можно подробнее ознакомиться с конструкцией фото реализации данные трансформаторов? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1170] Автор : Integral Дата : 10.12.2017 14:27 где можно подробнее ознакомиться с конструкцией фото реализации данные трансформаторов? Зайдите еще раз по моей ссылке выше, я добавил фото и инфу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1171] Автор : elektronshik Дата : 10.12.2017 14:55 Зайдите еще раз по моей ссылке выше, я добавил фото и инфу. Благодарю, скачал полный архив.Хорошо у Вас получилось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1172] Автор : UT0UM Дата : 10.12.2017 20:47 еще один ардуино тюнер (http://forums.qrz.com/index.php?threads/raspberry-pi-and-arduino-auto-antenna-tuner.590996/) http://www.youtube.com/watch?v=-WujfV-f-do -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1173] Автор : olbi Дата : 13.12.2017 05:11 а какую роль выполняют транзисторы vt1.vt2? а какую роль выполняют транзисторы vt1.vt2? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1174] Автор : D0ITC Дата : 14.12.2017 14:30 Может кто подскажет как в библиотеке TFT_HX8357-master можно вывести "картинку". Подготовил файлы bmp и raw, но ни с тем ни с другим ничего не получилось. В библиотеке UTFT получается легко командой myGLCD.drawBitmap, файл с расширением .с, а здесь никак. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1175] Автор : XENOMORPH Дата : 15.12.2017 12:10 В библиотеке есть рабочий пример вывода "картинок", только в примере необходимо удалить строчку SdFat SD;, и иметь библиотеку SdFat, это если грузить с SD флешки, а не SPI. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1176] Автор : D0ITC Дата : 15.12.2017 14:06 XENOMORPH, я имел ввиду вывод картинки не с SD карты, а с внешнего файла с расширением .с, .h или raw формат. Ещё вопрос: есть ли пример вывода градусника в библиотеке TFT_HX8357-master? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1177] Автор : XENOMORPH Дата : 15.12.2017 15:36 Внешний файл будет загружен в flash память, RAW файлик например, с разрешением 320x480 весит 300KB, стоит ли тратить столь драгоценную flash память на изображения? я думаю нет)) 276865 276866 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1178] Автор : Sergei12 Дата : 15.12.2017 21:08 Доброго времени суток всем! Не подскажут ли знатоки где и что изменить в скетче, чтобы в верхней строке s-meter включить с пина А7 ? Архив скетча прилагаю. Заранее спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1179] Автор : Integral Дата : 18.12.2017 21:43 Кто подскажет, как правильно в TFT_HX8357-master выводить на экран переменные типа tft.drawNumber и tft.drawFloat? Например, при выводе мощности приходится далеко ставить W и получается так P= 0 W. Значения могут быть от 0 до 1000, если ближе ставить, то идет накладка. И еще, от цифр остается "мусор" при изменении разрядности от 1000 до 100, как победить эту гадость. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1180] Автор : R2DHG Дата : 19.12.2017 09:51 Попробуйте в одной позиции 0 и 1 вывести. Если 0 останется виден вокруг 1 - надо или стирать полностью перед выводом числа (рисовать закрашенный фоном прямоугольник либо выводить пробелы, но пробелы некоторые библиотеки не рисуют, просто координаты меняются) или лучше переписать "draw" чтобы разряды без изменений (от предыдущей итерации) пропускать, а с изменениями стирать фоном / выводить (так мерцать не будет, прорисовка быстрее и можно фиксированную разрядность сделать чтобы W после последней цифры по фиксированным координатам была). Доброго времени суток всем! Не подскажут ли знатоки где и что изменить в скетче, чтобы в верхней строке s-meter включить с пина А7 ? Архив скетча прилагаю. Заранее спасибо. Так он вроде не дописан там. В файле ubitx_ui нужно раскомментарить этот код /* //now, the second line memset(c, 0, sizeof(c)); memset(b, 0, sizeof(b)); if (inTx) strcat(c, "TX "); else if (ritOn) strcpy(c, "RIT"); strcpy(c, " \xff"); drawMeter(meter_reading); strcat(c, meter); strcat(c, "\xff"); printLine2(c);*/ и добавить к нему сверху строку meter_reading = analogRead(A7); что получится фиг знает - в комментах кода написано, что с-метр в данном билде не работает -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1181] Автор : D0ITC Дата : 19.12.2017 15:42 R2DHG, а нет ли в TFT_HX8357-master возможности сделать как в UTFT : myGLCD.printNumF(V1, 2, 150, 250, '.', 7, ' ');, чтобы приращение разрядов происходило слева? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1182] Автор : R2DHG Дата : 19.12.2017 17:33 там по идее есть вот такая функция ** Descriptions: draw string right justified to dX int16_t TFT_HX8357::drawRightString(char *string, int16_t dX, int16_t poY, int16_t font) если вот тут (TFT_HX8357.cpp) заменить drawString на drawRightString (или свою написать) - должно вправо выравнивать int16_t TFT_HX8357::drawNumber(int32_t long_num, int16_t pX, int16_t pY, int16_t font) { char str[12]; ltoa(long_num, str, 10); return drawString(str, pX, pY, font); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1183] Автор : Sergei12 Дата : 19.12.2017 18:49 Большое спасибо за совет и внимание к вопросу!:пиво:! Направление понял, буду разбираться. 73! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1184] Автор : Integral Дата : 20.12.2017 22:33 Вообщем решил задачу по выводу переменных значений типа tft.drawNumber и tft.drawFloat, может не совсем чего хотел, но хотя бы работает. Решить получилось вот таким образом: tft.setTextPadding(65); tft.setTextColor(TFT_GREEN,TFT_BLACK); char buf[3]; byte len = 3; dtostrf(PWR, len, 0, buf); buf[len] = 'W'; buf[len+1] = 0; tft.drawString(buf,235,68,4); Для вывода значений типа Float достаточно в dtostrf(PWR, len, 0, buf) - ноль поменять на 1 (кол-во знаков после запятой). Короче говоря обычное преобразование значений в символьный массив. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1185] Автор : RA4HME Дата : 23.12.2017 07:44 Всем здравствуйтё! УВАЖАЕМЫЕ УЧАСТНИКИ ФОРУМА обращаюсь с вопросом по поводу анализатора антенного -вот ссылка http://www.instructables.com/id/HF-Antenna-Analyser-With-Arduino-and-DDS-Module/ может кто делал по ссылке ? На сайте автора схему не нашёл, только рисунок соединения точек макетной платы 277517 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1186] Автор : UA0YAS Дата : 23.12.2017 11:14 http://www.hamstack.com/hs_projects/antenna_analyzer_docs.pdf отличие только в подключении другого дисплея -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1187] Автор : Integral Дата : 23.12.2017 11:57 В дополнение к своему посту, если команду dtostrf сделать вот так dtostrf(PWR, -len, 0, buf), то значения будут выводится с левой стороны от позиции курсора. обращаюсь с вопросом по поводу анализатора антенного Не тянет он на антенный анализатор, это диапазонный сканер КСВ. Схемы нету, автор ссылается на схему предыдущего проекта на ПИК-процессоре. Изменения коснулись цифровой части, в качестве которого выступает Arduino Nano. Подключение пинов DDS и Arduino в статье автора. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1188] Автор : UD0DAB Дата : 24.12.2017 03:44 Все равно приборчик лучше такой чем никакого :) Да на 50 Ом расчитан, но сейчас у всех трансиверов такой выход. Так что лучше сначала прогнать антеннку! Все равно не пойму зачем там операционник. Неужто ловить мух меньше 50 мВ надо? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1189] Автор : RA4HME Дата : 24.12.2017 20:29 нашлась схема на которую ссылается автор-НЕ ВПЕЧЯТЛЯЕТ. загрузить весь документ не могу,размер превышает допустимый 2,77мб. прикрепляю только схему277663 Как то у иностранцев всё коряво,непонятно и клочками, а иногда наоборот,как будто для особо тупых расписывают. Может кто владеет информацией,кто либо к такому анализатору делал модернизацию, чтобы кроме ПК можно было и смотреть показания на дисплее. ссылка http://ra4nal.qrz.ru/vna.shtml -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1190] Автор : elektronshik Дата : 24.12.2017 22:15 Может кто владеет информацией,кто либо к такому анализатору делал модернизацию, чтобы кроме ПК можно было и смотреть показания на дисплее. ссылка http://ra4nal.qrz.ru/vna.shtml Здравствуйте! Здесь на сайте есть тема по этому- ra4nal -анализатору, там ссылка на модернизацию от француза с четырёх строчным дисплеем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1191] Автор : D0ITC Дата : 25.12.2017 15:32 Подключил к Mega 2560 модуль часов DS3231, в скетче использовал библиотеку DS1307RTC.h. Всё работает нормально кроме вывода года. Если прошиваю скетчем из примера то на мониторе COM порта всё выводится правильно(2017), а если прошиваю своим скетчем то год выводится как 47. Может кто подскажет как это победить? #include //подключаем библиотеку TFT_HX8357 tft = TFT_HX8357(); //вызов пользовательской библиотеки #include #include #include #include #define DS3231_I2C_ADDRESS 104 byte tMSB, tLSB; float my_temp; void setup() { tft.init(); //инициализация дисплея tft.setRotation(3); //альбомная ориентация дисплея tft.fillScreen(TFT_BLACK); //очищаем экран, заливаем чёрным цветом tft.drawString("temperature:",145,250,4); } void loop() { tmElements_t tm; tft.setTextColor(TFT_SILVER,TFT_BLACK); int xpos=130; int ypos=50; int ysecs=ypos; int xsecs=0; int xpos1=130; int ypos1=150; int yYear=ypos1; int xYear=0; RTC.read(tm); int hh=tm.Hour; int mm=tm.Minute; int ss=tm.Second; int da=tm.Day; int mo=tm.Month; long ya=tm.Year; tft.setTextPadding(65); if (hh < 10) xpos += tft.drawChar('0',xpos,ypos,7); //если показания часов меньше 10 дорисовываем незначащий ноль xpos += tft.drawNumber(hh,xpos,ypos,7); //выводим значение часов xpos += tft.drawChar(':',xpos,ypos,7); //рисуем часовое и минутное двоеточие if (mm < 10) xpos += tft.drawChar('0',xpos,ypos,7); //если показания минут меньше 10 дорисовываем незначащий ноль xpos += tft.drawNumber(mm,xpos,ypos,7); //выводим значение минут xsecs = xpos; xpos += tft.drawChar(':',xsecs,ysecs,7); //рисуем секундное двоеточие if (ss < 10) xpos += tft.drawChar('0',xpos,ypos,7); //если показания секунд меньше 10 дорисовываем незначащий ноль tft.drawNumber(ss,xpos,ysecs,7); //выводим значение секунд xpos1 += tft.drawChar(' ',xpos1,ypos1,7); if (da < 10) xpos1 += tft.drawChar('0',xpos1,ypos1,7); xpos1 += tft.drawNumber(da,xpos1,ypos1,7); if (mo < 10) xpos1 += tft.drawChar('0',xpos1,ypos1,7); xpos1 += tft.drawNumber(mo,xpos1,ypos1,7); xYear = xpos1; xpos1 += tft.drawChar(' ',xYear,yYear,7); tft.drawNumber(ya,xpos1,yYear,7); delay(1000); //задержка 1с my_temp = (float)get3231Temp(); } float get3231Temp(){ float temp3231; Wire.beginTransmission(DS3231_I2C_ADDRESS); //временные регистры (11h-12h) обновляются автоматически каждые 64s Wire.write(0x11); Wire.endTransmission(); Wire.requestFrom(DS3231_I2C_ADDRESS,2); if(Wire.available()) { tMSB = Wire.read(); //2 в дополнение int часть tLSB = Wire.read(); //часть фракции temp3231 = (tMSB & B01111111); //сделать математику 2 на TMSB temp3231 += ( (tLSB >> 6) * 0.25 ); //только забота о битах 7 и 8 tft.setTextFont(4); tft.setCursor(295,250); tft.print(my_temp,1); } else { //О, нет, никаких данных! } return temp3231; } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1192] Автор : veso74 Дата : 25.12.2017 16:30 В примери TFT_HX8357.h использовано TimeLib.h: tmYearToCalendar(Y) PaulStoffregen/Time (https://github.com/PaulStoffregen/Time/blob/master/TimeLib.h): - на Y просто добавляют 1970: #define tmYearToCalendar(Y) ((Y) + 1970) // full four digit year С Вашего примера: 47 + 1970 = 2017 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1193] Автор : D0ITC Дата : 25.12.2017 16:50 veso74, большое спасибо, всё получилось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1194] Автор : RA4HME Дата : 25.12.2017 22:00 Здравствуйте уважаемые участники форума! С наступающим новым годом! Обращаюсь с вопросом или просьбой. Интересует вариант переключения диапазонов двумя кнопками + и - на Ардуино с применением сдвиговых регистров для экономии портов.Нет ни у кого уже написанного скетча? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1195] Автор : R2DHG Дата : 25.12.2017 23:12 Попробуйте. Не проверял, может подкрутить нужно чего нибудь. // Управление #define KEY_UP 4 #define KEY_DN 5 // Регистры управления 595 #define BPF_CLK 13 #define BPF_DATA 11 #define BPF_LATCH 10 uint16_t bpf = 1; uint8_t xKeyUp = HIGH; uint8_t xKeyDn = HIGH; void setup() { pinMode(BPF_CLK, OUTPUT); pinMode(BPF_DATA, OUTPUT); pinMode(BPF_LATCH, OUTPUT); sendReg(bpf); } void loop() { if ((digitalRead(KEY_UP) == LOW)&&(xKeyUp == HIGH)&&(bpf < 0xB1000000000000000)) { delay(20); if (digitalRead(KEY_UP) == LOW) { xKeyUp == LOW; bpf = bpf << 1; sendReg(bpf); } } if ((digitalRead(KEY_UP) == HIGH)&&(xKeyUp == LOW)) { delay(20); if (digitalRead(KEY_UP) == HIGH) { xKeyUp == HIGH; } } if ((digitalRead(KEY_DN) == LOW)&&(xKeyDn == HIGH)&&(bpf > 0xB0000000000000010)) { delay(20); if (digitalRead(KEY_DN) == LOW) { xKeyDn == LOW; bpf = bpf >> 1; sendReg(bpf); } } if ((digitalRead(KEY_DN) == HIGH)&&(xKeyDn == LOW)) { delay(20); if (digitalRead(KEY_DN) == HIGH) { xKeyDn == HIGH; } } } void sendReg(int_fast16_t dpf) { digitalWrite(BPF_LATCH, LOW); tfr_byte(dpf & 0xFF); tfr_byte((dpf >> 8) & 0xFF); digitalWrite(BPF_LATCH, HIGH); } void tfr_byte(byte data) { for (int i=0; i<8; i++, data>>=1) { digitalWrite(BPF_DATA, data & 0x01); digitalWrite(BPF_CLK, HIGH); digitalWrite(BPF_CLK, LOW); } } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1196] Автор : RA4HME Дата : 25.12.2017 23:23 Спасибо! Подкрутить это значительно быстрее ,чем писать всё с ноля. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1197] Автор : ex8ai Дата : 26.12.2017 07:19 Подскажите пожалуйста что это означает- мертвая Ардуино ? 277779 Или я что то делаю не правильно . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1198] Автор : R2DHG Дата : 26.12.2017 09:17 Как вариант, что то не так с библиотеками. Нужна более подробная информация. Нажмите "скопировать ошибку" и скопируйте сюда. Можно еще включить галку как во вложенном файле - будет подробнее показывать ошибки внизу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1199] Автор : ex8ai Дата : 26.12.2017 16:57 Прошил другим способом . А этот нужно ещё раз попробовать -поучится . Спасибо . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1200] Автор : RV3ART Дата : 26.12.2017 18:03 Такая же проблема. Только по вашим постам 1197 и 1199 совсем стало не понятно. У вас Ардуино - китайский клон на чипе 340? Прошу пояснить что прошивали? И как? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1201] Автор : UA7KJ Дата : 27.12.2017 14:18 del -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1202] Автор : RA4HME Дата : 31.12.2017 21:15 Уважаемые раиолюбители и участники форума!Поздравляю Вас с наступающим НОВЫМ ГОДОМ!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1203] Автор : Витамин Дата : 05.01.2018 18:19 Доброго времени уважаемые коллеги. Хочу освоит для на чала Arduino. Программирование КПТИ (Фортран - 76) забыто как страшный сон. Посоветуйте актуальную литературу. Что смотрел, то лампочки проходят, то уже далеко начинают. Может сразу СИ вспоминать начать? Не люблю электронный вид. Только бумажный. Буду признателен за конструктивные ссылки. Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1204] Автор : UB3GBN Дата : 05.01.2018 18:48 Пишут, что Wiring - тот же C++, так что делайте выводы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1205] Автор : Владимир_К Дата : 05.01.2018 19:56 Хочу освоит для начала Arduino. Посоветуйте актуальную литературу. Что смотрел, то лампочки проходят, то уже далеко начинают. Может сразу СИ вспоминать начать? Для начала Вам надо плату Ардуино. Но я бы посоветовал использовать ее не со средой Ардуино, а с "чистым" Си. Имея плату, вы получите готовый контроллер, с загрузчиком на "борту", благодаря которому вам не понадобится отдельный программатор. А прошивать Ардуино можно программой XLoader. Кроме того, среда, например AVR Studio, также поддерживают Ардуино. Начать можно отсюда: http://easyelectronics.ru/avr-studio-likbez.html Ставите AVR Studio на компьютер (программа бесплатная) и вперед.. Я пользую AVR Studio 4.19 и WinAVR 2010. Немного уже устарело, но привык, менять нет желания.. Неплохая книжка Шпак Ю.А. "Программирование на языке С для AVR и PIC микроконтроллеров". В интернете она есть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1206] Автор : exUA4PCP Дата : 05.01.2018 20:47 http://lib.ru/CTOTOR/starterkit.txt -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1207] Автор : ur7hfo Дата : 06.01.2018 00:15 Заголовок : Быстрое создание меню для Ардуино. http://lib.ru/CTOTOR/starterkit.txt Кстати, классная книжка для быстрого старта ! :-P Нашел интересную библиотеку для создания разных меню для Ардуино. Библиотека и описание тут - https://github.com/neu-rah/ArduinoMenu Поддерживается куча дисплеев. Воод как кнопками, так и энкодером, так и через сериал терминал. Работа библиотеки в моем проекте - https://www.youtube.com/watch?v=Tr8i6cKvbxI -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1208] Автор : ur7hfo Дата : 06.01.2018 11:25 Может сразу СИ вспоминать начать? Начать с СИ, потом потихоньку (маленькими шажками) перелазить на С++ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1209] Автор : Владимир_К Дата : 06.01.2018 13:53 Кстати, классная книжка для быстрого старта ! Что-то сдается мне, никакого старта, тем более быстрого,с этой книжкой (хотя книжка хорошая) не будет. Кто-то быстро запомнит, что там написано, кто-то вообще ничего. Поэтому, не надо ее сначала и читать. Ставим среду (например то, что выше давал по ссылке), делаем все, что там написано, когда получим работающую программу, открываем эту книжку и смотрим, где в нашей программе функции, где операторы. Теперь они запомнятся быстро. Но, опять же, запоминать их я бы тоже не торопился (если вам не надо сдавать экзамены). Достаточно знать, что есть такие-то. И знать, где их посмотреть. Также эффективно - разбирать готовые примеры программ. То есть, за один день можно вполне "стартовать". Если читать, записывать на бумажку (чтобы лучше запомнить), процесс растянется на месяцы. Хотя, конечно, каждый шел своим путем. Я именно так. Хотя, до этого, много читал всяких книжек по Си, а продолжал только с Ассемблером, еще со времен "Радио-86РК", 30 лет назад.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1210] Автор : R2DHG Дата : 07.01.2018 11:49 Имеющегося на arduino.cc или arduino.ru для человека, знакомого с программированием, должно быть достаточно по идее. Дальше любая приличная книжка по Си + даташит на тамошние микроконтроллер[-ы], ну и полазить - посмотреть какие к чему библиотеки есть, прежде чем купить дисплей или что то такое сложноуправляемое - полезно будет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1211] Автор : Владимир_К Дата : 07.01.2018 12:10 Имеющегося на arduino.cc или arduino.ru для человека, знакомого с программированием, должно быть достаточно по идее. Я отказался от Ардуино почти сразу, как только увидел (или не смог найти?), что нет пошаговой отладки. А может она есть и я просто не в курсе? Ну и, конечно, памяти занимает много. Но, главное - отладка. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1212] Автор : R2DHG Дата : 07.01.2018 12:19 В штатной среде нет (хотя мне попадались ссылки на какой то костыль - не разобрался), в симуляции протеуса вроде можно изобразить :-P Не супер удобно, но частенько вывода на экран или в ком-порт хватает (даже в чем то прикольно после современных сред программирования). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1213] Автор : ur7hfo Дата : 08.01.2018 19:18 Я отказался от Ардуино почти сразу, как только увидел (или не смог найти?), что нет пошаговой отладки. Это есть, но не бесплатно.. Это надстройка-плагин VisualMicro для среды AtmelStudio 7.0, Я попробовал, но мне не понравилось.. Там создается дебаг-прошивка, заливается в ардуину, и прям из AtmelStudio можно брейк-поинты ставить, или пошагово, с заходом в функции итд. итп. Может просто не смог со всем разобраться, поэтому пока пишу без отладки. Для простых вещей отладка и не нужна, а именно для простых вещей ардуино подходит лучше всего. Быстро и просто все делается.. Но если только шаг в сторону, и что то сложнее требуется, то все, приехали.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1214] Автор : RA4HME Дата : 11.01.2018 20:56 Всем здравствуйте! Обращаюсь с вопросом по дисплею.Заказал у китайца дисплей + атмега 2560. С атмегой всё в порядке,а дисплей не тот. Кто подскажет как его подключить к ардУино. а в описании к дисплею было правильно написано 36 pin (на скрине выделил жёлтым) 279118 279117 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1215] Автор : ur7hfo Дата : 12.01.2018 00:55 Кто подскажет как его подключить к ардУино. Если там чип действительно HX8357 То вот библиотека для него - https://github.com/adafruit/Adafruit_HX8357_Library -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1216] Автор : RA4HME Дата : 12.01.2018 15:38 279183Спасибо за ссылку - не работает ,одному китайцу известно какой процессор там.Да и вообще он мне не годится.Купил в качестве запасного для уже работающей конструкции.Дел масса на то чтобы переназначить выводы,изменить (изуродовать печатку и т.д.)Покупал у того же продавца,что и прежний(на фото с правой стороны) дисплей. Дважды у одного и такой косяк. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1217] Автор : user12 Дата : 12.01.2018 19:26 одному китайцу известно какой процессор там Почему? Гуглите LCD_ID_Reader.ino Конфигурируете, программируете плату и по uart смотрите какой контроллер. Зная какой контроллер гуглите библиотеки. Скорее всего у вас на контроллере ILI9488 или НХ какой то... По сути управление особо не отличается от HX8357 кроме инициализации. Ну и плата под ардуино уно. Потому что диспей 8 бит. А второй у вас 16 бит параллельных данных. Это надо учитывать. По идее такой по управлению дисплей https://youtu.be/VnRVbxQESnY Попробуйте может заработает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1218] Автор : RA4HME Дата : 12.01.2018 20:18 заработал. Теперь надо думать что на нём такое интересное сделать. Спасибо всем за участие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1219] Автор : RA4HME Дата : 18.01.2018 08:15 Здравствуйте уважаемые форумчане! Я с вопросом - если кто делал что то на таком дисплее, есть какие особенности программные и электрические пр подключении к мега 2560.https://ru.aliexpress.com/item/3-2-inch-TFT-LCD-Touch-Screen-Module-Display-Ultra-HD-320X240-ILI9341-for-3-2/32808968215.html?spm=a2g0s.13010208.99999999.265.uvqqCb 279671 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1220] Автор : UD0DAB Дата : 18.01.2018 09:07 Я такой без тачскрина брал. Работает. Только он прямо на дуину одевается - сложно еще что-то подключать. Надо заказывать удлиннитель на 40 ног в 2 ряда. Ну или подпаиваться к ардуине напрямую, что не есть хорошо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1221] Автор : ur7hfo Дата : 18.01.2018 12:50 Я с вопросом - если кто делал что то на таком дисплее Пробовал, работал с библиотекой UTFT . И тачскрин тоже работал, только я ставил такой экран через плату переходник на ардуино мегу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1222] Автор : RA4HME Дата : 18.01.2018 19:47 Спасибо! А можно немного подробней про плату-переходник. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1223] Автор : UA7F Дата : 18.01.2018 20:38 Спасибо! А можно немного подробней про плату-переходник. https://ru.aliexpress.com/item/TFT-3-2-inch-Mega-Touch-LCD-Expansion-Board-Shield-IC-partial-pressure-for-arduino-Mega/32340683681.html?ws_ab_test=searchweb0_0,searchweb201602_0_10152_10151_10065_10344_10068_10342_10343_10340_10341_10543_10084_10083_10307_10615_10301_10313_10059_10314_10534_100031_10604_10103_10607_10606_10142_10125,searchweb201603_0,ppcSwitch_0&algo_expid=df26d474-9137-4b5a-bb93-1b1d86436348-9&algo_pvid=df26d474-9137-4b5a-bb93-1b1d86436348&priceBeautifyAB=0 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1224] Автор : D0ITC Дата : 23.01.2018 10:25 Может кто подскажет как создать и вывести на экран HX8357 собственный символ? Подключена библиотека TFT_HX8357.h. Хочу вывести символ динамика, но пока получается выводить какой-то набор мусора. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1225] Автор : ur7hfo Дата : 23.01.2018 11:44 https://ru.aliexpress.com/item/TFT-3...ceBeautifyAB=0 Да, да, именно этот переходник и использовался. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1226] Автор : RA4HME Дата : 23.01.2018 21:24 Дааааа при использовании такого дисплея маловато остаётся свободных портов.Интересная штука Ардуино вроде не нужен такой дисплей, а попробовать хочется. Внук уже приглядывается-бросил свои игрушки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1227] Автор : R2DHG Дата : 23.01.2018 23:24 Лучше пошустрее контроллер (ардуина DUE или что нибудь совместимое со средой на stm32) и дисплей с SPI - портов свободных дофига будет, скорость работы с дисплеем достаточная и соединять проще. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1228] Автор : RA4HME Дата : 24.01.2018 20:27 Ходил по просторам интернет и наткнулся на интересное кино. SDR TEENSY никто не повторял?https://www.youtube.com/watch?v=H4TonZChALw -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1229] Автор : R2DHG Дата : 24.01.2018 23:21 Дороговат комплект получается. Если бы для чего то еще нужен был... можно было бы. Вот тут вроде оно поинтересней выглядит https://www.youtube.com/watch?v=hCFvDHAo2mg -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1230] Автор : UB3GBN Дата : 25.01.2018 14:00 Интересно было бы, если б кто-нибудь другой попробовал попробовать заменить Teensy на платку с STM32F407VET6 (https://www.aliexpress.com/item/-/32834250667.html), прицепить сторонние ЦАП и АЦП, программировать в среде stm32duino. По мощи vladn писал, что должно потянуть сходную задачу. По денежкам выйдет раза в четыре дешевле, по головной боли на порядок больше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1231] Автор : R2DHG Дата : 25.01.2018 14:35 Взять и просто залить скетч от teensy туда вряд ли получится - библиотеки будут несовместимы. По головной боли проще будет монку какую нибудь собрать или пион/тюльпан. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1232] Автор : UB3GBN Дата : 25.01.2018 18:10 Взять и просто залить скетч от teensy туда вряд ли получится - библиотеки будут несовместимы. По головной боли проще будет монку какую нибудь собрать или пион/тюльпан. Мне такое решение понравилось тем, что платка с процессором уже готова, не нужно ничего запаивать с тонюсенькими ножками. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1233] Автор : R2DHG Дата : 25.01.2018 19:24 Угу. Но, видимо, китайцы не освоили её так плотно, как обычную ардуину - цена кусается и за нее хочется получить чего нибудь побольше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1234] Автор : ur7hfo Дата : 26.01.2018 00:07 Взять и просто залить скетч от teensy туда вряд ли получится - библиотеки будут несовместимы. Там поддерживается пока только stm32f103 серия. https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Supported-hardware Я пробовал с stm32f103c8t6. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1235] Автор : UB3GBN Дата : 26.01.2018 08:21 ur7hfo, мой оптимизм основан на этой записи на форуме: http://stm32duino.com/viewtopic.php?f=39&t=40&start=20#p26198 Но сам пока ничего не собирал и не пробовал. Боязно, что десять долларов - на ветер :oops: P.S. Наверное, есть смысл отделить сообщения в новую тему? Предположительно, будет определённый интерес к "ардуине на stm32" :super: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1236] Автор : R2DHG Дата : 26.01.2018 09:24 Да он и есть, но sdr так просто не "наардуинишь", слишком глубоко копать надо. Для teensy есть аудиомодуль, dsp библиотека, нашелся "копатель" и то у него времени довольно много ушло что то годное сделать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1237] Автор : UA9SJR Дата : 12.02.2018 11:37 Добрый день! Купил набор 3,2 TFT_320QVT_9341, TFT LCD Mega sheld, ну и саму ардуино мега 2560. Два дня потратил на то, чтобы на экране появилось цветное изображение.. И вот новая засада-экран светится очень тускло. Питание пробовал и 5 вольт и от USB-яркость экрана не меняется. Подскажите как регулировать яркость на графическом дисплее? Сильно не пинайте, я в этом деле еще полный чайник, но очень хочется освоить.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1238] Автор : UN7RX Дата : 12.02.2018 16:56 Народ, подскажите, может кто видел простую схемку таймера обратного отсчета на Ардуино с сегментными индикаторами? Нужен таймер для фоторезиста, нашел схемку (http://lehih80.blogspot.ru/2016/10/2-arduino-20-1-99.html), но проблема в том, что там используется 2х16 LCD, а у меня такой никак не влезет куда мне нужно. Есть таймеры на ПИКах с сегментными индикаторами, 3-4 разряда. На ардуино ткие попадались? Поиск в гугле ничего не дал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1239] Автор : ur7hfo Дата : 12.02.2018 20:37 но проблема в том, что там используется 2х16 LCD, а у меня такой никак не влезет куда мне нужно. Я использовал такие индикаторы, понравилось. Скетч можно под него переписать. Подключается по I2C, работает неплохо. https://ru.aliexpress.com/item/1pcs-0-96-blue-0-96-inch-OLED-module-New-128X64-OLED-LCD-LED-Display-Module/32643950109.html?spm=a2g0s.9042311.0.0.4WwTuy По 7-сегментным не подскажу, никогда с ними не работал. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1240] Автор : veso74 Дата : 12.02.2018 22:10 ... с сегментными индикаторами, 3-4 разряда. На ардуино ткие попадались? Есть вовсе не дорого 4 разрядной LED дисплей с драйвер на ИС TM1637. Управление (с внешном библиотеки) оч. простое (две шины данных). Есть в разных цветов. Я использовал зеленой для часов, цифры выглядит хорошо. A 8-разрядной дисплей (драйвер ИС MAX7219, 3 шин данных) еще красивее, числа маленькие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1241] Автор : R2DHG Дата : 12.02.2018 22:16 Да, с такими штуками просто. Можно и без https://www.youtube.com/watch?v=WyzUat3rnow а вот понавороченнее не попадались. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1242] Автор : UN7RX Дата : 12.02.2018 22:31 Парни, спасибо конечно, но сейчас есть либо разные двухстрочные, либо одиночные, парные, строенные семисегментные, без всяких хитроумных встроенных дешифраторов. То есть если что-то выписывать, то смысл в ардуино которые тоже есть сейчас, напрочь пропадает проще выписать PIC16F628 и собрать куда более простой и функциональный таймер (http://smartelectronix.biz/publ/novyj_kontroller_ultrafioletovoj_lampy_dlja_izgotovlenija_plat/1-1-0-53) на нем, а не ардуино. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1243] Автор : UA9SJR Дата : 13.02.2018 18:00 Неужели никто не знает, как регулировать яркость в графическом дисплее? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1244] Автор : RW3ACQ Дата : 13.02.2018 18:11 UA9SJR, Дайте, пожалуйста, ссылку на лот с фоткой или фото дисплея со стороны пинов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1245] Автор : UA9SJR Дата : 13.02.2018 19:01 Вот ссылка на лот https://ru.aliexpress.com/item/3-2-TFT-LCD-Touch-TFT-3-2-inch-Shield-Mega-2560-R3-with-usb-cable/32651681722.html?spm=2114.13010708.0.0.ak6hyX Добавлено через 29 минут(ы): 281997Вот фото дисплея.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1246] Автор : RW3ACQ Дата : 13.02.2018 19:08 UA9SJR, спасибо! Недостаточная яркость TFT обычно связана с величиной тока, протекающего через светодиод подсветки. У вас есть там стабилизатор напряжения. Если питание идёт от 3 вольт, попробуйте замкнуть J1, но предварительно всё же сопротивление в 30 Oм поставьте в разрыв питания LED. Надо организовать питание LED подав 3 вольта через ограничивающий резистор 30 Oм и посмотреть на яркость и что изменится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1247] Автор : UA9SJR Дата : 13.02.2018 19:23 Питание от 5 вольт или от USB(питание Ардуино, на плате расширения стоит стабилизатор 3,3 вольта). Замкнуть J1 не проблема, как ограничить ток светодиода подсветки, то есть куда практически поставить резистор, где разорвать питание? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1248] Автор : RW3ACQ Дата : 13.02.2018 19:25 UA9SJR, чуть поближе надписи у пинов можете отснять, пожалуйста? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1249] Автор : UA9SJR Дата : 13.02.2018 19:36 281999 Я так понимаю, что нам нужна ножка №19 LED_A, последовательно с этой ногой стоит резистор 3,9 ома, куда дальше идет не видно.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1250] Автор : RW3ACQ Дата : 13.02.2018 19:43 UA9SJR, да, вполне возможно, что она, если нет других надписей, содержащих "LED" Я бы вам предложил следующие действия: 1) Питание 3.3В, перемычку не ставим, можно промерить ток в цепи. 2) Питание 3.3В, перемычку не ставим, ставим 30 ом, промеряем ток в цепи. 3) Питание 3.3В, перемычку ставим, 30 Ом оставляем, смотрим яркость и ток в цепи. Сопротивление 30 ом ставим непосредственно в разрыв провода, идущего к LED A -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1251] Автор : UA9SJR Дата : 13.02.2018 20:00 Сергей, спасибо за помощь, но думаю все ваши 282001советы не выполнимы, поскольку в таком бутерброде никуда не подлезешь...Можно попробовать изменить резистор R5 (3,9 ома), это скорее всего ограничитель тока, но будет проблемно выполнить физически, у меня самый маленький 0805, а там наверное 0406. Вот не понятно что такое перемычка J1. Попробую поискать даташит на дисплей. Вообще то я честно сказать думал, что можно регулировать программно(в драйвере задается числовое значение). Поскольку стоят стабилизаторы 3,3 вольта то не должно быть большого разброса в яркости дисплеев, короче не понятен полет их мысли (китайцев). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1252] Автор : RW3ACQ Дата : 13.02.2018 20:09 UA9SJR, я понял) Бутербродное исполнение всё портит, вижу фото. Вот Вам ссылка на arduino.cc, народ обсуждает на 27 страницах проблемы подключения ILI9341 к ардуинам, По одной из версий J1 и регулятор нужен, когда идёт питание не 3, а 5 Вольт на дисплей. J1 перемыкается в том случае, когда точно подаётся 3В на питание и на подсветку (обход стабилизатора). На своём дисплее не проверял это, всё через резистор 30 ом при 3В, у меня UNO и дисплей 2.4" на ILI9341. Почитайте на досуге ссылочку (https://forum.arduino.cc/index.php?topic=181679.75). Напишите, как-нибудь, чего удалось достичь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1253] Автор : UA9SJR Дата : 13.02.2018 20:34 Хорошо, Сергей, попробую....Вообще не очень понятно, я перекопал кучу литературы и везде люди не могут включить дисплей после покупки-экран серый и нет никаких следов цветного изображения, хотя везде пишут-поставьте библиотеку драйверов и все заработает. Тестовая программа то должна работать! Решил сейчас померить напряжение на 19 ноге, поскольку возраст то уже далеко не...короче случайно коротнул 19 и 18 ноги-и все заработало! Яркость возросла в несколько раз(три-это точно) Вот теперь бы переварить все это...и понять. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1254] Автор : ur3ilf Дата : 13.02.2018 20:35 Я так понимаю, что нам нужна ножка №19 LED_A, последовательно с этой ногой стоит резистор 3,9 ома, куда дальше идет не видно.... Этот резистор не трогайте. Он идёт на светодиоды подсветки. А на плате согласования между кренкой и разъёмом в районе выводов 36-40 стоит 0603 резистор. Вот его замените на 4-10 ом и яркость подсветки придёт в норму. Он получается в цепи подсветки последовательно включенным с резистором на плате дисплея. В принципе его можно даже заменить нулёвкой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1255] Автор : UA9SJR Дата : 13.02.2018 20:45 282009 Прости, но нет там у меня резистора 0603. Слева стоит 0406, номинал не вижу....и справа два кондера...Или я не там смотрю? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1256] Автор : ur3ilf Дата : 13.02.2018 21:25 Правильно смотрите. У меня в пяти платах все 0603 были. Суть это не меняет. Измерьте этот резистор и сразу же поймёте куда девалась ваша подсветка. Именно он ограничивает ток подсветки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1257] Автор : UA9SJR Дата : 13.02.2018 21:42 99 ом:oops::oops: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1258] Автор : UA9SJR Дата : 14.02.2018 09:12 Заменил резистор 99 ом на резистор 15 ом(правда 0805) дисплей работает прекрасно, яркость нормальная. ur3ilf, спасибо за помощь!:пиво::пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1259] Автор : Integral Дата : 04.03.2018 01:19 Сделали с Александром D0ITC промежуточный проект универсального дешифратора диапазонов на плате Mega 2560. Устройство определяет на какой частоте происходит передача и подключает необходимый ФНЧ. Как это работает можно посмотреть на видео. Если делать отдельное устройство, то проще перенести проект на 168 или 328 Атмегу, применив двухстрочный индикатор. //******************** ******************** ******************** ******************** ******************** ******************** ******************** ********* // Программа дешифратора // TFT_HX8357 25февраля 2018года // г.Снежное, ДНР, D0ITC, D0ISM //******************** ******************** ******************** ******************** ******************** ******************** ******* Подключаем библиотеки #include //подключаем библиотеку для индикатора HX8357 #include "Free_Fonts.h" //подключаем шрифт Free_Fonts //******************** ******************** ******************** ******************** ******************** ******************** ************ Задаём константы #define D0 0 //константа порта подключения дешифратора ФНЧ(D0) #define D1 1 //константа порта подключения дешифратора ФНЧ(D1) #define D2 2 //константа порта подключения дешифратора ФНЧ(D2) #define D3 3 //константа порта подключения дешифратора ФНЧ(D3) #define Freq 47 //константа порта измерения частоты входного сигнала TFT_HX8357 tft = TFT_HX8357(); //инициализация дисплея //******************** ******************** ******************** ******************** ******************** ******************** ******** Назначаем переменные float frq=0; //переменная частоты входного сигнала int frq_get=0; //переменная после сравнения частоты для шифрации float frq_old1=0; //переменная для сравнения первого цикла float frq_old2=0; //переменная для сравнения второго цикла float frq_old3=0; //переменная для сравнения третьего цикла volatile unsigned long timerCounts; //таймер расчёта при измерении частоты входного сигнала volatile boolean counterReady; //конечный подсчет unsigned long overflowCount; //расчёт переполнения unsigned int timerTicks; //таймер прерываний unsigned int timerPeriod; //таймер периода //******************** ******************** ******************** ******************** ******************** ******************** *** Подпрограмма начала счета void startCounting (unsigned int ms){ counterReady=false; //готовность счётчика timerPeriod=ms; //количество импульсов на входе за 1 мс timerTicks=0; //сброс счетчика прерываний overflowCount=0; //счётчик переполнений TCCR2A=0; TCCR2B=0; TCCR5A=0; TCCR5B=0; //сброс таймера 2 и таймера 5 TIMSK5=bit(TOIE1); //таймер 5-подсчет импульсов на pin D47, прерывание при переполнении таймера 5 TCCR2A=bit(WGM21) ; //режим CTC OCR2A=123; //подсчёт 125 тиков для получения 1мс(корректировка показаний) TIMSK2=bit(OCIE2A); //timer 2-прерывание каждую 1 мс, включаем прерывание Timer2 TCNT2=0; TCNT5=0; //сброс счётчиков 2 и 5 GTCCR=bit(PSRASY); //сброс предделителя, таймер 2 TCCR2B=bit(CS20)|bit (CS22); //предделитель на 128, запуск таймера 5 TCCR5B=bit(CS50)|bit (CS51)|bit(CS52);} //чтение частоты на T4 pin (D47) ISR (TIMER5_OVF_vect){++ overflowCount;} //подсчет числа переполнения счетчика 5, конец TIMER5_OVF_vect ISR (TIMER2_COMPA_vect){ //таймер 2 прерываний запускается аппаратным таймером 2 каждую 1мс=1000Гц unsigned int timer5CounterValue; //получить значение счетчика,перед его изменением timer5CounterValue=T CNT5; //см.datasheet, (доступ к 16-битным регистрам) if (++timerTicksfrq_old1){frq_old1=f rq;}} //получаем наивысшую частоту "frq_old1" for (int i=0; i<3; i++){startCounting(2 ); delay(2); //включаем цикл и выставляем 2мс для подсчёта частоты frq=((timerCounts*16 )/100)/timerPeriod; //измеряем входную частоту в МГц(шаг 100кГц) if (frq>frq_old2){frq_old2=f rq;}} //получаем наивысшую частоту "frq_old2" for (int i=0; i<3; i++){startCounting(2 ); delay(2); //включаем цикл и выставляем 2мс для подсчёта частоты frq=((timerCounts*16 )/100)/timerPeriod; //измеряем входную частоту в МГц(шаг 100кГц) if (frq>frq_old3){frq_old3=f rq;}} //получаем наивысшую частоту "frq_old3" if ((frq_old1==frq_old2 )&&(frq_old2==frq_old3) ) //сравниваем три частоты {frq_get=frq_old1;} //и при их равенстве записываем в "frq_get" tft.setTextColor(TFT _GREEN,TFT_BLACK); tft.setTextPadding(1 30); //выбираем цвет текста и включаем обновление подложки шрифта switch (frq_get){ //после цикла выбора наивысшей частоты и совпадения частот case 16 ... 30: tft.drawCentreString ("160m",240,170,6); //----------------- 160m ------------------- digitalWrite(D0,HIGH ); digitalWrite(D1,LOW) ; //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,LOW) ; digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=0--D1=0--D0=1 --------- case 31 ... 50: tft.drawCentreString ("80m",240,170,6); //------------------ 80m ------------------- digitalWrite(D0,LOW) ; digitalWrite(D1,HIGH ); //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,LOW) ; digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=0--D1=1--D0=0 --------- case 51 ... 80: tft.drawCentreString ("40m",240,170,6); //------------------ 40m ------------------- digitalWrite(D0,HIGH ); digitalWrite(D1,HIGH ); //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,LOW) ; digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=0--D1=1--D0=1 --------- case 81 ... 120: tft.drawCentreString ("30m",240,170,6); //------------------ 30m ------------------- digitalWrite(D0,LOW) ; digitalWrite(D1,LOW) ; //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,HIGH ); digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=1--D1=0--D0=0 --------- case 121 ... 160: tft.drawCentreString ("20m",240,170,6); //------------------ 20m ------------------- digitalWrite(D0,HIGH ); digitalWrite(D1,LOW) ; //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,HIGH ); digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=1--D1=0--D0=1 --------- case 161 ... 190: tft.drawCentreString ("17m",240,170,6); //------------------ 17m ------------------- digitalWrite(D0,LOW) ; digitalWrite(D1,HIGH ); //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,HIGH ); digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=1--D1=1--D0=0 --------- case 191 ... 230: tft.drawCentreString ("15m",240,170,6); //------------------ 15m ------------------- digitalWrite(D0,HIGH ); digitalWrite(D1,HIGH ); //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,HIGH ); digitalWrite(D3,LOW) ; break; //--------- D3=0--D2=1--D1=1--D0=1 --------- case 231 ... 260: tft.drawCentreString ("12m",240,170,6); //------------------ 12m ------------------- digitalWrite(D0,LOW) ; digitalWrite(D1,LOW) ; //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,LOW) ; digitalWrite(D3,HIGH ); break; //--------- D3=1--D2=0--D1=0--D0=0 --------- case 261 ... 300: tft.drawCentreString ("10m",240,170,6); //------------------ 10m ------------------- digitalWrite(D0,HIGH ); digitalWrite(D1,LOW) ; //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,LOW) ; digitalWrite(D3,HIGH ); break; //--------- D3=1--D2=0--D1=0--D0=1 --------- case 301 ... 510: tft.drawCentreString ("6m",240,170,6); //-------------------6m--------------------- digitalWrite(D0,LOW) ; digitalWrite(D1,LOW) ; //вывод кода для дешифратора диапазонных ФНЧ digitalWrite(D2,LOW) ; digitalWrite(D3,LOW) ; break;} //--------- D3=0--D2=0--D1=0--D0=0 --------- if (frq3 такую дугу потянет, можно ограничиться до 3. Там комменты в коде подробные, можно разобраться. часы в УМ - не совсем обязательная вещь Я то делал прибор настольный, да и практиковался в программировании. Там свой код для часов сделал, с "кукушкой" - каждые 30 и 60 минут. Если смотрели крайний скетч, где добавил меню, часы пришлось выкинуть. Иначе памяти не хватает. Сергей, подскажите, пожалуйста, как вывести возле надписей Uan= (значение напряжения с порта А2) и Ian= (с порта А3), потому что не знаю как это дописать. Запишу ваш код и посмотрю что там можно сделать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1304] Автор : R2DRH Дата : 15.10.2018 23:20 Доправил прошивку: градусники ксв начинаются с 1, доправил корректный вывод цифр (в некоторых позициях оставались значения от предыдущих цифр), градусники прямой и обратки масштабируются 0-50 W (0-511 ), далее 0-100 W(0-1023). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1305] Автор : Владимир_К Дата : 21.10.2018 10:33 Коллеги, нужна помощь. Проблема в следующем. Есть желание немного подправить работу антенного анализатора: http://www.cqham.ru/forum/showthread.php?36055-RF-%E0%ED%E0%EB%E8%E7%E0%F2%EE%F0-%EE%F2-JA2NKD под свои хотелки. К сожалению, что-то не получается в дисплеем в Протеусе. Не соответствуют цвета, но это не проблема в общем. Главное - не правильно выводит вертикальную линию на экран. Горизонтальную правильно. Библиотека для Ардуино Ucglib_Arduino-1.5.2. Скачал с сайта автора: https://github.com/olikraus/ucglib/wiki последнюю версию. Но, работает также как и предыдущие. Но деле скорее не в этом. Возможно кривая модель дисплея в Протеусе. Контроллер дисплея ILI9341. Дисплей 320х240 2,8". Вот например вывод вертикальной линии - команда ucg.drawVLine(60,-40,180); Первое значение - 60, это расстояние по Х, вроде правильно, последнее значение - длина линии 180, вроде тоже нормально. А вот среднее - Y, какие значения я не подставляю, линия проходит выше от нижнего края. Загнал прошивку от автора анализатора в Протеус, то же самое. Клетки графика смещены вверх. Может кто сталкивался с этим и как бороться? Может неправильно координаты ввожу. Хотя горизонтальная правильно выводится. Вот здесь выведена по команде: ucg.drawHLine(10,235,300); То есть х=10, Y-235 (расстояние от верхнего края), длина 300. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1306] Автор : Tolya Дата : 23.10.2018 15:30 Случайно в тырнете наткнулся на CatDisplay для FT-817,857 и 897...интересно.?! а кто нибудь пробовал повторить такой ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1307] Автор : R2DHG Дата : 23.10.2018 15:45 Штука нехитрая, но она CAT занимает, сквозное подключение компа или чего другого к CAT с этой штукой сделать не получится. Вот например вывод вертикальной линии - команда ucg.drawVLine(60,-40,180); Первое значение - 60, это расстояние по Х, вроде правильно, последнее значение - длина линии 180, вроде тоже нормально. А вот среднее - Y, какие значения я не подставляю, линия проходит выше от нижнего края. Там вроде координаты начала и длина. Т.е. ucg.drawVLine(60,0,240); должна быть вертикальная во весь экран (если с 0, ну или 1). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1308] Автор : Tolya Дата : 23.10.2018 16:20 После экспериментов с Ардуино и трансивером FT-857,осталось парочка Ардуино..одну я приспособил,сделал паяльную станцию и с помощью её поменял процессор в трансивере,тут наткнулся на эту статью в инете..и вдруг удасться и эту Ардуино пристроить... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1309] Автор : Владимир_К Дата : 23.10.2018 16:24 Там вроде координаты начала и длина. Это я понял. Но Протеус искажает не только то, что я написал, но и программу от автора анализатора. Вертикальные линии на экране также смещены вверх, но в железе нормально. Прошивка анализатора от Андрея (UR3ILF) в протеусе с этим же дисплеем работает нормально. Разница между прошивками в том, что одна в среде Ардуино, вторая Bascom, соответственно и разные библиотеки. . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1310] Автор : UT0UM Дата : 23.10.2018 22:57 Штука нехитрая, но она CAT занимает, сквозное подключение компа или чего другого к CAT с этой штукой сделать не получится. ну можно же сделать на ардуине 2 ком порта один к компу, второй к транисиверу и форвардить трафик от компа к трансиверу и обратно для нормальной работы лога можно спокойно раз в секунду слать по САТ команду с компа в трансивер а в промежутках между команд с компа опрашивать трансивер для вывода инфо на этот LCD можно даже тачскрин заюзать, чтобы оперативно управлять трансивером -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1311] Автор : ur7hfo Дата : 24.10.2018 23:13 сквозное подключение компа или чего другого к CAT с этой штукой сделать не получится. Получится, и не важно какой штукой :-) Пробовал и програмно (форвард меж двумя уартами), но на ардуино оно безбожно тупило и тормозило при перестройке частоты из логгера. Особенно это явно было в случае MixW, ,более менее работало с Omnirig , поэтому отказался от такого метода. Мое мнение, средствами ардуины качественно такй форвардинг не сделать, в вот если забить на среду ардуино, и использовать AvrStudio , то думаю можно. Но в нашем случае , такой форвардинг решается аппаратно , видео работы тут , там же и схема. И неважно какой контроллер используется, главное чтоб два уарта было. Ссылка на тему форума - http://www.cqham.ru/forum/showthread.php?9366-BandData-decoder-%E4%EB%FF-Kenwood&p=1575797&viewfull=1#post1575797 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1312] Автор : UR5ZEW Дата : 12.11.2018 06:06 Здравствуйте. Я начинающий в микроконтроллерах, опыта пока ещё нет, но реальные здачи уже поставили.:crazy: В общем задача состоит в постройке дуплексного или полудуплексного переговорного устройства с применением беспроводной сети на модулях Lora и модулем ESP32, связать два устройства между собой и обмениваться данными с скоростью 115200 , у меня получилось,а вот чем и как сжимать и передавать звук в реальном времени , ну ни как не соображу. Понимаю , что нужен ацп-цап кодак, но на железном уровне не связывался с ними. В общем нужно сжимать и разжимать звук в реальном времени с малым битрейтом и передавать. Может кто-то сталкивался с подобными устройствами, подскажите пожалуйста как это можно "исполнить" на железном уровне? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1313] Автор : Integral Дата : 12.11.2018 09:04 Нечто подобное попадалось на Ютубе https://www.youtube.com/watch?v=bgpNbGDZrEg -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1314] Автор : UR5ZEW Дата : 12.11.2018 09:14 Integral,Да , спасибо , я видел , но не то совсем. Здесь нужно увязать несколько устройств в сеть Lora, чтоб они могли перекрикиваться друг с другом.Основная проблема у меня, это оцифровать звук в реальном времени и передать, соответственно принять. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1315] Автор : R2DHG Дата : 12.11.2018 09:18 Китайцы нечто похожее готовое продают для связи мотоциклистов/велосипедистов. На ардуине не видел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1316] Автор : tomcat Дата : 14.11.2018 12:09 Рация на Arduino + NRF24L01 2.4ГГц - повторял даный проект. Неустойчивая связь у этого проекта. Это так, больше для тренировок в ардуино строении. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1317] Автор : Georgi Дата : 20.11.2018 19:13 http://rfanat.ru/s25/Si5351_RxTx_VFO.ino Прошу помощь начинающему ардуинщику:oops: в пошаговой подсказке как вставить вышеприведенный скетч в поле Ардуино для его заливки в плату Про мини. То есть, заменить скетч Блинк на этот. Все драйвера и скетч Блинк победил успешно:-P !!! А с этим непонятки:-(:oops:. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1318] Автор : UD0DAB Дата : 20.11.2018 19:19 скачайте файл себе на компьютер хоть на рабочий стол. Заходите в среду ардуино и там сверху справа - файл/открыть... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1319] Автор : RN3GP Дата : 20.11.2018 19:32 В картинках. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1320] Автор : Georgi Дата : 20.11.2018 19:53 UD0CAJ, не получается "открыть". У меня "Файл" слева, а не справа:-( Добавлено через 7 минут(ы): UD0CAJ, не получается "открыть". У меня "Файл" слева, а не справа:-( RN3GP, у меня не совсем такая картинка, версия 1.8.7:-( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1321] Автор : Владимир_К Дата : 20.11.2018 20:30 у меня не совсем такая картинка, Неважно какая картинка. Скачайте в компьютер файл Si5351A_RXTX_VFO.ino. Затем открываете свой 1.8.7. Нажимаете Файл или File, затем открыть или Open. Указываете путь к файлу и открываете его. Появится еще одно окно в котором откроется текст программы (скетч). Теперь Вы его можете править как Вам захочется (пока не советую:smile:). Потом жмакаете чуть ниже в кружочке "птичку". Там когда на нее наступаете чуть правее появляется "проверить" или verify. Это компиляция файла. Если компиляция прошла успешно, то можно "заливать" скетч в Ардуино. Для этого нужно зайти в меню "Tools" или если русская версия, то "настройки", выбрать плату или "Board". В открывшейся куче плат, выбрать "Arduino Pro or Pro Mini", в том же окошке "Tools" указать порт. Номер порта нужно узнать в менеджере оборудования, для этого заходим в Мой компьютер, потом сведения о системе, менеджер оборудования и там где указаны порты находите надпись с указанием подключенного девайса (например СН340) и там же номер виртуального порта, это может быть, например, как у меня COM3. После всех этих манипуляций, жмете на стрелку, которая находится рядом с "птичкой". Когда наводите курсор на нее, правее появляется надпись Upload, если англицкая версия, если русская, то не помню, может "прошить". Все. Ждете несколько секунд. Если файл большой, то несколько десятков секунд. Если все хорошо, то поймете, что хорошо. Ну и хорошо бы сначала посмотреть например здесь: http://arduino.ru/Arduino_environment и здесь: http://arduino.ru/Guide/Windows -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1322] Автор : Georgi Дата : 20.11.2018 20:58 Указываете путь к файлу и открываете его.Вот здесь не получается, табличка,что Ардуино может открывать только свои файлы типа ino, pde:-( Попробуйте, пож., у себя -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1323] Автор : RT9I Дата : 20.11.2018 21:09 Ардуино может открывать только свои файлы типа ino, pde Так вы сохраните файл как .ino a не .ino.txt :shock: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1324] Автор : Georgi Дата : 20.11.2018 21:25 Так вы сохраните файл как .ino a не .ino.txt Не знаю, ка изменить вид файла:-( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1325] Автор : Владимир_К Дата : 20.11.2018 21:30 Вот здесь не получается Откройте этот файл любым текстовым редактором, выделите все. Затем нажмите "скопировать". Откройте IDE Arduino. Нажмите файл - новый или(File - New) В открывшемся окне вставьте скопированный текст. Теперь нажмите "сохранить как", и присвойте ему свое имя, запомните путь куда сохранили. Все скетч у Вас есть. дальше действуйте как я писал выше. Но, к сожалению у меня он не компилируется. Пишет "No such or direktory". Что это значит? Там в начале текста скетча, есть несколько директив например: #include #include #include #include #include #include #include Это указание какие библиотеки должны быть в Вашей программе. Этих библиотек скорее всего у Вас пока нет. Их надо найти в интернете, скачать их в папку Program files - Arduino- libreris. То есть, на Вашем компьютере надо найти куда вы установили IDE Arduino и туда скачать библиотеки. Потом попытаться снова скомпилировать скетч. Не знаю, ка изменить вид файла Правой кнопкой мыши на имени файла "переименовать" или "Rename". Изменить расширение файта txt на ino. Но я так не делал. Обычно делал так как написал выше (просто так привык). А так как написал RT9I, может и удобней. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1326] Автор : Georgi Дата : 20.11.2018 21:47 Владимир_К, буду разбираться и пробовать:facepalm: Спасибо! О результатах доложу -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1327] Автор : Владимир_К Дата : 20.11.2018 22:13 Вот тут скачайте библиотеки для Adafruit_GFX.h и Adafruit_SSD1306.h, так как без них у Вас компилироваться не будет. https://www.arduinolibraries.info/libraries/adafruit-gfx-library https://www.arduinolibraries.info/libraries/adafruit-ssd1306 Скачайте архивы, вставьте в папку - libreris программы Ардуино, как я выше писал, распакуйте. Скачивайте последние версии, от 2018 года. Снова запустите компиляцию. Будет еще "ругаться". Например на библиотеку Si5351A. И я пока ее не могу найти. То есть нашел несколько, но ни одна не работает. Боюсь как бы автор не применил свою оригинальную. Дайте ссылку на проект, может там автор выложил эту библиотеку? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1328] Автор : veso74 Дата : 20.11.2018 22:36 Владимир_К, с версии 2.0.1 все ОК (только warnings за неиспользование переменных): Library for the Si5351 clock generator: https://github.com/etherkit/Si5351Arduino/releases -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1329] Автор : Georgi Дата : 20.11.2018 22:43 айте ссылку на проект, может там автор выложил эту библиотеку? Сайт Ю. Большакова Радиофанат. Установил старшую версию 1.6.3, УНО и НАНО всё хорошо, но скетч не открывается, ошибка та же -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1330] Автор : Владимир_К Дата : 20.11.2018 23:27 с версии 2.0.1 все ОК Да, спасибо. Нормально скомпилировалось, без ошибок. но скетч не открывается, ошибка та же Подробно, почему не открывается? Еще раз внимательнее прочитайте, что я Вам писал. Вот приложил скетч. Скачайте, распакуйте и откройте в IDE Arduino. То, что он имеет такое имя, не обращайте внимания. Можете переименовать как Вам нравится. Но если уж никак не получается, то вот НЕХ-файл... Можете зашить в Ардуино с помощью Xloader. Но все же попытайтесь разобраться.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1331] Автор : Georgi Дата : 21.11.2018 00:39 удалено -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1332] Автор : Georgi Дата : 21.11.2018 14:25 Владимир_К, veso74,Огромное Вам спасибо!!! Победил эту Ардуинку:-P, теперь жду дисплей - заказал разные - 0,91 0,96 и 1,3. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1333] Автор : Georgi Дата : 22.11.2018 12:11 Теперь,вероятно, придётся "залезть" в скетч:-(. Вопрос такой - Oled дисплеи имеют разные разрешения 128х64 и 128х32, но одинаковые контролеры и, я так думаю, что разные адреса. Как в скетче это записано и возможно ли внести соответствующие изменения? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1334] Автор : veso74 Дата : 22.11.2018 14:34 ... Как в скетче это записано и возможно ли внести соответствующие изменения? В инициализации дисплея. Для помощи посмотрите в примери билиотеки Adafruit_SSD1306: \Adafruit_SSD1306-master\examples: display.begin (SSD1306_SWITCHCAPVCC, 0x3C) { // Address 0x3C for 128x32 ... display.begin (SSD1306_SWITCHCAPVCC, 0x3D) { // Address 0x3D for 128x64 ... т.е. в Si5351_RxTx_VFO.ino, строка 332: display.begin (SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x64) введите необходимые параметры. (Конечно, надписи, цифры по дисплею будут с другими координатами и/или размеры (х32 -> х64 и наоборот). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1335] Автор : R3EZ Дата : 02.12.2018 10:15 Повторил на макете конструкцию Сергея UT0IS/D0ISM, версия с часами. Все вроде работает, но столкнулся с появлением время от времени на дисплее вертикальных "прострелов" в виде линий. 301484 Сначала подумал, что это болтаются соединительные провода на штырьках платы и заменил все провода, идущие к дисплею на паяные соединения. 301485 К сожалению не помогло. Тогда предположил, что идет помеха по входам A0 и A1, к которым подключены переменные резисторы, имитирующие датчики прямой и обратной волны. Зашунтировал эти цепи, а также питание дисплея конденсаторами, установленными прямо на ножки разъемов. Результат не изменился. 301486 Заметил, что эти помехи на экране появляются в одних и тех же местах. Так что природа их скорее всего не внешний фактор. Были случаи когда изображение само переворачивалось и зеркалилось. 301487 Вопрос ко всем и прежде всего к Сергею: встречались ли Вы с подобным явлением и как его победить? 301488 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1336] Автор : Integral Дата : 02.12.2018 12:37 R3EZ, подобных артефактов на экране у меня не было. На макете такой же "ежик" из проводов: 301494 Помеха по аналоговым входам А0 и А1 к такому результату вряд ли приведет. А вот по цифровым сигналам (CLK, SDI, RS, RST, CS) к индикатору вполне возможно. Или не исправен сам индикатор. Вам надо для пробы записать какой-нибудь другой скетч и проверить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1337] Автор : R3EZ Дата : 02.12.2018 14:05 Вам надо для пробы записать какой-нибудь другой скетч и проверить. Сергей, спасибо за ответ. Я уже и сам подумал об этом, но решил проверить. Залил версию 2_28.1. Подключил кнопки, экран вообще залился белым цветом. Это и раньше происходило, но причина была неясна. И тут я обнаружил, что вывод питания +5 В на шильде Nano (идущий к выводу 1 дисплея) соскочил со штырька. 301502 После того как было обеспечено надежное соединение все помехи пропали. Вернулся опять к версии с часами. Дисплей больше не реагирует ни на какие шевеления проводами или перемещение кнопок, платы часов и потенциометров. 301503 301504 Так что причина всех бед найдена. Заметил только, что при питании от USB ноутбука при подключении флешки от цифровой камеры к картридеру (чтобы скачать выложенные здесь снимки), происходит перезагрузка контроллера. Но это уже похоже на особенности Windows так реагировать на определение новых портов при подключении других устройств. Как то так. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1338] Автор : Integral Дата : 02.12.2018 14:48 R3EZ, версии 2.28 и 2.28.1 с кнопками. Последняя экспериментальная, хотел уменьшить размер прошивки, чтобы всунуть часы. Уменьшить не получилось, но быстродействие АЦП поднялось приблизительно в 2 раза. Работает в вашем индикаторе снижение яркости подсветки при переходе на заставку? Я в скетче сделал плавное снижение яркости перед переходом на заставку с часами и при возвращении в режим измерения яркость подсветки должна восстановиться. У меня индикатор ILI9225 2.2", на Али таких индикаторов почти не осталось, есть 2.0" и у них нет регулировки яркости по ШИМ. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1339] Автор : R3EZ Дата : 02.12.2018 18:03 Работает в вашем индикаторе снижение яркости подсветки при переходе на заставку? Да. Работает. И часы подают звуковой сигнал каждые полчаса. Я загрузил версию 2.27, только изменил некоторые параметры (мощность до 1000 Вт с шагом 5 и время перехода на часы уменьшил, чтобы долго не ждать). Вечером подключил к внешнему источнику питания, и снова начались глюки. Все-таки мне кажется, что виноваты плохие контакты. Источник "гладкий" на LM317, не импульсник. Пока передергиваю провода и наблюдаю. 301521 301522 Дисплей такой: 301525 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1340] Автор : R3EZ Дата : 02.12.2018 19:28 Припаял провода питания дисплея (1-й и 2-ой выводы) непосредственно на плату Nano. Лучше не стало, скорее наоборот. Заметил еще одну особенность. При засветке белым цветом области справа (как на среднем фото в предыдущем посте ), при переходе из режима измерения в режим отображения часов и обратно, засвеченная область не исчезает, хотя программно происходит обновление экрана. Это уже наводит на мысль о неисправности самого контроллера дисплея. Для чистоты эксперимента можно, конечно, все соединения перевести на пайку. Также можно попробовать провести тест дисплея отдельно и на другой платформе, допустим Uno. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1341] Автор : R2DRH Дата : 02.12.2018 19:55 Вставлю свои 3 копейки. Ксв метры на tft и lcd, пока tft не в окончательном варианте - доделывается корпус, ВЧ часть и будет дополнятся прошивка, но вчера и сегодня поработал в эфире с ним. 301531301532301533301534301535 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1342] Автор : R3EZ Дата : 02.12.2018 22:37 Ксв метры на tft и lcd, пока tft не в окончательном варианте... Что касается КСВ метров на LCD, то уже почти 5 лет как собрана и используется конструкция Евгения UN7GCE на PIC16F876 + LCD1602 в усилителе на ГУ-81. Плата расположена в выходном контуре над конденсатором "горячего" конца. Никаких сбоев не наблюдалось. Прибор Сергея D0ISM задумывался или на замену или как самостоятельное устройство. Причем при соответствующем датчике его можно было бы использовать для контроля и настройки(подстройки) УМ ГИ-7Б на 144 МГц в полевых условиях во время выездов на соревнования. Кому интересна моя конструкция на PIC (здесь небольшое отклонение от темы Arduino): Прошивка от UN7GCE, #844 http://www.cqham.ru/forum/showthread.php?12716-%D6%E8%F4%F0%EE%E2%EE%E9-%E8%E7%EC%E5%F0%E8%F2%E5%EB%FC-%CA%D1%C2-%E8-%EC%EE%F9%ED%EE%F1%F2%E8-%ED%E0-PIC-%E5/page85 Конструкция Тандем матч, #889 http://www.cqham.ru/forum/showthread.php?12716-%D6%E8%F4%F0%EE%E2%EE%E9-%E8%E7%EC%E5%F0%E8%F2%E5%EB%FC-%CA%D1%C2-%E8-%EC%EE%F9%ED%EE%F1%F2%E8-%ED%E0-PIC-%E5/page89 Собственно сам усилитель со встроенным измерителем, #932 http://www.cqham.ru/forum/showthread.php?12716-%D6%E8%F4%F0%EE%E2%EE%E9-%E8%E7%EC%E5%F0%E8%F2%E5%EB%FC-%CA%D1%C2-%E8-%EC%EE%F9%ED%EE%F1%F2%E8-%ED%E0-PIC-%E5/page94 и автономная версия для R2EL, #952 http://www.cqham.ru/forum/showthread.php?12716-%D6%E8%F4%F0%EE%E2%EE%E9-%E8%E7%EC%E5%F0%E8%F2%E5%EB%FC-%CA%D1%C2-%E8-%EC%EE%F9%ED%EE%F1%F2%E8-%ED%E0-PIC-%E5/page96 Схема 301542 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1343] Автор : R2DRH Дата : 02.12.2018 23:15 Я делаю как самостоятельное устройство. Задача - сделать самому на основе Атмеги. Ардуино, после долгих размышлений подошёл практически идеально. LCD дисплей видно на солнце при использовании в полях, по сему сделал и на нем, tft прикольно и в цвете. Да и по сути главное -исполнение ВЧ части ( датчика, платы, подбора элементов, экранировки). Ну а написать прошивку - как нравитцо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1344] Автор : R3EZ Дата : 03.12.2018 15:07 Задача - сделать самому на основе Атмеги. Ардуино, после долгих размышлений подошёл практически идеально. LCD дисплей видно на солнце при использовании в полях... На Ардуино пришлось переводить две поворотки Emotator как раз для полей. В одной забарахлил двигатель в пульте управления и был сделан резервный пульт на случай отказа. Вторую поворотку переделывали по причине того, что в качестве индикатора использовался стрелочный прибор с картой Японии, который для полей ну никак не годился. В обоих случаях был применен Arduino Uno + LCD 1602. 301565 Далее было решено произвести еще доработку, так как, во-первых, для питания приходилось возить с собой понижающий трансформатор на ~100 В, а во вторых помехи от коммутации двигателя и магнита тормоза иногда давали помеху на Ардуино. Это было не страшно, так как после перезагрузки все восстанавливалось, но надоедало. В результате был выброшен родной трансформатор на 100 В и заменен на другой, рассчитанный на питание от 220 В, вторичные обмотки которого обеспечивали те же 100 В и ток не менее 0,6 А для питания двигателя и электромагнита. Причем коммутацию обмоток было решено осуществить через 4-х канальное твердотельное реле с Али. В результате ток управления через кнопки упал с 600 мА до 0,3 мА. Плюс один резервный канал управления. 301566 Но как всегда хочется большего, например, вместо LCD с кнопками установить TFT с тачскрином. И меню калибровки и предустановки азимута реализовать на экране, а не кнопками. 301567 Кстати, этот дисплей не подвержен помехам в отличие от предыдущего. Или платформа другая. Теперь о конструкции D0ISM. Сегодня продолжил эксперименты. Сначала осциллографом посмотрел сигналы на ножках дисплея. Все вроде в порядке. Далее подключил питание от USB и наблюдал. Никаких помех. Примерно через час подключил ноутбук к сети. Устройство никак не отреагировало. Прошло два часа, ни единого сбоя. После этого подключил прибор через другой внешний блок питания 12 В на ЕН8 (первый на LM317). И сразу пошли помехи, хоть и в меньшей степени. Осталось только подключить все напрямую к Nano и проверить кто виноват: Nano или шильд расширения. Еще бы попробовать на платформе Uno, но наверное потребуется корректировка скетча. Или уж дождаться когда придет Mega. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1345] Автор : R2DRH Дата : 03.12.2018 15:35 Собственно нано и уно - одна штука. Собирал на нано, за 5 мин перекидывал на уно, и потом обратно. Скетч не меняется, тока при заливке указываете нужную плату. Просто на нано и уно выводы пинов по разному сгруппированны. Мегу или плату с ней конечно лучше чем нить экранить - мусор на ноги хватает, у меня от ксв датчика хватала, когда дисплей длинными проводами сконнектил. Провода по короче и экран на ксв датчик решил проблему. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1346] Автор : Integral Дата : 03.12.2018 21:07 как всегда хочется большего, например, вместо LCD с кнопками установить TFT с тачскрином. И меню калибровки и предустановки азимута реализовать на экране, а не кнопками. Тачскрин конечно удобно, будет время и индикатор надо будет поизучать. А вот поворотное устройство с энкодером на Мега2560 и экраном 3.2", точнее проект поворотного устройства, Александр D0ITC делал. На видео промежуточный вариант программы: https://www.youtube.com/watch?v=JSVVbKjGE1E Чтобы контроллер не зависал от искрящих контактов реле, переключение лучше всего сделать на симисторах. Под видео ссылка на проект. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1347] Автор : R3EZ Дата : 04.12.2018 00:26 Тачскрин конечно удобно, будет время и индикатор надо будет поизучать. А вот поворотное устройство с энкодером на Мега2560 и экраном 3.2", точнее проект поворотного устройства, Александр D0ITC делал. На видео промежуточный вариант программы: Спасибо, Сергей за ответ. Тачскрин - это уже мои хотелки. Сына вполне устраивает и то, что он написал для LCD. Все прекрасно отработало в УКВ кубке Гагарина 2018. В моем возрасте уже тяжело дается изучение С++. Раньше кое-что писал на ассемблере PDP11 и для PIC, а язык высокого уровня как то непривычен. Сын мог бы помочь, но он даже не хочет слышать про программный код, т.к. устает от него на работе за целый день. Чтобы контроллер не зависал от искрящих контактов реле, переключение лучше всего сделать на симисторах. У меня так и сделано. Сначала опробовал на КУ208Г, но так как в наличии было только 2 опто симистора MOC30хх, а надо 3, то заказал 4-х канальное реле на Али. Добавлено через 49 минут(ы): Под видео ссылка на проект. Посмотрел видео проекта, а также схему. Интересно, но для УКВ разрешения по азимуту 5 градусов маловато. Что до КВ, то сегодня вытравил и паял плату LVB tracker'а на PIC16F876. Возникла необходимость удаленного управления G-450A. Сначала попробовал вот эту конструкцию: http://logger32.qrz.ru/gs232v/ Работает, но нет возможности сделать предустановку азимута для уже установленной антенны. К сожалению автор уже недоступен и написать ему не получится. Да и интерфейс RS232 он использовал нетрадиционным способом (без RxD и TxD), только DTR, RTS и CTS. Поэтому использовать для связи с компьютером Ардуино не представляется возможным. Нужен полный COM, который в большинстве своем переходники USB-COM не поддерживают. Начал пробовать контроллер K3NG. Просто, на макете. Азимут запустил, но когда подключил модуль, отвечающий за связь с компьютером не хватило памяти в Nano. Перешел на Uno и там такая же картина. Пока отложил этот проект. А Mega пока в пути. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1348] Автор : Integral Дата : 04.12.2018 00:33 Там на канале Александра D0ITC есть и другие интересные видео, это то чем мы сейчас занимаемся. Автоматический антенный тюнер на платформе Nano. Так что на Arduino можно вполне интересные вещи для себя сделать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1349] Автор : R3EZ Дата : 04.12.2018 00:43 Скетч не меняется, тока при заливке указываете нужную плату. Просто на нано и уно выводы пинов по разному сгруппированны. Вот о чем и речь. В лоб может не пойти, возможно придется что-то корректировать. Но завтра(сегодня) собрался заняться LNA+BPF YU1LM на 144 МГц с реле обхода на РЭВ-16. Надо определиться с габаритами корпуса и прорисовать в Автокаде, чтобы сделать чертежи для изготовления. Предполагается так: 301594 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1350] Автор : R3EZ Дата : 05.12.2018 10:47 Сегодня загрузил программу в Arduino Uno. В скетче ничего не менял. При первом включении на мгновение появлялось изображение, после чего экран заливался белым цветом. Ничего не помогало. Под подозрение теперь уже попал дисплей. Потом стал передергивать провода. Когда отключил землю от дисплея (ножка 2) все пришло в норму. Никаких сбоев при питании ни по USB, ни от внешнего источника. Так и работает без Gnd. А при подключении земли все заливается белым. Есть ли объяснение этому? 301693 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1351] Автор : Integral Дата : 05.12.2018 22:49 ...отключил землю от дисплея (ножка 2) все пришло в норму. Никаких сбоев при питании ни по USB, ни от внешнего источника. Так и работает без Gnd. А при подключении земли все заливается белым. Есть ли объяснение этому? Достал свой шилд на Nano. Заливка экрана белым бывает когда держишь плату индикатора в руках. Отключил так же земляной провод GND, индикатор продолжил работу, но яркость подсветки упала. Я подозреваю, что виной может быть сигнал идущий на LED. Это управление яркостью подсветки по ШИМ. Он возможно влияет на сигнальные цепи. Поэтому попробуйте пересадить его на +5В, подсветка станет максимальной и не регулируемой. Этим мы пока временно отключим возможные наводки от ШИМ. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1352] Автор : R3EZ Дата : 06.12.2018 00:51 Поэтому попробуйте пересадить его на +5В, Сергей, если я Вас правильно понял - отключаем дисплей от D6 Ардуино и на вывод 6 LED дисплея подаем 5 В? Завтра попробую. Сегодня все работало без сбоев. Да, яркость упала немного. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1353] Автор : Integral Дата : 06.12.2018 04:59 отключаем дисплей от D6 Ардуино и на вывод 6 LED дисплея подаем 5 В? Да, все верно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1354] Автор : R2DRH Дата : 06.12.2018 07:54 Блин , у меня та же фигня с tft st 7735. Сигнал подсветки bl подключал от +5 была белая засветка. Теперь подключаются через подстроечник - как делитель. Сам сигнал bl (led) от средней ноги подстроечника, а крайние на 0 и +5. Такое ощущение, что подсветку от +5 (+3.3) записывать противопоказано. Заводил подсветку на шим - начинались полосы на изображении бегать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1355] Автор : R3EZ Дата : 06.12.2018 11:54 Сегодня отключил ШИМ и подал 5 В на LED. Помеха исчезла. 301760 На всякий случай смотрю форму сигналов на выводе D6 контроллера в режиме измерения 301754 и в режиме заставки. 301755 Заливка белым происходила при отключении сигнала RST от D7 и более не пропадала до перезагрузки. После этого вдруг исчезли часы. Обнаружилось, что оторвался провод SCL. Тогда у меня не было еще китайских проводов со штекерами (Dupont) и приходилось припаиваться к выводам снизу платы. Пришлось открутить прозрачную часть корпуса и припаять, а заодно решил пропаять контакты разъема на дисплее. И тут обнаружилось, что пайка контактов 9-11 выглядит так, как будто плата валялась на улице пару лет. Контакты окислились и чуть ли не зеленые. 301756 Половина гарантийного пояска контакта 9 вообще отсутствовала. Пришлось пропаять. Первое включение и на экране что-то из прошлой жизни дисплея, как будто в его "памяти" отложилась какая то картина оборудования при его изготовлении. 301757 Тогда было решено отпаять все провода снизу платы и перейти на разъемные соединения, а для цепей питания сделать "разветвители". Но для начала решил проверить не повредился ли вдруг Ардуино. Вставил в него 3,2" дисплей и загрузил тест тачскрина. 301758 Все в норме. Собираю схему прибора и перезаливаю скетч. Включаю, часть экрана внутри затемнена. Сам экран и так до этого "дышал" и отлипал снизу, а теперь отвалился и держится только на шлейфе. Можно было бы приклеить, но засветка получается неравномерная. Нормально работает только при подаче 5 В на LED. В общем похоже надо менять дисплей. 301761 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1356] Автор : R3EZ Дата : 07.12.2018 11:51 Итак, к вечеру экран отлип от платы 301795 а к утру приоткрылся 301796 и даже раскрылся 301797 Нужен, конечно, другой. А вот с этим что делать пока не придумал. Может как-то и можно восстановить. Так что делаем QRX. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1357] Автор : tomcat Дата : 14.12.2018 03:12 Заголовок : Цифровой измеритель КСВ и мощности для лампового УМ. Цифровой измеритель КСВ и мощности на Arduino to Integral Сергей, кое что таки удалось : вывести возле надписей Uan= (значение напряжения с порта А2) и Ian= (с порта А3), хотя, возможно, и немного криво дописано, но все же напомню, что: я ничего не понимаю в программировании, вот так оно пока выглядит : 302353 302354 вот эта тестовая версия скетча : 302352 Добавлено через 57 лет 9647 месяцев 482 час 26 минут 78627 секунд: еще одна версия отображения : 302356 302357 может эта версия для транзисторного УМ сойдет, скетч для такой версии : 302358 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1358] Автор : tomcat Дата : 14.12.2018 04:01 Заголовок : Цифровой измеритель КСВ и мощности для лампового УМ. и так, последняя версия на сегодняшний день : 302359 добавили к массиву токовой части знак m = типа оно меряет ток анода в миллиамперах скетч для такой версии : 302360 на этом пока остановимся, возможно, нужно будет дописать какую то задержку на вывод значения напряжения и тока, а то последний разряд слишком быстро прыгает.... и наверное придется добавить ОУ в цепи измерения тока анода.... думаю, что такой малогабаритный и бюджетный индикатор КСВ и мощности можно добавить в ламповый УМ небольших размеров, например на паре ГУ-50 или ГИ-7Б.... п.с.: некоторые библиотеки, которые используются проекте : 302361 302362 302363 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1359] Автор : R2DRH Дата : 15.12.2018 01:38 Уххх тока с пылу с жару, для ксв метра плата, первый опыт - фотррезист. 302425 Пью вискарь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1360] Автор : Пассажир Дата : 15.12.2018 09:52 добавили к массиву токовой части знак m = типа оно меряет ток анода в миллиамперах Смотрится как то не очень. Не проще сделать: если ток больше 1 ампера, выводить значения в амперах например 1.68А А если ток меньше 1А выводить значения в мА, например 680мА и тогда у Вас хватит места на полное значение "мА". -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1361] Автор : tomcat Дата : 15.12.2018 17:00 Смотрится как то не очень. Не проще сделать: если ток больше 1 ампера, выводить значения в амперах например 1.68А А если ток меньше 1А выводить значения в мА, например 680мА и тогда у Вас хватит места на полное значение "мА". Уважаемый, Пассажир, мы будем очень рады, если Вы это сделаете! Скетч открыт и доступен. Остаток памяти позволяет дописать некоторые плюшки. Скетч использует 20858 байт (67%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 289 байт (14%) динамической памяти, оставляя 1759 байт для локальных переменных. Максимум: 2048 байт. Я не программист, а домашний паятель. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1362] Автор : Integral Дата : 16.12.2018 21:41 tomcat, сделал изменения из версии 2.27, убрал часы. Пока вывел только анодное напряжение до 5000В. Шаг измерения напряжения 50В для уменьшения мельтешения последних показаний. Не знаю какой предел нужен, в скетче можно изменить: void uan(float U3){ //подпрограмма напряжения с привязкой по U3 Uan=map(U3,0,1023,0,5050); //преобразуем напряжение 0-5В в напряжение 0-5000В int Van=Uan/50; Uan=Van*50; //округляем значение кратно 50 char bufUan[4]; byte len = 4; //подключаем символьный массив dtostrf(Uan, len, 0, bufUan); //преобразуем значение Uan в массив bufUan bufUan[len] = 'V'; bufUan[len+1] = 0; //добавляем к массиву знак V tft.drawText(48,155,bufUan+String (' ')+String (' '),COLOR_GREEN);} //выводим значение напряжения Что касается измерение тока. Измерить анодный ток при напряжении 5000В не простая задача, развязка должна быть от контроллера надежная. Текущий скетч смотрите у меня в Облаке https://cloud.mail.ru/public/BvdX/zHrWFqFGo -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1363] Автор : exUA4ABS Дата : 16.12.2018 21:54 Что касается измерение тока. Измерить анодный ток при напряжении 5000В не простая задача, развязка должна быть от контроллера надежная.Мерить напряжение падения на резисторе 5,1 Ом в минусовом конце питания и преобразовать в значение тока. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1364] Автор : Integral Дата : 16.12.2018 22:08 падения на резисторе 5,1 Ом в минусовом конце питания Можно и так. Но наверно надежнее поставить датчик тока ACS712, выбрать датчик с наименьшим током. С наименьшим током будет ACS712-5, т.е. на 5А. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1365] Автор : exUA4ABS Дата : 16.12.2018 22:18 Можно и так. Но наверно надежнее поставить датчик тока ACS712, выбрать датчик с наименьшим током. 185 мВ/А для ламповой конструкции не маловато будет? Самые мелкие что-то только на 5 А. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1366] Автор : Integral Дата : 16.12.2018 22:30 5А для лампового усилителя мне думается хватит с головой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1367] Автор : exUA4ABS Дата : 16.12.2018 22:38 Это-то понятно, что хватит. Если усилитель даст 5А. А если 1А. 185мВ не мало будет для ардуинки. Я просто не в курсе. Таким датчиком не пользовался. Я имею ввиду, например, при изменении тока на 50 мА, выходное напряжение изменится на 9,25 мВ. Если не ошибаюсь. Отследит АЦП ардуинки такое изменение? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1368] Автор : Integral Дата : 16.12.2018 23:10 при изменении тока на 50 мА, выходное напряжение изменится на 9,25 мВ. Если не ошибаюсь. Отследит АЦП ардуинки такое изменение? Для измеряемого тока до 1А конечно маловато будет. Но у tomcat мощность 6.4кВт, там анодное уже амперы :crazy: А ситуация с датчиком тока еще хуже, т.к. на его выходе устанавливается середина питания 2.5В, для того чтобы измерять переменный ток. Т.е. уменьшение чувствительности по входу АЦП еще в 2 раза. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1369] Автор : R3EZ Дата : 16.12.2018 23:37 Мерить напряжение падения на резисторе 5,1 Ом в минусовом конце питания и преобразовать в значение тока. Подобным образом измеряю ток а анодной цепи в УМ на ГУ-81М обычным миллиамперметром. Если мне не изменяет память, то резистор разделен на две части. Одна часть (ПЭВ, номинал не помню, но в пределах 10 Ом) находится в блоке питания, а другая в самом усилителе в качестве шунта. Соединение между блоком питания и усилителем коаксиальным кабелем. При этом легко подбирается сопротивление шунта путем подачи напряжения от внешнего источника + ограничительный резистор на параллельно включенные резисторы шунта и "анодный" миллиамперметр с контролем тока по образцовому прибору, включенному последовательно с внешним источником. Вольт 12 вполне достаточно для калибровки. Можно поставить потенциометр с последующей заменой на постоянный резистор. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1370] Автор : Integral Дата : 16.12.2018 23:59 Можно использовать MAX471, INA219. Они на 3А, меньше не нашел. https://youtu.be/Y6d7Infzz7M https://youtu.be/7BiUMYL6vsk -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1371] Автор : AlexanderT Дата : 17.12.2018 00:10 Они на 3А, меньше не нашел.Поставить опер и усилить напряжение до любого нужного. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1372] Автор : exUA4ABS Дата : 17.12.2018 09:23 Поставить опер и усилить напряжение до любого нужного. Да. Но подобная городьба будет оправдана, если необходимо гальванически развязать цепи датчиком с низкой А\В характеристикой. Если подобной задачи не стоит, достаточно резистора. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1373] Автор : ur3ilf Дата : 18.12.2018 01:38 А если 1А. 185мВ не мало будет для ардуинки. Я просто не в курсе. Таким датчиком не пользовался. Я имею ввиду, например, при изменении тока на 50 мА, выходное напряжение изменится на 9,25 мВ. Если не ошибаюсь. Отследит АЦП ардуинки такое изменение? А почему не отследит? Надо использовать все возможности AVR. Для ADC есть выбор какой опорное напряжение использовать. AVR допускает использовать в качестве опорного для ADC напряжение питания меги, внутренний источник опорного напряжения и он может может быть 2,56 или 1,1 вольта. Зависит от меги. И внешний источник. Из своего опыта использовал датчик температуры где напряжение менялось от 100 до 210 миливольт всего. Опорное на ножку AREF атмеги было подано внешнее 250 милливольт. В качестве внешнего источника использовалась TL431 c резистивным делителем 1:10 и всё работало как надо. В атмега 328 внутренний высокостабильный источник напряжения равен 1,1 вольта. Если с датчика выходит до 1,1 вольта и в качестве источника опорного напряжения вместо питания меги использовать внутренний 1,1 то точность преобразования повысится почти в пять раз. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1374] Автор : tomcat Дата : 18.12.2018 20:23 tomcat, сделал изменения из версии 2.27 Сергей, огромное спасибо! Что касается измерение тока. Измерить анодный ток при напряжении 5000В не простая задача, развязка должна быть от контроллера надежная. и наверное придется добавить ОУ в цепи измерения тока анода.... Для измерения тока анода предлагается использовать вариант схемы от RA3YBW версии 4,0 : 302755 этот вариант планирую обкатать на макетке, о результатах доложу, ....но не сегодня На входах Ia, I2 сигналы должны сниматься с соответствующих шунтов. При помощи резисторов R1,R2 выставляются значения на индикаторе по контрольному амперметру. При входном напряжении 1,0 вольт на ножке 40 атмеги, значение на индикаторе будет соответствовать 1000 мА. Для 39 ножке атмеги это будет 100 мА. На вход Ia должно подаваться отрицательное значение с шунта. Добавлено через 2 года 596 месяцев 78653 дня 39 минутты 7531474 секунды: схема подключения блока индикации в УМ, для измерения анодного напряжения и тока. 302761 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1375] Автор : R3EZ Дата : 18.12.2018 22:58 схема подключения блока индикации в УМ, для измерения анодного напряжения и тока. В дополнение своего поста #1369. Аналогично измеряю анодное в блоке питания, но есть одно замечание. Трех резисторов по 1 МОм, на мой взгляд, недостаточно с точки зрения надежности. Если даже применить МЛТ-2, то у них максимальное рабочее напряжение 750 В. Если подходить уж совсем строго, исходя из того, что коэффициент использования по напряжению не должен превышать 0,8 от максимального значения, то такая схема применима лишь для измерения не свыше 1800 В. Поэтому лучше увеличить количество резисторов, чтобы не использовать их в предельных режимах. И еще. Посмотрел схему измерения тока от RA3YBW, приведенную выше. Меня заинтересовала часть, отвечающая за измерение тока второй сетки. Собственно способ включения потенциометра R1. Дело в том, что сейчас заканчиваю встраивать контроллер поворотного устройства K3NG на Arduino UNO в поворотку YAESU G-450A для возможности удаленного управления поворотом антенны. Жду с Али u741. Осталось только его и запаять. Схема "масштабирования" сигнала A/D от G-450A вот такая. 302781 Покритикуйте, если что не так. Фото встроенной платы без u741. 302782 К Ардуино пока еще подключена клавиатура и дисплей 1602 для отладки, а сама плата еще не прикручена. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1376] Автор : Integral Дата : 18.12.2018 23:42 tomcat, доделал скетч с измерителем анодного тока. На каждые 1В входного напряжения приходится 1000мА. До 1А измеряемого тока показания в миллиамперах, выше 1А показания в Амперах: 302785 302786 Скетч в Облаке https://cloud.mail.ru/public/BvdX/zHrWFqFGo -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1377] Автор : tomcat Дата : 19.12.2018 16:37 Заголовок : Цифровой измеритель КСВ и мощности для лампового УМ. tomcat, доделал скетч с измерителем анодного тока. Сергей, Круто! огромное спасибо! Протестирую с ОУ - о результатах доложу. Приложил дисплей 2,0 дюйма (на ILI9225) к передней панели УМ на ГУ-47 - как то слишком мелковато он там выглядит... Хотя для УМ на 2х ГУ-50 самое то ! Порылся на aliexpress, там есть максимум на 2,2 дюйма с контроллером ILI9225, все равно это мелковато. Есть на aliexpress дисплеи с контроллером ILI9341 размером 2,8 и 3,2 дюйма (такие применяются в трансивере Маламут). Сергей, возможно ли прикрутить к данному измерителю на ARDUINO Nano дисплей с контроллером ILI9341 ? Если это возможно - то смогу протестировать. У меня есть в наличии такой дисплей размером 2,8 дюйма (ILI9341, 240*320, SPI), -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1378] Автор : igor 2015 Дата : 19.12.2018 17:15 На сайте радиофанат в разделе синтезаторы опубликован синтезатор на si5351 с маленьким экраном. Все детали есть, но скетч выдаёт ошибки, непонятно, на какой версии ардуино написано? Менял библиотеки, но ошибки выходят каждый раз. После долгих мучений программа выдала ошибку в самой последней строке, где расстройка. Как устранить ошибку? Кто нибудь пробовал просканировать скетч? Детали для этого же не нужны. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1379] Автор : tomcat Дата : 19.12.2018 17:36 На сайте радиофанат в разделе синтезаторы опубликован синтезатор Кабы схемку аль чертеж!?!? (http://vault.nazgul.ru/humor/fedot/fedot4.shtml) ну хоть бы ссылку на прожект. чего то мне кажется, что вряд ли народ ломанется в гуглу искать и пересматривать синтезаторы на радиофанате !! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1380] Автор : igor 2015 Дата : 20.12.2018 05:56 Не так уж и сложно зайти на сайт . http://rfanat.ru/s25/dds_sio5351_pro-min.html , сам скетч копирует полностью выделив его содержимое. После вставляете в любой текстовый документ с расшиоением txt, сохраняете и переименовываете в txt в ino. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1381] Автор : XENOMORPH Дата : 20.12.2018 06:44 igor 2015, При компиляции, если все библиотеки импортировали правильно, IDE "ругается" только на строчку si5351.set_correction(0); // Set to zero because I'm using an other calibration method Удалите её, так-как написано (установите ноль, потому что я использую другой метод калибровки). Должно всё работать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1382] Автор : R1AIT Дата : 20.12.2018 09:16 Функционально аналогичное устройство тут http://qrp.ru/forum/9-%D0%A1%D0%B0%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0/13018-%D0%A1%D0%B8%D0%BD%D1%82%D0%B5%D0%B7%D0%B0%D1%82%D0%BE%D1%80-%D0%B4%D0%BB%D1%8F-QRP-CW-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80%D0%B0?start=80#39333 Даже скетч должен работать без переделок. Все из готовых модулей. Экран тоже можно заменить на упомянутый выше. Получится так: http://qrp.ru/forum/9-%D0%A1%D0%B0%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F-%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0/13018-%D0%A1%D0%B8%D0%BD%D1%82%D0%B5%D0%B7%D0%B0%D1%82%D0%BE%D1%80-%D0%B4%D0%BB%D1%8F-QRP-CW-%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%B8%D0%B2%D0%B5%D1%80%D0%B0?start=120#42412 Имеет смысл брать Нано. В нем уже есть встроенный стабилизатор питания, поэтому внешний можно не делать. Просто подать 3,6-12В на Vin. Прошивать нано удобнее. Не нужно внешних устройств или адаптеров, просто микроUSB шнурок. С готовым модулем синтезатора с преобразованием уровня тоже все решено. Можно использовать пятивольтовые ардуины. У меня все работает даже от одной литиевой банки 3,6-4,2В. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1383] Автор : igor 2015 Дата : 20.12.2018 12:43 Странно. Сегодня попробовал , скетч сразу скомпилировался и в ардуино сразу зашился. Видимо, комп нужно было перезагрузить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1384] Автор : igor 2015 Дата : 20.12.2018 15:33 Вроде экран 128*64, но выводятся только верхняя и нижняя строки. При включении на экране 14.000000, больше никаких букв нет. Включаешь калибровку, а самом низу калибровка на английском, как уменьшить размер букв, чтобы все входило на экране. спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1385] Автор : R2DHG Дата : 20.12.2018 15:50 Надо понять в чем проблема. Скетч под другое разрешение написан или экран работает как то неправильно ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1386] Автор : igor 2015 Дата : 20.12.2018 15:56 Да экран то правильно работает. Нет слов расстройка, шаг. Понажимал кнопки, сейчас при включении только 25.000000. При включении D7 на массу вверху экрана 9.000000, да и судя по размеру, цифры крупнее, чем буквы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1387] Автор : XENOMORPH Дата : 20.12.2018 16:34 Попробуйте в скетче изменить строчку display.setTextSize(2); на display.setTextSize(1); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1388] Автор : R2DHG Дата : 20.12.2018 16:46 судя по размеру, цифры крупнее, чем буквы. А что не влазит ? Обычно подгоняют размеры, расположение и если разрешение экрана не менять - должно все влезть как у автора. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1389] Автор : veso74 Дата : 20.12.2018 16:48 igor 2015, откройте файл Adafruit_SSD1306.h: раскомментируйте строка 28: #define SSD1306_128_64 ///< DEPRECTAED: old way to specify 128x64 screen и закоментируйте строка 29: //#define SSD1306_128_32 ///< DEPRECATED: old way to specify 128x32 screen (Из странички PA0RWE, UNIVERSAL VFO BASED ON THE SI5351 (https://pa0rwe.nl/?page_id=804): If the resolution of your OLED display is not OK, please change it in the Adafruit_SSD1306.h file.) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1390] Автор : igor 2015 Дата : 20.12.2018 18:58 Спасибо. Veso 74, сейчас экран выглядеть также, как и на сайте радиофанат. Если можно, добавить точку, после 9.000? , а то тысячные сливаются с нулями. И почему при включении на экране выскакивает 25.000000? Внизу экрана Step: 10 hz. TRx, как вернуть 14000000? Три раза перешивал, но так и осталось без изменения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1391] Автор : veso74 Дата : 20.12.2018 22:07 ... Если можно, добавить точку, после 9.000? , а то тысячные сливаются с нулями ... Нет свободного знакоместа для другого символа (14.000000 => 14.000.000) ... при включении на экране выскакивает 25.000000? Внизу экрана Step: 10 hz. TRx, как вернуть 14000000? ... Проверьте состояние входов pin 5, 6, 7 (должен быть свободным, проводник к GND есть?) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1392] Автор : igor 2015 Дата : 21.12.2018 06:56 Veso 74, можно убрать последний "0 ", а добавить ".". Он там большой роли не играет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1393] Автор : igor 2015 Дата : 21.12.2018 09:23 Veso 74, как убрать выход сигнал CLK2? Чтобы на экране оно (значение ПЧ) было, а с выхода si5351 не было, как его (сигнал) выключить? А то он пролезает на основную плату и слышен писк. Раньше была строка с out si5351,где ставился 0, но в этом скетче я ее не нашел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1394] Автор : veso74 Дата : 21.12.2018 10:04 Сам процесс выключения прост: закоментируйте строки 366 и 367: si5351.set_freq((bfo_f * SI5351_FREQ_MULT), SI5351_PLL_FIXED, SI5351_CLK2); si5351.drive_strength(SI5351_CLK2,SI5351_DRIVE_2MA); но необходимо следить за логикой программы: напр. при чтение/запись из/в память (ст. 488) и исключить возможность калибровки SI5351_CLK2 (ст. 408: else if (act_clk == 2) ...) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1395] Автор : igor 2015 Дата : 21.12.2018 11:23 Veso 74, немного не так. Корректировку ПЧ нужно оставить, чтобы можно было ещё изменять, и само значение ПЧ на экране , но сам сигнал с выхода CLK2 нужно убрать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1396] Автор : igor 2015 Дата : 21.12.2018 15:53 Veso 74, подскажите как вывести на экран частоту CLK1? Зачем мне на экране CLK0? Каждый раз + и - ПЧ считать? Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1397] Автор : veso74 Дата : 21.12.2018 16:26 У меня конструкция нереализована. За незначительные изменения я руководствовался только кодом. Подробно понятия не имею какие функции сделани у автора. Код открыт, попробуйте изменить с вашими требованиями. Если что-то не пойдет, то постараемся помочь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1398] Автор : igor 2015 Дата : 21.12.2018 16:34 Нужно вывести на экран CLK1, а СLK0 убрать, поменять их местами. В какой строке значение CLK0 выводится на экран? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1399] Автор : Georgi Дата : 21.12.2018 16:58 igor 2015, я тоже обратил внимание на эту несуразицу (я так считаю), возможно, у автора были свои задумки:roll:, но отображение на дисплее RX более предпочтительно. Я тоже хочу применить этот синтез в малогабаритном приёмнике по мотивам SW2017 (преобразование вверх). Сейчас жду разные дисплейчики от китайца. veso7 (http://www.cqham.ru/forum/member.php?5615-veso74) и ВладимирК очень помогли мне в компиляции авторской прошивки, за что им спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1400] Автор : grek-lll Дата : 07.01.2019 12:51 Integral, Добрый день Сергей, сильно не пинайте для меня программирование темный лес, увидел ваш проект цифрового измерителя КСВ и проходящей мощности, заказал комплектующие из поднебесной у наших братьев, и братья с радостью мне прислали Arduino Nano ATmega168 вместо 328р, и все мои попытки скомпилировать скетч не увенчались успехом, Arduino: 1.8.2 (Windows XP), Плата:"Arduino Nano, ATmega168", прога при компиляции выкидывает кучу ошибок в которых я ни чего не понимаю, помогите пожалуйста. 304289304290304291304292 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1401] Автор : Integral Дата : 07.01.2019 15:51 ...братья с радостью мне прислали Arduino Nano ATmega168 вместо 328р... Однозначно мой проект в ATmega168 не влезет, т.к. версия с часами на DS3231 занимает 27.5кБ памяти. прога при компиляции выкидывает кучу ошибок в которых я ни чего не понимаю, помогите пожалуйста. В любом случае должны быть установлены соответствующие библиотеки в программе, они находятся в отдельной папке Библиотеки моего проекта https://cloud.mail.ru/public/M1nc/nb9k12etY Копируем их в папку C:\Users\...\Documents\Arduino\libraries В вашем случае можно хотя бы запустить индикатор ILI9225 с Arduino Nano ATmega168, для этого нужно в библиотеке TFT_22_ILI9225-master зайти в папку examples и запустить в Ардуино пример Triangle_Demo​. Он занимает всего 6.4кБ, так вы проверите свой индикатор. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1402] Автор : grek-lll Дата : 08.01.2019 00:32 Integral, Сергей доброй уже ночи, с облака все было скачано и вставлено в папку libraries , но увы факир был пьян и фокус не удался, сделал все как выше описано для запуска индикатора, но при компиляции прога выдала красным цветом строку Archiving built core (caching) in: C:\DOCUME~1\LEON\LOCALS~1\Temp\arduino_cache_575664\core\core_arduino_avr_nano_cpu_atmega168_f75ab67e8deeea794c4cbb1e978c2133.a загрузка проходит все строки белые, но и экран тоже белый ((((( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1403] Автор : Integral Дата : 08.01.2019 01:04 загрузка проходит все строки белые, но и экран тоже белый Значит компиляция прошла успешно, проблемы с экраном или подключением. Так, в примере Triangle_Demo немного другое подключение индикатора: #define TFT_RST 8 #define TFT_RS 9 #define TFT_CS 10 // SS #define TFT_SDI 11 // MOSI #define TFT_CLK 13 // SCK #define TFT_LED 3 // 0 if wired to +5V directly У меня в проекте такое подключение: #define TFT_RST 7 //7 вывод Nano на RST ЖКИ #define TFT_RS 8 //8 вывод Nano на RS ЖКИ #define TFT_CS 10 //10 вывод Nano на CS ЖКИ #define TFT_SDI 11 //11 вывод Nano на SDI ЖКИ #define TFT_CLK 13 //13 вывод Nano на CLK ЖКИ #define TFT_LED 6 //6 вывод ШИМ для подсветки Переподключайте RST и RS, подсветку LED можно к +5В подключить. И кстати у вас слишком длинный шлейф к индикатору, лучше сделать короче. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1404] Автор : R9US Дата : 08.01.2019 14:37 Integral, Сергей, спасибо! повторил ваш проект, совершенно новое для меня дело,пришлось многому учится, но вроде все получилось. дисплей очень хлипкий, начинает отслаиваться, можно изменить программу под другой более надежный? выше постами поднималась эта тема, и для будущих доработок больше информации можно отобразить.... 304380 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1405] Автор : R3EZ Дата : 08.01.2019 17:42 дисплей очень хлипкий, начинает отслаиваться, можно изменить программу под другой более надежный? Сергей, также присоединяюсь к просьбе Сергея R9US. А так проект замечательный. В дополнение к своим постам 1355, 1356: так и не решился заказать новый дисплей. У старого продавца не хочется. Есть еще один продавец, но что то не лежит душа к этому дисплею. Предлагаются, например, другие с разрешением 240х320 точек с контроллером ILI9341. Или на Ваше усмотрение. Я понимаю, что работа предстоит большая. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1406] Автор : Integral Дата : 08.01.2019 21:32 Попробую на ILI9341, его достать проще и библиотека вроде есть готовая. Главное чтобы все влезло на Arduino Nano M328, не хочется переходить на что то другое и дорогое. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1407] Автор : grek-lll Дата : 08.01.2019 23:41 Integral, Добрый вечер Сергей ! Перепаял как вы сказали, в тестовом режиме индикатор завелся сразу при подачи питания, шлейф не укорачивал 40см, управление подсветкой не перепаивал в моем случае это три клеммы NC 304401304402304403 И как я понимаю что бы двигаться дальше мне надо нано с 328р. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1408] Автор : Integral Дата : 08.01.2019 23:46 что бы двигаться дальше мне надо нано с 328р Совершенно верно -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1409] Автор : grek-lll Дата : 09.01.2019 01:41 ILI9341 я думаю это то что вам нужно -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1410] Автор : R9US Дата : 09.01.2019 10:34 на Али этих дисплеев (ILI9341), как грибов в лесу.......подскажите какой лучше взять? красные веры не внушают, 2.2 дюйма развалился за 8 дней, смотрел на 3.2 дюйма, есть с дополнительной платой, есть просто дисплей, ребята, подскажите пожалуйста... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1411] Автор : R3EZ Дата : 09.01.2019 11:45 красные веры не внушают, 2.2 дюйма развалился за 8 дней, смотрел на 3.2 дюйма, Точно. Мой продержался около месяца. Желательно, конечно, побольше. 2,8" - 3,2" было бы хорошо. Только вот Сергею UT0IS/D0ISM наверное надо под конкретную модель скетч переделывать. Давайте дождемся результата. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1412] Автор : Владимир_К Дата : 09.01.2019 15:08 подскажит е какой лучше взять? красные веры не внушают, 2.2 дюйма развалился за 8 дней, смотрел на 3.2 дюйма, Я брал вот такой и у этого продавца. https://ru.aliexpress.com/item/2-8-inch-TFT-LCD-Module-without-Touch-Panel-ILI9341-Drive-IC-240-RGB-320-SPI/32764300681.html?spm=a2g0s.9042311.0.0.619533edNAx1dr Но он на 2,8". И применялся в другом проекте. Вроде нормальный дисплей. Ничего подозрительного пока не заметил. Хотя тоже "красный".. В корпусе плата закреплена на стойках, а стекло прижато краем окна. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1413] Автор : Serega84 Дата : 09.01.2019 19:05 Привет Всем ! Ребята, скажите, как сделать синхронизацию времени датчик DS3231 ???? :crazy::crazy::crazy::crazy: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1414] Автор : Integral Дата : 09.01.2019 22:57 подскажит е какой лучше взять? Брать можно любой подходящего размера без тача, т.к. он навряд ли пригодится. наверное надо под конкретную модель скетч переделывать. Переделывать ничего не нужно, т.к. разрешение у них одинаковое 320х240 и контроллер один ILI9341. Размер пикселя просто разный, отсюда и разные размеры индикатора. скажите, как сделать синхронизацию времени датчик DS3231 ? Запустить и зашить скетч SetTime_DS3231 по ссылке (https://cloud.mail.ru/public/ADBj/kanVvkD7L). Предварительно нужно выставить точное время на компьютере и подключить модуль на DS3231 к Ардуино. Добавлено через 12 минут(ы): Попытался сегодня запустить индикатор на ILI9341 2.2" вот такой: 304476 Пока безрезультатно. Очень не удобно подключать к Nano, где уровень сигналов 5В. Напрямую не получится, нужно ставить делители для получения 3.3В. Хорошо подошла бы Pro Mini, она питается 3.3В. На Али индикаторов 9341 с согласованием 5/3.3 я не увидел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1415] Автор : ur3ilf Дата : 09.01.2019 23:36 Сергей сопряжение очень просто решается так. Нужно заменить на ардуино пятивольтовый стаб 1117 на 3,3 вольта и выпаять диод шотки который идёт на +5 в разъёме юсб. Питание подавать на Vin нано. Это первая нога от разъёма под программатор. На дисплей 3,3V снимать с 4 ножки которая подписана как 5V. Получится 3,3 вольтовая ардуина. Да ещё и с двумя стабилизаторами 3,3 вольта. Но второй часто используют тот который на борту CH340 находится. Хотя я с него питаю в трансивере дисплей. Миллиампер 40 отдаст. При этом возможность программирования через USB сохраняется. Я так все ардуины и использую. Сразу меняю стабилизатор и выкусываю диод. Хотя его можно перепаять на Vin и тогда сохранится питание от юсб. Но в реальных конструкциях он не нужен. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1416] Автор : grek-lll Дата : 11.01.2019 00:25 Integral, Доброй ночи Сергей, я не в праве умничать, хотел предложить может пойти по другому пути. год назад заказал UNO с 328 моргать светодиодами, это получилось, но оно продавался с дисплеем с тачскрином, диодами наморгался и решил освоить дисплей, но увы все попытки были 0. при этом я понял что дисплей оказывается должен иметь маркировку и драйвер, но китайцы этого не сообщили и на все запросы молчали как партизаны, спустя год случайно нарвался на российский сайт по продаже подобных девайсов, выяснилось что есть даже скетч по определению типа дисплея, чем я и воспользовался и выяснилось что мне попался экземпляр ILI9325 ,и да дисплей пришел с треснутым тачскрином и гнутыми ногами, залив демку это все таки завелось )))304564304565304566 Может есть смысл на таком моноблоке сделать, такие точно дисплеи есть с контроллером ILI9341 ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1417] Автор : Integral Дата : 11.01.2019 01:04 Может есть смысл на таком моноблоке сделать, такие точно дисплеи есть с контроллером ILI9341 ? Есть такие дисплеи с тачскрином на ILI9341 и размеры разные. Но конкретно к моему устройству тачскрин абсолютно бесполезен, т.к. размер основного скетча занимает 90-95%. На тач просто не хватит памяти. год назад заказал UNO с 328 А че мучаетесь с подключением ILI9225, ведь UNO и Nano по сути тоже самое :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1418] Автор : grek-lll Дата : 11.01.2019 13:03 UNO и Nano по сути тоже самое Об этом я уже думал, но размер имеет значение UNO великовата, мне сегодня по просьбе принесли подарок 304588304590 и тут возник вопрос, для загрузки скетча через программатор и дисплея используются частично одни и те же выводы 304594 возможно ли вначале залить скетч а потом подпаять дисплей ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1419] Автор : ur3ilf Дата : 11.01.2019 13:13 возможно ли вначале залить скетч а потом подпаять дисплей ? Не обязательно. Одно другому не мешает. И то и то это spi интерфейс. Но если вы ардуину шьёте программатором и естественно стираете загрузчик то нужно фусебит BOOTRST отключить. Иначе будут приключения. Тут надо прочесть про это http://fusecalc.mirmk.ru/help/help05.htm -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1420] Автор : R2DHG Дата : 11.01.2019 13:28 Частенько можно и параллельно, только ноги подтянуть через резисторы ~2к к + вроде (не всегда нужно). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1421] Автор : Владимир_К Дата : 11.01.2019 15:01 мне сегодня по просьбе принесли подарок Это не Nano. Там же написано Pro Miny. Разница, конечно не большая, но все же.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1422] Автор : grek-lll Дата : 11.01.2019 20:54 Это не Nano Понятное дело не Nano а Pro Miny там на фото видно, я и задаю вопрос Сергею подойдет ли этот девайс под его роект и как зашивать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1423] Автор : UN7RX Дата : 11.01.2019 21:16 А никому не попадалась разработка на Ардуино как ребята у нас вот тут опубликовали (http://www.cqham.ru/forum/showthread.php?37468-%CA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%F1-LCD-%E4%E8%F1%EF%EB%E5%E5%EC-%E4%EB%FF-%F2%F0%E0%ED%E7%E8%F1%F2%EE%F0%ED%EE%E3%EE-%D3%CC-%ED%E0-MEGA2560), только для лампового УМ? Примерно с таким же дисплеем? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1424] Автор : RX3M Дата : 11.01.2019 21:39 А никому не попадалась разработка на Ардуино как ребята у нас вот тут опубликовали, только для лампового УМ? Примерно с таким же дисплеем? Конструкция RZ1ZR, только там прошивка платная и цена дисплея конская. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1425] Автор : Integral Дата : 11.01.2019 22:57 Конструкция RZ1ZR Разговор про это (http://www.rz1zr.ru/nextion.html) наверное. Индикатор Nextion 5", хорош для конструкций таких размеров. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1426] Автор : Владимир Ш Дата : 11.01.2019 23:27 Помогите подключить дисплей 1.8 TFT SPI 128*160 . Просто такой у меня в наличии работает с библиотеками Adafruit_ST7735.h и Adafruit_GFX.h , подключаю обычно так - Ucglib_ST7735_18x128x160_SWSPI ucg(/*sclk=*/ 8, /*data=*/ 7, /*cd=*/ 6 , /*cs=*/ 5, /*reset=*/ 4); Но с Вашими скетчами не получилось . За ранее благодарен . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1427] Автор : R9US Дата : 12.01.2019 02:35 tomcat, здравствуйте! я хотел у Вас спросить, как эксперементы с подключением к высокому напряжению конструкции Сергея Integral (http://www.cqham.ru/forum/member.php?6341-Integral) ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1428] Автор : UN7RX Дата : 12.01.2019 10:24 Конструкция RZ1ZR, только там прошивка платная и цена дисплея конская. Поэтому она ничего общего с разработками US2IT и UT0IS/D0ISM и не имеет - по крайней мере для нашего форума и не обсуждается. Кстати, не обязательно на Ардуино, просто на любом контроллере. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1429] Автор : Владимир Ш Дата : 12.01.2019 13:16 Я делал вот такой , но неочень и нет измерения мощности - #include // Подключаем библиотеку TFT #include // Подключаем библиотеку SPI #define cs 10 // Указываем пины cs #define dc 9 // Указываем пины dc (A0) #define rst 8 // Указываем пины reset int sensorPin = A0; // Определение вывода для сканирования кнопок int sensorREF = A1; // Определение вывода для измерение Uотр.(REF) int sensorFWD = A2; // Определение вывода для измерение Uпад.(FWD) int sensorValue = 0; // Перменная для временного хранения данных float voltageREF; // Перемення для хранения значения Uотр.(REF) в вольтах float voltageFWD; // Перемення для хранения значения Uпад.(FWD) в вольтах float SWR; // Перемення для хранения значения КСВ char sensorPrintout[6]; TFT TFTscreen = TFT(cs, dc, rst); void setup() { TFTscreen.begin(); TFTscreen.background(200, 0, 0); // Очистим экран дисплея TFTscreen.setTextSize(2); // Устанавливаем размер шрифта TFTscreen.stroke(0, 255, 255); TFTscreen.text("SWR Antenna", 6, 30); TFTscreen.setTextSize(3); TFTscreen.text("WORONEZ", 6, 50); TFTscreen.setTextSize(2); TFTscreen.text("2018", 6, 80); TFTscreen.setTextSize(1); TFTscreen.text("Wladimir Shubin", 6, 120); TFTscreen.setTextSize(2); delay(3000); } void loop() { /* * Установка цвета фона TFTscreen.background ( r , g , b ) * где, r, g и b являются значениями RGB для заданного цвета */ TFTscreen.background ( 0 , 0 , 0 ); sensorValue = analogRead(sensorREF); // Чтение значения Uотр.(REF) voltageREF = sensorValue * (5.0 / 1023.0); // Преобразование Uотр.(REF) в вольты sensorValue = analogRead(sensorFWD); // Чтение значения Uпад.(FWD) voltageFWD = sensorValue * (5.0 / 1023.0); // Преобразование Uпад.(FWD) в вольты //TFTscreen.setCursor(0, 0); // Установка курсора на 0-ю позицию 0-ой строки // TFTscreen.text("SWR= ", 6, 47); // Вывод надписи SWR= if (voltageFWD>0 && voltageREF>0) // Если Uпад.(FWD)>0 и Uотр.(REF)>0, то выводим значение КСВ, расчитанное по известной формуле { TFTscreen.stroke(0, 255, 0); SWR=(voltageFWD+voltageREF)/(voltageFWD-voltageREF); String sensorVal = String(SWR); sensorVal.toCharArray(sensorPrintout, 6); TFTscreen.setTextSize(2); TFTscreen.text("SWR= ", 6, 47); TFTscreen.text(sensorPrintout, 60, 47); TFTscreen.text(" ",60,47); } else { TFTscreen.stroke(200, 0, 0); TFTscreen.setTextSize(3); TFTscreen.text("NO SIGNAL ",2,47); // то выводим надпись Waiting... } // Если Uпад.(FWD)=0 и Uотр.(REF)=0 - это происходит при отсутствии несущей в антенне. delay(200); // Задержка 200 мс и уходим на новое измерение } Пытаюсь по дружить с Вашим скетчем , но не получается ??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1430] Автор : UT0UM Дата : 12.01.2019 16:17 voltageFWD = sensorValue * (5.0 / 1023.0); // Преобразование Uпад.(FWD) в вольты а зачем это делать? можно же считать КСВ без преобразования это же величина относительная -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1431] Автор : Владимир Ш Дата : 13.01.2019 01:30 так это пример работы . вот и хочу свой дисплей + ардуино уно совместить со скетчем этой темы , но у меня не получается . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1432] Автор : Serega84 Дата : 14.01.2019 11:07 R9US, не поделитесь печатной платой ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1433] Автор : R9US Дата : 14.01.2019 12:35 делал для себя, номиналы не проставлял, ну думаю что разберетесь...... 304856 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1434] Автор : tomcat Дата : 14.01.2019 23:05 tomcat, здравствуйте! я хотел у Вас спросить, как эксперементы с подключением к высокому напряжению конструкции Сергея Integral (http://www.cqham.ru/forum/member.php?6341-Integral) ? Привет! Именно этот проект на ардуине - пока что не подключал, где-то живёт надежда, что удастся подключить к этому прожекту дисплеи на 2,8....3,2". А вот блок ra3ybw нормально подключился для измерения анодного тока и напряжения. поэтому, как мне кажется, на ардуино тоже должно поехать...! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1435] Автор : alex_39 Дата : 29.01.2019 16:08 Доброго времени суток. Подскажите пожалуйста как выставить часы? а то у меня 2000й год. Спасибо306063 Добавлено через 35 минут(ы): Вопрос снят.Разобрался.306069 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1436] Автор : tomcat Дата : 12.02.2019 10:07 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 набросал прожект индикатора лампового УМ на Arduino nano 3 и LCD 2004 307142 входы : А0 = напряжение анода, А1 = ток анода, А2 = напряжение экранной сетки, А3 = ток экранной сетки, А4 = прямая волна от НО, А5 = отраженная волна от НО, сейчас вывод информации имеет такой вид : 307141 тестовый скетч : 307140 to Integral Сергей, подскажите, - как сделать SWR дробью ? - как сделать в нижней строке линейку-градусник мощности ? . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1437] Автор : R2DHG Дата : 12.02.2019 11:47 SWR можно разбить математически и воткнуть точку при выводе на lcd между сотнями и десятками/единицами (в коде ниже). Градусник в зависимости от требуемой красивости. Например вот так "в лоб": #include //пин ацп градусника #define PMETER_PIN A0 //уровни ацп каждого кубика градусника #define PMETER_1 80 #define PMETER_2 120 #define PMETER_3 160 #define PMETER_4 200 #define PMETER_5 240 #define PMETER_6 280 #define PMETER_7 320 #define PMETER_8 360 #define PMETER_9 400 #define PMETER_10 440 #define PMETER_11 480 #define PMETER_12 520 //спецсимволы для lcd byte lcd_sym_01[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111 }; byte lcd_sym_02[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111 }; byte lcd_sym_03[8] = { 0b00000, 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111 }; byte lcd_sym_04[8] = { 0b00000, 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte lcd_sym_05[8] = { 0b00000, 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte lcd_sym_06[8] = { 0b00000, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; byte lcd_sym_07[8] = { 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111, 0b11111 }; LiquidCrystal lcd(4, 5, 10, 11, 12, 13); String pmtr; String xpmtr; uint16_t xpmeter; uint16_t swr = 160; void setup() { lcd.begin(16, 2); //инициализируем lcd спецсимволами initMeter(); //выводим целую и дробную часть SWR lcd.setCursor(0,0); lcd.print("SWR:"); lcd.print(swr / 100); //целая часть lcd.print("."); lcd.print(swr - (swr/100)*100); //дробная часть } void loop() { //выводим градусник непрерывно printMeter(analogRead(PMETER_PIN)); delay(50); } void initMeter() { //спецсимволы в память lcd lcd.createChar(1, lcd_sym_01); lcd.createChar(2, lcd_sym_02); lcd.createChar(3, lcd_sym_03); lcd.createChar(4, lcd_sym_04); lcd.createChar(5, lcd_sym_05); lcd.createChar(6, lcd_sym_06); lcd.createChar(7, lcd_sym_07); } void printMeter(uint16_t pmeter) { if (xpmeter != pmeter) { //если текущее значение ацп равно предыдущему - не обрабатываем pmtr = "PWR:"; if (pmeter > PMETER_12) { pmtr += "\02\02\03\03\04\04\05\05\06\06\07\07"; } else if (pmeter > PMETER_11) { pmtr += "\02\02\03\03\04\04\05\05\06\06\07"; } else if (pmeter > PMETER_10) { pmtr += "\02\02\03\03\04\04\05\05\06\06"; } else if (pmeter > PMETER_9) { pmtr += "\02\02\03\03\04\04\05\05\06"; } else if (pmeter > PMETER_8) { pmtr += "\02\02\03\03\04\04\05\05"; } else if (pmeter > PMETER_7) { pmtr += "\02\02\03\03\04\04\05"; } else if (pmeter > PMETER_6) { pmtr += "\02\02\03\03\04\04"; } else if (pmeter > PMETER_5) { pmtr += "\02\02\03\03\04"; } else if (pmeter > PMETER_4) { pmtr += "\02\02\03\03"; } else if (pmeter > PMETER_3) { pmtr += "\02\02\03"; } else if (pmeter > PMETER_2) { pmtr += "\02\02"; } else if (pmeter > PMETER_1) { pmtr += "\02"; } else { }; while (pmtr.length() < 16) { pmtr += " "; }; if (xpmtr != pmtr) { //если новая строка равна предыдущей - не печатаем (надо для устранения мерцания) lcd.setCursor(0,1); lcd.print(pmtr); xpmtr = pmtr; } xpmeter = pmeter; } } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1438] Автор : exUA4ABS Дата : 12.02.2019 12:30 Никак не соображу. Имеется такая команда deley(180000); digitalWrite(9,HIGH); Т.е. после включения появляется 1 на pin9 с задержкой 180000 Как сделать 1 на pin9 в любой момент по импульсу на каком-нибудь входе (задать любой). Что-бы задержка осталась, но если мне надо, я по импульсу включаю pin9 не дожидаясь пока эта задержка отработает. Именно по импульсу! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1439] Автор : R2DHG Дата : 12.02.2019 13:18 Либо через прерывания либо не использовать delay. Второе делается примерно так loop() { //какой то код без delay ... if (<условие на событие старта отсчета 180 сек>) { pin9_millis = millis(); pin9_event = 1; } if (((millis() - pin9_millis > 180000)&&(pin9_event == 1))||(<условие на событие по импульсу>)) { digitalWrite(9,HIGH); pin9_event = 0; } //какой то код без delay ... } Т.е. если начали писать без delay - никаких delay уже нигде быть не должно, все управляется таймером и триггерами событий / флагами состояний. Можно почитать про конечные автоматы. Тут коротко про delay и millis: https://arduinomaster.ru/program/arduino-delay-millis/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1440] Автор : exUA4ABS Дата : 12.02.2019 13:40 Спасибо! С таймерами никогда не имел дело. Будем учиться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1441] Автор : tomcat Дата : 12.02.2019 17:17 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 SWR можно разбить математически и воткнуть точку при выводе на lcd между сотнями и десятками/единицами (в коде ниже). to R2DHG Александр, большое спасибо ! и так с КСВ кое что получилось, разбил, воткнул.... // измерение мощности и КСВ // устанавливаем курсор в колонку 10, строку 2 lcd.setCursor(0, 2); // считываем показания с аналогового входа A4 A5 int pwr1 = analogRead(A4); int pwr2 = analogRead(A5); // переводим значения с АЦП A4 A5 в вольты float U1 = pwr1 * (5.0 / 53.0); float U2 = pwr2 * (5.0 / 53.0); // переводим вольты в милиамперы int pwr11 = ((U1*U1)/50) * 12; int swr12 = ((U1+U2)/(U1-U2)) * 100; // выводим результат на дисплей lcd.print("PWR"); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(4, 2); lcd.print(pwr11); lcd.print("W"); // устанавливаем курсор в колонку 10, строку 2 lcd.setCursor(10, 2); // выводим результат на дисплей lcd.print("SWR"); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(14, 2); //lcd.print(swr12); lcd.print(swr12 / 100); //целая часть lcd.print("."); lcd.print(swr12 - (swr12/100)*100); //дробная часть 307161 скетч : 307160 но при выводе КСВ счет идет так: 1,0 (должно быть 1,00) 1,1 (должно быть 1,01) 1,2 (должно быть 1,02) 1,3 (должно быть 1,03) ... 1,8 (должно быть 1,08) 1,9 (должно быть 1,09) 1,10 1,11 1,12 1,13 .... 1,20 1,21 1,22 ... далее правильно получается, что со значений от 1,00 до 1,09 отсутствует первый ноль.. Выглядит это так : 307162 307163 307164 307165 307166 градусник мощности пока никак не удается прикрутить ... . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1442] Автор : RA6MT Дата : 12.02.2019 18:05 Подскажите пожалуйста. Вместо ардуино нано можно использовать ардуино уно? В схема лампового УМа. Вроде процессоры одинаковые. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1443] Автор : IG_58 Дата : 12.02.2019 18:47 Конечно можно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1444] Автор : R9OY Дата : 12.02.2019 18:56 Ардуино у меня есть, собрал лазерный выжигательный станок, надо попробовать такую же в КСВ УМ применить. Забавно, тем паче тут сподвижники есть и обмен той или иной информацией об применении. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1445] Автор : vadim_d Дата : 12.02.2019 19:10 что со значений от 1,00 до 1,09 отсутствует первый ноль.. Не нашел описания lcd/print(), но в лоб можно поправить как-то так: ... if (swr12 - (swr12/100)*100 <= 9) { lcd.print("0"); } lcd.print(swr12 - (swr12/100)*100); //дробная часть ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1446] Автор : Integral Дата : 12.02.2019 22:00 Тема немного ожила... Измерение КСВ и мощности каждый делает по-своему, тут вариантов много. Чаще всего проверенный код "гуляет" из проекта в проект, зачем еще что-то выдумывать. В своих программах измерение КСВ и мощности я делаю сначала через усреднение показаний с портов АЦП, иначе цифры "пляшут": unsigned long CalcStart = millis(); //включаем счетчик времени int ReadCnt=0; //назначаем переменную счетчика ReadCnt while ((millis()-CalcStart)U2){SWR=(U1+U2)/(U1-U2);} //если U1>U2, то расчитываем значение КСВ if (SWR>=9.99){SWR=9.99;} //ограничиваем значение КСВ на уровне 9.99 Вывод значения КСВ на индикатор выполняется командами: lcd.setCursor(9,0); //устанавливаем курсор на первую строку и нулевой символ lcd.print("SWR="); //выводим на дисплей надпись "SWR" lcd.print(SWR,1); //выводим на дисплей показания КСВ lcd.print(" "); Команда lcd.print(SWR,1) позволяет выводить значение с десятыми, т.е. один знак после запятой. Если нужно два знака, то соответственно команда будет такой lcd.print(SWR,2). Вызов подпрограммы измерения КСВ в цикле loop будет таким swr(U1,U2); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1447] Автор : Integral Дата : 13.02.2019 00:51 Измерение мощности. Я пробовал разные варианты, но в итоге пришел к одному, который учитывает значение КСВ. В итоге измеритель показывает реальную проходящую мощность через датчик. Для этого в коде я использую "виртуальное" напряжение на нагрузке. Поскольку мы в измерении КСВ чаще всего используем Tandem Match, то достаточно использовать его как трансформатор напряжения (напряжение прямой волны). Если КСВ будет отличаться от 1, то напряжение прямой волны будет уменьшаться, а обратной увеличиваться. В итоге наш измеритель пересчитает мощность с учетом КСВ, что несомненно будет более правильно. float PWR, V=0; float l=14.2; //константа вычисления мощности 100Вт void pwr (float U1){ //подпрограмма мощности прямой волны с привязкой по U1 V=((U1*5)/1023)*l; //приводим напряжение к мощности 100Вт PWR=(V*V)/50; //вычисляем мощность if (PWR>100){PWR=100;} //ограничиваем мощность на уровне 100Вт lcd.setCursor(0,0); //устанавливаем курсор lcd.print("P="); //округлённая индикация мощности lcd.print((int) PWR); //выводим на дисплей показания мощности lcd.print("W ");} В формуле вычисления напряжения есть константа l, которая по сути является коэф. трансформации по напряжению. При l=14.2 и напряжении на входе АЦП равное 5В получим напряжение 71В, которое на нагрузке 50Ом даст наши 100Вт мощности. После вывода значения мощности рисуем W и пробелы, чтобы ими затирать знак W при изменении разрядности чисел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1448] Автор : RA6MT Дата : 13.02.2019 05:14 Подскажите в каком посте можно посмотреть последнею схему индикатора лампового УМа. И можно ли ввести защиты от превышения тока анода и экранной сетки. Что бы ардуино при превышении токов отключало питающие напряжения лампы и высвечивало по какому току авария? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1449] Автор : tomcat Дата : 13.02.2019 10:27 Подскажите в каком посте можно посмотреть последнею схему индикатора лампового УМа. если Вы имеете ввиду этот проект : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 рисованной схемы пока нет, так как устройство на стадии отладки, но по выводам ардуины так : входы Arduino : А0 = напряжение анода, А1 = ток анода, А2 = напряжение экранной сетки, А3 = ток экранной сетки, А4 = прямая волна от НО, А5 = отраженная волна от НО, питание : 5V = +5В от КРЕН-ки 7805 подключение LCD 2004 : RS = D12 Arduino , E = D11 Arduino , DB4 = D5 Arduino , DB5 = D4 Arduino , DB6 = D3 Arduino , DB7 = D2 Arduino , VSS = GND VCC = +5В Vo - регулировка контраста LCD RW = GND A - через резистор 47 Ом в выводу VCC K = GND Добавлено через 4956 дней 343 месяца 9304 дня 48907 часов 32 минут(ы): to vadim_d Вадим, спасибо ! это f (swr12 - (swr12/100)*100 <= 9) { lcd.print("0"); } работает правильно 307232 307233 ....сначала через усреднение показаний с портов АЦП, иначе цифры "пляшут"... это попробуем чуть позже важный вопрос по проекту : как прикрутить сюда, в четвертую строку градусник-линейку отображения мощности ? это важно при настройке лампового УМ ! . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1450] Автор : RA6MT Дата : 13.02.2019 12:23 вместо датчиков тока используете резистивные делители? Или что китайское. И примерно какое будет время срабатывания (если добавить) аварии по превышению тока? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1451] Автор : tomcat Дата : 13.02.2019 13:39 ... вместо датчиков тока используете резистивные делители? типа этого : 307264 но это нужно перепроверить ! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1452] Автор : Integral Дата : 13.02.2019 14:25 Что касается градусника. Для начала нужно попробовать что то простое. Поняв суть его работы, можно усложнить его и применить свои хотелки. Наиболее просто градусник в Ардуино получается при помощи функции map. Почитайте про нее тут (http://arduino.ru/Reference/Map). Касательно индикатора 2004 код будет таким: uint8_t symbol1[8] = {00,00,00,00,00,00,00,21}; //определяем символ для ряда точек (в начале скетча) lcd.createChar(1, symbol1); //загружаем символ из массива symbol в первую ячейку ОЗУ дисплея (в setup()) lcd.setCursor(0, 3); //устанавливаем курсор uint8_t j=map(U,0,1023,0,19); //определяем переменную j которой присваиваем значение U преобразованное от диапазона 0...1023 к диапазону 0...19 for(int i=0; i<20; i++){ //выполняем цикл 20 раз для вывода шкалы lcd.write(j>i? 255:1); //выводим на дисплей поочерёдно символы } //либо символ 1 (символ точек) else //иначе for(int i=0; i<20; i++){ //выполняем цикл 20 раз lcd.setCursor(i, 3); //устанавливаем курсор дисплея на i символ 3 строки lcd.print(char(1)); //выводим смвол 1 (символ точек) } Градусник должен выводится пропорционально значению U. Вместо него подставляйте свою переменную. Пробуйте так, мне проверить нечем. Индикатора к сожалению нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1453] Автор : tomcat Дата : 13.02.2019 15:17 примерно какое будет время срабатывания (если добавить) аварии по превышению тока? по защитам : мне кажется, что лучше ставить отдельный узел защиты, не связанный с индикатором на ардуино, датчик тока как у UT7EL = ссылка (http://ur4qbp.ucoz.ua/publ/usiliteli_moshhnosti/i_opjat_r_140_p_s/4-1-0-36) 307270 далее компаратор, который будет переключать реле при превышении тока экранной сетки и (или) анода. . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1454] Автор : tomcat Дата : 13.02.2019 17:18 далее компаратор, который будет переключать реле например : 307278 включив транзисторы оптопар 4N35 вместо резистора R4 = ccskrf (http://forum.cxem.net/index.php?/topic/155812-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BE%D1%80-%D1%82%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80-%D0%BA%D0%BB%D1%8E%D1%87-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-%D1%84%D0%BB%D0%B0%D0%BA%D0%BE%D0%BD%D0%B5-%D0%BD%D0%B0-%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5-tl431/) Добавлено через 452 дня 85633 часа 50 минутов: Касательно индикатора 2004 код будет таким: Сергей, большое спасибо! приклеил : // измерение мощности и КСВ // устанавливаем курсор в колонку 10, строку 2 lcd.setCursor(0, 2); // считываем показания с аналогового входа A4 A5 int pwr1 = analogRead(A4); int pwr2 = analogRead(A5); // переводим значения с АЦП A4 A5 в вольты float U1 = pwr1 * (5.0 / 53.0); float U2 = pwr2 * (5.0 / 53.0); // переводим вольты в милиамперы int pwr11 = ((U1*U1)/50) * 12; int swr12 = ((U1+U2)/(U1-U2)) * 100; //if ((U1==0)&&(U2==0)){swr12=1.0;} //если прямая и обратная волна равны нулю, то КСВ=1 //if ((U1!=0)&&(U2!=0)&&(U1<=U2)){swr12=9.99;} //если U1 и U2 не равны нулю и U1<=U2, то КСВ равно 9.99 //if (U1>U2){swr12=(U1+U2)/(U1-U2);} //если U1>U2, то расчитываем значение КСВ //if (swr12>=9.99){swr12=9.99;} //swr12=swr12*10; //ограничиваем значение КСВ на уровне 9.99 // выводим результат на дисплей lcd.print("PWR"); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(4, 2); lcd.print(pwr11); lcd.print("W"); // устанавливаем курсор в колонку 10, строку 2 lcd.setCursor(10, 2); // выводим результат на дисплей lcd.print("SWR"); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(14, 2); //lcd.print(swr12); lcd.print(swr12 / 100); //целая часть lcd.print("."); if (swr12 - (swr12/100)*100 <= 9) { lcd.print("0"); } lcd.print(swr12 - (swr12/100)*100); //дробная часть //lcd.print(swr12=swr12*10); //дробная часть lcd.createChar(1, symbol1); //загружаем символ из массива symbol в первую ячейку ОЗУ дисплея (в setup()) lcd.setCursor(0, 3); //устанавливаем курсор uint8_t j=map(pwr1,0,1023,0,19); //определяем переменную j которой присваиваем значение U преобразованное от диапазона 0...1023 к диапазону 0...19 for(int i=0; i<20; i++){ //выполняем цикл 20 раз для вывода шкалы lcd.write(j>i? 255:1); //выводим на дисплей поочерёдно символы } //либо символ 1 (символ точек) //else //иначе for(int i=0; i<20; i++){ //выполняем цикл 20 раз lcd.setCursor(i, 3); //устанавливаем курсор дисплея на i символ 3 строки lcd.print(char(3)); //выводим смвол 1 (символ точек) } delay(200); } полный скетч : 307285 с //else //иначе не разобрался, вид на ЖКИ : 307286 но градусник заполнил всю нижнюю строку и не управляется 307287 . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1455] Автор : RA6MT Дата : 13.02.2019 17:43 переключать реле при превышении тока экранной сетки и (или) анода. При прострелах токи могут быть в импульсе очень большие, не сгорит ли оптрон? У меня при простреле ГУ-74 рассыпался 25 ваттный резистор :crazy: В прицепе можно и так, можно ещё будет повесить светодиод, что бы показывал по чём сработала защита. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1456] Автор : RA6MT Дата : 14.02.2019 00:56 но по выводам ардуины так Скейч залил, вроде всё нормально, стал вопрос с подключением индикатора. Записывал через усб кабель. Как я думаю у ардуино уно на плате есть свой стабилизатор и всю схему можно питать +12в. Но в описании стоит +5в. Может это для нано? у меня такой индикатор. И не совпадают некоторые "провода" Вместо VCC стоит VDD Vo регулировка подсветки- можно через делитель подать 5в? Сколько вольт примерно нужно? Просветите пожалуйста, опасаюсь спалить индикатор.307328 307325 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1457] Автор : tomcat Дата : 14.02.2019 01:14 Записывал через усб кабель. Как я думаю у ардуино уно на плате есть свой стабилизатор и всю схему можно питать +12в. Но в описании стоит +5в. Может это для нано? у меня такой индикатор. И не совпадают некоторые "провода" Вместо VCC стоит VDD Vo регулировка подсветки- можно через делитель подать 5в? Сколько вольт примерно нужно? Тута (http://zelectro.cc/LCD1602) 1 (VSS) - Питание контроллера (-) 2 (VDD) - Питание контроллера (+) 3 (VO) - Вывод управления контрастом 4 (RS) - Выбор регистра 5 (R/W) - Чтение/запись ( режим записи при соединении с землей) 6 (E) - Еnable (строб по спаду) 7-10 (DB0-DB3) - Младшие биты 8-битного интерфейса 11-14 (DB4-DB7) - Старшие биты интерфейса 15 (A) - Анод (+) питания подсветки 16 (K) - Катод (-) питания подсветки .... Первые три вывода ЖКИ так подключите : 307329 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1458] Автор : tomcat Дата : 14.02.2019 11:58 попробовал применить библиотеку LcdBarGraph.h правда, она позволяет рисовать градусник только в первой и второй строке, перенес цифровые значения ниже, а в первой строке градусник : 307344 скетч : 307348 307345 307346 вроде бы неплохо, но ! не происходит затирание ранее выведенных символов : 307347 #include #include byte lcdNumCols = 20; // -- number of columns in the LCD byte sensorPin = 0; // -- value for this example LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // -- creating LCD instance LcdBarGraph lbg(&lcd, 20, 0, 0); // -- creating bargraph instance, format is (&lcd, lcdNumCols, start X, start Y). So (&lcd, 16, 0, 1) would set the bargraph length to 16 columns and start the bargraph at column 0 on row 1. void setup(){ // -- initializing the LCD lcd.begin(20, 4); lcd.clear(); // -- do some delay some time I've got broken visualization delay(100); } void loop() { // измерение анодного напряжения // устанавливаем курсор в колонку 0, строку 0 lcd.setCursor(0, 2); // считываем показания с аналогового входа A0 int anodU = analogRead(A0); // переводим значения с АЦП A0 в вольты float sensorVoltage = anodU * (5.0 / 120.0); // переводим вольты в напряжение int anodV = sensorVoltage * 100; // выводим результат на дисплей lcd.print("Ua"); // устанавливаем курсор в колонку 8, строку 2 // на самом деле это третья строка, т.к. нумерация начинается с нуля lcd.setCursor(3, 2); lcd.print(anodV); lcd.print("V"); // измерение анодного тока // устанавливаем курсор в колонку 10, строку 0 lcd.setCursor(10, 2); // считываем показания с аналогового входа A1 int anodI = analogRead(A1); // переводим значения с АЦП A1 в вольты float sensorVoltage1 = anodI * (5.0 / 123.0); // переводим вольты в милиамперы int anodmA = sensorVoltage1 * 100; // выводим результат на дисплей lcd.print("Ia"); // устанавливаем курсор в колонку 13, строку 0 lcd.setCursor(13, 2); lcd.print(anodmA); lcd.print("mA"); // измерение напряжения экранной сетки // устанавливаем курсор в колонку 0, строку 1 lcd.setCursor(0, 3); // считываем показания с аналогового входа A2 int gridU2 = analogRead(A2); // переводим значения с АЦП A2 в вольты float sensorVoltage2 = gridU2 * (5.0 / 120.0); // переводим вольты в напряжение int gridV2 = sensorVoltage2 * 100; // выводим результат на дисплей lcd.print("Ug"); // устанавливаем курсор в колонку 3, строку 1 // на самом деле это третья строка, т.к. нумерация начинается с нуля lcd.setCursor(3, 3); lcd.print(gridV2); lcd.print("V"); // измерение тока экранной сетки // устанавливаем курсор в колонку 10, строку 1 lcd.setCursor(10, 3); // считываем показания с аналогового входа A3 int gridI2 = analogRead(A3); // переводим значения с АЦП A3 в вольты float sensorVoltage3 = gridI2 * (5.0 / 123.0); // переводим вольты в милиамперы int gridmA2 = sensorVoltage3 * 100; // выводим результат на дисплей lcd.print("Ig"); // устанавливаем курсор в колонку 13, строку 1 lcd.setCursor(13, 3); lcd.print(gridmA2); lcd.print("mA"); // измерение мощности и КСВ // устанавливаем курсор в колонку 10, строку 0 lcd.setCursor(0, 1); // считываем показания с аналогового входа A4 A5 int pwr1 = analogRead(A4); int pwr2 = analogRead(A5); // переводим значения с АЦП A4 A5 в вольты float U1 = pwr1 * (5.0 / 53.0); float U2 = pwr2 * (5.0 / 53.0); // переводим вольты в милиамперы int pwr11 = ((U1*U1)/50) * 12; int swr12 = ((U1+U2)/(U1-U2)) * 100; lcd.print("PWR"); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(4, 1); lcd.print(pwr11); lcd.print("W"); // устанавливаем курсор в колонку 10, строку 2 lcd.setCursor(10, 1); // выводим результат на дисплей lcd.print("SWR"); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(14, 1); //lcd.print(swr12); lcd.print(swr12 / 100); //целая часть lcd.print("."); if (swr12 - (swr12/100)*100 <= 9) { lcd.print("0"); } lcd.print(swr12 - (swr12/100)*100); //дробная часть //lcd.print(swr12=swr12*10); //дробная часть // -- draw bar graph from the analog value readed lbg.drawValue( analogRead(A4), 1021); // -- do some delay: frequent draw may cause broken visualization delay(100); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1459] Автор : UA9SJR Дата : 14.02.2019 20:36 Загрузил при помощи XLOADER прошивку "Контроллера с LCD дисплеем для транзисторного УМ", а изображение на дисплее повернуто на 90 градусов, пробовал по разному, результат одинаковый. Прошиваю так же, но другую программу (Синтезатор на Мега 2560) работает нормально. Подскажите почему программа "Контроллера" не хочет нормально работать? Что я делаю не так? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1460] Автор : Integral Дата : 15.02.2019 01:24 попробовал применить библиотеку LcdBarGraph.h Хорошая библиотека, где она была раньше :-P правда, она позволяет рисовать градусник только в первой и второй строке, Пролистал библиотеку, никаких ограничений я не нашел по выводу номера строки. А вот в инициализации индикатора 2004 в скетче ошибка: lcd.begin(20, 4); должно быть lcd.begin(4, 20); Строку LcdBarGraph lbg(&lcd, 20, 0, 0); заменить на LcdBarGraph lbg(&lcd, 20, 0, 3); и по идее градусник должен отобразиться в 4 строке. Для наглядности нужно поставить знак "=" по всем параметрам, лучше будет смотреться: PWR= Ua= Ug= не происходит затирание ранее выведенных символов А их нечем затирать, я выше постом об этом писал: После вывода значения мощности рисуем W и пробелы, чтобы ими затирать знак W при изменении разрядности чисел. Т.е. команда должна быть lcd.print ("W "); Больше одного пробела здесь нельзя ставить, иначе пробел начнет затирать SWR Добавлено через 10 минут(ы): Загрузил при помощи XLOADER прошивку "Контроллера с LCD дисплеем для транзисторного УМ", а изображение на дисплее повернуто на 90 градусов, пробовал по разному, результат одинаковый. Вы загрузили прошивку *.hex скорее всего не того индикатора. Их имеется 4 вида, они условно совместимы HX8357B, HX8357C, ILI9481 и ILI9486. Скажите какой у вас контроллер и я скомпилирую нужную для проверки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1461] Автор : UA9SJR Дата : 15.02.2019 08:23 На дисплее написано-ILI9486 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1462] Автор : R9US Дата : 15.02.2019 09:15 tomcat (http://www.cqham.ru/forum/member.php?12374-tomcat), а говорил, что просто домашний паятель!!!:-P вон какую хорошую вещь задумал! а можно сделать вариант прошивки для I2C? проводов меньше, а значит и наводок...... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1463] Автор : tomcat Дата : 15.02.2019 10:26 просто домашний паятель!!! так оно и есть ! запустил УМ на ГУ-81, с индикатором на ЖКИ 2004 и PIC16F877, быстродействие этого индикатора не понравилось, вывод информации почти секунда !!!!, покрутил КПЕ а через секунду индикатор отрисовал тебе изменения, сидишь и ждешь, при настройке ВКС секунда - это целая вечность :-|... пока поймаешь резонанс - анод красный :oops:, ГУ-50 загнулись бы. для тетродов и пентодов важно знать ток экранной сетки, готовых доступных прожэктов не обнаружил, поэтому пришлось изобретать свое, выбор пал на Ардуину (нано в Китае = 1,8$), как вещь доступную и универсальную, нужно 200, 1000 или 5000 Вт - сам себе исправил под свои задачи.... так же с напряжением и током. ЖКИ 2004 (2004 в Китае = 3,3$) достаточно для вывода необходимых значений. а можно сделать вариант прошивки для I2C? можно попробовать, но позжее, боюсь за быстродействие индикатора в целом, каждая новая плюшка - это дополнительная задача для Ардуины в ущерб быстродействию. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1464] Автор : Integral Дата : 15.02.2019 11:42 можно сделать вариант прошивки для I2C? проводов меньше I2C нормально работает с двухстрочниками. На четырехстрочниках были проблемы с выводом информации, строки уезжали в сторону. Возможно у меня не та библиотека была. боюсь за быстродействие индикатора в целом, каждая новая плюшка - это дополнительная задача для Ардуины в ущерб быстродействию. Быстродействие Ардуины с двух и четырехстрочниками хватает выше крыши, я даже в своем КСВ-метре кварц на 16МГц выкинул и запустил от внутреннего генератора. Тут бояться за память нужно, уж очень она быстро в Ардуино расходуется. Добавлено через 30 минут(ы): написано-ILI9486 Две прошивки в архиве, без загрузчика Ардуино и с загрузчиком на тот случай, если нужно использовать плату Mega2560 для загрузки скетчей по шнурку USB. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1465] Автор : tomcat Дата : 15.02.2019 12:09 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 Для наглядности нужно поставить знак "=" по всем параметрам, лучше будет смотреться: PWR= Ua= Ug= команда должна быть lcd.print ("W "); Сергей, большое спасибо ! добавил, почти все работает скетч : 307425 Скетч использует 4762 байт (15%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 127 байт (6%) динамической памяти, 307426 если если обратная волна больше чем прямая (правда, не знаю возможно ли такое на практике !?) 307427 остаются артифакты после значения КСВ 307428 попробовал заменить : lcd.begin(20, 4); должно быть lcd.begin(4, 20); 307429 ...Смешались в кучу кони, люди,... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1466] Автор : R2DHG Дата : 15.02.2019 12:33 Выводите просто строку из пробелов на место "SWR=xxxx" чтобы затирало все, а поверх уже строку с числом. Чтобы экран не мерцал (так красивее) и нагрузка была меньше (быстрее 10 раз проверить, чем один раз передать команды в lcd) перед выводом проверяйте примерно так: if (xSWR != SWR) { lcd.setCursor(4, 2); lcd.print(" "); // нужное число пробелов чтобы стерло все lcd.setCursor(4, 2); lcd.print("SWR="); lcd.print(SWR); xSWR = SWR; } т.е. не нужно ничего менять на экране если значение ксв не изменилось с предыдущего замера и вывода. Или вариант "в лоб" - перед выводом на экран преобразовывать число в строку и добивать пробелами до максимальной длины. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1467] Автор : ur7hfo Дата : 15.02.2019 12:44 И еще дополнительно снизим расходы на вывод через медленную шину i2c unsigned long time = 0; if(millis() > time + 250) // 0.25 s. { if (xSWR != SWR) { lcd.setCursor(4, 2); lcd.print(" "); lcd.setCursor(4, 2); lcd.print("SWR="); lcd.print(SWR); xSWR = SWR; } time = millis(); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1468] Автор : tomcat Дата : 15.02.2019 13:06 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 Выводите просто строку из пробелов на место "SWR=xxxx" чтобы затирало все, а поверх уже строку с числом. // устанавливаем курсор в колонку 10, строку 1 lcd.setCursor(10, 1); // выводим результат на дисплей lcd.print("SWR="); lcd.print(" "); // устанавливаем курсор в колонку 13, строку 1 lcd.setCursor(14, 1); lcd.print(swr12 / 100); //целая часть lcd.print("."); if (swr12 - (swr12/100)*100 <= 9) { lcd.print("0"); } lcd.print(swr12 - (swr12/100)*100); //дробная часть скетч : 307434 вроде бы работает (https://youtu.be/BNmCTttdoMo) новая задача : как остановить бегатню цифр ? это актуально для SSB -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1469] Автор : R9US Дата : 15.02.2019 13:08 ребята, есть такой дисплей, 1286B? можно его применить или четырехстрочный лучше заказать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1470] Автор : UA9SJR Дата : 15.02.2019 13:11 К сожалению ничего не изменилось, видимо мой дисплей не подходит для Ваших прошивок. Придут датчики и плата, начну все с начала. Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1471] Автор : tomcat Дата : 15.02.2019 13:23 есть такой дисплей Графический синий цвет 128x64 точек - он не той системы вот тут брал : Green-screen-LCD2004-display (https://ru.aliexpress.com/item/Free-shipping-LCD-Board-2004-20-4-LCD-20X4-5V-Green-screen-LCD2004-display-LCD-module/32666913810.html?tmLog=onelink_blank&af=208&cv=0&cn=41pmyqbcq8x8cia3azp01kr901ni83jj&dp=v5_41pmyqbcq8x8cia3azp01kr901ni83jj&tmLog=onelink_blank&af=208&cv=0&cn=41pmyqbcq8x8cia3azp01kr901ni83jj&dp=v5_41pmyqbcq8x8cia3azp01kr901ni83jj&afref=&aff_platform=default&cpt=1550226360962&sk=ccfBY4yg&aff_trace_key=005d3ce53e8a4e9598ea6ec78f8bd35b-1550226360962-00677-ccfBY4yg&terminal_id=ad1d7f43575242b8af5fa0bcef5a818a) Funduino-Nano-3-0-Atmega328 (https://ru.aliexpress.com/item/1PCS-Promotion-Funduino-Nano-3-0-Atmega328-Controller-Compatible-Board-for-Arduino-Module-PCB-Development-Board/32531372300.html?af=208&aff_platform=default&cpt=1550226469519&afref=&cn=41pmyqeci103nt1pe1r7e2wom82pzvii&dp=v5_41pmyqeci103nt1pe1r7e2wom82pzvii&cv=0&sk=ccfBY4yg&aff_trace_key=6b9a0401575c4feb985d305b757335b2-1550226469519-06190-ccfBY4yg&tmLog=onelink_blank&terminal_id=ad1d7f43575242b8af5fa0bcef5a818a) I2C Interface (https://ru.aliexpress.com/item/Free-Shipping-1PCS-LCD1602-1602-module-Blue-screen-16x2-Character-LCD-Display-Module-HD44780-Controller-blue/32517589987.html?af=208&aff_platform=default&cpt=1550226584638&afref=&cn=41pmyqhj6jhweggtic7dydw400p73v5v&dp=v5_41pmyqhj6jhweggtic7dydw400p73v5v&cv=0&sk=ccfBY4yg&aff_trace_key=fc5096b2394f4d66845fa250a525ade4-1550226584638-01550-ccfBY4yg&tmLog=onelink_blank&terminal_id=ad1d7f43575242b8af5fa0bcef5a818a) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1472] Автор : R9US Дата : 15.02.2019 13:30 понятно, значит закажу 2004........... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1473] Автор : fedorenko28 Дата : 15.02.2019 13:53 sprintf(s,"%03d",dat); цифра 3 количество нулей, dat в этом примере выводимая переменная в скетче. И не будет артефактов . Будет 0034 например. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1474] Автор : R2DHG Дата : 15.02.2019 14:02 новая задача : как остановить бегатню цифр ? это актуально для SSB Как вариант вместо постоянного обновления усреднять, а обновлять экран пару раз в секунду и выводить среднее. Можно завести массивы под все замеряемые значения. Что то вроде... #define AVG 10 uint16_t swrm[AVG]; uint16_t n; setup() { lastmillis = millis(); n = 0; } loop() { swrm[n] = analogRead(); n += 1; if (n > AVG-1) n = 0; if (millis() > lastmillis + 500) { lastmillis = millis(); swr = 0; for (int i = 0; i < AVG-1; i++) swr += swrm[i]; swr = swr / AVG; //проследить чтобы не было переполнения ... // вычисляем и выводим } } аа... просто цифры прыгали туда сюда на экране :) я думал сами показания скачут -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1475] Автор : fedorenko28 Дата : 15.02.2019 15:02 Про бегатню десятых, можно попробовать округлить. floor() — округление вниз, ceil() — округление вверх, round() — округление в ближайшую сторону. Или усреднить void loop() { sensorValue = analogRead(analogInPin); if (averageFactor > 0) // усреднение показаний для устранения "скачков" { int oldsensorValue = sensorValue; sensorValue = (oldsensorValue * (averageFactor - 1) + sensorValue) / averageFactor; // <новое среднее> = (<старое среднее>*19 + <текущее значение>) / 20 } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1476] Автор : tomcat Дата : 15.02.2019 17:39 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 устранить прыгание последнего разряда пока не удается, оставлю пока так как есть текущий скетч : 307451 307452 Границы измеряемых значений : Мощность = 2235 Вт, Напряжение анода и экранной сетки = 4262 В; Ток анода и экранной сетки = 4158 мА. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1477] Автор : fedorenko28 Дата : 16.02.2019 03:47 Еще можно попробовать функцию map. Преобразует значение переменной в целое число. Причем можно привести 0-1023 значение переменной на входе, к 0-5000 на дисплее например. int val = analogRead(0); val = map(val, 0, 1023, 0, 255); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1478] Автор : RA6MT Дата : 16.02.2019 04:57 #include #include Припаял дисплей, начало ругаться? Подскажите пожалуйста, чего нужно. Говорит нет файла с LCD дисплеем? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1479] Автор : tomcat Дата : 16.02.2019 11:00 #include #include Припаял дисплей, начало ругаться? Подскажите пожалуйста, чего нужно. Говорит нет файла с LCD дисплеем? Скорее всего - не подключены указанные библиотеки. Тут (https://youtu.be/0OebxObAKss) гляньте Либо тута (https://robots4life.ru/podklyuchenie-bibliotek-arduino-ide) Можно добавить библиотеку из официального репозитория Arduino. Для этого открываем Arduino IDE -> скетч -> Подключить библиотеку -> 307505 Управлять библиотеками-> 307506 В строке поиска пишите название Вашей библиотеки : 307507 И устанавливаете её из списка доступных. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1480] Автор : Владимир_К Дата : 16.02.2019 11:07 Редко пользуюсь Ардуино, но иногда приходится. Недавно для себя открыл такой сервис:smile:. Открываете IDE Ардуино. Затем - скетч - включить библиотеки (include libreris) - менеджер библиотек. Ждете, открывается список. Ищете в списках нужную, кликаете "more info". Может быть несколько версий, выбираете последнюю. Затем - "инсталлировать". Нужная библиотека будет добавлена в IDE. Может кому тоже будет полезно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1481] Автор : tomcat Дата : 16.02.2019 12:58 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 Мощность = 2235 Вт, немного поправил коэффициенты для различных диапазонов мощности : Мощность = 200 Вт 307511 Мощность = 300 Вт 307512 Мощность = 500 Вт 307513 Мощность = 800 Вт 307514 Мощность = 900 Вт 307515 Мощность = 1100 Вт 307516 Мощность = 1400 Вт 307517 п.с. : по #include выбирайте версию 2.0.0, потому что версия 2.0.1 кидает в конце градусника артифакт в виде IIIIF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1482] Автор : RA6MT Дата : 16.02.2019 13:01 Спасибо парни, всё заработало. Я не залил библиотеку :( Думал библиотеки идут вместе со скечами :( Убрал провод с анода, +5 вольт на анод сильно много :) Без датчиков, цифры все прыгают, верхняя строчка температуры тоже прыгает. Вроде все нормально. :пиво: Пожалуйста дайте ссылку, по датчикам тока и температуры. Какие лучше ставить. Ещё раз спасибо. :пиво: :пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1483] Автор : tomcat Дата : 16.02.2019 13:42 Убрал провод с анода, +5 вольт на анод сильно много :) Без датчиков, цифры все прыгают, верхняя строчка температуры тоже прыгает. Вроде все нормально. :пиво: Пожалуйста дайте ссылку, по датчикам тока и температуры. Какие лучше ставить. Ещё раз спасибо. :пиво: :пиво: Температуры там нет, в первой строке ЖКИ скорее всего шкала входного ВЧ напряжения, для настройки УМ, Пример делителя для изменения анодного (экранного) напряжения : 307521 Измерение тока ещё надо отработать, позжее -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1484] Автор : RA6MT Дата : 16.02.2019 13:48 На али есть датчики тока. Самый маленький видел на 1а. Может его пробовать? Делать шунты, сильно долго. Пока откалибруешь, что бы устраивало. Ток сетки вообще в районе 50ма. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1485] Автор : RA6MT Дата : 16.02.2019 14:49 https://ru.aliexpress.com/item/Max471/32854055566.html?spm=a2g0v.search0604.3.168.3348b79cb0Qhqb&transAbTest=ae803_5&ws_ab_test=searchweb0_0%2Csearchweb201602_6_10065_10068_319_317_10696_453_10084_454_10083_10618_10304_10307_10820_10301_537_536_10902_10059_10884_10889_10887_321_322_10103_10914_10911%2Csearchweb201603_45%2CppcSwitch_0&algo_pvid=39f0288d-4049-4c7c-9486-f48e61fc4cb5&algo_expid=39f0288d-4049-4c7c-9486-f48e61fc4cb5-24 Что скажите по этим датчикам? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1486] Автор : fedorenko28 Дата : 16.02.2019 15:19 Как вариант, ту еще надо чтоб его не прошило https://hz.ru.aliexpress.com/item/5-ACS756SCA-100B-PFF-ACS756SCA-100B-ACS756SCA-ACS756/32837646614.html?spm=a2g0s.13010208.99999999.11.17563c00sglI4G -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1487] Автор : RA6MT Дата : 16.02.2019 15:54 В ардуино остались свободные выхода. Как изменить скеч, что бы при кратко временном броске тока. Превышающий заданный, по сетке или аноду, на выходах появлялось 5в. А по входу поставить кнопку ручного сброса этой аварии? То Федоренко 28 ..Эти датчики вроде на 50А. как им мерять 50мА (максимум 100ма) в сетке? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1488] Автор : RA6MT Дата : 17.02.2019 10:47 Подскажите какой лучше установить симулятор ардуино на комп? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1489] Автор : fedorenko28 Дата : 17.02.2019 11:25 ACS756SCA 40mv/a ток сетки измерять конечно многовато, ток анода вполне. По броску тока, самое простое использовать if else. if analogread (макс значение) действие пин 5 вольт high, else нажатие кнопки отмена пин 5 вольт low. Соответственно обозначить в начале скетча пин кнопки пин 5 вольт, в setup обозначить как вход выход, там же установить для пин 5 вольт low, а пин кнопки подтянуть к 5 вольтам через 10к резистор и кондер на массу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1490] Автор : RA6MT Дата : 17.02.2019 11:36 Для контроля прострелов я использовал геркон. Мотал сверху катушку, и по току 1-1.2 А Для ГУ-43 отстраивал срабатывание. Геркон уже рвал цепи питания лампы. Для контроля тока сетки брал реле (кажется РЭС-10) при настойке шунтировал катушку. Что бы подобрать ток срабатывания 55-60 ма. Дёшево, но сердито :super: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1491] Автор : UA7F Дата : 25.02.2019 08:32 устранить прыгание последнего разряда пока не удается, оставлю пока так как есть текущий скетч : 307451 307452 Границы измеряемых значений : Мощность = 2235 Вт, Напряжение анода и экранной сетки = 4262 В; Ток анода и экранной сетки = 4158 мА. Есть ли возможность добавить функцию подачи напряжения на вентилятор, накал и после прогрева лампы на анод и экранирующую сетку, а при выключении снимать напряжения и выключать вентилятор по таймеру. Еще было бы неплохо регулировать скорость вращения вентилятора в зависимости от температуры охлаждающего воздуха. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1492] Автор : R2DHG Дата : 25.02.2019 09:26 Подскажите какой лучше установить симулятор ардуино на комп? Proteus из последних, например -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1493] Автор : RA6MT Дата : 02.03.2019 02:36 протеус для меня пока сложноват :oops: нашёл фл прог- для моих хотелок пока вроде хватает. Пробую сделать автоматику включения и защиты, для УМ. Вчера привезли ардуино для "тренировки" Буду пробовать :crazy: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1494] Автор : Tolya Дата : 02.03.2019 14:02 Лично мне больше нравятся цветные индикаторы, как то веселее смотрятся, наверно не нагулялся еще ими: Хочу повторить вашу конструкцию..но не могу найти ваш скотч на ксв метр с часами... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1495] Автор : RW3DF Дата : 02.03.2019 15:28 To Tolya Раньше давал в эфире CQ...CQ. Теперь набираю на мониторе WWW.. (http://www../).... !!! Вообще то набирают на клавиатуре! Сергей RW3DF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1496] Автор : Integral Дата : 02.03.2019 16:12 Хочу повторить вашу конструкцию... Смотрите схему, в схеме есть интерактивная ссылка на этот проект со всеми скетчами, фото. Публиковать не стал, т.к. конкретно в железе не проверил, на все катастрофически не хватает времени. Плату сделать бы к нему. Ваш вариант ILI9225_SWR_PWR-meter_clock_Nano_2.27, версии выше уже без часов, внедрил туда меню и памяти на часы не хватило. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1497] Автор : Tolya Дата : 02.03.2019 17:33 Вообще то набирают на клавиатуре! Хорошо...надо будет попробовать подключить внешнюю клавиатуру.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1498] Автор : Tolya Дата : 03.03.2019 10:18 Ваш вариант ILI9225_SWR_PWR-meter_clock_Nano_2.2 7 Что то не удаётся скомпроментировать эту версию,выдаёт ошибку,другие версии проходят нормально.. Добавлено через 36 минут(ы): Arduino: 1.8.5 (Windows XP), Плата:"Arduino Nano, ATmega328P" C:\Documents and Settings\Admin\Local Settings\Temp\ILI9225_SWR_PWR-meter_clock_Nano_2.27\ILI9225_SWR_PWR-meter_clock_Nano_2.27.ino:15:141: fatal error: TimeLib.h: No such file or directory #include //подключаем библиотеку времени ^ compilation terminated. exit status 1 Ошибка компиляции для платы Arduino Nano. Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции" ------------------------ Вот такое выходит сообщение -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1499] Автор : IG_58 Дата : 03.03.2019 11:20 У Вас библиотека TimeLib.h не установлена. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1500] Автор : Tolya Дата : 03.03.2019 12:19 У Вас библиотека TimeLib.h не установлена. Спасибо...а вот где её взять то...? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1501] Автор : IG_58 Дата : 03.03.2019 12:36 Их полно в сети, но чтобы не ошибиться с версией, попросите ее у разработчика скетча. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1502] Автор : Integral Дата : 03.03.2019 16:09 Добавил эту папку с библиотеками времени у себя в Облаке, вроде они считаются стандартными и должны грузиться вместе с программой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1503] Автор : Tolya Дата : 03.03.2019 16:53 Всё получилось...огромное спасибо,а то уже второй день голову ломаю..теперь жду прихода дисплея,а пока делаю плату.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1504] Автор : tomcat Дата : 03.03.2019 18:39 Заголовок : TimeLib.h библиотека TimeLib.h а вот где её взять то...? 308757 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1505] Автор : Integral Дата : 03.03.2019 23:47 теперь жду прихода дисплея,а пока делаю плату... Обратите внимание, что индикаторы сейчас на Али с контроллером ILI9225 в основном 2.0" и они без функции плавного регулирования яркости подсветки, которая у меня автоматически регулируется в отсутствии сигнала на входе. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1506] Автор : igor 2015 Дата : 04.03.2019 13:07 Переустановил windows xp. Поставил ардуино 1.6.5. Посмотрел, в описании скетча 1.6.9. Поставил эту версию, выкидывает ошибки. Менял сам файл si5351 VFO, с сайта JA2GQP. Менял библиотеки, ошибки также. В чем проблема, ведь до перестановки windows все работало и компилироваллсь без ошибок. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1507] Автор : R2DHG Дата : 04.03.2019 13:45 Обновленная библиотека si5351 не подходит к скетчу (как минимум это). Попробуйте постарее найти. Отсюда качается https://cloud.mail.ru/public/5MML/rVspv6R3u ? Должна быть старая. Я где то раньше писал чем они отличаются, для использования новой версии надо немного скетч поменять. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1508] Автор : igor 2015 Дата : 04.03.2019 15:08 Спасибо огромное Вам!!! Компиляция прошла. Зачем тогда на самом сайте, указанном в скетче, обновлять, чтобы не работало. Вот только при компиляции гора ошибок лезет красных строк, а потом компиляция завершена. Видимо, все библиотеки типа "arduino master" удалить, так что ли? Добавлено через 16 минут(ы): Вообще не понятно. Зашёл администратором, пишет ошибку, в строке, где инициализация; зашёл гостем, компиляция прошла, как указал выше. Почему так то? Добавлено через 27 минут(ы): Вроде заработало, видимо, красным пишет ошибки повтора, т.к. сначала администратором работал, затем установил отдельного пользователя, там и там одинаковые папки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1509] Автор : R2DHG Дата : 04.03.2019 15:25 Библиотека может лежать в папке куда установлен Arduino IDE, а может в профиле пользователя, вроде если ставить библиотеки через мастер установки библиотек - они в папки профиля пользователя попадают и тогда результат может зависеть от того, под кем запустили. Надо бы найти обе версии где лежат и заменить новую на старую и там и там. Да это что то автор библиотеки решил поменять вызовы некоторых функций. Не совсем понятно что это дало, а вот совместимость пропала. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1510] Автор : igor 2015 Дата : 04.03.2019 15:37 Благодарю Вас, Александр! Вот этот феномен мне вообще не понятен. В настройках, в меню файл, поставил √ в окошке, показывать номера строк. Запустил на сканирование, красные строки исчезли, ошибок никаких нет, сканирование прошло полностью, никаких ошибок. Снял √ в окошке, также сканирование прошло без красных строк и ошибок. Зашёл в отдельного пользователя, проделал тоже самое, все также, ни ошибок, ни красных строк. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1511] Автор : igor 2015 Дата : 05.03.2019 12:16 Подключил ардуино с экраном Nokia, хотел перепрошить. В итоге экран очистился после прошивки и ничего не показывает. Александр, что ещё не так. Поставил старую библиотеку LCD5110_Basik, пишет ошибки типа fonts, поставил указанные в скетче, компилирует без ошибок, но на экране Nokia ничего нет. Хотел поменять шаг, в итоге все исчезло! Чистый экран и все. А загрузку показывает полностью. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1512] Автор : R3EZ Дата : 05.03.2019 13:30 Обратите внимание, что индикаторы сейчас на Али с контроллером ILI9225 в основном 2.0" Сергей, наткнулся на одного продавца, который предлагает дисплей с контроллером ILI9225G. Последняя буква о чем нибудь говорит или это одно и то же? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1513] Автор : Integral Дата : 05.03.2019 15:36 ...предлагает дисплей с контроллером ILI9225G. Последняя буква о чем нибудь говорит или это одно и то же? Не встречал таких, ссылку дайте посмотрим. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1514] Автор : R3EZ Дата : 05.03.2019 16:13 Не встречал таких, ссылку дайте посмотрим. Вот такой: https://www.aliexpress.com/item/1-44-1-8-2-0-2-2-inch-Serial-SPI-TFT-LCD-Display-Module-Screen/32916836750.html?spm=a2g0s.8937460.0.0.302c2e0eAlsSwS -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1515] Автор : Integral Дата : 05.03.2019 23:02 По фото очень похож на мой. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1516] Автор : igor 2015 Дата : 07.03.2019 08:32 Обновленная библиотека si5351 не подходит к скетчу (как минимум это). Попробуйте постарее найти. Отсюда качается https://cloud.mail.ru/public/5MML/rVspv6R3u ? Должна быть старая. Я где то раньше писал чем они отличаются, для использования новой версии надо немного скетч поменять. Поставил, прошил. На экране nokia вся индикация появилась, частота, шаг и т.д. S метр и шаг работают, но частоты на выходе si5351 нет! Ни на одном. Подключал частотомер к выводам si5351, где кварц. Частоту показывает уверенно 27000000, на обоих выводах si5351. Менял библиотеки на arduino master, ошибки при сканировании. С предложенной библиотекой si5351 ошибок нет при сканировании, вся информация на экране есть, но нет частоты на выходе si5351. Менял файлы местами si5351.h, si5351 cpp, тоже самое. Те же ошибки, возвращаю все на место, ошибок нет , но и частоты на выходе нет. А где раньше писали об изменении скетча? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1517] Автор : R2DHG Дата : 07.03.2019 10:14 Вот тут писал и менял какой то скетч под новую http://www.cqham.ru/forum/showthread.php?29944-%D1%E8%ED%F2%E5%E7%E0%F2%EE%F0-%E7%E0-%EF%EE%EB%F7%E0%F1%E0&p=1580071&viewfull=1#post1580071 (http://www.cqham.ru/forum/showthread.php?29944-%D1%E8%ED%F2%E5%E7%E0%F2%EE%F0-%E7%E0-%EF%EE%EB%F7%E0%F1%E0&p=1580071&viewfull=1#post1580071) Другие скетчи работают на этом же макете ? Ну т.е. с железом точно нет проблем ? Можно все остальное отключить и грузануть другие скетчи с такой же библиотекой - подключение si5351 в них всех одинаковое по идее. В самых первых библиотеках и самих чипах кажется были проблемы с разным I2C адресом, но это давно устаканилось вроде. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1518] Автор : igor 2015 Дата : 07.03.2019 13:28 Почитал по ссылке. # define SI5351_FREQ_MULT 100ULL, что тут удалить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1519] Автор : R2DHG Дата : 07.03.2019 13:54 Где там такое ? Нужно исправить вызовы функций si5351.init(SI5351_C RYSTAL_LOAD_8PF, 0, 0); //3 параметра вместо 2х si5351.set_correctio n(cal_factor, SI5351_PLL_INPUT_XO) ; //2 параметра вместо одного si5351.set_freq(targ et_freq, SI5351_CLK0); //2 параметра вместо 3х и судя по тому посту остальное устаканится. т.е. как то так (не буквально ! только принцип, вместо cal_factor и target_freq будет что то другое) si5351.init(SI5351_C RYSTAL_LOAD_8PF, 0); -> si5351.init(SI5351_C RYSTAL_LOAD_8PF, 0, 0); si5351.set_correction(cal_factor); -> si5351.set_correction(cal_factor, SI5351_PLL_INPUT_XO) ; si5351.set_freq(target_freq, SI5351_CLK0, <что то тут еще>); -> si5351.set_freq(target_freq, SI5351_CLK0); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1520] Автор : igor 2015 Дата : 07.03.2019 15:28 Уж не знаю, что с компом случилось. Включил, подключил программатор, просканировал, все зашилось и работает и частоту показывает. В чем была проблема, только удивляюсь. Видимо, магнитные бури или вирус. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1521] Автор : igor 2015 Дата : 07.03.2019 16:57 R2DHG, подключил синтез к трансиверу, работает хорошо. А как организовать реверс LSB - USB, чтобы не ломать трансивер ,чтобы не убирать опорный генератор. В скетче это прописано, видимо с целью выход второго генератора использовать вместо опорного. Куда else приписать и где указать реверс частоты >13800 кГц? Скетч в сообщении #1506. Пожалуйста, подредактируйте для данного скетча, который в архиве. #ifdef IF_Offset si5351.set_freq((vfo * SI5351_FREQ_MULT) + bfo, SI5351_CLK0); // Вы также можете вычесть BFO, чтобы удовлетворить ваши потребности //si5351.set_freq((vfo * SI5351_FREQ_MULT) - bfo , SI5351_PLL_FIXED, SI5351_CLK0); if (vfo >= 10000000ULL & tbfo != "USB") { bfo = USB; tbfo = "USB"; si5351.set_freq( bfo, SI5351_CLK2); Serial.println("We've switched from LSB to USB"); } else if (vfo < 10000000ULL & tbfo != "LSB") { bfo = LSB; tbfo = "LSB"; si5351.set_freq( bfo, SI5351_CLK2); Serial.println("We've switched from USB to LSB"); } #endif -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1522] Автор : RA6MT Дата : 08.03.2019 02:38 не могу прицепить программу для ардуино. пишет, что файл ино не корректен? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1523] Автор : Tolya Дата : 09.03.2019 12:14 Пытаюсь загрузить скетч..но пока безуспешно.. ----------------------------------- Arduino: 1.8.5 (Windows XP), Плата:"Arduino/Genuino Uno" Скетч использует 27592 байт (85%) памяти устройства. Всего доступно 32256 байт. Глобальные переменные используют 620 байт (30%) динамической памяти, оставляя 1428 байт для локальных переменных. Максимум: 2048 байт. avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x9f avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x3a avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xd1 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x7e avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x7c avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x73 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xde avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xde Произошла ошибка при загрузке скетча Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1524] Автор : sergejbelyj Дата : 09.03.2019 12:34 Tolya, если ide новая, поставьте галку old bootloader -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1525] Автор : Tolya Дата : 09.03.2019 13:02 Всё свершилось...просто перезагрузил комп и всё прошло нормально...что ж бывает:ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1526] Автор : Integral Дата : 09.03.2019 14:28 Такая ошибка возникает когда "теряется" по USB шнурку ардуинка или программатор. Чаще всего достаточно передернуть шнурок и лишний раз выбрать нужный COM-порт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1527] Автор : igor 2015 Дата : 11.03.2019 07:37 Тоже комп при компиляции посыпали ошибки. Выключил, достал из разьема планку памяти, контакты почистил ластиком, вставил обратно. Все работает и без ошибок. Как насчёт применения 24LC256, как ее подключить по шине I2C? Сколько их нужно по обьему памяти? Как определить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1528] Автор : AlexJ Дата : 11.03.2019 22:28 Как проверить работоспособность Arduino MEGA2560 с дисплеем 3,5"? Получил сегодня, поставил программу загрузчик, драйвер для CH340, пытаюсь загрузить встроенные примеры, на дисплее пусто, что либо вообще должно выводиться на дисплей? Хоть бы помигал чем, или выматерился... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1529] Автор : Integral Дата : 11.03.2019 23:29 Как проверить работоспособность Arduino MEGA2560 с дисплеем 3,5"? Первым делом нужно выбрать свой контроллер, для 3.5" сейчас китайцы шлют ILI9486. Для этого в папке с библиотеками находим User_Setup.h и выбираем свой: //#define HX8357B //#define HX8357C //#define ILI9481 #define ILI9486 http://www.cqham.ru/forum/showthread.php?37468-%CA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%F1-LCD-%E4%E8%F1%EF%EB%E5%E5%EC-%E4%EB%FF-%F2%F0%E0%ED%E7%E8%F1%F2%EE%F0%ED%EE%E3%EE-%D3%CC-%ED%E0-MEGA2560&p=1613907&viewfull=1#post1613907 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1530] Автор : Alex 1 Дата : 12.03.2019 06:46 Первым делом нужно выбрать свой контроллер, для 3.5" сейчас китайцы шлют ILI9486. На сколько совместим драйвер r61581 с выше перечисленными? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1531] Автор : UD0DAB Дата : 19.03.2019 16:04 309932 steptune = pow(10.0, varinfo.stp); Кто придумал что если 10 в степени 2 и больше то это не 100, 1000, 10000 а 99, 999 и 9999! Ну почему! Ну так все классно написал в коде для хранения и вычисления шага. Хоть костыль вставляй!!! Вот так тоже не пашет: steptune = pow(10L, varinfo.stp); steptune = pow(10, varinfo.stp); Кто подскажет? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1532] Автор : veso74 Дата : 19.03.2019 16:24 UD0CAJ, вариант или с switch: for (byte i = 0; i < 8; i++) { switch (i) { case 0: j = 1; break; case 1: j = 10; break; ... case 7: j = 10000000; break; } Serial.println(j); } или с циклом: long z = 1; for (byte j = 0; j < i; j++) z *= 10; Serial.println(z); Недавно для обработки step то же самое и у меня случилось :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1533] Автор : UD0DAB Дата : 19.03.2019 16:50 309935 Переписал все взад, как было и работало много лет без проблем. Просто хотел меньше памяти занимать в EEPROM, где сохраняется шаг в том числе. Сейчас очень хочется что бы проц засыпал пока я не кручу енкодер или пока не поменяется положение потенциометра регулировки полосы. Если по энкодеру я еще слышал про прерывания, то про значение с аналогового входа... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1534] Автор : veso74 Дата : 19.03.2019 17:03 ... хочется что бы проц засыпал пока ... Это из-за снижения енергопотребления и/или для снижения помехи? (S-метр на дисплее вероятно нет?) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1535] Автор : R2DHG Дата : 20.03.2019 11:18 Можно и S-метр оставить, но АЦП запускать по таймеру, МК перевести в режим экономии, перерисовывать что то на дисплее только если реально что то нужно изменить, а не тупо в цикле все подряд (впрочем это в любом случае желательно делать - просто смотрится лучше, не мерцает, вплоть до отдельных букв и разрядов, не поменялась какая то цифра - не перерисовываем её даже если частота в целом поменялась). Вот тут про режимы экономии есть https://tsibrov.blogspot.com/2018/02/arduino-power-down.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1536] Автор : UD0DAB Дата : 20.03.2019 11:57 В этом прожекте у меня 8 ми разрядный 7-ми сегментный индикатор. Никаких С-метров :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1537] Автор : UD0DAB Дата : 20.03.2019 18:50 Подскажите, между Атмега 328 и Атмега 2560 есть что-либо промежуточное? Иногда ног/портов у 128/328 меге хватает за глаза, а вот памяти - хотелось бы как у 2560!? В принципе я так понимаю при желании АрдуиноИДЕ можно заточить на работу с любым МК? Стоили бы 2560 подешевле, даже не думая использовал бы их... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1538] Автор : Integral Дата : 20.03.2019 20:57 между Атмега 328 и Атмега 2560 есть что-либо промежуточное? Atmega644, ATmega1284 например. В принципе я так понимаю при желании АрдуиноИДЕ можно заточить на работу с любым МК? Совершенно верно https://github.com/MCUdude -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1539] Автор : UD0DAB Дата : 21.03.2019 04:48 Спасибо огромное! Вот теперь-то меня не остановить! Теперь я во все старые радейки синтезаторы повтыкаю! Да с часиками! Да с термодатчиками! Да с крутыми плюшечками! :super: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1540] Автор : veso74 Дата : 23.03.2019 16:26 В синтезатор на Arduino, для N1MM log (только частота, разрядность: 1kHz) я вставил CAT команда (по Kenwood CAT commands). read_cat() сейчас в loop. Работает, но я хочу быть на таймере. С какими интервалами время нужно сканировать Serial для нормалной работы? 50-300 ms? (Poll int в Omni-Rig по умолчанию 500 ms). (не "перегружать" больше, чем необходимо Arduino, а и уменшить возможных помехи от Serial комуникации). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1541] Автор : UN7RX Дата : 24.03.2019 19:38 Подскажите плиз, насколько клоны Ардуино совместимы с оригиналом, да и между собой? К примеру, визуально данный клон (https://www.aliexpress.com/store/product/LAFVIN-UNO-R3-Board-ATmega328P-ATMEGA16U2-with-USB-Cable-for-Arduino/1942043_32909277374.html?spm=2114.12010612.8148356.50.793f733bQrDIjt) UNO полностью похож на оригинал. Но у этого же продавца есть клон с контроллером в другом корпусе (https://www.aliexpress.com/store/product/High-Quality-UNO-R3-MEGA328P-CH340-CH340G-for-Arduino-UNO-R3-USB-Cable-Free-Shipping/1942043_32518392000.html?spm=2114.12010612.8148356.10.793f733b3zPFp3) и по гораздо более низкой цене. Он чем то хуже? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1542] Автор : UT0UM Дата : 24.03.2019 20:51 Он чем то хуже? ничем просто DIP корпус дороже -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1543] Автор : UN7RX Дата : 24.03.2019 21:07 Понятно Алексей, спасибо. Просто разница в цене удивляет.:smile: Значит нет смысла переплачивать. И еще вопрос, есть Меги с разъемом под SD карту (https://www.aliexpress.com/item/Free-Shipping-1pcs-UNO-Shield-Ethernet-Shield-W5100-R3-UNO-Mega-2560-1280-328-UNR-R3/32549379444.html?spm=2114.search0104.3.15.1d992e76z6QBcR&ws_ab_test=searchweb0_0,searchweb201602_7_10065_10068_319_10059_10884_317_10887_10696_321_322_10084_453_10915_10083_454_10103_10618_10307_10910_537_536_10902,searchweb201603_70,ppcSwitch_0&algo_expid=1a1978f1-3b73-411e-b747-0e2236805705-2&algo_pvid=1a1978f1-3b73-411e-b747-0e2236805705&transAbTest=ae803_4), при этом у них явно маловато портов по сравнению с нормальной Мегой. Что это за чудо такое? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1544] Автор : Ivan_007 Дата : 24.03.2019 21:13 Это "шилд" Ethernet под Arduino. Он предназначен для установки на плату Arduino Uno или на другую. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1545] Автор : Kia2700d Дата : 24.03.2019 21:34 ничем да. по лицензии Ардуино можно делать любые клоны, 1:1 по железу и ПО , только нельзя на них писать "Arduino" . так что кетаец даже ничего не нарушил, что редкость :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1546] Автор : UD0DAB Дата : 26.03.2019 16:23 Вопрос немножко не в струю, но про ардуино. Посмотрите на экран Tj2B трансивера. Вот С-метр как так реализовали? Экран вроде символьный. Они применяют свою табличку символов с этими полосочками? 310454 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1547] Автор : Пассажир Дата : 26.03.2019 17:00 Они применяют свою табличку символов с этими полосочками? Каждое знако-место состоит из матрицы например 7х5 пикселей. Вот в этой матрице можно сделать свой любой символ и его код вывести на индикатор. Калькуляторов для рисования в матрице символов полно в интернете. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1548] Автор : D0ITC Дата : 26.03.2019 17:01 Создаётся массив символов, тоже делали подобное 310455 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1549] Автор : UD0DAB Дата : 26.03.2019 17:04 Надо будет попробовать такой бар в своих поделках :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1550] Автор : UD0DAB Дата : 30.03.2019 09:18 Реально ли на одну шину I2c повесить две si5351? Ткните носом где почитать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1551] Автор : ur3ilf Дата : 30.03.2019 12:18 Только если у их будут разные адреса. Есть сишки с другим адресом и заводской предустановкой. Там адрес другой. Если i2c адреса одинаковые то через мультиплексоры. Например TCA9548A. А чего не сделать две или больше i2c шин? Я обычно две делаю. На аппаратную цепляю дисплей и основную сишку а дополнительную на ногодыгалку. Третий год полёт нормальный. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1552] Автор : UD0DAB Дата : 30.03.2019 14:39 Если i2c адреса одинаковые то через мультиплексоры. Точно! Так даже можно будет не мучать мозг и использовать готовые либы для сишки. Просто нужную цепляем к I2C, передаем ей данные, потом вторую... Спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1553] Автор : Tolya Дата : 01.04.2019 19:50 Интересно а как ведёт себя Ардуино в усилителе...а то у меня самодельная паяльная станция на Ардуино с ума сходит при включении на передачу переноски на 144 Мгц... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1554] Автор : Integral Дата : 01.04.2019 22:31 у меня самодельная паяльная станция на Ардуино с ума сходит при включении на передачу переноски на 144 Мгц... Не думаю что это проблема самой Ардуины, на ее месте с ума сойдет любой контроллер. Хотя есть неофициальная градация помехозащищенности контроллеров: ATmega -> PIC -> STM. Атмеги наименее подвержены помехам, затем PIC и потом STM. Так что на месте Ардуинки, где применены Атмеги, любые другие с ума сойдут с большей вероятностью. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1555] Автор : RA6MT Дата : 01.04.2019 22:42 как ведёт себя Ардуино в усилителе. Да так же как и всё остальное, правила монтажа усилителей ещё ни кто не отменял. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1556] Автор : ur3ilf Дата : 01.04.2019 23:08 И не только правила монтажа для усилителей а и подключение питания и периферии самой ардуины тоже. Если не ставить развязку по питающим цепям не говоря уже за сигнальные то можно при приёма звонка или смс на рядом лежащую мобилу что угодно подвесить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1557] Автор : UD0DAB Дата : 14.05.2019 14:19 Вот распиновка красивая контроллера Атмега644 313524 Вот кусочек из описания библиотеки encoder.h 313525 Подскажите, на какие ноги мне цеплять енкодер что бы были interrupt pins? ну как в обычной ардуине ноги 2 и 3... Программирую в среде ардуино при помощи разработки https://github.com/MCUdude/MightyCore#minimal-setup которая позволяет это делать с любой атмегой. Особенно удобно что можно выбрать использование МК без кварца. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1558] Автор : R2DHG Дата : 14.05.2019 17:07 11 12 вроде -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1559] Автор : ur3ilf Дата : 14.05.2019 21:27 Подскажите, на какие ноги мне цеплять енкодер что бы были interrupt pins? ну как в обычной ардуине ноги 2 и 3... Это основные внешние прерывания- INT0 и INT1. Даташит на мегу есть же. http://ww1.microchip.com/downloads/en/DeviceDoc/doc2593.pdf Смотрите на каких выводах находятся INT0 и INT1 и к ним цепляйтесь. PORTD.2 и PORTD.3 это. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1560] Автор : UA0YAS Дата : 14.05.2019 23:40 Нет нужды два прерывания на один энкодеры тратить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1561] Автор : UD0DAB Дата : 15.05.2019 02:12 Спасибо всем - очень помогли! Глаз замылился и я эти INT0 и INT1 просто не видел в упор!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1562] Автор : R2DHG Дата : 15.05.2019 09:27 Нет нужды два прерывания на один энкодеры тратить Так они часто больше и не нужны ни для чего. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1563] Автор : UD0DAB Дата : 15.05.2019 09:40 Хоть плату и вытравил зеркально ( забыл что рисую на верхнем слое) и пришлось атмегу ставить брюшком вверх, это ничего - макетка для отладки. Через ICSP шьется, диодами маоргает. Скетч теперь влазит без проблем :) буду цеплять периферию потихоньку... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1564] Автор : RA6MT Дата : 25.05.2019 14:21 но это нужно перепроверить ! купил датчики тока INA219 подскажите пожалуйста как подключить к ардуино (прога для лампового усилителя) два датчика по шине I2C -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1565] Автор : Integral Дата : 25.05.2019 15:13 RA6MT, покажите скетч. При поиске сразу попалась не плохая статья и библиотека. https://usamodelkina.ru/10795-plata-s-mikroshemoy-ina219-dlya-izmereniya-i-i-u-c-shinoy-svyazi-i2c.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1566] Автор : fedorenko28 Дата : 25.05.2019 16:11 Не мелковато для анодного? 26 вольт максимально по даташиту. Тут acs712 задумка есть использовать и то думки, не прошьет ли меж ножек при 1200. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1567] Автор : RA6MT Дата : 25.05.2019 16:48 ТО Integral Я заливал прогу из сообщения 1441. теперь решил вставить датчики. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1568] Автор : Genadi Zawidowski Дата : 25.05.2019 16:55 acs712 задумка есть использовать и то думки, не прошьет ли меж ножек при 1200. 2.1 kV RMS minimum isolation voltage from pins 1-4 to pins 5-8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1569] Автор : R3EZ Дата : 25.05.2019 17:08 RA6MT, для лампового усилителя уже интересно. Ну, а пока закончил конструкцию измерителя Сергея UT0IS/D0ISM для измерения мощности до 400 Вт на 144 МГц. 314120 314121 Как раз пришел новый дисплей (по ссылке из моего поста #1514 стр.152). В качестве датчика использовал ответвитель на полосковой линии от RA4YBO. 314122 При проверке оказалось, что этот ответвитель имеет плохую направленность и, как следствие, большой уровень напряжения в цепи обратной волны. КСВ с ним достигал 1,69 на нагрузке, имеющей КСВ=1,01 на 144 МГц. Поэтому пришлось снять его характеристики и немного повозиться. Измерения показали, что волновое сопротивление вспомогательных линий не 50 Ом, а 82 Ома. Резисторов 2512 160 Ом у меня не было, но решение было найдено достаточно просто. Феном снял резисторы 100 Ом, а на их место установил 300 Ом и сверху еще 200 Ом. Получилось 85,7 Ома, что уже близко к требуемому. КСВ снизился до 1,09, что уже приемлемо ну хотя бы в качестве "показометра". Собственно интересует больше отображение мощности (подстроить в полевых условиях УМ на максимальную мощность, а КСВ антенны в принципе известен). 314125 314126 Данная конструкция помещена в корпус от цифрового измерителя КСВ и мощности на PICe UN7GCE с датчиком, описанным Игорем DL2KQ. Этим измерителем пользовались один раз при работе в ОЗЧР КВ (заочные участники) и надобность в нем отпала, поэтому и решил переделать. К сожалению размеры плат часов и Ардуино не позволили оставить в корпусе сетевой трансформатор и пришлось перейти на внешнее питание, оставив в корпусе только 5-вольтовый стабилизатор. К сожалению не сразу просёк необходимость узла переключения масштаба шкалы на транзисторах VT1, VT2 и развел плату без него. После пришлось переразвести, а также решить заменить потенциометры СП3-19 на многооборотники. Вот еще страя версия. 314127 Конструкция, показанная вначале, выполнена с расположением разъемов сверху. Это сделано для удобства подключения к выходу усилителя. Вход справа. При необходимости плата легко переворачивается на 180 градусов и индикатор встает на то же место. Разъем с датчика также переворачивается. Для смены направления сигнала на разъемах для настройки прибора откорректировал скетч Сергея, поменяв в нем переменные в строках, связанные с сигналами прямой и обратной волны. Открутив 4 винта снизу и подключив USB кабель легко перезалить нужную версию. 314128 TNX, Сергей, D0ISM! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1570] Автор : RA6MT Дата : 25.05.2019 17:10 2.1 kV RMS minimum isolation voltage from pins 1-4 to pins 5-8 Это данные по даташиту датчика, но Федоренко наверное имел ввиду другое. А именно расстояние между проводниками на печатной плате. Сильно близко они расположены. Уважаемый федоренко 28 здесь всё гораздо проще. На вход анодное подаётся через делитель. И более 26 в не нужно. Ардуино по программе само пересчитает эти 26 в. в ваши киловольты. Грубо говоря ставится "добавочный резистор" как в головке вольтметра. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1571] Автор : Integral Дата : 25.05.2019 21:03 TNX, Сергей, D0ISM! Всегда пожалуйста :-P. Все же вид шкалы получается более презентабельным, если включить серую подложку под градусниками. Это конечно на любителя. Поменять можно перед компиляцией в Ардуино: #define View_scale 1 //вид шкалы: 1-с подложкой, 2-без подложки (работает быстрее) INA219 понравилась тем, что имеет 12 битный АЦП. При максимальном токе 3.2А или 3200мА получается разрешение 3200/4096=0.78мА А это для ламповых РА то что нужно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1572] Автор : fedorenko28 Дата : 26.05.2019 04:11 Это данные по даташиту датчика, но Федоренко наверное имел ввиду другое. А именно расстояние между проводниками на печатной плате. Сильно близко они расположены. Именно это и беспокоит. Во всяком случае тестовая плата изготовлена, опробуем на ум200 от контура. А INA219, мне, что то в первом приближении не понравились, показалось развязки с высоким нет никакой -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1573] Автор : UB3AQZ Дата : 27.07.2019 13:16 народ сильно не пинайте я только учусь . а ктонибуть измерял КСВ самой головы тандем мач http://www.cqham.ru/forum/attachment.php?attachmentid=298444&d=1367498859&thumb=1 а то по вольтметрам все правильно показывает (если на бумажке посчитать) а вот его собственный ксв у меня почемуто от 1 на 1.8мгц и до 1.3 на 29мгц смотрел другим ксв метром. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1574] Автор : Integral Дата : 27.07.2019 20:49 ...собственный ксв у меня почемуто от 1 на 1.8мгц и до 1.3 на 29мгц... Все верно. Можно скомпенсировать конденсатором 47pF* -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1575] Автор : UB3AQZ Дата : 28.07.2019 02:39 я правильно понял ? зашунтировать выход (на антенну ) ёмкостью минимального значения при которой эталонный ксвметр покажет ксв =1 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1576] Автор : RA6MT Дата : 28.07.2019 09:24 нет не правильно. Нагрузить выход на антенну безиндукционным резистором 50 ОМ, и подстраивать ёмкость. До получения КСВ 1 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1577] Автор : Integral Дата : 28.07.2019 11:15 зашунтировать выход (на антенну ) ёмкостью минимального значения при которой эталонный ксвметр покажет ксв =1 Нагрузить выход на антенну безиндукционным резистором 50 ОМ, и подстраивать ёмкость. До получения КСВ 1 Емкость нужно подключить в одно из плеч моста, например как тут: 317760 Есть еще один простой вариант. Поскольку датчик симметричный можно поменять вход-выход. Иногда при такой перестановке улучшаются показания, но нужно помнить, что сигналы прямой и обратной волны поменяются местами. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1578] Автор : UB3AQZ Дата : 28.07.2019 13:01 ёмкость 39 пик ни в одном из плеч ни как не влияет на ксв. может я не понятно спрашиваю . берём эталонный ксвметр , цепляем на него нагрузку в 50 ом , везде ксв 1 сопротивление 50+-1 ом. теперь между эталонным ксвметром и нагрузкой ставим ксвметр(тот что настраиваем) ,и эталонный ксвметр уже показывает ксв от 1 до 1.3 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1579] Автор : RA6MT Дата : 28.07.2019 14:27 всё правильно, контрольный ксв метр уже меряет потери и в вашем настраиваемом ксв метре (потери в разъёмах, монтаже) поэтому у вас и выросли показания. Вам нужно нагрузить ваш настраиваемый ксв метр на эталонную нагрузку 50 ом и настраивать. Потом можете повесить нагрузку 100 Ом и проверить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1580] Автор : r7kko Дата : 28.07.2019 20:49 К сожалению не сразу просёк необходимость узла переключения масштаба шкалы на транзисторах VT1, VT2 и развел плату без него. После пришлось переразвести, а также решить заменить потенциометры СП3-19 на многооборотники. Можете поделиться печаткой? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1581] Автор : UB3AQZ Дата : 28.07.2019 21:41 контрольный ксв метр уже меряет потери и в вашем настраиваемом ксв метре так вот и хочется эти потери минимизировать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1582] Автор : Jan Дата : 29.08.2019 12:30 Integral, http://www.cqham.ru/forum/images/attach/pdf.gif ILI9225_SWR_PWR-meter.pdf (http://www.cqham.ru/forum/attachment.php?attachmentid=308670&d=1551532368) Привет! Интересная конструкция, хотел бы использовать его 70Mhz PA. Я думаю, что было бы более полезно иметь термометр вместо часов. Это выполнимо? Jānis YL3BF -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1583] Автор : Tolya Дата : 29.08.2019 13:48 Интересная конструкция, хотел бы использовать его 70Mhz PA Повторил данную конструкцию..работает прекрасно...но,на 144-146 Мгц даёт такую помеху по приёму..что приходится отключать питание..а вот что даёт помеху ардуино или дисплей..так пока и не понял.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1584] Автор : R2DHG Дата : 29.08.2019 13:53 Это выполнимо? Jānis YL3BF Зависит от датчика и свободного места в меге с тем скетчем - какой нибудь ds18b20 потребует места больше для этого, простой термистор меньше, но как то откалибровать наверное потребуется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1585] Автор : Jan Дата : 29.08.2019 15:03 R2DHG (http://www.cqham.ru/forum/member.php?2646-R2DHG) я не силен в этой области, поэтому я спрашиваю. Но это был бы интересный проект, в котором нет ничего лишнего. Tolya (http://www.cqham.ru/forum/member.php?9709-Tolya) проект на MEGA2560 на 50Mhz работает без помех -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1586] Автор : Integral Дата : 29.08.2019 17:17 было бы более полезно иметь термометр вместо часов. Это выполнимо? Можно попробовать для прикидки, выкину часы и подгружу библиотеку DS18B20, посмотрим что скажет компилятор. Но наличие термометра наверно не просто так для виду, а наверное вентилятор включать? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1587] Автор : Jan Дата : 30.08.2019 09:00 Супер! Ждем хороших новостей! Jāis /YL3BF/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1588] Автор : RK9AMX Дата : 30.08.2019 09:27 ... посмотрим что скажет компилятор... Подключил библиотеку OneWire для работы с датчиками DS18x20. Ничего не выбрасывал из скетча. Добавил: пару переменных, функцию измерения температуры. Включил порты D4 и D5 и поместил в майнлуп пару строк с if'ами. Датчик подключил к порту A2. При достижении температуры 40°С на порту D4 появится единица, при 50°С на D5 появится единица. Компилировал для версии 2.29.2 Скетч использует 31738 байт (98%) памяти устройства. Всего доступно 32256 байт. Глобальные переменные используют 791 байт (38%) динамической памяти, оставляя 1257 байт для локальных переменных. Максимум: 2048 байт. В целом, можно добавить измерение температуры. Выводить значение температуры на дисплей, если нужно, можно вместо даты, а часики пусть тикают) Как организовать ступенчатую регулировку скорости вентилятора - отдельная тема. P.S. Если использовать в качестве датчика температуры сдвоенный диод, то можно немного флеш-памяти съэкономить. Температурный шаг такого датчика примерно 4мВ/°С. Но нужно будет проводить градуировку такого датчика, при заданной температуре. Лучше в двух крайних точках диапазона измерения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1589] Автор : R3EZ Дата : 30.08.2019 13:15 Можете поделиться печаткой? Извините, но только вчера заметил это сообщение. Могу, но хочу отметить следующее. Конструкция разрабатывалась под имеющийся уже корпус, в котором я делал ранее "Измеритель КСВ и мощности на ПИКе" от UN7GCE. Это обстоятельство, в основном, и определило размеры печатной платы да и всей конструкции. Данная печатная плата разведена в PCAD 4.5 и доработана для ЛУТ в AutoCAD2004. Вчера набросал на скорую руку небольшое описание конструкции в формате docx. Поместил в архив описание и файлы pcb, dxf и dwg. Если возникнут вопросы, пожалуйста, пишите на эл. почту. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1590] Автор : UD6AEN Дата : 31.08.2019 11:14 А возможно применить экран 3.5 ILI9486 для измерителя мощности? осталась свободная МЕГА от контролера УМ. И размер очень привлекательный. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1591] Автор : Tolya Дата : 31.08.2019 12:38 пока и не понял.. Разобрался..помеху даёт модуль часов.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1592] Автор : Integral Дата : 01.09.2019 13:00 Подключил библиотеку OneWire для работы с датчиками DS18x20. Ничего не выбрасывал из скетча. Добавил: пару переменных, функцию измерения температуры. Включил порты D4 и D5 и поместил в майнлуп пару строк с if'ами. Датчик подключил к порту A2. При достижении температуры 40°С на порту D4 появится единица, при 50°С на D5 появится единица. Компилировал для версии 2.29.2 Версия 2.29.2 экспериментальная, я там пытался сделать компактнее код, сделать часы без модуля DS3231, ну и другие эксперименты. Ее лучше не использовать, там только заготовки подпрограмм. А возможно применить экран 3.5 ILI9486 для измерителя мощности? осталась свободная МЕГА от контролера УМ. И размер очень привлекательный. Экран просто так не заменишь, это заново писать программу, т.к. для этого индикатора своя библиотека. Как по мне 3.5" ILI9486 избыточен для простого измерителя мощности. Добавлено через 8 минут(ы): Разобрался..помеху даёт модуль часов. Скорее всего помеху дает шина I2C, постоянный обмен информации с модуля часов дает такой результат. Видимо к модулю надо обращаться исключительно для синхронизации времени, а основной ход часов сделать без опроса. Тогда при включении время синхронизируется и например каждый час делать синхронизацию. Я так понимаю это проблема на УКВ, в КВ диапазоне пока никто не жаловался. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1593] Автор : R3EZ Дата : 01.09.2019 15:01 Я так понимаю это проблема на УКВ, в КВ диапазоне пока никто не жаловался. Да как то и на УКВ не жаловались. Измеритель из постов #1569 и 1589 на 144 МГц помех не замечено. При этом использовался YAESU FTDX3000 + трансвертер 28/144 от UR3LMZ с модулем RA60. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1594] Автор : Integral Дата : 03.09.2019 21:53 Интересная конструкция, хотел бы использовать его 70Mhz PA. Я думаю, что было бы более полезно иметь термометр вместо часов. Это выполнимо? Сделал версию с регулировкой температуры. Для этого пришлось выкинуть кусок программы, которая отвечала за автоматический сброс EEPROM памяти при первом включении. Иначе не влазило. Выход регулятора вентилятора порт D4. Задать пределы температуры включения и выключения можно в #define: #define TFanOn 40.0 //температура включения вентилятора #define TFanOff 35.0 //температура выключения вентилятора Между параметрами должен быть обязательно гистерезис хотя бы один градус. Выглядит сейчас вот так: 319705 319706 Поскольку автоматический сброс памяти мне пришлось убрать, чтобы впихнуть регулятор температуры, я сделал ручной сброс. После прошивки нужно выполнить очистку памяти EEPROM. Для этого необходимо зажать кнопку на порту D1 и перегрузить устройство. Как только появится надпись "Memory Reset..." кнопку можно отпустить. 319707 Скетч в приложении. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1595] Автор : Jan Дата : 03.09.2019 22:27 Спасибо попробую новый скетч Удачи! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1596] Автор : Alex-31 Дата : 11.09.2019 21:27 Новинка! Новый шилд для Arduino - DABDUINO: https://hackaday.io/project/20759-dabduino-dabdabfm-arduino-shield https://www.tindie.com/products/turbyho/dabduino-dabdabfm-arduino-shield/ https://www.arduinolibraries.info/libraries/dabduino Если в двух словах: - цифровой приёмник диапазонов FM (87.5 - 108MHz) и DAB/DAB+: BAND III (174 - 240 MHz), CHINA BAND, L-BAND (1.452 - 1.492 GHz) - аналоговый (RCA stereo) и цифровой (TOSLINK) выход звука - рекомендуется плата контроллера на камне STM32 (Nucleo) https://github.com/rogerclarkmelbourne/Arduino_STM32 320256 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1597] Автор : Miha Дата : 14.09.2019 22:21 Добрый вечер. Помогите пожалуйста! Хочу повторить конструкцию ксв и измерителя мощности на Arduino,подскажите какие платы, блоки и т.д необходимо купить. Буду очень благодарен за ссылки на Али...Сильно не пинайте, это будет мой первый опыт с Arduino. ;-);-);-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1598] Автор : LY2F Дата : 20.09.2019 02:00 Здравствуйте, Нужна ваша помощ.Сделал радио на Arduino и RDA5807.Всё работает.Можно ходить по заранее запрограмированным частотам при помощи валкодера.Но хочется , чтобы частота последней станции заносилась в память EEPROM,чтобы при следующем включении эта последняя станцияи запускалась. Я в програмировании совсем неразбираюсь,поэтому прошу вашей помощи. Скетч прилагаю. #include #include #include #include //Set Station frequences RADIO_FREQ preset[24] = { 8810,9030,9100,9190,9240,9440,9620,9710,9760,9800,9850,10040,10210, 10250,10290,10350,10410,10450,10490,10540,10590,10660,10710,10760 }; const int pin_A = 8; const int pin_B = 9; unsigned char encoder_A; unsigned char encoder_B; unsigned char encoder_A_prev=0; int i_sidx; int i_smax=23; unsigned int freq; unsigned char a,b; RDA5807M radio; void setup() { Serial.begin(57600); Wire.begin(); a = EEPROM.read(5); // Старший байт читаем в переменную a b = EEPROM.read(6); // Младший байт читаем в переменную b // Serial.println(a); // Serial.println(b); int freq = word(a, b); // Объединяем a и b в переменную int freq // Serial.println(freq); pinMode(pin_A, INPUT); pinMode(pin_B, INPUT); radio.init(); radio.setBandFrequency(RADIO_BAND_FM,freq); radio.setMono(false); radio.setMute(false); radio.setVolume(10); } void loop() { encoder_A = digitalRead(pin_A); encoder_B = digitalRead(pin_B); if(!encoder_A && encoder_A_prev) { if(encoder_B) { i_sidx++; if (i_sidx>i_smax){i_sidx=0;} radio.setFrequency(preset[i_sidx]); delay(10); } else { i_sidx--; if (i_sidx<0){i_sidx=i_smax;} radio.setFrequency(preset[i_sidx]); delay(10); } byte hi = highByte(preset[i_sidx]); byte low = lowByte(preset[i_sidx]); EEPROM.update(5, hi); EEPROM.update(6, low); } encoder_A_prev = encoder_A; a = EEPROM.read(5); // Старший байт читаем в переменную a b = EEPROM.read(6); // Младший байт читаем в переменную b Serial.println(a); Serial.println(b); int freq = word(a, b); // Объединяем a и b в переменную int freq Serial.println(freq); delay(5); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1599] Автор : LY2F Дата : 20.09.2019 15:12 Не тот скетч отправил,извините. Вот этот надо доработать,чтоб работал EEPROM. #include #include #include //Set Station frequences RADIO_FREQ preset[24] = { 8810,9030,9100,9190,9240,9440,9620,9710,9760,9800,9850,10040,10210, 10250,10290,10350,10410,10450,10490,10540,10590,10660,10710,10760 }; const int pin_A = 8; const int pin_B = 9; unsigned char encoder_A; unsigned char encoder_B; unsigned char encoder_A_prev=0; int i_sidx=8; int i_smax=23; RDA5807M radio; void setup() { Serial.begin(57600); Wire.begin(); pinMode(pin_A, INPUT); pinMode(pin_B, INPUT); radio.init(); radio.setBandFrequency(RADIO_BAND_FM, preset[i_sidx]); radio.setMono(false); radio.setMute(false); radio.setVolume(10); } void loop() { encoder_A = digitalRead(pin_A); encoder_B = digitalRead(pin_B); if(!encoder_A && encoder_A_prev) { if(encoder_B) { i_sidx++; if (i_sidx>i_smax){i_sidx=0;} radio.setFrequency(preset[i_sidx]); delay(100); } else { i_sidx--; if (i_sidx<0){i_sidx=i_smax;} radio.setFrequency(preset[i_sidx]); delay(100); } } encoder_A_prev = encoder_A; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1600] Автор : Владимир_К Дата : 20.09.2019 16:57 Запустите программу Ардуино IDE. зайдите в меню File - Examples - EEPROM - дальше выбираете EEPROM Write или Read. Там все понятно. Но, есть одна проблема. В EEPROM Надо писать только когда выключаете девайс, иначе она (EEPROM) у Вас быстро умрет. Поэтому в схему надо ввести или кнопку, нажав которую, нужное будет записано в EEPROM, или автомат, реагирующий на падение напряжения питания. Для этого контроллер отделяется от питания диодом и запитывается от небольшого электролитического конденсатора. А на аналоговый вход Ардуино (ADC) подается питание от БП. Когда БП выключается, напряжение на входе ADC падает это является признаком того, что надо писать в EEPROM. В это время контроллер питается от конденсатора, напряжение на котором остается, так как он отключен от БП. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1601] Автор : TORN Дата : 14.10.2019 10:00 Здравствуйте! Собрал на досуге на ардуино и AD9850 генератор по схеме http://www.ad7c.com/downloads/AD980_DDS_VFO_Schematic.gif Запустился сразу.Хочу его использовать для наладки приемников на кв-св с амплитудной модуляцией. Вопрос - нужно ли подключать на его выход эммитерный повторитель для снижения выходного сопротивления? Как к нему модулятор для АМ модуляции подключить? Спасибо) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1602] Автор : IG_58 Дата : 14.10.2019 10:29 Вот такая схема модулятора отлично работает у меня уже 5 лет: 322028 322030 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1603] Автор : TORN Дата : 14.10.2019 10:58 Спасибо.А на 5 вольт выходной каскад пересчитать можно?В качестве модулирующего возьму простой генератор на 1 транзисторе с фазосдвигающей RC цепочкой на 1Кгц -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1604] Автор : IG_58 Дата : 14.10.2019 12:18 Возможно, придется подобрать сопротивление в истоке. А может и не придется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1605] Автор : Veka Дата : 15.10.2019 08:09 Вот такая схема модулятора 2n3904, 2n3906 можно не ставить? ;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1606] Автор : TORN Дата : 15.10.2019 08:21 Я думаю,что для умощнения выхода было бы логичнее так.Хотя может здесь подразумевается модуляция по питанию.Тогда непонятно ,зачем в этом случае на базу выходного транзистора подается сигнал. А зачем здесь операционный усилитель?Ведь выхода с RC генератора уже хватает для раскачки мощных транзисторов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1607] Автор : IG_58 Дата : 15.10.2019 09:28 TORN, спасибо, что поправили, это была опечатка. Сигнал снимается именно с эмиттеров. Veka, TORN, каскад на ОУ и комплиментарную пару 2n3904, 2n3906 можно не ставить, если нужна только модуляция одним тоном. Я просто делал в модуляторе еще и микрофонный вход, просто не нарисовал ни его ни коммутацию входных цепей ОУ. Умощнять выход здесь вообще необязательно, и так выше крыши. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1608] Автор : TORN Дата : 28.10.2019 21:54 IG_58,а не подскажете,какой аттенюатор на 20 Дб можно применить в вашей схеме?Я нашел расчет,но там надо знать выходное сопротивление. И еще - выход в вашей схеме можно привести к 50Ом?Или в положении переключателя S2 ,подключенному к резистору 47 к как раз и получим 50Ом? Cпасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1609] Автор : IG_58 Дата : 28.10.2019 22:25 TORN, в верхнем положении переключателя S2 как раз в первом приближении и получите 20дб на 47 омах. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1610] Автор : Андрей_1976 Дата : 12.11.2019 15:49 Чем прошить arduino pro mini ??? Или она прям из arduino IDE шьется ??? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1611] Автор : Tadas Дата : 12.11.2019 15:54 Или она прям из arduino IDE шьется ??? Шьётся, но не прямо, а через переходник USB - TTL UART. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1612] Автор : Андрей_1976 Дата : 12.11.2019 16:01 Соединять крестом ? RX-TX TX-RX Или RX-RX TX-TX -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1613] Автор : IG_58 Дата : 12.11.2019 16:17 Все Ардуины шьются из Arduino IDE. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1614] Автор : R1AIT Дата : 12.11.2019 17:12 Соединять крестом ? RX-TX TX-RX Или RX-RX TX-TXХорошо бы ещё и DTR - DTR(RST). Без DTR еще нужно Reset в нужный момент нажать. Та еще развлекуха. Удобнее шить уной, у которой МК в панельке, вынув его предварительно и запараллелив RX, TX и RST ноги. Я так шью, очень удобно. В сети народ пишет, что можно и не вынимать МК, и шить любой другой ардуиной с USB. Как понимаю, обе зашьются одинаково, но вторую потом можно и еще прошить как нужно. Всё из IDE, разумеется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1615] Автор : Tadas Дата : 12.11.2019 19:15 Соединять крестом ? RX-TX TX-RX Да, крестом. Примечание про DTR правильное. Но можно и кнопкой обойтись. Ловкость рук появляется быстро :smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1616] Автор : UD0DAB Дата : 12.11.2019 19:19 Но можно и кнопкой обойтись. Ловкость рук появляется быстро Сколько пробовал - не вышло руками.... Еще можно шить через ICSP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1617] Автор : Tadas Дата : 12.11.2019 19:25 Сколько пробовал - не вышло руками.... У меня получалось :smile: Все способы прошивки расписаны в статье: https://arduinomaster.ru/platy-arduino/arduino-pro-mini-raspinovka-i-podklyuchenie/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1618] Автор : R1AIT Дата : 12.11.2019 21:24 Ловкость рук появляется быстро :smile:Как повезет с конкретным производителем самих ардуин. С одними просто получается, а с другими беда совсем, и заранее никак не узнать/предсказать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1619] Автор : UT0UM Дата : 12.11.2019 22:16 у которой МК в панельке, вынув его предварительно и запараллелив RX, TX и RST ноги. Я так шью, очень удобно. В сети народ пишет, что можно и не вынимать МК, и шить любой другой ардуиной с USB. Как понимаю, обе зашьются одинаково, но вторую потом можно и еще прошить как нужно. ох какой изврат жеж :facepalm: достаточно резет атмеги на землю посадить и все -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1620] Автор : igor 2015 Дата : 13.11.2019 06:07 Программатором, usbasp, есть на АлиЭкспресс. Подключаешь согласно распиновке, 6 проводов, после прошивки проводки отпаиваешь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1621] Автор : ra6ljm Дата : 13.11.2019 16:28 Не получается прошить повторно ардуинку. Первый раз прошилась без проблем. Вот такую ошибку показывает. Что можно проверить? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1622] Автор : IG_58 Дата : 13.11.2019 16:35 Посмотрите в панели управления, на каком COM-порту сидит Ардуина, и какой у Вас выставлен в Arduino IDE - совпадают? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1623] Автор : tomcat Дата : 21.11.2019 15:08 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 есть прожект Индикатор лампового УМ на Arduino nano 3 и LCD 2004 http://www.cqham.ru/forum/attachment.php?attachmentid=307452&d=1550241764&thumb=1 первоисточник (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1613060&viewfull=1#post1613060) с целью уменьшения количества проводов между Arduino и LCD 2004 добавил переходник I2C 324453 324454 LCD I2C модуль - Arduino ATmega 328 SCL = A5 SDA = A4 324456 при попытке прилепить градусник мощности в первую строку LCD на основе LcdBarGraph при компиляции выдает ошибку no matching function for call to 'LcdBarGraph::LcdBarGraph(LiquidCrystal_I2C*, int, int, int)' тестовый скетч : 324452 должно стать вот так : http://www.cqham.ru/forum/attachment.php?attachmentid=307452&d=1550241764&thumb=1 но пока не получается, подскажите как исправить скетч. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1624] Автор : R3EZ Дата : 21.11.2019 21:02 Где то в 2015 году сделал трансвертер 28/144 МГц на основе платы трансвертера Александра UR3LMZ, в основном для участия на выезде в соревнованиях "Полевой день" и "кубок Гагарина". Все работает не один год сначала с YAESU FT-950, а теперь с FTDX 3000. Захотелось мне встроить туда Ардуино с TFT дисплеем чтобы выполнялись следующие функции: - секвенсор на 4 события; - измерение температуры радиатора модуля RA60H1317M датчиком ACS712 и управление частотой вращения вентиляторов охлаждения; - измерение выходной мощности; - измерение КСВ; - измерение тока, потребляемого RA60H1317M модулем DS18B20 (при этом убирается самодельный шунт на 20 А из отрезков манганина и стрелочный прибор). 324470 Сейчас в трансвертере применяется самодельный секвенсор на LM324N. Для своей "хотелки" решил попробовать использовать фрагменты скетчей от двух конструкций: "Цифровой измеритель КСВ и мощности" от Сергея D0ISM и "Контроллер с LCD дисплеем для транзисторного УМ на MEGA2560" D0ITC/D0ISM. Ну и постараться написать недостающее самому. Поскольку добавлялись новые функции пришлось немного изменить конфигурацию дисплея и ввести новые параметры. Так как трансвертер не выдает более 80 Вт, а при использовании с внешним усилителем от него требуется не более 30 Вт, было решено оставить одну шкалу 80 Вт. В итоге получилось такая конструкция: 324475 Это макет 324476 Далее была изготовлена плата. Здесь МШУ выключен, поэтому надпись зеленого цвета. 324477 При нажатии педали происходит последовательное переключение и надписи отображаются красным цветом. Время задержки переключения задается в скетче. 324478 МШУ включен, вентилятор работает на максимальных оборотах (проверялась работа нагрева датчика температуры от руки, поэтому был задан диапазон работы вентилятора 26-32 градуса). 324479 Вид на плату со стороны установки Ардуино. В итоге все что планировалось - заработало. Оставалось только изготовить направленный ответвитель на 144 МГц и решиться на переделку готовой конструкции трансвертера. Установить датчики тока и температуры, заменить секвенсор платой Ардуино с дисплеем и переднюю панель. Однако, решил проверить получившуюся конструкцию на излучающие помехи. Результат меня разочаровал. Помехи приему от Ардуино сводят на нет все преимущества конструкции. Можно, конечно, попытаться экранировать платы UR3LMZ и делителя мощности, но полной уверенности в успехе нет. Так что пока в раздумье. Зато немного подучился в программировании на С++. Из детсада, так сказать, в первый класс. Такой вот опыт. Похоже для УМ, где нет узлов приема, это не актуально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1625] Автор : Milldi Дата : 21.11.2019 21:09 Блокировочных емкостей попробуйте подкинуть по питанию дисплея и ардуины. У меня на Меге2560 иногда стабилизатор начинал генерировать помехи на частоте 11,.... МГц -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1626] Автор : R3EZ Дата : 21.11.2019 21:28 Блокировочных емкостей попробуйте подкинуть по питанию дисплея и ардуины. Я думаю это не поможет. Стоит частокол помех, которые меняются от состояния педали, то есть от переключения. Плюс еще ШИМ от управления вентиляторами. Проверял на 144060 трансивером FT-857. Затем плату помещал внутрь трансвертера. Там помеха слабее, но присутствует. Надо полностью экранировать приемные узлы и цепи. Да еще, наверное, и провода сигналов, идущих к/от Ардуино. Ведь в заводских трансиверах эта проблема как-то решена. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1627] Автор : vadim_d Дата : 21.11.2019 22:56 Из детсада, так сказать, в первый класс Тут нужно без ложной скромности, умение читать (вслух, с выражениями) чужой код, понимать его и модифицировать под свои цели - это уже за начальными классами :). По части помех, обычно помогает великий инженерный принцип "разделяй и властвуй" (придуманный не инженерами): отключайте разные функции, чтобы понять, где причина. Современные МК дают короткие фронты на выходных сигналах, даже когда такого быстродействия не требуется, а спектр помех получается широким. Геннадий Завидовский помнится в SPI RC-цепочки ставил сразу у чипа, чтобы помехи снизить. По питанию тоже из МК хорошо прет, не зря Вам советуют блокировку поглядеть. Ну и узлы, чувствительные к помехам, не обойти вниманием, и будет как в промышленных трансиверах -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1628] Автор : R3EZ Дата : 22.11.2019 00:29 Тут нужно без ложной скромности, умение читать (вслух, с выражениями) чужой код, понимать его и модифицировать под свои цели - это уже за начальными классами С этим как раз и начало получаться, хоть и не на 100%, особенно когда тебе через пару месяцев 70. отключайте разные функции, чтобы понять, где причина. Современные МК дают короткие фронты на выходных сигналах, даже когда такого быстродействия не требуется, а спектр помех получается широким. Плата проверялась вообще с отключенными внешними соединениями. Только имитатор педали. И то эта цепь работает через оптопару. Работу ШИМ проверял осциллографом. Цепи управления реле по сути статика, там все чисто. Высокий уровень - выключено, низкий - включно. А вот выходные сигналы на дисплей вполне могут быть причиной, да и сам контроллер тоже. По питанию тоже из МК хорошо прет, не зря Вам советуют блокировку поглядеть. Ну и узлы, чувствительные к помехам, не обойти вниманием, и будет как в промышленных трансиверах Здесь, конечно, можно поэкспериментировать и сравнить уровень помехи до и после. Вот трассировка платы 324491 Можно повесить конденсаторы по питанию, а также прямо на контакты разъемов и оценить результат. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1629] Автор : Integral Дата : 22.11.2019 00:43 R3EZ, я вот с Вадимом соглашусь, разобраться в чужом коде и сделать новое устройство это повыше чем начальные классы. Я правда стараюсь в коде делать побольше комментарий, они здорово помогают. Что касается помех, "цифровой шум" здорово принимается на частотах 144-146МГц, т.к. любой отрезок проволоки (шина данных индикатора) больше нескольких сантиметров это уже антенна. На КВ этого эффекта практически не слышно. Что можно сделать, первое это управление подсветкой индикатора LED запитать напрямую от источника +5В. В индикаторе на ILI9225 она управляется при помощи ШИМ от контроллера, что конечно не улучшает помеховую обстановку. Далее в шине SPI по каждому сигналу к индикатору поставить цепочку резистор последовательно 50-100Ом и после конденсатор 100пФ на землю. Далее экранировка всей шины в чулок-экран. Это можно сделать проводом МГТФ. Отсек для индикатора как и вся цифровая часть в отдельном экране, раздельное питание аналоговой и цифровой части. Это все аппаратная часть. Можно понизить шум, если правильно написать программу. Думаю что это возможно, сам никогда не экспериментировал. Индикацию стараться выводить статически, т.е. менять на индикаторе то что изменилось. Хотя бы в режиме приема RX, при передаче это не так важно. Но для этого нужны знания, а они у вас уже есть, поэтапное написание кода с проверкой на шум. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1630] Автор : vadim_d Дата : 22.11.2019 10:54 Вот трассировка платы Тут совет на будущее - если земляная дорожка идет по краю платы, уширяйте ее прямо до края и заливайте земляной медью все свободное пространство. В этой плате попробуйте к трассам земли подпаять поверх несколько проводников достаточно большого сечения, скорее всего заметного эффекта не будет, но вдруг? И блокировку питания в нескольких точках, стандартно 0.1мкФ и для УКВ порядка 1000пФ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1631] Автор : tomcat Дата : 25.11.2019 09:52 Индикатор лампового УМ на Arduino nano 3 и LCD 2004 есть прожект Индикатор лампового УМ на Arduino nano 3 и LCD 2004 http://www.cqham.ru/forum/attachment.php?attachmentid=307452&d=1550241764&thumb=1 первоисточник (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1613060&viewfull=1#post1613060) с целью уменьшения количества проводов между Arduino и LCD 2004 добавил переходник I2C http://www.cqham.ru/forum/attachment.php?attachmentid=324453&d=1574338261&thumb=1 (http://www.cqham.ru/forum/attachment.php?attachmentid=324453&d=1574338261) http://www.cqham.ru/forum/attachment.php?attachmentid=324454&d=1574338319&thumb=1 (http://www.cqham.ru/forum/attachment.php?attachmentid=324454&d=1574338319) LCD I2C модуль - Arduino ATmega 328 SCL = A5 SDA = A4 http://www.cqham.ru/forum/attachment.php?attachmentid=324456&d=1574338370&thumb=1 (http://www.cqham.ru/forum/attachment.php?attachmentid=324456&d=1574338370) при попытке прилепить градусник мощности в первую строку LCD на основе LcdBarGraph при компиляции выдает ошибку no matching function for call to 'LcdBarGraph::LcdBar Graph(LiquidCrystal_ I2C*, int, int, int)' тестовый скетч : LcdBarGraph_21_11_2019__I2C.rar (http://www.cqham.ru/forum/attachment.php?attachmentid=324452&d=1574338040) должно стать вот так : http://www.cqham.ru/forum/attachment.php?attachmentid=307452&d=1550241764&thumb=1 но пока не получается, подскажите как исправить скетч. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1632] Автор : Integral Дата : 25.11.2019 10:38 tomcat Компилятор ругается на строку 11 LcdBarGraph lbg(&lcd, 20, 0, 0); Замените &lcd на число и компиляция пройдет, поэкспериментируйте с числом LcdBarGraph lbg(4, 20, 0, 0); Да, еще вот. Библиотеку я применил LcdBarGraph версия 2.0.1 (https://github.com/prampec/LcdBarGraph) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1633] Автор : RK9AMX Дата : 25.11.2019 11:36 но пока не получается, подскажите как исправить скетч. Библиотека LcdBarGraph работает в паре с LiquidCrystal. Для работы с модулем I2C нужна заплатка. Немного подправил ваш скетч. Компилируется. https://playground.arduino.cc/Code/LcdBarGraph/ - описание библиотеки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1634] Автор : tomcat Дата : 25.11.2019 11:54 Замените &lcd на число и компиляция пройдет, поэкспериментируйте с числом заменил &lcd на число, пробовал его изменять, на макете не идет, на экране "замерзли" последние значения, на порты не реагирует. 324710 Добавлено через 57 лет 10 месяцев 16 дней 3 часа 7 минут 17 секунд: Для работы с модулем I2C нужна заплатка. если можно, расскажите поподробней -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1635] Автор : veso74 Дата : 25.11.2019 12:55 tomcat, здесь: LcdBarGraph Library for Arduino (https://playground.arduino.cc/Code/LcdBarGraph/) читаем: History,...,x1.0 2015-05-26: The base library was forked in name LcdBarGraphX to be used with I2C displays т.е. версия LcdBarGraphX-v1.0.zip сделана для I2C дисплеи. Скачиваем архив, добавляем библиотека в Arduino. Ссылка Wiki, New LiquidCrystal (https://bitbucket.org/fmalpartida/new-liquidcrystal/wiki/Home) направляет как использовать библиотеку. Есть пример и для I2C дисплеи. Библиотеки должны быть заменены. У меня нет дисплея LCD 2004 для теста, но попробуйте хотя бы скетч "Hello, ARDUINO". Затем внесите необходимые изменения в вашу программу. (Гугл переводчик мне помогает писать, возможны неточности). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1636] Автор : RK9AMX Дата : 25.11.2019 14:10 Добавлено через 57 лет 10 месяцев 16 дней 3 часа 7 минут 17 секунд: Движок форума жжот :ржач::ржач::ржач: ... По ссылке, которую приводил, есть история версий и примеры использования. ... Библиотеку не ковырял, но там не должно быть больших трудностей. По мне, проще самому код такого градусника написать. За основу можно, например, алгоритм вывода S-метра взять из скетча синтезатора veso74.​ tomcat, отредактировал еще раз ваш скетч. Добавил функцию вывода градусника в нулевой строке. Компилируется. Проверять вам. Файл пристегнул. P.S. Спасибо veso74 ​за алгоритм :) Добавлено через 10 минут(ы): Забыл добавить. Если у вас уже есть вычисленное значение мощности, то его необязательно измерять еще раз на выводе A6. Но раз автор считает, что так нужно, то пусть останется как есть. И еще, градусника можно сделать 2 штуки (мощность и КСВ). Еще, я бы убрал вычисления float. Флеш-память большая, но не бесконечная :). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1637] Автор : tomcat Дата : 25.11.2019 17:36 Забыл добавить. Если у вас уже есть вычисленное значение мощности, то его необязательно измерять еще раз на выводе A6. Но раз автор считает, что так нужно, то пусть останется как есть. И еще, градусника можно сделать 2 штуки (мощность и КСВ). Еще, я бы убрал вычисления float. Флеш-память большая, но не бесконечная . Вложения LcdBarGraph_21_11_2019__I2C.zip (2.2 Кб) Большое спасибо ! проверил, Ваш скетч работает : 324737 324738 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1638] Автор : RK9AMX Дата : 26.11.2019 08:02 проверил, Ваш скетч работает Спасибо, что проверили. Посмотрел на градусник, похоже я из какого-то тестового варианта скопировал символы. Лучше строки заменить на const uint8_t sm2[8] {0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00}; const uint8_t sm1[8] {0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00}; const uint8_t sm0[8] {0x00, 0x00, 0x1F, 0x11, 0x11, 0x1F, 0x00, 0x00}; С ними будет посимпатичнее. Или воспользоваться генератором символов (https://chips.su/8-generator-simvolov-lsd-na-hd44780.html) для LCD на HD44780, если не понравится вид градусника. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1639] Автор : tomcat Дата : 27.11.2019 14:11 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004 Владислав, большое спасибо ! Лучше строки заменить на Код: заменил строки, выглядит вот так : 324894 324895 сетч : 324896 по выводам ардуины так : входы Arduino : А0 = напряжение анода, А1 = ток анода, А2 = напряжение экранной сетки, А3 = ток экранной сетки, А4 = SDA (подключение Arduino к LCD 2004 через "квадратный" адаптер), А5 = SCL (подключение Arduino к LCD 2004 через "квадратный" адаптер), А6 = прямая волна от НО, А7 = отраженная волна от НО, питание : 5V = +5В от КРЕН-ки 7805 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1640] Автор : UA7F Дата : 27.11.2019 14:44 A для чего измерять напряжения анода и экранной сетки? Эти величины известны и в процессе работы не меняются. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1641] Автор : tomcat Дата : 27.11.2019 14:55 A для чего измерять напряжения анода и экранной сетки? это, к сожалению, никому не известно.... к примеру в УМ на 3-х ГУ-50 можно не измерять, но вот когда это что-то подороже, например, ГУ-84б или ГУ-47б - то можно и измерить. Эти величины известны и в процессе работы не меняются. если не измерять, то нам может показаться, что не меняются..... а если измерить - то на самом деле не все так однозначно. переубедить меня в обратном вряд ли кому то удастся, мне был нужен несложный, относительно недорогой индикатор для УМ, и мы совместными усилиями его слепили, 324903 теперь предстоит его протестировать на реальном УМ и добавить ОУ для измерения токов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1642] Автор : fedorenko28 Дата : 27.11.2019 15:20 Индикация работает быстро, не инертно при изменении показаний? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1643] Автор : tomcat Дата : 27.11.2019 16:13 Индикация работает быстро, не инертно при изменении показаний? это будет возможно только после теперь предстоит его протестировать на реальном УМ в SSB, но я думаю, что по любому будет работать быстрее чем на PIC-контроллере ! заменил строки (https://istarik.ru/blog/programmirovanie/53.html)на const uint8_t sm2[8] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00}; const uint8_t sm1[8] {0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00}; const uint8_t sm0[8] {0x1F, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x00}; перевод с BIN в HEX взял тут (https://istarik.ru/blog/programmirovanie/53.html) кажется, стало выглядеть сочнее : 324907 324908 или const uint8_t sm2[8] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00}; const uint8_t sm1[8] {0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00}; const uint8_t sm0[8] {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}; вот так : 324909 скетч последней версии : 324910 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1644] Автор : tomcat Дата : 27.11.2019 17:15 заменил строки на заменил на const uint8_t sm2[8] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00}; const uint8_t sm1[8] {0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x1F, 0x00, 0x00}; const uint8_t sm0[8] {0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00}; выглядит так : 324915 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1645] Автор : tomcat Дата : 27.11.2019 19:59 Подал максимальное напряжение на вход А6, выглядит вот так : 324927 кажется, надо бы подвыровнять вторую половину кубиков. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1646] Автор : RK9AMX Дата : 28.11.2019 07:42 кажется, надо бы подвыровнять вторую половину кубиков. Подвыравнивать вторую половину не обязательно. for (m = 0; m < a; m++) if (m < 10) lcd.print('\x00'); // символ sm0 else lcd.print('\x01'); // символ sm1 Можно удалить условие и оставить только один символ. for (m = 0; m < a; m++) lcd.print('\x00'); // символ sm0 Два символа для того, чтобы разделить значения мощности. До 50% - не закрашенные квадратики - sm0. Свыше 50% - закрашенные квадратики - sm1. Чтобы смотрелось гармонично, нужно одинаковую стилистику соблюдать. Если хотите сдвинуть в ту или другую сторону раскраску градусника (например: до 70% не закрашенные квадратики, свыше закрашенные) то можно поиграть со значением константы в условии if (m < 10). Значения могут быть в пределах 1..20 с вашим дисплеем. for (m = 0; m < a; m++) if (m < 13) // до 70% не закрашенные квадратики lcd.print('\x00'); // символ sm0 else lcd.print('\x01'); // символ sm1 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1647] Автор : tomcat Дата : 29.11.2019 16:35 Если хотите сдвинуть в ту или другую сторону раскраску градусника (например: до 70% не закрашенные квадратики, свыше закрашенные) Спасибо! добавил for (m = 0; m < a; m++) if (m < 13) // до 70% не закрашенные квадратики lcd.print('\x00'); // символ sm0 else lcd.print('\x01'); // символ sm1 выглядит вот так : 325066 скетч : 325065 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1648] Автор : Qekido Дата : 08.12.2019 17:34 Здравствуйте форумчане! Интересно, кто-нибудь здесь покупал модуль arduino uno r3. Хотелось бы узнать, где лучше приобретать сие творение. Если можно, дайте ссылочку на сайт продавца. Я прочитал много сайтов, его много кто использует: как новички, так и профессионалы. Поэтому решил начать знакомство с arduino именно с него. Я новичок, поэтому если есть что-то получше, посоветуйте пожалуйста. Также какую операционную систему лучше использовать для работы с arduino: Windows или Linux?Спасибо за внимание!!!;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1649] Автор : R4ABT Дата : 08.12.2019 19:21 вот интересный сайтик проштудируйте его В следующий раз будет моментальный бан за рекламу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1650] Автор : UN7RX Дата : 08.12.2019 21:02 Qekido, с вопросами о покупках - сюда (http://www.cqham.ru/forum/showthread.php?38159-%C0%EB%E8-eBay-%D2%E0%EE-%E8-%F2-%E4-%EF%EE%E4%F1%EA%E0%E6%E8%F2%E5-%E3%E4%E5-%EA%F3%EF%E8%F2%FC). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1651] Автор : Milldi Дата : 08.12.2019 23:31 Также какую операционную систему лучше использовать для работы с arduino: Windows или Linux?Спасибо за внимание!!! без разницы, что вам удобнее то и используйте, только если под XP будите работать то ставьте предпоследнюю версию софта 1.8.9 (последняя 1.8.10 что то ругается на ядро системы, но возможно это особенность моей системы). А покупать ардуинки и модули к ним выгоднее всего на алике, и цены низкие и качество нормальное, и подобрать можно несколько в одном магазине сэкономив на доставке немного, за надписью "Ардуино" на плате фирменных гнаться не стоит, работают одинаково. По крайней мере за 5 лет ни одной проблемы не возникло, а покупаю их регулярно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1652] Автор : UD2F Дата : 08.12.2019 23:36 Win10, Win7, Linux (Ubuntu 18.04) работает нормально -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1653] Автор : tomcat Дата : 15.12.2019 18:58 Заголовок : Индикатор лампового УМ на Arduino nano 3 и LCD 2004. Тест. Индикация работает быстро, не инертно при изменении показаний? Индикатор подключили к УМ и опробовали в SSB. Ссылка на кину (https://youtu.be/XQeHZ7V-8Kw). 326147 По поводу отображения в SSB : Как сделать, чтобы ардуина проводила 3...5 измерений с портов А6 и А7, выбирала из них максимальное значение и уже его выводила на дисплей !? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1654] Автор : Integral Дата : 15.12.2019 20:36 Индикатор подключили к УМ и опробовали в SSB. Как мне показалось по видео индикация все же получилась медленная и дерганная, а значит есть куда расти :-P Как сделать, чтобы ардуина проводила 3...5 измерений с портов А6 и А7, выбирала из них максимальное значение и уже его выводила на дисплей !? Я делаю не так, чтобы показания были ровными и более плавными добавляю в код с аналоговых портов усреднение показаний. Т.е. происходит несколько измерений по каждому порту и среднее значение затем уходит в обработку. Усреднение сигнала можно сделать двумя способами, первый это по времени, второй - по количеству считываний с портов. Например временное усреднение: void loop() { float U1=0,U2=0; //назначаем переменные прямой и обратной волны unsigned long CalcStart = millis(); //назначаем переменную отсчета времени CalcStart int ReadCnt=0; //назначаем переменную инкрементного счетчика для усреднения while ((millis()-CalcStart)=U1){U1=U1temp;} //получаем максимальное значение U1 if (U2temp>=U2){U2=U2temp;}} //получаем максимальное значение U2 // U1 = U1 / COUNT; //усредняем значение U1 // U2 = U2 / COUNT; //усредняем значение U2 Вводим в цикл измерения промежуточные переменные U1temp и U2temp. Как только новое значение больше или равно U1 или U2, то переписываем их на новое значение. В результате из 10 измерений в U1 и U2 мы получим максимальное значение. Количество измерений можно увеличить, из практики такой алгоритм работает хуже, чем простое усреднение, можете сравнить на практике. Для этого уже все имеется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1656] Автор : RK9AMX Дата : 16.12.2019 08:37 void loop() { float U1=0,U2=0; //назначаем переменные прямой и обратной волны unsigned long CalcStart = millis(); //назначаем переменную отсчета времени CalcStart int ReadCnt=0; //назначаем переменную инкрементного счетчика для усреднения while ((millis()-CalcStart) #include #define PMETER A6 //byte lcdNumCols = 20; // -- number of columns in the LCD //byte sensorPin = 0; // -- value for this example uint16_t val_sm = 0; uint16_t val_sm_old = 1; LiquidCrystal_I2C lcd(0x27,20,4); // -- creating LCD instance //LcdBarGraph lbg(&lcd, 20, 0, 0); // -- creating bargraph instance, format is (&lcd, lcdNumCols, start X, start Y). So (&lcd, 16, 0, 1) would set the bargraph length to 16 columns and start the bargraph at column 0 on row 1. const uint8_t sm2[8] {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x00}; const uint8_t sm1[8] {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}; const uint8_t sm0[8] {0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x1B, 0x00}; void setup(){ // -- initializing the LCD lcd.init(); // Инициализация lcd lcd.backlight(); // Включаем подсветку lcd.begin(20, 4); lcd.createChar(0, sm0); lcd.createChar(1, sm1); lcd.createChar(2, sm2); lcd.clear(); // -- do some delay some time I've got broken visualization //delay(100); } void loop() { // -- draw bar graph from the analog value readed //lbg.drawValue( analogRead(A6), 1021); // -- do some delay: frequent draw may cause broken visualization val_sm = analogRead(PMETER); if ((abs(val_sm - val_sm_old)) > 3) { show_sm(); val_sm_old = val_sm; } //delay(100); //lcd.clear(); // измерение анодного напряжения // устанавливаем курсор в колонку 0, строку 2 lcd.setCursor(0, 2); // считываем показания с аналогового входа A0 int anodU = analogRead(A0); // переводим значения с АЦП A0 в вольты float sensorVoltage = anodU * (5.0 / 120.0); // тут правим коэффициент для другого верхнего значения напряжения // переводим вольты в напряжение int anodV = sensorVoltage * 100; // выводим результат на дисплей lcd.print("Ua="); // устанавливаем курсор в колонку 3, строку 2 // на самом деле это третья строка, т.к. нумерация начинается с нуля lcd.setCursor(3, 2); lcd.print(anodV); lcd.print("V "); // измерение анодного тока // устанавливаем курсор в колонку 10, строку 2 lcd.setCursor(10, 2); // считываем показания с аналогового входа A1 int anodI = analogRead(A1); // переводим значения с АЦП A1 в вольты float sensorVoltage1 = anodI * (5.0 / 123.0); // тут правим коэффициент для другого верхнего значения тока // переводим вольты в милиамперы int anodmA = sensorVoltage1 * 100; // выводим результат на дисплей lcd.print("Ia="); // устанавливаем курсор в колонку 13, строку 2 lcd.setCursor(13, 2); lcd.print(anodmA); lcd.print("mA "); // измерение напряжения экранной сетки // устанавливаем курсор в колонку 0, строку 3 lcd.setCursor(0, 3); // считываем показания с аналогового входа A2 int gridU2 = analogRead(A2); // переводим значения с АЦП A2 в вольты float sensorVoltage2 = gridU2 * (5.0 / 120.0); // тут правим коэффициент для другого верхнего значения напряжения // переводим вольты в напряжение int gridV2 = sensorVoltage2 * 100; // выводим результат на дисплей lcd.print("Ug="); // устанавливаем курсор в колонку 3, строку 3 // на самом деле это третья строка, т.к. нумерация начинается с нуля lcd.setCursor(3, 3); lcd.print(gridV2); lcd.print("V "); // измерение тока экранной сетки // устанавливаем курсор в колонку 10, строку 3 lcd.setCursor(10, 3); // считываем показания с аналогового входа A3 int gridI2 = analogRead(A3); // переводим значения с АЦП A3 в вольты float sensorVoltage3 = gridI2 * (5.0 / 123.0); // тут правим коэффициент для другого верхнего значения тока // переводим вольты в милиамперы int gridmA2 = sensorVoltage3 * 100; // выводим результат на дисплей lcd.print("Ig="); // устанавливаем курсор в колонку 13, строку 3 lcd.setCursor(13, 3); lcd.print(gridmA2); lcd.print("mA "); // измерение мощности и КСВ // устанавливаем курсор в колонку 10, строку 1 lcd.setCursor(0, 1); // считываем показания с аналогового входа A6 A7 int pwr1 = analogRead(A6); int pwr2 = analogRead(A7); // переводим значения с АЦП A6 A7 в вольты float U1 = pwr1 * (5.0 / 73.0); float U2 = pwr2 * (5.0 / 73.0); // переводим вольты в мощность и КСВ int pwr11 = ((U1*U1)/50) * 15; // тут правим коэффициент для мощности 1472 Вт int swr12 = ((U1+U2)/(U1-U2)) * 100; //ограничиваем значение КСВ на уровне 9.99 // выводим результат на дисплей lcd.print("PWR="); // устанавливаем курсор в колонку 4, строку 1 lcd.setCursor(4, 1); lcd.print(pwr11); lcd.print("W "); // устанавливаем курсор в колонку 10, строку 1 lcd.setCursor(10, 1); // выводим результат на дисплей lcd.print("SWR="); lcd.print(" "); // устанавливаем курсор в колонку 13, строку 1 lcd.setCursor(14, 1); lcd.print(swr12 / 100); //целая часть lcd.print("."); if (swr12 - (swr12/100)*100 <= 9) { lcd.print("0"); } lcd.print(swr12 - (swr12/100)*100); //дробная часть //lcd.print(swr12=swr12*10); //дробная часть delay(150); } void show_sm() { uint8_t m; uint8_t a; a = (val_sm + 3) / 51; lcd.setCursor(0, 0); for (m = 0; m < a; m++) if (m < 13) // до 70% не закрашенные квадратики lcd.print('\x00'); // символ sm0 else lcd.print('\x01'); // символ sm1 for (m = a; m < 19; m++) lcd.print('\x02'); } пересмотрел видео и возник еще вопрос : как закруглить отображение анодного напряжения кратно 20 или 50 В, так как беготня цифр немного отвлекает ? . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1661] Автор : Integral Дата : 18.12.2019 12:19 как закруглить отображение анодного напряжения кратно 20 или 50 В, так как беготня цифр немного отвлекает ? Достаточно легко. Там округление необходимо не только для напряжения, но и для мощности. Ловить 1Вт при показаниях больше 1кВт не есть хорошо. Цифры прыгают и мельтешат. Например округление мощности я делаю находу в программе вот так: uint16_t PWR1=PWR/PWRstep; PWR=PWR1*PWRstep; Вводим промежуточную переменную PWR1, далее мощность делим на шаг округления PWRstep. Затем получаем мощность кратно PWRstep. Если нужно сделать округление до 10Вт, то код будет таким: uint16_t PWR1=PWR/10; PWR=PWR1*10; Шаг округления удобно внести в начале скетча в #define и там его менять при необходимости. Аналогично можно сделать и для напряжения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1662] Автор : tomcat Дата : 18.12.2019 13:25 В результате из 10 измерений в U1 и U2 мы получим максимальное значение. добавил отображение максимального значения в числовом отображении PWR=1472W градусник к этой процедуре не удалось прицепить, ... // измерение мощности и КСВ // устанавливаем курсор в колонку 10, строку 1 lcd.setCursor(0, 1); // считываем показания с аналогового входа A6 A7 //int pwr1 = analogRead(A6); //int pwr2 = analogRead(A7); int pwr1=0,pwr2=0; //назначаем переменные прямой и обратной волны const int COUNT = 10; //назначаем константу кол-во измерений for (byte i=0; ++i=pwr1){pwr1=pwr1temp;} //получаем максимальное значение pwr1 if (pwr2temp>=pwr2){pwr2=pwr2temp;}} //получаем максимальное значение pwr2 // pwr1 = pwr1 / COUNT; //усредняем значение pwr1 // pwr2 = pwr2 / COUNT; //усредняем значение pwr2 // переводим значения с АЦП A6 A7 в вольты float U1 = pwr1 * (5.0 / 73.0); float U2 = pwr2 * (5.0 / 73.0); // переводим вольты в мощность и КСВ int pwr11 = ((U1*U1)/50) * 15; // тут правим коэффициент для мощности 1472 Вт int swr12 = ((U1+U2)/(U1-U2)) * 100; //ограничиваем значение КСВ на уровне 9.99 // выводим результат на дисплей lcd.print("PWR="); // устанавливаем курсор в колонку 4, строку 1 lcd.setCursor(4, 1); lcd.print(pwr11); lcd.print("W "); ... также добавил усреднение анодного напряжения : ... // измерение анодного напряжения // устанавливаем курсор в колонку 0, строку 2 lcd.setCursor(0, 2); // считываем показания с аналогового входа A0 // int anodU = analogRead(A0); int anodU=0; //назначаем переменные прямой и обратной волны for (byte i=0; i<10; i++){ //включаем цикл измерения anodU += analogRead(A0);} //суммируем значения anodU с порта А0 anodU = anodU / 10; //усредняем значение anodU // переводим значения с АЦП A0 в вольты float sensorVoltage = anodU * (5.0 / 120.0); // тут правим коэффициент для другого верхнего значения напряжения // переводим вольты в напряжение int anodV = sensorVoltage * 100; // выводим результат на дисплей lcd.print("Ua="); // устанавливаем курсор в колонку 3, строку 2 // на самом деле это третья строка, т.к. нумерация начинается с нуля lcd.setCursor(3, 2); lcd.print(anodV); lcd.print("V "); ... скетч текущей версии : 326326 на УМ еще не опробован. . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1663] Автор : RK9AMX Дата : 18.12.2019 15:18 tomcat, несколько вопросов по принципиальной схеме. 1. Какой датчик используется для измерения тока? 2. Какой датчик используется для измерения напряжения? 3. Как производится измерение КСВ? В общем схему бы целиком посмотреть, можно от руки нарисованную. Эти вопросы возникли когда правил ваш скетч. Для полноты картины не хватает данных. Поэтому коэффициенты при вычислении значений напряжения и тока оставил какие были. Если поменяется плата ардуино, то придется их подбирать заново. Поэтому желательно вывести их в define, для удобства регулировки. Исправленный скетч без глобальных правок (исправлена только функция вывода градусника) - ver1. Скетч с глобальными правками ver2. Возникнут вопросы, пишите. P.S. Может по этому проекту создадите отдельную тему? Здесь конечно не оффтоп, но проект уже вырисовывается. Может ещё кому будет интересна данная конструкция. А в этой теме вся информация затеряется со временем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1664] Автор : tomcat Дата : 18.12.2019 15:33 Может по этому проекту создадите отдельную тему? ок ! сделано. новая тема Индикатор лампового УМ на Arduino nano 3 и LCD 2004 = тут (http://www.cqham.ru/forum/showthread.php?41035-%C8%ED%E4%E8%EA%E0%F2%EE%F0-%EB%E0%EC%EF%EE%E2%EE%E3%EE-%D3%CC-%ED%E0-Arduino-nano-3-%E8-LCD-2004&p=1703514&viewfull=1#post1703514) отрабатывать скетч и тестировать в железе будем там. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1665] Автор : AlexJ Дата : 20.12.2019 11:41 Вопрос к знатокам Arduimo Nano, столкнулся в проекте ант.анализатора на этом модуле, там обвязке CH340G применяется пьезо-резонатор на 12МГц, просмотрел имеющиеся у меня модули нано, там вообще отсутствует этот кварц, и тем не менее модули работают!?, так он обязателен или нет? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1666] Автор : fedorenko28 Дата : 20.12.2019 11:53 Такой же на обратной стороне для атмеги. Либо вариации, один такой, а для атмеги стандартная лодочка. 326448 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1667] Автор : AlexJ Дата : 20.12.2019 12:08 Такой же на обратной стороне для атмеги. Для атмеги такой стоит, для 340 нет, и не было изначально! Отсюда и вопрос... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1668] Автор : rx3apf Дата : 11.01.2020 00:10 Если верить даташиту, CH340B и CH340C применяются без внешнего резонатора. В любом случае, если обнаруживается в системе при подключении - значит хоть как-то работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1669] Автор : R2AAR Дата : 05.02.2020 12:56 Добрый день. Набрел в интернете на схему управление согласующим на Ардуино. Автор Рольф DF7XH. Написал ему и он выслал скетч. Собрал, работает. Но я был уверен что при ручной подстройке L и C, новые значения запишутся в память и при последующем вызове нужного диапазона они сохранятся. Но оказалось что нет, они фиксировано прописаны в самом скетче. К примеру для 30М диапазона, значение L выставляется 640: #define POSN_CMD_L_30 640 // Commanded position L motor for 30m band Можно как то поправить(дописать/переписать) что бы при подстройке клавишами Fine Tune L и Fine Tune C, новые значения L и C заносились в память и при последующем вызове этого диапазона они сохранялись. Сам я не смогу это точно. И еще было бы не плохо расширить количество диапазонов до 9. Резисторы в делитель я добавлю, а вот поправить в скетче проблема для меня. Замерил напряжение на Pin A2 и составил таблицу: Диапазон Pin A2 V Значение по формуле Напряжение/0,0049V 30 0,89 181,63 20 1,59 324,49 17 2,49 508,16 15 3,44 702,04 12 3,86 787,76 10 4,11 838,78 Эти значения вписаны в скетче: if (((band >= 0) && (band < 250)) && ((band_1 >= 0) && (band_1 < 250))) // 30m band selected if (((band >= 251) && (band < 416)) && ((band_1 >= 251) && (band_1 < 416))) // 20m band selected и так далее. Буду рад если кто поможет. Можно в личку или на почту. А можно и здесь, думаю многих заинтересует. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1670] Автор : RZ6MB Дата : 05.02.2020 16:36 Архив повреждён? У меня не открывается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1671] Автор : veso74 Дата : 05.02.2020 17:12 RZ6MB, все ОК. Обновите свой архиватор. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1672] Автор : RK9AMX Дата : 06.02.2020 08:00 Сам я не смогу это точно. Доброго дня! Самый простой вариант. Раскомментировать блок Serial. Настраиваетесь на нужном диапазоне. Смотрите в мониторе порта значения posn_cmd_L и posn_cmd_C для каждого диапазона. Записываете эти значения в соответствующие #define. При выборе диапазона есть строки band_sel = 30; ... band_sel = 20; и т.д. Тут можно прописать нужные вам диапазоны, например: band_sel = 80; ... band_sel = 40; и т.д. Увеличить количество диапазонов, на первый взгляд, будет не просто. Придётся сильно править код. Сюда же и запись в память. Это уже выльется в отдельный проект со всеми вытекающими последствиями... Для удобства включения и отключения Serial ввел директивы для препоцессора #define SERIAL_ON 0. Если ноль исправите на единицу, то включите модуль Serial. После внесения исправлений в define исправите обратно на 0. Это снова отключит Serial. Появятся вопросы, задавайте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1673] Автор : R2AAR Дата : 06.02.2020 15:45 Владислав, спасибо что ответили. Переписывать значения ручками в #define , понятно, но это не то. Хотелось что бы это происходило автоматом. Я так понимаю нужно реализовать запоминание значений переменных поступающие с резисторов. А для этого как понимаю надо задействовать работу с EEPROM. В общем засада -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1674] Автор : r7kko Дата : 06.02.2020 16:53 Заголовок : T-tuner arduino Интересует управление T-tunerом на arduino. 3 ШД. Может быть не автомат, а писать настройки в ячейки памяти. Какой алгоритм настройки использовать?Какие будут мнения? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1675] Автор : RK9AMX Дата : 07.02.2020 10:54 Переписывать значения ручками в #define , понятно, но это не то. По другому тут никак. Это проект для одной многодиапазонной стационарной антенны. Настроил один раз и работаешь. Другие варианты потребуют более сложного алгоритма. Хотелось что бы это происходило автоматом. Чтобы был автомат, нужно измерять напряжения с датчиков прямой и обратной волны КСВ-метра. Для полуавтомата, нужна дополнительная кнопка. При нажатии на кнопку данные буду записываться в память. Это у же совсем другой проект и трудозатраты. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1676] Автор : R2AAR Дата : 07.02.2020 11:09 Чтобы был автомат, нужно измерять напряжения с датчиков прямой и обратной волны КСВ-метра. Владислав, под автоматом я подразумевал и вроде так написал, что бы измененные значения заносились взамен предустановленных. Про завязку с КСВ не было разговора. А по поводу дополнительной кнопки, она много места не занимает. Если нужна, то поставим -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1677] Автор : RK6EWX Дата : 11.02.2020 14:48 выставлять расчётные значения C-L-C проходим по диапазону изменяя с1 и с2 (обратная зависимость одного от другого), далее изменяем L в меньшую и большую сторону и повторяем С поиск резонанса, получится сложно и долго, на релюхах будет значительно быстрей -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1678] Автор : R2AAR Дата : 11.02.2020 15:12 на релюхах будет значительно быстрей Мощность другая 329616 А при переключении с одного диапазона на другой, L и C встают по предустановкам. Время на это, секунд 15. Но при этом есть возможность подстройки -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1679] Автор : R2DHG Дата : 11.02.2020 20:53 У меня вот безумная идея прикрутить копеечный китайский nanoVNA в качестве индикатора. Если управлять элементами тюнера с помощью ШД (не просто туда-сюда, а примерно зная L и C по числу шагов), то нам вроде как известно все что нужно чтобы расчетным путем накрутить тюнер сразу если и не идеально, то очень близко к нужной точке. Т.е. примерно так - ардуиной считываем частоту трансивера, по команде настройки тюнер переключается на nanoVNA, ардуина управляет этой штукой и считывает комплексное сопротивление, C-L-C тюнера нам +/- известны т.к. крутились ШД - вычисляем новые C-L-C для согласования и крутим туда, при необходимости делаем так еще раз, переключаем тюнер на вход с трансивера. Ременный привод для ручек подстройки ? В держателях валов подшипники зажаты обычные ? Если ШД брать не из тумбочки, то бывают с двойным валом, я даже в Москве нашел недавно, хотя вообще найти сложнее, особенно с 8мм валом - с ними меньше мороки будет ручки приделать. Я хочу из вакуумников сделать подобное, кпе неплохие есть (от микрон) но токосъем какой то хлипкий у них и диапазон перестройки небольшой если зафиксировать расстояние между пластинами, для начального позиционирования вакуумников вал с противоположной стороны ШД будет крутить шаговый винт с мелким шагом + там концевик. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1680] Автор : R2DHG Дата : 11.02.2020 22:26 Интересует управление T-tunerом на arduino. 3 ШД. Может быть не автомат, а писать настройки в ячейки памяти. Какой алгоритм настройки использовать?Какие будут мнения? Вопрос не совсем понятен. Если не автомат, то просто управляем элементами через ардуино и запоминаем настройки. В плане настройки Т-тюнера можно покрутить симулятор http://dl2kq.de/mmana/4-10. Алгоритм например такой - ставим входной C на максимум если Rант > 50 Ом или выходной C на максимум если Rант < 50 Ом (не уверен, что это всегда верно), оставшиеся два органа настройки поочередно двигаем в сторону уменьшения КСВ делая каждый раз перехлест (заходя за экстремум функции) при поиске минимума КСВ - в какой то очередной итерации у нас получится подойти к КСВ ~1, в принципе можно тупо попробовать вариант для >50 Ом и если не получится вариант для < 50 Ом. Может это не оптимальный вариант, но расчетные потери вроде терпимые симулятор показывает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1681] Автор : R2AAR Дата : 11.02.2020 23:16 Ременный привод для ручек подстройки ? В держателях валов подшипники зажаты обычные ? В держателях валов закреплены резисторы СП5-21а. Я не придумал другого способа их крепления, уж больно они маленькие. Соответственно через ременную передачу резисторы связаны с вариометром и конденсатором. На фото кстати шкивы перепутаны местами. Шкивы с большим количество зубьев(36) должны располагаться на оси резисторов, а малые 20 зубьев на оси L и C. Так как это позволяет полностью использовать рабочий угол СП5-21а, который равен 330 градусов. Соответственно при повороте конденсатора и вариометра на 180 градусов, при данном соотношении шкивов 1,8, получаем вращение резистора на 324 градуса. Сейчас шкивы установлены верно. В качестве двигателей используются коллекторные типа такого https://aliexpress.ru/i/32794283714.html Втулки кстати разные с внутренними диаметрами, это с наружи они одинаковые. А так для резисторов с одной стороны 3мм, с другой 6мм. У вариометра и конденсатора 9мм и 6мм соответственно. (https://aliexpress.ru/i/32794283714.html) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1682] Автор : RK6EWX Дата : 12.02.2020 11:22 это кто как привык, я настраивал следующим образом, конденсатор связи в среднее положение и далее С-L по минимуму, в области малых значений ксв 3 и менее подстраиваю уже и конденсатор связи, критерий, С вых максимально возможный при КСВ 1 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1683] Автор : EEU Дата : 08.03.2020 08:49 Приветствую всех! У меня просьба к сообществу. Во вложении архив со скетчем синтезатора, автор JA2GQP:http://ja2gqp.blogspot.com/2017/11/stm32si5351a-vfo.html Так вот в нём частота гетеродина всегда выше частоты сигнала. А как-бы мне сделать "стандартную" раскладку частот, т.е. на НЧ+, а на ВЧ диапазонах минус. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1684] Автор : D0ITC Дата : 31.03.2020 17:55 Подключил в ардуино 1.8.9 плату STM32F103C. Работает вроде нормально, но вот встроенные RTC подключить не получилось, выдаёт ошибку: Ошибка компиляции для платы Generic STM32F103C series. Может кто подключил, поделитесь информацией. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1685] Автор : Tim Дата : 04.05.2020 11:03 Добрый день! Кто может подсказать по поводу компиляции? Вопрос по поводу универсального синтеза UR5FFR http://dspview.com/viewtopic.php?f=22&t=174 Никак не компилируется скетч, последней версии. Написано требуется библиотека SSD1306Ascii скачал по указанной ссылке. Закидывал ее в папку с библиотеками и в саму среду IDE в папку с библиотеками, и в папку в мои документы, там тоже создана папка с библиотеками. И все равно при компиляции версией 1.6.5 вылазит disp_OLED128x32.cpp:4:35: fatal error: fonts\lcdnums12x16mod.h: No such file or directory #include "fonts\lcdnums12x16mod.h" ^ compilation terminated. А если в последних версиях IDE компилировать, то там вообще другая ошибка что то вроде I2C.h no such directory. Всю голову сломал уже ничего не пойму... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1686] Автор : veso74 Дата : 04.05.2020 11:44 Universal VFO with Si5351 or/and Si570 https://github.com/andrey-belokon/Syntez_Si5351_Si570 Simple VFO on Si5351 https://github.com/andrey-belokon/SyntezSi5351 Библиотеки также оттуда, но добавляю в архив, для мои_документы \Arduino\libraries На Arduino IDE v.1.8.9 OK, на 1.6.5-r5 не успел. --- PS. SyntezSi5351 или Syntez_Si5351_Si570 Ваш случай? У меня оба проекта компилируется. Правда, с проблемами Arduino IDE под winXP. Помогло: изменял "режим совместимость" (к win98) на: C:\Program Files\Arduino\hardware\tools\avr\avr\bin\ld.exe C:\Program Files\Arduino\hardware\tools\avr\libexec\gcc\avr\4.9.2\collect2.exe -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1687] Автор : Tim Дата : 04.05.2020 12:08 veso74 (http://www.cqham.ru/forum/member.php?5615-veso74) странно...А какие там еще библиотеки? Я только скетч открываю, со всеми файлами которые в папке со скетчем, и библиотека только одна SSD1306Ascii кидал ее и в мои документы и в папку с программой где библиотеки все равно ошибка.Может быть у меня XP изза этого? хотя от операционки вряд ли зависит... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1688] Автор : Tim Дата : 04.05.2020 13:15 veso74 (http://www.cqham.ru/forum/member.php?5615-veso74) Не, XP не причем, развернул сейчас семерку, проделал все тоже самое поставил IDE 1.8.9 закинул библиотеку во все папки с библиотеками, все равно пишет I2C.c no cuch directory и на XP та же ошибка с версией 1.8.9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1689] Автор : veso74 Дата : 04.05.2020 13:19 Предположение: удалитье все Ваши остальные библиотеки. libraries.zip -> распаковайте в (ваш путь)...\Documents\Arduino\libraries\ (почему-то я не прикрепил файл архива к предыдущему сообщению) --- Я попробую другую ОС тоже. --- win7 ltimate 32b, Arduino IDE v1.8.10, компилируется OK -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1690] Автор : Tim Дата : 04.05.2020 13:41 veso74 (http://www.cqham.ru/forum/member.php?5615-veso74) Спасибо Вам огромное за библиотеки! Поставил, и все сразу скомпилировалось!:smile: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1691] Автор : Georgi Дата : 04.05.2020 15:25 Tim, это русская версия? поставил IDE 1.8.9 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1692] Автор : Tim Дата : 04.05.2020 16:01 Ну да -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1693] Автор : R3DMO Дата : 03.06.2020 14:56 Здравствуйте коллеги увлекающиеся Ардуинами. Поковырял гугль, но не нашел нужного. Суть вот в чём. Хочется сделать репитер USART, т.е. на плате Ардуины есть USB разъём, на него настраивается COM порт, и он идёт к компьютеру. На другие ножки контроллера настраиваем USART с сигналами DTR и RTS, и подключаем к трансиверу. Ардуину программируем, на ретрансляцию с USB в USART, ну и подслушиваем, что передаётся. Как только передаётся команда CAT считывания частоты из трансивера, ждём ответа от трансивера, и берём частоту для своих нужд. Все команды и ответы передаём без изменений в обе стороны. Вот такой вот бенд-декодер замысливается. Какие будут педложения. Желательно с кусочками программ. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1694] Автор : R2DHG Дата : 03.06.2020 16:11 Мне какие попадались кусочки - были под конкретный протокол. Сам тоже так делал под ic756 в синтезаторе. У вас ардуина с двумя usart ? Типовая ардуина своим usart на usb и сидит, хотя можно софтовый попробовать заюзать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1695] Автор : UT0UM Дата : 03.06.2020 16:17 репитер если у Вас трансивер уже подключен к компу, то достаточно этот порт прокинуть на другой с помощью VSPE воткнуть в этот другой порт Ардуину и слушать обмен компа с трансивером -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1696] Автор : R3DMO Дата : 03.06.2020 22:13 Мне какие попадались кусочки - были под конкретный протокол. Сам тоже так делал под ic756 в синтезаторе. У вас ардуина с двумя usart ? Типовая ардуина своим usart на usb и сидит, хотя можно софтовый попробовать заюзать. Да не в том какая ардуина, как пробросить с USB в UART ( синхронный интерфейс только RX TX), в принципе вопросов особо нет, а вот с USB в USART (RX TX RTS DTR и прочие ), тут не понятно. если у Вас трансивер уже подключен к компу, то достаточно этот порт прокинуть на другой с помощью VSPE воткнуть в этот другой порт Ардуину и слушать обмен компа с трансивером Не хочется ставить все эти Грабли. Железка она как то к душе ближе. Тем более можно ведь сделать для разных протоколов, а устанавливать протокол подключившись на тот же COM порт, и в меню указать с каким трансивером хотим работать, ну и такие же настройки и для бенд-декодера. Хочешь - тебе Р-140, хочешь - транзисторный усилитель, да чего угодно можно наделать, и до кучи секвенсер воткнуть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1697] Автор : UT0UM Дата : 03.06.2020 22:29 Не хочется ставить все эти Грабли. Железка она как то к душе ближе. Тем более можно ведь сделать для разных протоколов, а устанавливать протокол подключившись на тот же COM порт, и в меню указать с каким трансивером хотим работать, ну и такие же настройки и для бенд-декодера. Хочешь - тебе Р-140, хочешь - транзисторный усилитель, да чего угодно можно наделать, и до кучи секвенсер воткнуть. не понятно в чем грабли у меня такое годами работало и для айкома и для кенвуда есу так снифить не получалось (RX TX RTS DTR и прочие ) можно их взять с конвертера на плате ардуино (232 или 340) но тогда придется DTR отрезать от RESET на Атмеге -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1698] Автор : R2DHG Дата : 03.06.2020 22:54 Да не в том какая ардуина, как пробросить с USB в UART ( синхронный интерфейс только RX TX), в принципе вопросов особо нет, а вот с USB в USART (RX TX RTS DTR и прочие ), тут не понятно. А в трансивере нельзя вырубить использование RTS ? можно их взять с конвертера на плате ардуино (232 или 340) но тогда придется DTR отрезать от RESET на Атмеге С этой стороны ардуины вроде трансивер должен быть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1699] Автор : UT0UM Дата : 03.06.2020 23:17 использование RTS RTS и DTR обычно используются для PTT и СW Добавлено через 21 минут(ы): С этой стороны ардуины вроде трансивер должен быть. ну правильно их и нужно в трансивер засунуть такое подключение, как хочет R3DMO прокатывает только с езу так как там уровни такие хе как в ардуино С Кенвудом так не получится, там не +5В на ком порту -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1700] Автор : R3DMO Дата : 04.06.2020 08:34 Про уровни сигналов пока речь не идёт. Разговор о трансляции сигналов RTS и DTR. Я так понял что пока решений нет. Всем спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1701] Автор : Пассажир Дата : 04.06.2020 08:37 С Кенвудом так не получится, там не +5В на ком порту А кто мешает поставить преобразователь уровней на MAX232. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1702] Автор : fedorenko28 Дата : 04.06.2020 09:35 CAT CI-V интерфейс для ICOM IC-820 на Arduino (https://darkbyte.ru/2016/92/arduino-cat-ci-v-interface-for-icom-ic-820/) https://darkbyte.ru/2016/92/arduino-cat-ci-v-interface-for-icom-ic-820/ Использовал эти наработки для 736го с потекшим lcd, чтобы cat работал и индикация частоты с режимами была на двухстрочнике. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1703] Автор : R3DMO Дата : 04.06.2020 10:50 CAT CI-V интерфейс для ICOM IC-820 на Arduino (https://darkbyte.ru/2016/92/arduino-cat-ci-v-interface-for-icom-ic-820/) https://darkbyte.ru/2016/92/arduino-cat-ci-v-interface-for-icom-ic-820/ Использовал эти наработки для 736го с потекшим lcd, чтобы cat работал и индикация частоты с режимами была на двухстрочнике. Благодарю, хоть что то дельное. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1704] Автор : Tolya Дата : 11.09.2020 17:54 Надо вывести с Ардуино три выхода Clock,Data,Le...напряжение надо 3.6v. Это можно сделать программно или поставить на выходе делитель..? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1705] Автор : RA4FHE Дата : 11.09.2020 18:02 Это можно сделать программно или поставить на выходе делитель..? Используйте Level Shifter -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1706] Автор : rx3apf Дата : 11.09.2020 19:18 Если длительность фронтов и потребление некритично, то резисторный делитель самое простое и быстрое решение для перехода с 5V на низкие уровни. Пока речь идет только о выходе - никаких проблем, с вводом уже могут быть нюансы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1707] Автор : UT0UM Дата : 11.09.2020 19:24 надо 3.6v. можно сразу ардуину запитать таким напряжением -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1708] Автор : Tadas Дата : 11.09.2020 19:30 то резисторный делитель самое простое и быстрое решение для перехода с 5V на низкие уровни. Есть решение на один резистор проще :smile: Порт нагружается резистором, подключённым к меньшему напряжению (в рассматриваемом случае 3.6 В). При инициализации в порт записывается 0. Импульсы генерируются изменением направления порта. При установке порта на вывод на ножке будет 0. При установке на ввод - резистор подтянет выход к 3.6 В. Этот приём широко применяется при программной реализации шины I2C. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1709] Автор : Tolya Дата : 21.09.2020 08:51 Подскажите какой программой лучше работать с PIC контроллером и с Ардуино..установил MPLAB но пока не могу с ней разобраться и ещё один вопрос есть PIC он закрыт для считывания я могу его использовать или покупать новый..извините за делитантские вопросы.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1710] Автор : IG_58 Дата : 21.09.2020 08:54 Tolya, среда разработки программ для Arduino: http://arduino.ru/Arduino_environment https://amperka.ru/page/arduino-ide (http://arduino.ru/Arduino_environment) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1711] Автор : romanetz Дата : 21.09.2020 09:12 PIC контроллеры не поддерживаются средой ардуино -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1712] Автор : IG_58 Дата : 21.09.2020 09:40 romanetz, я писал только про Аруино. PIC контроллеры к моим ссылкам никакого отношения не имеют, было бы странно, если бы поддерживались средой IDE. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1713] Автор : Владимир_К Дата : 21.09.2020 10:10 Я часто пользуюсь книжкой "Программирование на языке С для AVR и PIC микроконтроллеров" Ю.А. Шпак "МК-пресс" 2006 год. Там вроде есть и описание как работать в среде MPLAB. Но я с PICами почти не занимался. Хотя несколько проектов сделал в т.ч. частотомер и пр. И только на Ассемблере. Но что-то мне AVR больше нравятся. Хотя начинал именно с PIC. Также поищите в ж. Радио цикл статей А. Долгий. Сначала найдите №1 за 2004 год, там больше о прошивке, но там найдете ссылки и на другие журналы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1714] Автор : RK9AMX Дата : 21.09.2020 10:29 Подскажите какой программой лучше работать с PIC контроллером MPLAB X и более ничего на ум не приходит. Нужно ещё кроме самого MPLAB компилятор установить. Про это лучше на соответствующих форумах почитать. Может VS Code с соответствующими плагинами, но сам не использовал. Поэтому могу наврать. Есть проект Pinguino (https://pinguino.cc/) - ардуиноподобная среда разработки для PIC, но с ходу её запустить не получилось. Поэтому ничего про неё сказать не смогу. Тоже разбираться самостоятельно придётся. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1715] Автор : vadim_d Дата : 21.09.2020 10:32 есть PIC он закрыт для считывания я могу его использовать или покупать новый..Если сотрете, будет как новый :) Нужно ещё кроме самого MPLAB компилятор установитьЯ уже советовал бесплатную версию http://www.bknd.com/cc5x/index.html , там почти нет ограничений кроме только одного формата плавающей точки из всех возможных в полной версии -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1716] Автор : Tolya Дата : 21.09.2020 10:41 Суть вопроса такова..есть синтезатор на мс МВ15Е07SR...эту тему я поднимал на форуме..с PIC я думаю у меня ничего не получиться,а с Ардуино управлять этим синтезатором наверно можно..но есть одна проблемка после демонтажа PICa 16F684, при измерении на входах LE DATA и CLOCK синтезатора висит 1 то есть +5 в...это так должно быть или синтезу капут..а то начну эксперименты с ардуино и её ещё спалю.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1717] Автор : Владимир_К Дата : 21.09.2020 10:54 Да, еще забыл. Есть у меня документ в .pdf называется mplab.ide, откуда скачал не помню. Там есть все. Занимает почти 3 Mb. Могу на почту сбросить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1718] Автор : veso74 Дата : 21.09.2020 11:08 Tolya, дайте (если есть возможности) макро-фотографию МВ15 для просмотра подключений. Eсть ли подтягивающие резисторы (сомневаюсь в случае для SPI?) и можете найти их и при необходимости удалить. Подключите входы временно, например, с сопротивлением 100 Ом к земле и измерьте. Должно быть ОК -> ок. 0V. Вход трудно сжечь (ну есть исключения, и зависит от желания :)). Выходи Arduino способны к нагрузке, но всегда можете вкл. буфер с другой ИС, если нужно (и сомневаетесь в нагрузки). Но часто резистор 100 Ом .. 10 кОм достаточно во всех случаях неопределенности нагрузки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1719] Автор : Tolya Дата : 21.09.2020 11:41 Могу на почту сбросить. Буду признателен..ua1ner@mail.ru Добавлено через 22 минут(ы): https://www.fujitsu.com/downloads/MICRO/fme/pll/MB15E07.pdf Добавлено через 9 минут(ы): Подключите входы временно, например, с сопротивлением 100 Ом к земле и измерьте. Должно быть ОК -> ок. 0V. Вход трудно сжечь (ну есть исключения, и зависит от желания ). На входе LE при подключении 1 ком на землю показыает около 0 на остальных CLOCK DATA падение до 4 вольт -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1720] Автор : Владимир_К Дата : 21.09.2020 13:12 Буду признателен Отправил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1721] Автор : romanetz Дата : 21.09.2020 17:53 romanetz, я писал только про Аруино. PIC контроллеры к моим ссылкам никакого отношения не имеют, было бы странно, если бы поддерживались средой IDE. Среда ардуино поддерживает кучу всего, но не пикушки. С другой стороны - не очень-то и хотелось, есть другие восьмибитники. Мало кто пишет под Z80 или 6502 сегодня. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1722] Автор : IG_58 Дата : 21.09.2020 18:32 Мне кажется, что если человек так уж никогда ничего не программировал и не создавал программируемые устройства на расыпухе, то лучшего средства для быстрого, несложного и эффективного вхождения в тему лучше Ардуино не найти. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1723] Автор : Tolya Дата : 21.09.2020 20:46 Мне кажется, что если человек так уж никогда ничего не программировал и не создавал программируемые устройства на расыпухе, то лучшего средства для быстрого, несложного и эффективного вхождения в тему лучше Ардуино не найти. Это точно...полностью с вами согласен,это для общего развития и понятия...а так конечно ардуино..хотя и тут лично для меня много непонятного,пытаюсь разобраться но пока безуспешно..с входами синтезатора разобрался всё работает...буду думать как прикрутить ардуино... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1724] Автор : R3SM Дата : 30.09.2020 06:09 Всем привет! Сделал самодельное поворотное устройство по мотивам RA3WEO - http://www.radioradar.net/radiofan/antenns/antenna_rotation_sensor_indicator.html Что получилось можно посмотреть - https://www.facebook.com/groups/562284120504704/permalink/3369690113097410/ Теперь к самой сути. Сегментный индикатор в виду относительно низкой дискретности не обеспечивает комфортного восприятия информации, к самому датчику нареканий нет, при подключении профессионального мультиметра всё показывает линейно, т.е изменение на 0.01 соответствует 1 ° поворота по азимуту. Всё это творение ;-) надо подружить с ардуино. Модуль UNO имеется, в купе с LCD1602+IIC/I2C дисплеем. Особых познаний в ардуино практически нет, модуль с дисплеем подключил, простейший скетч для отображения информации "ANT.AZIMUT - xxx°" загрузил. Буду признателен, кто расскажет, а лучше покажет как это воплотить в железе (что куда подключать), сам скетч, или хотя бы объяснит сущность его написания. Это не всё. Можно ли задействовать ардуино в качестве бэнд декодера, точнее бэнд декодер есть - https://eb104.ru/internet-magazin/komponenty-dlya-sborki-eb104/decoder-bands-deshifratory-diapazonov/deshifrator-diapazonov-dlya-transiverov-icom-2 для протокола ICOМ, (делал сам, схема приведена для наглядности, 55 $ за горстку деталюшек это здорово, но паять пока не разучился:roll:). Вобщем, на второй строке отображать текущий диапазон, у меня поворотка и бэнд декодер в одном корпусе, типа BAND - 20 m. Но это второстепенная задача, так сказать на перспективу. Заранее благодарен. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1725] Автор : RK9AMX Дата : 30.09.2020 07:34 R3SM, интересный датчик угла. При питании 5В дает напряжение на выходе с разрядностью 12 бит. Т.е. позволяет измерять угол с разрядностью 0,08789°. В Arduino 10 битный АЦП. Т.е. разрядность будет ниже - 0,351°. Думаю, что этого будет более чем достаточно для поворотного устройства антенны. Из видео понятно, что при достижении 360° напряжение на выходе падает до нуля. Т.е. дополнительные концевики и пр. для установки нуля не нужны. Можно выход датчика подключить ко входу АЦП (например к A0). Дисплей подключаете к A4 и A5 (I2C). Измеряем напряжение на входе АЦП и пересчитываем его в градусы. Выводим на дисплей. В целом задача довольно простая. По поводу бенд декодера немного непонятно. Что вы хотите получить? Более подробно изложите. Могу предположить, что на поворотке будет стоять несколько антенн и их надо переключать. Правильно? Или что-то другое имеется ввиду? Можно сделать бенд декодер на ардуино. Привести напряжение 8В к уровню 5В и измрять его например на А1. Оставшихся портов для управления диапазонами более чем достаточно. В целом, если есть желание, то откройте новую тему. Там можно более детально описать ТЗ. Схему прикинуть и программу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1726] Автор : ledum Дата : 30.09.2020 07:52 Т.е. позволяет измерять угол с точностью 0,08789°. Не надо путать точность и разрешение. Точность там 1°. За счет нелинейности 0.3% от полной шкалы. Хотя для радиолюбителей, кто не занимается многометровыми спутниковыми антеннами, более чем, ИМХО. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1727] Автор : R3SM Дата : 30.09.2020 21:21 R3SM, интересный датчик угла. При питании 5В дает напряжение на выходе с разрядностью 12 бит. Т.е. позволяет измерять угол с разрядностью 0,08789°. В Arduino 10 битный АЦП. Т.е. разрядность будет ниже - 0,351°. Думаю, что этого будет более чем достаточно для поворотного устройства антенны. Из видео понятно, что при достижении 360° напряжение на выходе падает до нуля. Т.е. дополнительные концевики и пр. для установки нуля не нужны. Можно выход датчика подключить ко входу АЦП (например к A0). Дисплей подключаете к A4 и A5 (I2C). Измеряем напряжение на входе АЦП и пересчитываем его в градусы. Выводим на дисплей. В целом задача довольно простая. По поводу бенд декодера немного непонятно. Что вы хотите получить? Более подробно изложите. Могу предположить, что на поворотке будет стоять несколько антенн и их надо переключать. Правильно? Или что-то другое имеется ввиду? Можно сделать бенд декодер на ардуино. Привести напряжение 8В к уровню 5В и измрять его например на А1. Оставшихся портов для управления диапазонами более чем достаточно. В целом, если есть желание, то откройте новую тему. Там можно более детально описать ТЗ. Схему прикинуть и программу. Приветствую! По порядку. Ходовые испытания показали работоспособность схемы. Антенна на поворотке одна, трайбендер Моксон, а-ля DU1RZ. Точности в один градус, даже с имеющимся аналоговым сегментным индикатором и погрешностью в виду его дискретности (обратно пропорционально стоимости:-P), при ДН антенны +9дБ по 60°, более чем за глаза. Однако, буду использовать ардуино, потому что потому. Бэнд декодер. Отдельная песня, уже есть и работает, вопрос в подачи шагово изменяющегося напряжения по протоколу Айком на ардуино, для отображения задействованной антенны, их у меня три, трайбендер (сейчас траповый вертикал, на подходе моксон), базука на 40-ку(в перспективе КИТ на 40-ку) и W3DZZ 160/80. Сам ардуино использовать в качестве бэнд декодера не вижу (пока) смысла, в виду уже имеющегося. Про новую тему, открывать не вижу смысла, ибо местная профессура зафлудит примерно на втором десятке сообщений, напрочь забыв, для чего она, т.е. тема была нужна. Общие концепции изложил, вектор развития уяснил, проблема со временем, и в некоторой эмоциональной усталости от конструирования, бывает и такое, в режиме SOxR несколько проектов, хочется всё, сразу и очень быстро, ну как у всех больных радио:crazy:. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1728] Автор : R3SM Дата : 09.10.2020 05:50 Измеряем напряжение на входе АЦП и пересчитываем его в градусы. Выводим на дисплей. В целом задача довольно простая. Всем привет! Кратко, и по самой сути. На входе ардуино имеем регулируемое напряжение от 0 до 3.6 вольт, что равно полному азимутальному кругу, т.е. 360 °. Соответственно легенда дисплея 1 ° это 0.01 в. Что написать в скетче, нужен ли делитель, отталкиваться ли от внутреннего опорного напряжения при измерении переменной, т.е. данных датчика угла поворота. Заранее благодарен. Исходное ТЗ в моем посте чуть выше. зы. как добавить значок "°" в неруссифицированный дисплей 1602? комбинация "альт + 0176" в скетче оттображается без проблем, но дисплей родился в Китае, чужды ему такие простые обозначения, выдает какой то замысловатый крючок, то ли посылает куда подальше, то ли предлагает выпить еще:-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1729] Автор : Integral Дата : 09.10.2020 09:26 как добавить значок "°" в неруссифицированный дисплей 1602? Создать свой знак и поместить в ОЗУ индикатора. Затем вызывать его по тому адресу, в который положили. Смотрите скетч. Я для проверки содержимого знаков в индикаторах 1602(4) или 2002(4) сделал проверочный скетч. И двумя кнопками можно пройтись по всем знакам, которые туда записали. Кнопки подключаются к D0 и D1. Индикатор подключается по I2​C, адрес 27. Если индикации нет, адрес может быть другим, например 3F. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1730] Автор : rx3apf Дата : 09.10.2020 09:40 Но сперва стоит глянуть, не подойдет ли код символа $DF. Он, правда, чуть меньше, чем "градус" в русифицированном варианте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1731] Автор : Integral Дата : 09.10.2020 10:07 не подойдет ли код символа $DF. Он, правда, чуть меньше, чем "градус" в русифицированном варианте. Я находил знак, очень похож на символ градуса. Он похож на квадрат, но вполне нормально смотрится. Возможно это он: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1732] Автор : rx3apf Дата : 09.10.2020 10:25 Да, это он самый (я раньше его и использовал). Но если в пользовательском знакогенераторе есть место, то можно свой по желанию. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1733] Автор : R3SM Дата : 09.10.2020 14:27 Создать свой знак и поместить в ОЗУ индикатора. Затем вызывать его по тому адресу, в который положили. Смотрите скетч. Я для проверки содержимого знаков в индикаторах 1602(4) или 2002(4) сделал проверочный скетч. И двумя кнопками можно пройтись по всем знакам, которые туда записали. Кнопки подключаются к D0 и D1. Индикатор подключается по I2​C, адрес 27. Если индикации нет, адрес может быть другим, например 3F. Про кнопки не совсем понял. Куда и зачем? Извиняюсь за глупые вопросы. И еще скетч только по знаку градуса, или по моему ТЗ ? Заранее благодарю, сейчас вне дома, посмотреть всё это дело не могу, как минимум до воскресения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1734] Автор : vadim_d Дата : 09.10.2020 16:09 скетч только по знаку градусаДа, под знаком градуса :). Там загрузка символа градуса и проход по всем символам кнопками -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1735] Автор : RK9AMX Дата : 12.10.2020 12:41 На входе ардуино имеем регулируемое напряжение от 0 до 3.6 вольт Делитель на входе ADC необязательно ставить. Датчик выдаёт напряжение 0..5В. Сигнал можно сразу заводить на ADC. В программе получаем значение 0..1023 (0..5В). С помощью функции map(0, 1024, 0, 360) переводим значение в градусы. Опорное напряжение от источника питания (5В) - по умолчанию. Значок '°' можно взять из стандартной таблицы. Хотя он и не очень красивый. Его номер 0xEF. Чтобы вывести символ по номеру в таблице нужно использовать функцию lcd.write(0xEF) или lcd.print("\xEF") или lcd.print("blabla\xEF"). Можно использовать и пользовательские символы знакогенератора. Есть куча сайтов, которые генерируют код символа и готовую часть программы. Я пользуюсь этой (http://juras-projects.net/rus/software.php#lcd1602) программкой. Она конечно не идеальна, с моей точки зрения, но позволяет посмотреть как будет отображаться информация на дисплее. ... Это всё про отображение. А управлять двигателями вы как предполагаете? Нужно ещё предусмотреть установку "нуля". Не механически же настраивать... Можно попробовать реализовать управление (отображение) на ПК по UART-USB. Тоже вполне интересная тема. Зря не хотите создать новую тему. А тролли и здесь могут нафлудить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1736] Автор : rx3apf Дата : 12.10.2020 14:50 Значок '°' можно взять из стандартной таблицы. Хотя он и не очень красивый. Его номер 0xEF. 0xEF в стандартной таблице - это "о" с умлаутом. На "градус" годится 0xDF, как в посте #1731. Не идеально, но приемлемо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1737] Автор : R3SM Дата : 12.10.2020 19:07 RK9AMX, Спасибо за дельную информацию. Один местный коллега взял надо мной шефство в этом вопросе. Вкратце описал что получилось в соседней теме http://www.cqham.ru/forum/showthread.php?19242-%EA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%E1%FE%E4%E6%E5%F2%ED%EE%E9-%EF%EE%E2%EE%F0%EE%F2%EA%E8&p=1773233&viewfull=1#post1773233 , мой пост #238. По поводу управления двигателем. С Китая пришел реверсивный ШИМ контроллер, т.е. на двигатель идет нужное для вращения напряжение, выставил для 1об/мин. Всё устраивает пока. Ну и будет некоторое затишье, т.к. завтра на работу, с этой китайской заразой перешли на вахтовый метод, 2-3 месяца дома, 2-3 месяца на работе, настал мой черед, времени будет только по выходным, ну и урывками на работе. Вобщем, особо не спешу, т.к. палко-веревочный комплект антенн на все бэнды, кроме 12 и 17 метров, имеется, как говорится, стендовые испытания и отладка будут проводится с учетом свободного времени, т.е. от случая к случаю.:roll: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1738] Автор : tvv1958 Дата : 16.10.2020 23:55 R3EZ (http://www.cqham.ru/forum/member.php?12328-R3EZ) http://www.cqham.ru/forum/attachment.php?attachmentid=324478&d=1574356624&thumb=1 Доброго времени суток. Читая форум, очень уж понравился вариант измерителя от R3EZ, Владимира, однако картинки выложил, а свой вариант скетча нет. Все доступные варианты коммуникаций мною опробованы. Может кто поможет связаться с ним. Или же адаптировать существующие варианты индикатора для КВ-ийного транзисторного усилителя 100 Вт. только без секвесторных индикаций в нижней строке. Благодарность не будет иметь границ:beer: . Для лампового УМ уже есть, в вот для транзисторного - увы. Обидно, да! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1739] Автор : Integral Дата : 17.10.2020 00:58 tvv1958 R3EZ адаптировал мой проект под свои нужды. Смотрите исходники у меня в Облаке (https://cloud.mail.ru/public/M1nc%2Fnb9k12etY) и видео (https://youtu.be/k8umrG-TXZk). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1740] Автор : R3SM Дата : 12.11.2020 23:43 Всем привет! Решил изготовить BD на Ардуино для ICOM. По мотивам https://eb104.ru/internet-magazin/komponenty-dlya-sborki-eb104/decoder-bands-deshifratory-diapazonov/deshifrator-diapazonov-dlya-transiverov-icom-2 Соответственно питание от трансивера. Исходные напряжения в таблице. Исполнительный модуль: https://aliexpress.ru/item/4000322826402.html?spm=a2g0o.productlist.0.0.2f6a22e3rS7NTc&algo_pvid=bd541dd0-0ada-4631-b743-8bf4cc6c8661&algo_expid=bd541dd0-0ada-4631-b743-8bf4cc6c8661-2&btsid=0b8b15f516052126947192647e2025&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_ Далее уже по кабелю на сам коммутатор. Мне нужно коммутировать 6 диапазонов, без WARC и 50 мгц. Значит, 6 аналоговых выводов самого модуля Ардуино Уно. Внимание вопрос. Индикация на светодиодах, куда их подключать (с релейным модулем ясно), тупо на вход модуля, или как? Далее, входные напряжения на входе, соответствующие диапазонам, через делитель или напрямую? Калибровка входных напряжений, если через делитель 1:2 (больше смысла не вижу), в скетче прописать, или как? Напряжение трансивера, имеем на pin1 ACC-2 8 вольт при 10 mA явно маловато, используем 13 вольт с pin 7 (до 1 А), напрямую или стабилизируем вольт до 8-9? Главное, накидать монтажную схему, и скетч. По сути останется лишь собрать. Заранее благодарю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1741] Автор : UT0UM Дата : 13.11.2020 00:02 BD на Ардуино для ICOM http://www.5b4wn.com/main/a1921.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1742] Автор : Bratelly Дата : 13.11.2020 02:39 Стас, я не знаю какой у тебя вариант UNO, но по спецификации они все от 7 до 20 В по питанию держат, но 10 мА заведомо малый ток, поэтому PIN 7. По поводу индикации можно на вход, можно встать в параллель светодиоду на релейном модуле. тут не принципиально главное максимальный ток по выходу не превышать. По поводу таблицы напряжений после делителя мне кажется один раз измерить и прописать в скетч, но опять же не точное значение, а с допусками. Посмотри пример на https://remoteqth.com/arduino-band-decoder.php Если, что звони :ржач: Виктор ua0dm -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1743] Автор : R2DHG Дата : 13.11.2020 07:02 Китайские не всегда держат 20В, лично палил при 18В, так что если именно под 20 надо, то лучше сразу стабилизатор менять на заведомо приличный. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1744] Автор : rx3apf Дата : 13.11.2020 16:24 Чаще всего применяются LM1117 (их китайские клоны), так там и у оригинала 20V абсолютным максимум, а норма до 15V. Так то если нужно относительно большое входное, то классические 7805, или LM317 или что-то типа того. LDO обычно "низковольтные" по входу. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1745] Автор : VICTORY Дата : 05.12.2020 10:42 Пробовал прошить АРДУИНО НАНО 328 через ПОНИ ПРОГ.Нормально загружается и проверка показала что все загрузилось, но при подключении в синтезатор ничего не показывает.Кто что посоветует? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1746] Автор : Alexander 1971 Дата : 05.12.2020 11:46 А что должно показать? На что выводится информация? На ЖК? Или на ещё что -то. Было такое, пока не поменял библиотеки, новые на старые . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1747] Автор : ur3ilf Дата : 05.12.2020 14:10 но при подключении в синтезатор ничего не показывает Нужно фусебит BOOTRST снять. И возможно ещё BOOTSZ1 хотя он влиять не должен Это размер загрузчика. За старт BOOTRST отвечает. Ардуина пишется через загрузчик и программа стартует с адреса пропуская блок выделенный под загрузчик. Когда вы прошиваете мегу через ISP то бут стирается а задание стартовать после области отведённой под бут остаётся. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1748] Автор : VICTORY Дата : 05.12.2020 15:06 пока не поменял библиотеки, новые на старые .Информация выводится на двухстрочник, но ее нет.ПОНИ ПРОГ 2017 года, только там сть 328 мега. Добавлено через 28 минут(ы): Нужно фусебит BOOTRST снятьПробовал, ничего не получается.Информация не выводится.Главное, что все с памяти стирается, потом по новой прописывается.Пробовал с другой АРДУИНЫ, где прописано через лоадер, снять информацию и прописать.Все нормально прописалось но на экране ничего нет.Уже лет 15 пользуюсь ПОНИ ПРОГ, но такое у меня впервые. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1749] Автор : RL1L Дата : 05.12.2020 18:02 VICTORY, Стесняюсь по советовать, контрастность двухстрочного экрана измените. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1750] Автор : VICTORY Дата : 05.12.2020 18:53 двухстрочного экрана измените.Там контрастность была выставлена раньше, с другими ардуинами.Приема тоже нет.У меня есть пару аурдинок, которые не прописываются через лоадер, поэтому решил прописать с помощью программатора.Прошивка заливается, но нет связи с сишкой.Может, что-то с фюзами не так. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1751] Автор : ur3ilf Дата : 05.12.2020 22:42 Прошив ка заливается, но нет связи с сишкой.Может, что-то с фюзами не так.А как вы определили что нет именно связи с сишкой? Вы определённо что то не договариваете. Ещё раз разъясняю за что отвечает BOOTRST. В АТмега238 имеется 32кб памяти программ. Фусебиты BOOTSZ0 и BOOTSZ1 определяют размер части памяти отведённой для загрузчика. Конфигурация бита BOOTRST определяет куда переходить после сброса при старте. К загрузчику или нет. Пока не установлен этот бит игнорятся биты отвечающие за размер памяти отведённый под загрузчик. Так вот если установлен бит BOOTRST и хекс зашит через ISP то программа стартует не с нулевого адреса памяти с определённого битами BOOTSZ0 и BOOTSZ1. Зачастую в начале программ идёт конфигурация устройств и векторов прерываний, i2c, инициализация дисплея. Оставляя конфигурацию битов для загрузчика по сути игнорируется начальная часть программы. Запросто может не работать дисплей так как инициализацию не сделали. Или что то ещё. Ещё зависит как и на чём писалась программа. Допустим если шина i2c не подтянутая резисторами к питанию может ждать по посинения высокого логического уровня. PS:фусебиты это тоже что и биос в материнских платах. Что то можно включить или отключить. Если скачиваете хекс с меги в которою он был зашит через загрузчик то и фусебиты нужно ставить так же как в меге с которой скачивали хекс. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1752] Автор : ozforester Дата : 06.12.2020 01:16 Можно сравнить частоты и уровни на шинах i2c в старой и новой схеме. Понимаю, что маловероятно, но если вдруг прошивка одна, а кварцы на мегах и уровни разные, то дисплей может не фурычить, да и сишка тоже. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1753] Автор : rx3apf Дата : 06.12.2020 02:57 Первое что надо бы "в студию" - скриншот программатора, из которого было бы понятно состояние фьюзов, предполагаемое к записи (а, по-хорошему, надо бы и состояние фьюзов у "донора", с которого сливалась прошивка). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1754] Автор : VICTORY Дата : 06.12.2020 10:11 У меня вопрос.Если пишется программа под 328 мегу отдельно и с ардуино.Это одно и тоже? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1755] Автор : Криворукий Дата : 06.12.2020 10:18 VICTORY, ардуино - это тот же микроконтроллер (аtmega168/328) только с обвязкой. Разница только в том, что программу через USB загружают, т.е. не нужно никаких программаторов, для удобства сделали. А так одно и тоже. Но программа может быть в виде HEX файла ( к примеру автор не хочет показывать исходник), тогда её в ардуино только через программатор заливать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1756] Автор : D0ITC Дата : 06.12.2020 10:27 У этих двух вариантов не будут совпадать выводы подключения. Так как для ардуино указываются её порты, а для атмеги соответствующие этим портам пины. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1757] Автор : VICTORY Дата : 06.12.2020 10:27 Я тоже так считаю.Я когда залил программу через усб, проверил работу синтезатора. Потом ее списал прямо с меги и сравнил, одно и тоже.Потом же эту программу залил в другую платку прямо на мегу.Списал, тоже самое, но в синтезаторе не работает.Вот чудеса.Я так подключал347073. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1758] Автор : Tadas Дата : 06.12.2020 10:39 Но программа может быть в виде HEX файла ... , тогда её в ардуино только через программатор заливать. Совсем не обязательно. Если в ардуине бутлоудер не испорчен, можно залить HEX сторонней программой. Напр. XLoader. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1759] Автор : Владимир_К Дата : 06.12.2020 11:50 Но программа может быть в виде HEX файла ( к примеру автор не хочет показывать исходник), тогда её в ардуино только через программатор заливать. Это не так. Tadas, уже написал об этом. Еще добавлю, XLoader не может записать EEPROM контроллера. Поэтому, если программа, написанная в какой-либо другой среде, не в Ардуино, а например AVR Studio и там имеются данные в EEPROM, они не будут записаны. По этой причине программа может не работать. Если пишется программа под 328 мегу отдельно и с ардуино.Это одно и тоже? Это одно и тоже, но не совсем. То есть, простейшая программа, например - поморгать светодиодом, написанная в среде Ардуино и в среде AVR Studio, будут выполнять одно и то же действие - моргать светодиодом. Но программа, написанная в среде Ардуино, будет занимать в памяти контроллера значительно больше места, иногда в разы. Кроме того, есть отличия по записи EEPROM. Когда пишете программу, нельзя сделать так, чтобы EEPROM, была записана во время прошивки. Это можно сделать другим способом - ввести в программу процедуру записи EEPROM. Когда программа начинает работать, она проверяет, есть ли что записано в EEPROM, если нет, программа пишет туда, что нужно. При повторном запуске программы, писать туда уже не будет, так как EEPROM уже не пустая. Теперь по поводу прошивки. Писать в Ардуино можно по USB средствами Ардуино. То есть, написали программу и тут же ее записали, не надо ничего дополнительного. Для этого в Ардуино часть памяти занимает специальная программка бутлоадер. Если у Вас не скетч (программа написанная в среде Ардуино, так ее назвали), а лишь НЕХ-файл, его записать можно в Ардуино с помощью XLoader. НЕХ-файл можно записать в Ардуино и программатором, но после этой операции Ардуино превратится в обычный контроллер, так как Бутлоадер будет затерт (его можно восстановить потом тем же программатором). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1760] Автор : Криворукий Дата : 06.12.2020 13:14 На счёт XLoader, да про неё забыл. HEX можно загрузить с помощью её по USB. Про не соответствие выводов есть подсказка: https://smdx.ru/uploads/blog/arduino-nano-v3-a328p-pinout12-01-2020-2-40.jpg -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1761] Автор : ozforester Дата : 06.12.2020 14:54 Видел как создают в текстовом файлике ide дополнительный программатор, подсказывая аврдуде программировать еепром, а затем выбирают этот новый программатор в ардуино-иде. Так то многие знают, просто редко кто спрашивает, что ардуино-иде это просто джава-оболочка, которая добавляет аруинские библиотеки и вызывает обыкновенные gcc-avr с avrdude, которые компилируют код и умеют фьюзы с еепром писать, но сама IDE это не поддерживает без доработки. Попробовал сейчас найти ту статью по добавлению в arduino-ide записи в еепром при прошивке, но сходу не нашел. Думаю, при определенном терпении, всё нагуглится. Владимир_К, спасибо за подсказку, ведь действительно, если проект пишет eeprom отдельно, то простым считыванием прошивки с контроллера его не клонируешь, надо и про eeprom не забыть. Однако, я бы осциллографом на шину таки ткнул и дернул ресет, вдруг там чего наведет на дальнейшие мысли. Не работает же одновременно два устройства на одной шине, если я правильно понимаю. Ведь хекс же пишется без проблем. P.S. Если есть сомнения во фьюзах и программаторе, то можно записать на одну мегу с помощью IDE мигание светодиодом, а затем вышеупомянутым методом с понипрог перенести на другой контроллер. Так сказать опытным путем доказать или опровергнуть влияние процесса. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1762] Автор : Владимир_К Дата : 06.12.2020 15:12 Видел как создают в текстовом файлике ide дополнительный программатор, подсказывая аврдуде программировать еепром, Наверное так и есть, но я в среде Ардуино почти ничего не пишу и толком ее не знаю. Ознакомился немного лишь для того, что если понодобится что-то экзотическое использовать, типа модуля измерения температуры, часов и пр. То с Ардуино это проще, найти драйвер просто. Но сами модули Ардуино использую часто. Все уже спаяно. Но IDE Ардуино почти не использую. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1763] Автор : R3SM Дата : 23.12.2020 06:32 Всем привет! Пользуясь случаем поздравляю всех с грядущими новогодними праздниками и выражаю свои самые наилучшие пожелания! Теперь о деле. Собрал поворотку (см.мои посты теме "Контроллер бюджетной поворотки (http://www.cqham.ru/forum/showthread.php?19242-%EA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%E1%FE%E4%E6%E5%F2%ED%EE%E9-%EF%EE%E2%EE%F0%EE%F2%EA%E8&p=1788999&viewfull=1#post1788999)"). Контроллер решил повторить а-ля UY2RA https://hammania.net/shack-ham-soft/...strojstvo.html (https://hammania.net/shack-ham-soft/forum/prostoe-povorotnoe-ustrojstvo.html) Использую Ардуино UNO, энкодер (https://aliexpress.ru/item/32718891419.html?spm=a2g0s.9042311.0.0.792e33edU3sPxk&sku_id=61113760376), двухканальный модуль реле (https://aliexpress.ru/item/1005001333270420.html?spm=a2g0s.9042311.0.0.792e33edU3sPxk) (брал на Али). В качестве датчика азимута применён малогабаритный бесконтактный датчик поворота P3022-V1-CW360. Всё собрал, и выяснилось следующее. Постоянно включено одно из реле, горит светодиод, сигнализирующий о вращении. При достижении азимута 0 градусов начинают попеременно щелкать оба реле. То ли в скетче какая бяка, то ли где мои косяки. Скетч прикреплю ниже. В итоге, что хочу. Программно ограничить сектор вращения от 5 градусов по азимуту, до 355. Таким образом "мертвая зона" 10 градусов (+/- 5 градусов от 0 (360) по азимуту). Т.е. отключение двигателя при достижении указанных азимутов. Рад буду любой помощи, с меня донэйшн на коньяк. ;-) Заранее благодарю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1764] Автор : D0ITC Дата : 23.12.2020 09:12 Ограничил, попробуйте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1765] Автор : UR4UBQ Дата : 23.12.2020 09:40 Доброго всем здоровья! Вопрос немного детский - на какой ОС наиболее удобно работать с Ардуино - ХР, W7? W8 ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1766] Автор : D0ITC Дата : 23.12.2020 09:42 Не на семёрке не на десятке проблем нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1767] Автор : UR4UBQ Дата : 23.12.2020 09:51 Не на семёрке не на десятке проблем нет. Спасибо, я почему спросил - под эти нужды есть старенький ноут DELL с кучкой USB выходов, аж 4, и несколько жёстких дисков, с 7 от Дэлла, 8 от другого ноута которая сразу подхватила это железо и довольно неплохо работает без переустановки. А родные драйвера к этому аппарату есть только на ХР и Висту ( в частности на видеокарту ) - всё остальное бе3 проблем ставится в самих операционках. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1768] Автор : ozforester Дата : 25.12.2020 19:24 Ардуина mega2560-R3 перестала появляться в системе как устройство usb-com. Старая прошивка на ней работала нормально. Заметил, когда стал обновлять. Подозрение пало на второй контроллер mega16u2, который является интерфейсом между USB портом и mega2560. Подключил программатор ко второму ISP порту, считал флаги - mega16u2 отвечает. Нашел в интернете название рекомендованной для данной ардуины фирмвари - прошил - заработала. Может пригодится кому как шаблон или отправная точка. 348325348326 oleg@notebook ~ $ avrdude -C /etc/avrdude.conf -p atmega16u2 -c usbasp avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9489 (probably m16u2) avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF) avrdude done. Thank you. oleg@notebook ~ $ avrdude -C /etc/avrdude.conf -p atmega16u2 -c usbasp -F -P usb -U flash:w:/usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex -U lfuse:w:0xFF:m -U hfuse:w:0xD9:m -U efuse:w:0xF4:m -U lock:w:0x0F:m avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.00s avrdude: Device signature = 0x1e9489 (probably m16u2) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "/usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex" avrdude: input file /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex auto detected as Intel Hex avrdude: writing flash (15644 bytes): Writing | ################################################## | 100% 5.46s avrdude: 15644 bytes of flash written avrdude: verifying flash memory against /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex: avrdude: load data flash data from input file /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex: avrdude: input file /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex auto detected as Intel Hex avrdude: input file /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/Genuino-COMBINED-dfu-usbserial-atmega16u2-Mega2560-R3.hex contains 15644 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 4.06s avrdude: verifying ... avrdude: 15644 bytes of flash verified avrdude: reading input file "0xFF" avrdude: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.00s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xFF: avrdude: load data lfuse data from input file 0xFF: avrdude: input file 0xFF contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: 1 bytes of lfuse verified avrdude: reading input file "0xD9" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.00s avrdude: 1 bytes of hfuse written avrdude: verifying hfuse memory against 0xD9: avrdude: load data hfuse data from input file 0xD9: avrdude: input file 0xD9 contains 1 bytes avrdude: reading on-chip hfuse data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: 1 bytes of hfuse verified avrdude: reading input file "0xF4" avrdude: writing efuse (1 bytes): Writing | ################################################## | 100% 0.00s avrdude: 1 bytes of efuse written avrdude: verifying efuse memory against 0xF4: avrdude: load data efuse data from input file 0xF4: avrdude: input file 0xF4 contains 1 bytes avrdude: reading on-chip efuse data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: 1 bytes of efuse verified avrdude: reading input file "0x0F" avrdude: writing lock (1 bytes): Writing | ################################################## | 100% 0.01s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0x0F: avrdude: load data lock data from input file 0x0F: avrdude: input file 0x0F contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: 1 bytes of lock verified avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF) avrdude done. Thank you. oleg@notebook ~ $ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1769] Автор : R3SM Дата : 26.12.2020 22:12 D0ITC, Благодарю за скетч! Все работает, но. Не "гаснет" значение "SET", как в авторском варианте (https://hammania.net/shack-ham-soft/forum/prostoe-povorotnoe-ustrojstvo.html). При повороте на установленный азимут гаснет стрелка, указывающая направление движения, а SET остается равным значениям азимута и "PRESET".:-( С автором связаться пока не получается. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1770] Автор : Isaev Дата : 27.12.2020 21:54 В последнем if if ( abs(set - angle) <= (hold?HYSTERESIS_HOLD:HYSTERESIS)) { hold = true; digitalWrite(PIN_RIGHT, HIGH); digitalWrite(PIN_LEFT, HIGH); //digitalWrite(LED_PIN, HIGH); lcd.setCursor(9,0); lcd.print(" "); //////////// Добавить ///////////// lcd.setCursor(0,1); lcd.print(" "); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1771] Автор : R3SM Дата : 29.12.2020 22:10 Isaev, А можно в готовом виде? D0ITC скетч выкладывал. Буду благодарен! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1772] Автор : Isaev Дата : 29.12.2020 23:11 Смотри личку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1773] Автор : UA4WSA Дата : 06.01.2021 19:39 Приветствую. Собрал синтез на Ардуино нано и oled дисплее, какая то дичь с работой. Если питать от usb то синтез работает как положено, но если питать через пин 5v через стаб 7805, синтез не реагирует ни на одну кнопку или энкодер... Подскажите в чем может быть проблема? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1774] Автор : Alex 1 Дата : 06.01.2021 19:46 Попробуйте установить конденсатор между пин "резет" ардуино и "землёй", у меня от БП прога синтезатора не запускалась, а с юсб синтезатор стартовал, вылечил установкой конденсатора на резет 0,1 мкФ. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1775] Автор : UA4WSA Дата : 06.01.2021 19:47 Ок, спасибо попробую сейчас. Не прокатило... Дисплей временами вообще не полностью отображает графику, от включения к включению по разному... Дичь какая то. С 7805 приходит 4,95В. Единственный вариант, что SI5351 не установлена, но почему от USB тогда работает как положено... Черт знает -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1776] Автор : R3SM Дата : 07.01.2021 18:12 Всем привет! С наступившим НГ! Мои самые лучшие пожелания, чтобы в наступившем году всё у всех было ONLY THE BEST! Вобщем ситуация в таком раскладе. По мотивам https://hammania.net/shack-ham-soft/forum/prostoe-povorotnoe-ustrojstvo.html собрал контроллер для поворотного устройство, которое будет крутить трайбендер на КВ (да простят меня поклонники УКВ, если не совсем кошерно звучит тут само понятие КВ http://forum.vhfdx.ru/Smileys/sarcasmics/smiley.gif ). Про механику рассказывать не стану, сразу к контроллеру. В качестве датчика азимута P3022-V1-CW360 - http://www.radioradar.net/radiofan/antenns/antenna_rotation_sensor_indicator.html Вдоволь наигравшись с энкодером и вращением на установленный градус по азимуту пришел к выводу, что это не совсем моё, ну не зашло, говоря молодежными терминами. Что хотелось бы. Итак, кнопка влево, кнопка вправо, модули реле включают двигатель в нужную сторону, при достижении 5° и 355° по азимуту вращение останавливается принудительно (программно). Направление движения стрелочкой влево (вправо), при остановке вращения, отпусканием кнопки, стрелочка гаснет, светодиод, сигнализирующий вращение, тоже. Мертвая зона в 10° с учетом с ДН XL-234, да еще в северном секторе, меня абсолютно не беспокоит. Что имеем. Модуль ардуино UNO, двухканальный модуль реле для ардуино, ну и саму периферию в виде кнопок и светодиодов. Индикация: верхняя строка AZIMUT = xxx, нижняя строка rotate ---> (<----), гаснет после остановки. Опорное напряжение берется с датчика, указанного выше, выход 0 .....5 (4,96 если быть точнее, с учетом потерь из-за длины кабеля) вольт, делитель на входе А0 я так понимаю не нужен Индикация через 1602 + i2c. Антенна при монтаже на поворотку устанавливается изначально на ЮГ, т.е. 180° по азимуту (такова геолокация места, где будет АФУ, ориетированно строго С-Ю) Повторюсь, нужно самое наипростейшее, всякие бланки памяти, энкодеры и прочее ништяки ни к чему. Нужен скетч, был бы благодарен за помощь, сам пока вкурить не могу. Всех еще раз с праздниками, мои 73! Репост моего сообщения на УКВ портале. Отклика практического не поступило, решил продублировать здесь. Дополню некоторыми моментами, что выяснились при настройке/отладке. Энкодер "тупит", при быстром вращении встает в ступор, либо это реально дребезг контактов, либо попались уж "совсем китайские". Начинает отображаться всякая ерунда, вроде крутишь по часовой, а значения по азимуму в обратную сторону и прочие чудеса. Далее. Модуль реле и ШИМ контроллер (реверсивный) установлены в одном корпусе, ардуинка сначала включает модуль реле в нужную сторону вращения, тот в свою очередь включает ШИМ на двигатель. Наводки на ардуино Уно по цепям питания, "повесил" конденсаторов - пропало (осадок остался), попробовал ключ на MOFSET полевиках (N-типа) вместо промежуточного модуля реле-просто супер! И дешево и надежно. Кстати, в УМ у меня цепь РТТ (токи срабатывания всех реле весьма приличные) работает от такого же ключа, только Р-типа, дабы не было беды в цепи РТТ самого трансивера. Это так, результаты лабораторных испытаний. Еще одна бяка, а именно. Датчик угла азимута лучше всего запитать непосредственно через КРЕН-ку в самой поворотке, иначе просадка обеспечена, и подавать на стабилизатор в пределах допустимых входных 9-15 Вольт. У меня 70 метров кабеля управления на датчик (туда-обратно 140 метров), сечение 0.75мм2, просаживает 1....1.4 вольта (может из-за холодов:roll:, хотя лютых морозов не было пока), идет из пульта управления уже 5 вольт, сейчас переделать нет возможности, но факт есть факт. Итого. Нужен скетч, тех.задание в начале поста. Буду весьма признателен, особливо, есть кто возьмет шефство в вопросах написания, в тырнете много инфы, и всё как то на свой лад. Спасибо за внимание, еще раз всех с праздниками! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1777] Автор : Владимир_К Дата : 07.01.2021 19:08 Энкодер "тупит", при быстром вращении встает в ступор, либо это реально дребезг контактов, либо попались уж "совсем китайские". Начинает отображаться всякая ерунда, вроде крутишь по часовой, а значения по азимуму в обратную сторону и прочие чудеса. Причина в этом одна - с энкодера поступает информация, поток 1 и 0. В зависимости от того, какая комбинация была ранее и какая поступила сейчас, контроллер определяет в какую сторону вращают валкодер. Например было 10 стало 11(это к примеру, на деле немного по-другому). если так, значит крутим вперед. Но, опрос состояний энкодера происходит с определенной периодичностью. Дело в том, что контроллеру надо еще выполнять что-то, а не только следить за валкодером. И вот тут поджидает неприятность. Вы крутите вперед, было 10, затем 11. Но контроллер эту комбинацию пропустил, он в это время занимался другим делом. Следующую комбинацию, например 01, он прочитает. Но, комбинации следовали 10,11,01 и это соответствует вращению вперед. А он пропустил 11 и прочитал 10, затем 01. А это соответствует вращению назад и, контроллер вместо добавления частоты, вычтет. Для устранения этого, применяют различные ухищрения (например, по прерываниям, игнорирование последовательностей которых не должно быть и т.д.). Но наиболее часто программисты применяют готовый код валкодера, который циркулирует в сети, не особенно заморачиваясь всякими тонкостями. Вот такие синтезаторы и ведут себя непредсказуемо. Если валкодер имеет небольшое число делений, еще работает нормально. Если 300-400 дедений на диске, уже проблемы. Если валкодер механический, то это вообще, отдельная песня.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1778] Автор : RK9AMX Дата : 11.01.2021 13:20 Энкодер "тупит", при быстром вращении встает в ступор, либо это реально дребезг контактов, либо попались уж "совсем китайские". В вашем случае проверить не сложно. Измерьте напряжение, которое приходит от энкодера. После этого можно делать выводы о "совсем китайском" энкодере или "индусском" коде. У меня 70 метров кабеля управления на датчик Это довольно приличная длина. Интерфейс 0-5V в таком случае не самый удачный. Другой интерфейс (RS485, K-Line) добавит дополнительные расходы и усложнение кода. Можно попробовать токовую петлю. Порт A0 Arduino (к которому подключен энкодер) нужно защитить (резисторы и супрессор), т.к. к нему подключена длинная линия. может из-за холодов ТКС меди положительный, при низких температурах сопротивление будет ниже. .... Самое первое - нужно добиться нормальных показаний от энкодера при заданных скоростях. Иначе дальше не стоит продолжать развивать проект. Попробуйте добиться нормальных показаний по схеме из указанной вами ссылки (на вольтметре). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1779] Автор : Isaev Дата : 11.01.2021 17:57 To: R3SM По опыту работы с микроконтроллерами (не Ардуино) хочу заметить что подключение входов непосредственно к питанию +5в ни есть гуд.:cry: Думаю, что если поменять местами резисторы и контакты энкодера то помех будет на порядок меньше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1780] Автор : ozforester Дата : 11.01.2021 20:32 RK9AMX, А как насчет того, чтобы добавить режим "автокалибровки" с прогоном от упора и до упора (по включению концевиков) и последующей записью этих крайних значений АЦП в энергонезависимую память? Крайние положения (концевики) фиксировать по прекращению изменения значений АЦП в данном направлении вращения. При получении во время калибровки одной из предельных величин (0-1023) рисовать в уголке стрелочку с направлением куда подкрутить потенциометр в делителе (увеличить/уменьшить напряжение) перед АЦП. По остановке в крайнем полоежнии до достижения заданного оператором значения вне режима калибровки, тоже останавливать двигатель и приглашать на внеплановый осмотр поворотки, как дополнительная защитная опция. (кто её знает, концевик там сработал, или фидер закончился..) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1781] Автор : Isaev Дата : 11.01.2021 21:44 Можно спросить: Датчик угла, холла P3022-V1-CW360. Для Ардуино. Ротатора для МЭО ПР-1М - YouTube (https://www.youtube.com/watch?v=Y7F6LYCc_6s) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1782] Автор : RK9AMX Дата : 12.01.2021 07:29 Думаю, что если поменять местами резисторы и контакты энкодера Предлагаете раскурочить энкодер? Интерфейс на выходе энкодера 0-5В. Вандалить датчики для доработки - тупиковый путь. Можно спросить: Я так понимаю, что дальше макета на столе дело не пошло. Может я и ошибаюсь. А как насчет того, чтобы добавить режим "автокалибровки" Режим автокалибровки можно поиметь без дополнительных концевиков. При переходе от 0 к 360 напряжение на выходе датчика резко изменяется от 0В до 5В. В обратном направлении с 5В до 0В. Эти события можно обрабатывать как нулевую точку. Этот проект нужно начинать с железа делать. Для начала получить вменяемые значения от датчика в готовой конструкции. Посмотреть на всякие люфты и пр. Потом подцепить через длинную линию этот макет и сопоставить полученные данные с предыдущим экспериментом. В том , что сам датчик вменяемо работает на столе можно судить по видео из предыдущего поста. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1783] Автор : RA6FTN Дата : 12.01.2021 09:03 Всем доброго дня.У меня этот датчик прекрасно работает второй год.Все собрано с узлов с АлиЭкспресс .Простое поваротное на Ардуино.Правда парни с Авто Радио Канала помогли поправить программу чтобы отсчёт шел от 180 градусов.Для УКВ норм -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1784] Автор : Isaev Дата : 12.01.2021 11:57 Так будет правильно: 349422 Тут про датчик: Датчик и индикатор поворота антенны - RadioRadar (http://www.radioradar.net/radiofan/antenns/antenna_rotation_sensor_indicator.html) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1785] Автор : Neymeka Дата : 02.02.2021 18:42 Добрый вечер может кто здесь подскажет собрал я вот это устройства ,,Индикатор лампового УМ на Arduino nano 3 и LCD 2004,, заливаю скетч показывает что она залита, а дисплей высвечивает через строчку две строчки квадратиков, при повторной заливке дисплей даже реагирует, прошивается все норм в конце пишет что ,,Загрузка завершена,, что делать даже не знаю помогите пожалуйста -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1786] Автор : IG_58 Дата : 02.02.2021 18:50 Перепроверьте питающее напряжение, контакты и правильность монтажа. Если не поможет, замените дисплей. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1787] Автор : Neymeka Дата : 02.02.2021 19:06 IG_58,Добрый вечер благодарю за ответ питания проверял 4,89 монтаж и правильность тоже все норм, у меня дисплей (ACM2004D-FL-YBH-02) стоит Через переходник I2C дисплей всего один но я его ставил в другое устройства все работает, в переходнике МС PCF8574A менял, ARDUINO NANO менял прошивал другую все что возможно проделал не помогло значить не судьба, может кто ещё что подскажет будем очень благодарен Может что не правильно прошиваю, но в конце пишет ,,Загрузка завершина,, если что не так этого не было (я так думаю) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1788] Автор : UA0YAS Дата : 02.02.2021 21:08 Адрес дисплея смените на правильный -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1789] Автор : Криворукий Дата : 02.02.2021 21:16 Neymeka, я бы сначала загрузил сканер I2C. На поисковых сайтах находится быстро. После загрузки в мониторе порта посмотреть адрес на котором висит дисплей и сравнить с тем, что прописано в программе которая не работает. Возможно там прописан не тот адрес. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1790] Автор : Integral Дата : 02.02.2021 23:20 Neymeka, Павел, смени адрес индикатора на 0x3f и по идее все заработает :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1791] Автор : Neymeka Дата : 03.02.2021 08:29 Integral,посмотри в личку -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1792] Автор : ex8ai Дата : 03.02.2021 15:39 Ребята подкажите неучу как правильно програмировать ардуино - процес в следующем - проверяю скеч не хватает библиотеки вношу её -работает . Беру новый проект проверяю опять не хватает устанавливаю ошибка перескакивает показывает не хватку другой , мне сказали что мол накачал кучу библиотек вот и ошибки . Так что нужно при каждой проверке нового проекта удалять программу Ардуино и ставить по новому или как избавится от всех этих ошибок .:oops: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1793] Автор : IG_58 Дата : 03.02.2021 15:52 Возможно, нужно удалить все накачанные варианты этой библиотеки (физически, с диска), а затем установить заново один, правильный. После удаления библиотек нужно обязательно закрыть IDE, а потом снова открыть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1794] Автор : ozforester Дата : 03.02.2021 18:05 Наверное, если время от времени что-нибудь собирать, то лучше всё радикально не удалять, а повозиться и разобраться. Если в виндосе папка с библиотеками тоже называется libraries, то достаточно переместить конфликтные (или вообще все ненужные) библиотеки из libraries в отдельную папку где нибудь на рабочем столе, типа архива. Главное, чтобы программа Ардуино не смогла их найти в этой своей libraries в момент сборки. Работаете с первым проектом, набрасываете в libraries папок с нужными на данный момент библиотеками, часто скачанными вместе со скетчем у первого автора (он ведь программу писал с той библиотекой, которая была у него на момент написания, и с тех пор библиотечный программист улучшил библиотеку, и она больше не подходит) Затем, когда работаете со вторым проектом, то аналогично - все ненужные библиотеки перемещаете из libraries в архив, и наполняете libraries дургими необходимыми для второго проекта версиями, иногда с таким же названием, но другого содержания, рекомендованными вторым автором. И так далее. Ещё немножко: Когда программа Ардуино начинает просматривать текст скетча, и видит строчку #include АБВГД.h, то она идёт в папку libraries и шарит там внутри по всем папкам в поиске файла АБВГД.h, который может найтись и в двух, и даже более папках. Тогда Ардуино выбирает из этих двух или трёх АБВГД.h один, на своё усмотрение, а в этом "усмотрении" не оказывается того функционала, который нужен в дальнейшем в скетче. Это один из возможных вариантов равзвития событий с несколькими похожими библиотеками. Удалять и переставлять - тоже вариант, если требуется прошить, а не разбираться неизвестно сколько непойми чем. Смотрю по форуму, иногда просто выкладывают скетч, чтобы другие, у кого собирается, собрали и вернули готовую прошивку. Хорошо, когда есть выбор. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1795] Автор : IG_58 Дата : 03.02.2021 18:25 ozforester, хороший совет. Хорошая практика такова, чтобы каждая библиотека существовала перед компиляцией скетча на компьютере в libraries только в одном месте, а всё остальное - где-нибудь в другом месте и в архиве, чтобы IDE их там не нашла, она в .rar не роется. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1796] Автор : ex8ai Дата : 03.02.2021 19:15 Вот я так и поступил удалил библиотеки что сегодня устанвливал и подобрал ту с которой работают скетчи- но не все один так пока не заработал -то установить время то еще на монитор и всё равно выскакивает ошибка , пока завяжу с поиском ошибки , там даже сейчас у автора не всё идет гладко и есть хекс готовый . Спасибо вам за советы друзья. :пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1797] Автор : Integral Дата : 03.02.2021 21:33 Ардуино начинает просматривать текст скетча, и видит строчку #include АБВГД.h, то она идёт в папку libraries... Разрешите дополню. Когда библиотека подключена вот так: #include <АБВГД.h> то поиск файла происходит в папке libraries, а если вот так: #include "АБВГД.h" то поиск происходит сначала в папке со скетчем и если его не находит, то ищет далее в папке libraries -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1798] Автор : RK9AMX Дата : 05.02.2021 06:44 ex8ai, "храните деньги в сберегательной кассе".:smile: Касательно ардуиновской IDE. Как и написал Integral, файлы библиотек лучше хранить в одой и той же папке вместе с проектом. Тогда проект будет правильно собираться независимо от версий библиотек и правильности их установки. Просто нужно разобраться в директивах компилятора и правильно подключить необходимые библиотеки. Обычно библиотека состоит из 2х файлов lib.h и lib.cpp. Реже, файлов может быть больше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1799] Автор : ua3qix Дата : 12.02.2021 01:13 Привет. А зачем удалять ? Вы решили сделать или повторить новый проект. Создаете отдельную папку куда помещаете свой скетч и в этой папке будут ваши новые библиотеки именно для этого проекта которые не будут конфликтовать. Только в программе arduino ide надо сделать типа так. 351447 Вам пытались сказать но видно не могут. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1800] Автор : R3SM Дата : 13.02.2021 14:19 Заголовок : Еще раз про энкодеры Всем привет! Возник один вопрос по энкодерам. В саму суть устройства вдаваться не буду, вобщем примерно так: попросили заменить энкодер на связку "шаг влево-шаг вправо-выполнение" при помощи кнопок. Т.е. вместо "крутилки с нажималкой" (лексика сохранена :)) поставить три кнопки, что то там вроде пульта не самого сложного шагового исполнительного устройства с индикацией, саму конструкцию пока не видел, но суть уловил. Тырнет посылает вот сюда - https://alexgyver.ru/encoder/ так сказать исходная схема энкодера. В чем суть моего обращения. Без всяких изменений скетча, до безобразия просто и уныло заменяем энкодер его схемотехническим аналогом на обычных элементах, или же какие то будут "засады"? Заранее благодарен! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1801] Автор : Криворукий Дата : 13.02.2021 16:40 и уныло заменяем энкодер его схемотехническим аналогом на обычных элементах, или же какие то будут "засады"? Не сказал бы, что кнопка схематический аналог энкодера, хотя... Но работать это без изменения программы не будет (кроме "нажималки"). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1802] Автор : R2DHG Дата : 13.02.2021 18:28 Придется сэмулировать что то такое https://catcatcat.d-lan.dp.ua/wp-content/uploads/2013/06/Catcatcat_encoder_02-600x362.png Раз речь про ардуино, то видимо исходник есть - проще в программе поменять опрос энкодера на кнопки, наверное. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1803] Автор : R3SM Дата : 13.02.2021 18:48 R2DHG, нет исходника. Самоделка для управления заслонкой системы вентиляции на СТО, у сына на работе. Там два раздельных канала, один для регулирования температуры в покрасочной камере, другой канал для заслонки, по типу отопления и рециркуляции воздуха в салоне авто. Два раздельных контроллера Нано. Исполнительная часть на сервоприводе от Опеля (со слов) С первым всё нормально (пока нормально), второй "лихорадит", я так понимаю износ энкодера, при вращении начинает блудить, меняли энкодер, на время хватает, пыль, грязь, пары ЛКП, вибрация. Решили на кнопках, ну и сын ко мне обратился. Можно ли скетч выгрузить из мозгов контроллера? Или же показать, что и как в скетче поменять, в строка энкодера и кнопок. Примерный принцип реализован в поворотке а-ля UY2RA. https://hammania.net/shack-ham-soft/forum/prostoe-povorotnoe-ustrojstvo.html индикация на СТО простая, строка с вертикальными делениями, типа прибавляешь, по часовой стрелке-палочки прибавляются, и соответственно наоборот -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1804] Автор : IG_58 Дата : 13.02.2021 18:51 R3SM, энкодер - это не просто два контакта, он при вращении генерирует определенную последовательность импульсов, смещенных друг от друга по фазе в зависимости от направления вращения. Чтобы заменить его кнопками "туда", "сюда" и "делай", в самом простом случае нужно прописать примерно такой алгоритм: - если нажата кнопка "туда", то раз в "n" миллисекунд (раз в сколько миллисекунд?) увеличивать значение некоторой целевой переменной (на какую величину увеличивать?). - если нажата кнопка "сюда", то раз в "n" миллисекунд уменьшать значение этой переменной. - по кнопке "делай" нужно с этой переменной что-то нужное сделать, ради чего изменялось ее значение. Например, записывать в заданное значение частоты. В более сложном случае нужно по какому-то критерию изменять интервал времени "n". Например, вводить еще одну кнопку или переключатель "быстро / медленно". И нужно избавляться от дребезга кнопок, типа, если кнопка нажата, и за 100 миллисекунд до этого была нажата, то только тогда считать, что ее нажали и запомнить, что ее нажали, чтобы через следующие 100 миллисекунд учесть это". И лучше организовать работу по прерыванию, а не непосредственно в скане програмы. износ энкодера, при вращении начинает блудить, меняли энкодер, на время хватает, пыль, грязь, пары ЛКП, вибрация. Нужно купить у китайцев за 10 долларов оптический энкодер вместо дешевой механической щёлкалки, и всё, будет щасте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1805] Автор : R3SM Дата : 13.02.2021 18:56 IG_58, Нужно купить у китайцев за 10 долларов оптический энкодер вместо дешевой механической щёлкалки, и всё, будет щасте. Корректировка скетча понадобится? библиотеки не разные для оптики и механики? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1806] Автор : IG_58 Дата : 13.02.2021 18:56 Нет. Ни схема, ни программа не изменятся. Понадобится только изменить величину шага, т.к. механика даёт за 1 оборот 20 импульсов или 24 импульса, а оптика 360 или 400 или 600 импульсов, в зависимости от исполнения энкодера. Т.е., если оставить величину изменения параметра за 1 оборот прежней, то шаг изменения переменной будет, соответственно, равен этой величине, деленной на разрешающую способность энкодера, т.е., например, на 400. Т.е., величина шага должна быть в 20 раз меньше. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1807] Автор : R2DHG Дата : 13.02.2021 18:59 Не понадобится, но у них может быть гораздо больше импульсов на оборот и пользовать будет неудобно. Можно взять другую ардуину и написать скетч, эмулирующий энкодер :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1808] Автор : IG_58 Дата : 13.02.2021 19:03 нет.R2DHG, это лишнее. На али полно энкодеров с разрешающей способностью 360 и 400 импульсов на оборот. Нужно просто уменьшить величину шага в 20 раз и всё. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1809] Автор : R3SM Дата : 13.02.2021 19:42 Нужно просто уменьшить величину шага в 20 раз и всё. в скетче? Энкодеры есть и в Рязани, причем разные, есть магазин, "Автозвук-62", на авторынке, у них всякая приблуда имеется, в т.ч. и для автомагнитол, видимо, ходовой товар, учитывая некоторую степень "очень китайское" качество. ;) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1810] Автор : IG_58 Дата : 13.02.2021 21:02 Да, в скетче. Энкодер вот такого вида: https://www.aliexpress.com/item/33003162419.html -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1811] Автор : Криворукий Дата : 13.02.2021 21:04 Можно ли скетч выгрузить из мозгов контроллера? Скетч выгрузить нельзя. Можно выгрузить hex файл (так сказать машинный код программы). Но подправить его под оптический энкодер будет сложно. в скетче? Да. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1812] Автор : IG_58 Дата : 13.02.2021 21:38 R3SM, выгрузить - об этом даже не думайте, в любом случае понадобится исходный код программы (терпеть не могу слово "скетч", предпочитаю пользоваться стандартной терминологией). Если повезет, то можно китайский энкодер-трещотку заменить нормальным оптическим энкодером Bourns (https://www.bourns.com/docs/default-document-library/enc1j.pdf?sfvrsn=2c0f9df1_0) на 20 или 24 импульса, но найти их трудно, это такая редкость.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1813] Автор : veso74 Дата : 13.02.2021 21:57 R3SM, попробуйте, тестируйте. Возможно есть неточности. Експериментально установите время-задержки. Возможно потребуется добавить 10-47 nF параллельно контактам. Можно на Pro-mini. Могу поменять на Attiny85, но так более универсально для внесения изменений. В схему емулятора (и кода) не вижу особого смысла (еще другое Arduino?), но иногда вынуждены вносить всевозможные изменения, а и интересно. Я уже эмулирую тестово свой мех. енкодер к синтеатора радио :). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1814] Автор : Криворукий Дата : 14.02.2021 00:29 veso74, если верить этой картинке, то у Вас последовательность не правильно прописана. https://alexgyver.ru/wp-content/uploads/2019/01/encoder-600x489.jpeg При вращении по часовой (в теории) должно быть как-то так: digitalWrite(OUT_A, 0); digitalWrite(OUT_B, 1); delay(DL); digitalWrite(OUT_A, 0); digitalWrite(OUT_B, 0); delay(DL); digitalWrite(OUT_A, 1); digitalWrite(OUT_B, 0); delay(DL); digitalWrite(OUT_A, 1); digitalWrite(OUT_B, 1); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1815] Автор : veso74 Дата : 14.02.2021 00:40 Я написал код в свободное 10-15 минут. Анализ графики при вращении "наоборот" читаю наоборот. У меня код работает - заменил свой мех. енкодер на этот и частотота синтезатора меняется вверх/вниз (ориг. енкодер под управление библиотеку Rotary.h). (Только переключение выхода в два раза, без изменений, я оставил в комментарии - они не нужны, и вероятно, оптимизатор кода их удаляет). Измените код по своему усмотрению. --- Попробовал. И с поправкой из вашего сообщения логика работает. Нормально. Сдвиньте на 90 гр. фазы вправо по графике и начать оттуда, будет как я написал. То же самое. --- Библ. Rotary.h также обрабатывает состояния. Возможно, Вы правы. А если есть необходимость, вот изменение элементарно исправить - несколько строк только. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1816] Автор : Криворукий Дата : 14.02.2021 10:34 veso74, мне понравилась сама идея. Сейчас зима и большую часть времени, я провожу на печи. Приёмник в качестве фона. Бывает очень лень встать и повернуть ручку, т.е. нужен какой-то пульт ДУ. Взяв за основу Вашу идею, я подключу к ардуино ИК пульт. Хорошая штука логический анализатор. Подключил механический энкодер: 351618 Так работает связка ардуино-кнопка, то что я подправил в вашей программе. 351619 Так работает ваша программа: 351620 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1817] Автор : Олег,RA3DNC Дата : 23.02.2021 11:32 Коллеги приветствую! Всех с праздником! Вопрос по модулю RTC HW111 на DS1307 (еще на плате установлена м/сх EEPROM). Неоднократно подключал такие платы и проблем не было. И вдруг незадача - ну никак не могу заставить работать. Подключал к контроллеру поворотки от австралийца и для проверки к анализатору EU1KY. Все рекомендации из Инета по доработке такой платы сделал. Кварц менял. Пробовал несколько плат, купленных на Али у разных продавцов. Не работает. Подскажите, в чем может быть проблема? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1818] Автор : rx3apf Дата : 23.02.2021 12:29 "Не работает" - слишком общее понятие. Микросхема обнаруживается на шине ? Из регистров читается что-то правдоподобное ? Статус бита CH ? Запрограммировать выходную ногу для контроля осциллятора ? Когда есть сомнения в работе шины - сперва форму смотрим скопом, а затем циклограмму анализатором (копеечный клон saleae logic должен быть "в каждом доме"). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1819] Автор : Владимир_К Дата : 23.02.2021 12:39 копеечный клон saleae logic должен быть "в каждом доме" Да, штука полезная. Я неделю бился с шиной I2C на STM, с анализатором увидел косяк сразу. Весьма рекомендую. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1820] Автор : Олег,RA3DNC Дата : 23.02.2021 16:31 копеечный клон saleae logic должен быть "в каждом доме" Ну, в работоспособности шины сомнений нет. Потому как в анализаторе EU1KY по этой шине управляется синтезатор РЧ-платы. Задавая вопрос, была мысль что, возможно, я чего-то явного не вижу или кому-то из присутствующих встречалась проблема с этими платами. Что-ж, буду думать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1821] Автор : rx3apf Дата : 23.02.2021 19:33 Всякое бывает. Например, синтезатор может общаться на 400 kHz шины, а для DS1307 максимум стандартные 100 kHz (потому и сперва смотрим скопом). Часики отдают хоть какие-то показания и вообще отзываются по шине ? А если не тикают - так после включения они вполне могут (и, скорее всего так и будет) быть в останове (смотрим статус бита CH). Не надо гадать - последовательность проверки описана выше. Ну и, конечно же, китайские DS1307 могут быть массогабаритным макетом (поэтому и надо убедиться, что вообще отзываются). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1822] Автор : veso74 Дата : 25.02.2021 20:35 Как продолжение #1813 (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1804866&viewfull=1#post1804866) пробовал эмулировать енкодер с помощью AТtiny (только ATtiny85 есть). Работает. Arduino слева: как программатор, с защитными резисторами. После программирования можно отсоединить. Среда: Arduino IDE. В помощь: Programming ATtiny85 with Arduino Uno (https://create.arduino.cc/projecthub/arjun/programming-attiny85-with-arduino-uno-afb829) Flash: 1028 байта, SRAM: 9 байта. Вероятно будеть работать и другие микроконтроллеры (ATtiny45, 25) без особых изменений, за исключением выбора из меню. На всякий случай дам .hex и fuses. При заливка кода через Arduino IDE они не нужны. ATtinyX5.menu.clock.internal16=Internal 16 MHz ATtinyX5.menu.clock.internal16.bootloader.low_fuses=0xf1 ATtinyX5.menu.clock.internal16.bootloader.high_fuses=0xdf ATtinyX5.menu.clock.internal16.bootloader.extended_fuses=0xff -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1823] Автор : Криворукий Дата : 25.02.2021 21:49 veso74, в attiny13 вероятно тоже должна заработать. Программа откомпилировалась. 352551 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1824] Автор : UA0YAS Дата : 17.03.2021 15:05 Почему иногда при включении платы данные из еепром считываются быстро и без проблем, а иногда программа виснет при старте, не может считать. Ресет не помогает, только передёрнуть питание. В еепром хранятся настройки синтезатора. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1825] Автор : Integral Дата : 17.03.2021 16:47 UA0YAS, видится два варианта решения. Для эксперимента смените ячейки памяти, возьмите в середине или в конце. И второй вариант, если чтение происходит при загрузке в setup(), то после чтения ячеек(-ки) сделайте принудительно задержку 5...10мс. Также может влиять питание. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1826] Автор : UA0YAS Дата : 18.03.2021 09:20 Все это пробовал. Питание было от usb и от отдельного источника 5 Вольт. Физически менял саму плату с микроконтроллером на другой экземпляр. А еще иногда просле зависания чтения Eeeprom в Setup() может сработать перезагрузка контроллера. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1827] Автор : Tolya Дата : 18.03.2021 10:31 Проблема при загрузки... ----------------- Arduino: 1.8.7 (Windows 7), Плата:"Arduino Nano, ATmega328P" Скетч использует 1076 байт (3%) памяти устройства. Всего доступно 30720 байт. Глобальные переменные используют 9 байт (0%) динамической памяти, оставляя 2039 байт для локальных переменных. Максимум: 2048 байт. \Documents\Arduino\libraries\OneWire avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x4a avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x4a Проблема загрузки в плату. Помощь по загрузке: http://www.arduino.cc/en/Guide/Troubleshooting#upload . Этот отчёт будет иметь больше информации с включенной опцией Файл -> Настройки -> "Показать подробный вывод во время компиляции" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1828] Автор : veso74 Дата : 18.03.2021 10:56 Tolya, уточните свои настройки в Arduino IDE: Плата: Arduino Nano? Процессор: ATmega328P: new/old bootloader?, порт: COMx? Программатор: (Arduino as ISP)? Проверьте соединения. Не подключайте вых. цепи к пинах 0 и 1. Была предыдущая загруженная программа без загрузчика/bootloader (напр. с XLoader)? Если эти случаи отмечени, следующее: удаленный загрузчик?, поврежденное устройство (USB->TTL конвертор (CH340G?) на плате)?. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1829] Автор : Tolya Дата : 18.03.2021 12:57 Что интересно...ардуино UNO программирует нормально,с NANO проблемы...с другого компа NANO запрограммировалась без проблем...чудеса,да и только.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1830] Автор : Tolya Дата : 22.03.2021 13:17 Прошу тапками в меня не кидать и далеко,глубоко не посылать...чайник,он и в Африке чайник... Решил в ардуино завести режим переключения RX/TX int LedPin = 13; // подключается светодиод к порту 13 int ButPin = 10; // подключается датчик к выходу 10 void setup() { pinMode(LedPin, OUTPUT); // инициализируется порт как выходной } void loop() { if(digitalRead(ButPin) == HIGH) // если датчик нажат { digitalWrite(LedPin, HIGH); // то включается светодиод } else { digitalWrite(LedPin,LOW); // светодиод отключается } } Вроде самое что не наесть простое,собрал на макетке...не работает... светодиод не горит,при подношении руки к кнопке загорается...нажал тухнет..вообщем живёт своей жизнью.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1831] Автор : rx3apf Дата : 22.03.2021 13:24 Реагирует на поднесение руки - значит, забыли про внешнюю подтяжку, а внутреннюю не включили (при работе с тактовыми кнопками лучше использовать внешнюю, поскольку минимальный коммутируемый ток у них типично много больше, чем обеспечивает внутренняя подтяжка). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1832] Автор : veso74 Дата : 22.03.2021 13:27 Tolya, инициализируте и ButPin, как входной. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1833] Автор : Tolya Дата : 22.03.2021 15:18 Всем спасибо...разобрался,макетка бракованная попалась,не было контакта..сейчас всё заработало,теперь задача как эту функцию включить в уже имеющийся скетч.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1834] Автор : vadim_d Дата : 22.03.2021 17:47 как эту функцию включить в уже имеющийся скетч..Тут, как у медиков, основной принцип - не навредить :). Поглядите, где там инициализируются порты, подставьте туда и свою инициализацию, а в общий цикл прилаживайте опрос и индикацию -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1835] Автор : Tolya Дата : 23.03.2021 10:02 Методом тыка,проб и ошибок не получается...вопрос такого плана,можно включить параллельно выходы ардуино..то есть одна ардуинка работает на приём загружая свой код RX..вторая работает на передачу..загружая свой код..TX.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1836] Автор : UA0YAS Дата : 23.03.2021 11:52 void loop() { if(digitalRead(ButPi n) == LOW) // если датчик нажат { digitalWrite(LedPin, HIGH); // то включается светодиод } else { digitalWrite(LedPin, HIGH); // светодиод отключается } } лучше так -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1837] Автор : Tolya Дата : 23.03.2021 12:36 // FUJITSU SEMICONDUCTOR MB87001А PLL TX // 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 12 // MB87001А, pin 4 uint32_t data_1 = 0b01100100100000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); digitalWrite(LE, LOW); } Как к этому скетчу прилепить режим RX/TX.... Я уже себе голову сломал... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1838] Автор : Владимир_К Дата : 23.03.2021 12:49 Во-первых фигурные скобки правильно расставьте. Вы открыли скобку (после loop) и сразу закрыли. А потом две закрывающие.. Хотя, извините, с телефона пишу и не заметил.. Я скобки ставлю в начале строки, потому Ваши не увидел. Да и не понятно, зачем открывать и сразу закрывать. Может в Ардуино так принято🙂🙂? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1839] Автор : R2DHG Дата : 23.03.2021 12:53 Оно один раз выплевывает что то куда то. Наверное так было задумано. А что должно делать rx/tx и по каким звездам переключаться ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1840] Автор : RK9AMX Дата : 23.03.2021 13:25 Во-первых, ButPin нужно сконфигурировать на вход. Во-вторых, DATA и ButPin сконфигурированы на одну и туже ногу. // FUJITSU SEMICONDUCTOR MB87001А PLL TX// 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 12 // MB87001А, pin 4 #define LedPin 13; // подключается светодиод к порту 13 #define ButPin 11; // подключается датчик к выходу 11 uint32_t data_1 = 0xC900; // не уверен, что так можно записывать 32 битное число >>> 0b01100100100000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); pinMode(LedPin, OUTPUT); // инициализируется порт как выходной pinMode(ButPin, INPUT); // инициализируется порт как входной digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { if(digitalRead(ButPin) == HIGH) digitalWrite(LedPin, HIGH); else digitalWrite(LedPin, LOW); } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(LE, LOW); } А вообще, если цель сделать синтезатор, то возьмите готовую программу и замените функции записи нового значения частоты на свои. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1841] Автор : Tolya Дата : 23.03.2021 13:57 Извините...запутался сам и запутал вас..суть такова,есть синтезатор на двух МВ87001А...одна мб87001а работает в тракте приёма,вторая в тракте передачи..шины clock и data у них запаралелены только шины LE для rx/tx свои...то есть при включении rx загружается 17 битный код приёма и защелкивается своей шиной LE,а при включении tx загружается код передачи и защелкивается своей шиной LE..всё по отдельности работает,но вот как всё собрать до кучи у меня ума не хватает.. // FUJITSU SEMICONDUCTOR MB87001А PLL RX // 28.02.2021, Arduino IDE v1.8.7 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 11 // MB87001А, pin 4 uint32_t data_1 = 0b01100100100000000; Это по приёму... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1842] Автор : UA0YAS Дата : 23.03.2021 14:10 void loop() { if кнопка ==low (uint32_t data_1 = 0b01100100100000000); else (uint32_t data_1 = 0b011001001111111111); } как то так. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1843] Автор : RK9AMX Дата : 23.03.2021 14:17 Tolya, можно так... // FUJITSU SEMICONDUCTOR MB87001А PLL TX// 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE1 12 // MB87001А, pin 4 #define LE0 11 #define ButPin 8 // подключается кнопка к порту 8 uint32_t data_1 = 0xC900; // не уверен, что так можно записывать 32 битное число >>> 0b01100100100000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE0, OUTPUT); pinMode(LE1, OUTPUT); // инициализируется порт как выходной pinMode(ButPin, INPUT_PULLUP); // Кнопка digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE0, LOW); digitalWrite(LE1, LOW); delay(500); send_data(data_1, LE0); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { if(digitalRead(ButPin) == LOW) send_data(data_1, LE1); else send_data(data_1, LE0); } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data, uint8_t le) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(CLOCK, LOW); } digitalWrite(le, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(le, LOW); } Кнопка без антидребезга, но это отдельная тема. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1844] Автор : Tolya Дата : 23.03.2021 14:46 Пока хватит..у меня уже крыша поехала..а впереди ещё застолье, юбилей сегодня у меня..65 годков стукнуло.... Всем спасибо за уделенное мне время.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1845] Автор : R2DHG Дата : 23.03.2021 14:49 Если они отдельно одна для rx, другая для tx, то что мешает загружать сразу обе при изменении частоты ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1846] Автор : Tolya Дата : 23.03.2021 15:31 Если они отдельно одна для rx, другая для tx, то что мешает загружать сразу обе при изменении частоты ? Там для приёма и передачи используются разные частоты,при приёме синтезатор передачи отключен,при переключении на передачу должно податься +5 вольт для включения синтезатора на передачу и загрузки кода...соответственно при переходе на приём должен отключиться синтез на передачу и загрузиться код приёмника.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1847] Автор : UA0YAS Дата : 23.03.2021 18:51 Так может просто отключать сигнал синтезатора? Зачем каждый раз загружать синтезатор с нуля? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1848] Автор : Tolya Дата : 23.03.2021 20:43 // FUJITSU SEMICONDUCTOR MB87001А PLL TX// 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 12 // MB87001А, pin 4 #define LedPin 13 // подключается светодиод к порту 13 #define ButPin 8 // подключается датчик к выходу 8 uint32_t data_1 = 0b011010001000000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); pinMode(LedPin, OUTPUT); // инициализируется порт как выходной pinMode(ButPin, INPUT); // инициализируется порт как входной digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { if(digitalRead(ButPin) == HIGH) digitalWrite(LedPin, HIGH); else digitalWrite(LedPin, LOW); } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(LE, LOW); } Это заработало...как сделать так что бы при нажатии кнопки сначала включался режим тх,то есть на выводе 13 появлялась 1,а потом происходила загрузка кода....можно с небольшой задержкой.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1849] Автор : R2DHG Дата : 23.03.2021 23:17 Выше было же. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1850] Автор : Tolya Дата : 24.03.2021 08:41 можно так... Спасибо...в режиме rx должен загрузиться код...0b01100100100000000..а при tx..0b01101000100000000 ..а этого не происходит.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1851] Автор : UA6ATG Дата : 24.03.2021 09:15 Увлекся вариантом ардуино NodeMcu V3 (https://www.aliexpress.ru/item/Wireless-module-CH340-CP2102-NodeMcu-V3-V2-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266/32665100123.html?spm=a2g0s.9042311.0.0.264d33ed8D8TRM&_ga=2.80242398.814292939.1616479780-2077128681.1577360997) . (меньше размером, проще запитать ) Стоит куча датчиков по всем дому в плане "умного дома" А есть, что либо радиолюбительское ? Электронные ключи CW и тп. Конечно интересуют готовые скетчи . -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1852] Автор : R2DHG Дата : 24.03.2021 10:20 Спасибо...в режиме rx должен загрузиться код...0b01100100100000000..а при tx..0b01101000100000000 ..а этого не происходит.. сделайте так if(digitalRead(ButPin) == LOW) send_data(data_1, LE1); else send_data(data_2, LE0); и вверху задайте разные date_1 и date_2. учтите, что скетч грузит в разные микросхемы, дергаются разные ноги LE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1853] Автор : Tolya Дата : 24.03.2021 10:59 Что у меня неполучается....может сделать так...нр как всё это воплотить в жизнь..? // FUJITSU SEMICONDUCTOR MB87001А PLL TX// 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 //#define LE 11// MB87001A,pin 4// защёлка кода Rx #define LE 12 // MB87001А, pin 4 //защёлка кода Tx #define LedPin 13 // подключается светодиод к порту 13... то есть +5 вольт режим Tx #define ButPin 8 // подключается кнопка Rx/Tx к выходу 8 // код Rx 0b01100100100000000;// // код Tx 0b01101000100000000;// uint32_t data_1 = 0b011010001000000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); pinMode(LedPin, OUTPUT); // инициализируется порт как выходной pinMode(ButPin, INPUT); // инициализируется порт как входной digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { if(digitalRead(ButPin) == HIGH) digitalWrite(LedPin, HIGH); else digitalWrite(LedPin, LOW); } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(LE, LOW); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1854] Автор : Tolya Дата : 24.03.2021 13:27 // FUJITSU SEMICONDUCTOR MB87001А PLL TX// 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 11// MB87001A,pin 4// защёлка кода Rx #define LE 12 // MB87001А, pin 4 //защёлка кода Tx #define LedPin 13 // подключается светодиод к порту 13... то есть +5 вольт режим Tx #define ButPin 8 // подключается кнопка Rx/Tx к выходу 8 // код Rx 0b01100100100000000;// // код Tx 0b01101000100000000;// uint32_t data_1 = 0b011001001000000000; uint32_t data_2 = 0b011010001000000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); pinMode(LedPin, OUTPUT); // инициализируется порт как выходной pinMode(ButPin, INPUT); // инициализируется порт как входной digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { if(digitalRead(ButPin) == HIGH) digitalWrite(LedPin, HIGH); else digitalWrite(LedPin, LOW); if(digitalRead(ButPin) == LOW) send_data(data_1, LE 11); else send_data(data_2, LE 12); } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(LE, LOW); } Незнаю что сотворил..но некомпелируется строка .. if(digitalRead(ButPin) == LOW) send_data(data_1, LE 11); else send_data(data_2, LE 12); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1855] Автор : R2DHG Дата : 24.03.2021 13:33 LE 12 - это дефайн LE = 12, у вас должно быть как в скетче с предыдущей страницы в define LE0 11 и LE1 12, а в строке где сейчас ошибка LE0 и LE1 вместо LE 11 и LE 12 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1856] Автор : Tolya Дата : 24.03.2021 14:06 digitalWrite(LE, HIGH); Теперь тут не компелируется.. Поставил( LE0,HIGH); ..cтрока закомпелировалась.. digitalWrite(LE, LOW);..теперь застопорилось на этой строке.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1857] Автор : R2DHG Дата : 24.03.2021 15:39 всю функцию возьмите из того скетча -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1858] Автор : veso74 Дата : 24.03.2021 16:43 Tolya, зачем переключаете два синтезаторов (один включен, другой выключен и наоборот), если можно отправить две частоти: TX/RX+/-IF (т.е. переключать вхыодная частота одного синтезатора) в зависимости от режима TX/RX? У Вас разница частот TX/RX для VCO очень большая (конвертер напр.), по другой причине? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1859] Автор : Tolya Дата : 24.03.2021 16:43 всю функцию возьмите из того скетча Запутался ....надо начинать всё с начала.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1860] Автор : R2DHG Дата : 24.03.2021 17:33 возьмите за основу скетч из 1843 только сделайте data_1 и data_2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1861] Автор : Tolya Дата : 24.03.2021 20:55 возьмите за основу скетч из 1843 только сделайте data_1 и data_2 digitalWrite(LE, HIGH); digitalWrite(LE0, LOW); доходит до этих строк и всё..капут..что они хоть обозначают? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1862] Автор : Tadas Дата : 24.03.2021 21:00 Поставил( LE0,HIGH); ..cтрока закомпелировалась.. digitalWrite(LE, LOW);..теперь застопорилось на этой строке.. Так напишите digitalWrite(LE1, LOW); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1863] Автор : Tolya Дата : 24.03.2021 21:05 Так напишите digitalWrite(LE1, LOW); Пробовал..не помогает.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1864] Автор : Tadas Дата : 24.03.2021 21:36 Пробовал..не помогает.. А что пишет? Возьмите в правило - при вопросах типа "не компилируется" приводить диагностическое сообщение. Тогда быстрее будет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1865] Автор : R2DHG Дата : 24.03.2021 21:50 Скетч из 1843 компилируется же ? Там только date_1 и date_2 сделать вместо date_1, больше пока ничего не трогайте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1866] Автор : Владимир_К Дата : 24.03.2021 22:00 digitalWrite(LE0, LOW); Заранее прошу извинить, может не то напишу, так как Ардуино не занимаюсь практически.. Мне вот непонятно.. Например, в скетче пишем: #define LE 12 // MB87001А, pin 4 //защёлка кода Txчерез а потом дальше: digitalWrite(LE, HIGH); После этой строчки становится понятным, что тут запись в LE, а LE это 12. Что, компилятор понимает, что 12 это 12-й вывод Ардуино? В Си название порта должно соответствовать тому, как он прописан в даташите, например PORTD. И никак иначе. Через дефайн вместо PORTD можно написать, что угодно, но это "что угодно" должно изначально быть привязанным к порту. А тут 12.. Что такое 12, и откуда компилятор знает, что это порт? Хотя и я не знаю, лишь догадываюсь... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1867] Автор : R2DHG Дата : 24.03.2021 22:49 Компилятор понимает. Как это так хитро переопределили цифири фиг знает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1868] Автор : ozforester Дата : 25.03.2021 04:01 плата дефайнится где-то в boards.txt или что-то вроде того, это тот список ардуин в IDE меню, а дальше.. grep -Ri \#define /usr/share/arduino/hardware/arduino/avr/ |wc -l 7373 ну да, ужас, а что делать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1869] Автор : RK9AMX Дата : 25.03.2021 07:30 Что, компилятор понимает, что 12 это 12-й вывод Ардуино? Технически можно управлять портами на более низком уровне. DDRB, PORTB, PINB можно применять. Но тут нужно понимать, что ты делаешь, иначе можно накуролесить. А с помощью defines, указателей и нумерованных списков управление вынесено на более высокий абстрактный уровень. Arduino'вкий HAL:ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1870] Автор : Tolya Дата : 25.03.2021 08:11 кетч из 1843 компилируется же ? Там только date_1 и date_2 сделать вместо date_1, больше пока ничего не трогайте. Сделал...всё загрузил...светодиод на 13 пине горит постоянно, -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1871] Автор : Tolya Дата : 25.03.2021 12:20 Ничего с этой затеей не получается...тогда может подскажите как ввести переключение каналов(кода приёма) простым переключателем,надо два, максимум три канала.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1872] Автор : R2DHG Дата : 25.03.2021 12:21 Вряд ли это проще предыдущей задачи. В скетче из 1843 нет ничего про светодиод ардуины. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1873] Автор : Tadas Дата : 25.03.2021 12:35 Перепишите основной цикл так: //--------------------------------------------------------------------------------------------------------- void loop() {if (digitalRead(ButPin) == LOW) {send_data(data_1, LE1); digital_write(LedPin, HIGH);} else {send_data(data_2, LE0); digital_write(LedPin, LOW);} } //--------------------------------------------------------------------------------------------------------- -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1874] Автор : ozforester Дата : 25.03.2021 12:47 Это по поводу задержки, на всякий случай. 354697 А задача выглядит практически решенной, просто где-то залипуха. При наличии исходика, схемы и желания осталось совсем чуть-чуть упёртости. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1875] Автор : Tolya Дата : 25.03.2021 14:42 Вот схема....354703 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1876] Автор : Tolya Дата : 25.03.2021 15:52 Принцип работы такой...при включении питания загружается код по приёму и защелкивается своим LE...при переходе на передачу подаётся +5 включается синтезатор передачи и загружается код и защёлкивается своим LE...при отпускании кнопки rx/tx включается режим приёма,а синтезатора tx отключается.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1877] Автор : veso74 Дата : 25.03.2021 17:37 Не лучшая идея гонять управление прямо по питания и для Arduino, и для синтеатора. Я даю первый момент, который приходит мне в голову: В Arduino (наверное?) есть bootloader. Время пуска для любого сигнала на шинах происходит через 1,46 сек (время взято из информации из интернета, по первой найденной ссылке на похожую тему), плюс время на подготовку и отправку сигналов на синтезатор, плюс время установки сигала Fvco-stab... Не слишком ли долго 1,5... 1,7 сек при RX/TX? Подумайте о другом способом, дал пример к один синтезатор с приемника/передатчика с/без переключения сигнала к блоки, есть другие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1878] Автор : R2DHG Дата : 25.03.2021 17:56 Это по поводу задержки, на всякий случай. digitalWrite очень тормозные, с ними задержка обычно не нужна, вот если напрямую порт дергать - да -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1879] Автор : Tolya Дата : 25.03.2021 18:20 Тут по электронке мне пишут,что мол зачем мне это надо.купи станцию и наслаждайся жизнью...отвечу да,могу купить,цена вопроса всего 1000 руб,так же могу прикупить и ,,домовину,, лечь в неё и ждать своей кончины... НЕ ДОЖДЁТЕСЬ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1880] Автор : Tolya Дата : 25.03.2021 19:21 Как у меня друг рыбак говорил,,Дёргал,дёргал думал хариус,вытянул..а там колючая проволока,,..так и тут,делаю,делаю и ничего не получается...надо наверно перейти на двух ардуинный вариант,одна в режиме rx,вторая в режиме tx... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1881] Автор : R2DHG Дата : 25.03.2021 20:25 Попробуйте так // FUJITSU SEMICONDUCTOR MB87001А PLL TX// 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE1 11// MB87001A,pin 4// защёлка кода Rx #define LE2 12 // MB87001А, pin 4 //защёлка кода Tx #define LedPin 13 // подключается светодиод к порту 13... то есть +5 вольт режим Tx #define ButPin 8 // подключается кнопка Rx/Tx к выходу 8 // код Rx 0b01100100100000000;// // код Tx 0b01101000100000000;// uint32_t data_1 = 0b011001001000000000 ; uint32_t data_2 = 0b011010001000000000 ; uint8_t xState = HIGH; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE1, OUTPUT); pinMode(LE2, OUTPUT); pinMode(LedPin, OUTPUT); // инициализируется порт как выходной pinMode(ButPin, INPUT); // инициализируется порт как входной digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE1, LOW); digitalWrite(LE2, LOW); digitalWrite(LedPin, LOW); delay(500); send_data(data_1, LE1); } //--------------------------------------------------------------------------------------------------------- void loop() { if((digitalRead(ButPin) == LOW)&&(xState != LOW)) { delay(20); if(digitalRead(ButPin) == LOW) { send_data(data_2, LE2); xState = LOW; digitalWrite(LedPin, HIGH); delay(100); } } else { if((digitalRead(ButPin) == HIGH)&&(xState != HIGH)) { delay(20); if(digitalRead(ButPin) == HIGH) { send_data(data_1, LE1); xState = HIGH; digitalWrite(LedPin, LOW); delay(100); } } } } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data, uint8_t le) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data, i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(CLOCK, LOW); } digitalWrite(le, HIGH); // Тут просится задержка, нужно в даташите смотреть какая именно. digitalWrite(le, LOW); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1882] Автор : ozforester Дата : 25.03.2021 20:39 А что, питание на ардуинку подано не постоянно? А то из поста 1877 такой вопрос напрашивается. Добрался до схемы. ButPin это сигнал SCE по схеме? RX синтезатор получается постоянно под питанием, а TX включается по SCE, и по нему же ардуинка запускает TX синтезатор? Туплю, пока не полностью понятна идея. Нарисовать бы ардуинку и подписать сигналы со схемы Нокии, как она туда вписывается функционально. Тогда и с кодом проще будет, а то может по даташиту дата и клок к земле притянуты, а со стороны ардуинки на плюс Фантазировать приходится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1883] Автор : R2DHG Дата : 25.03.2021 20:51 Я так понял, что RX правильно работает, проблема только TX добавить. Возможно перед send_data(data_2, LE2); надо воткнуть delay(50); (или меньше) чтобы TX синтезатор после подачи питания в себя пришел. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1884] Автор : ozforester Дата : 25.03.2021 20:58 Так вроде бы последние скетчи это должны обеспечивать. Там еще на схеме резисторы по сигналам у передающего синтезатора есть, может один в обрыве? Или без ардуинки сам по себе TX тоже работает? С какой страницы эта Нокия началась не подскажете? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1885] Автор : Tolya Дата : 25.03.2021 21:08 Попробуйте так Спасибо..всё загрузилось...на пине 13 при приёме должен быть 0,при нажатии кнопки 1, то есть вкл синтезатора тх... а тут получается он постоянно включен...как это исправить..? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1886] Автор : R2DHG Дата : 25.03.2021 21:12 Если ногу 8 на общий не замыкать там 0 по крайней мере при старте должен быть. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1887] Автор : Tolya Дата : 25.03.2021 21:16 Попробуйте так Спасибо..всё загрузилось...на пине 13 при приёме должен быть 0,при нажатии кнопки 1, то есть вкл синтезатора тх... а тут получается он постоянно включен...как это исправить..? Я так понял, что RX правильно работает, проблема только TX добавить. Да приём работает... Попробуйте так Спасибо..всё загрузилось...на пине 13 при приёме должен быть 0,при нажатии кнопки 1, то есть вкл синтезатора тх... а тут получается он постоянно включен...как это исправить..? Я так понял, что RX правильно работает, проблема только TX добавить. Да приём работает... Если ногу 8 на общий не замыкать там 0 по крайней мере при старте должен быть. отключаю кнопку..светодиод всё равно горит.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1888] Автор : R2DHG Дата : 25.03.2021 21:38 Кнопка и светодиод работают нормально. Что у вас за кнопка и куда подключена ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1889] Автор : Tolya Дата : 25.03.2021 21:54 Что у вас за кнопка и куда подключена ? перекинул контакты,сделал на размыкание..всё заработало,по крайней мере скетч...проверю синтезатор теперь только завтра..оторвался разъём,пока дёргал туда сюда..спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1890] Автор : ozforester Дата : 25.03.2021 21:58 понятно, значит в предыдущем варианте нужен был pinMode(ButPin, INPUT_PULLUP); плохо без схемы -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1891] Автор : Tolya Дата : 26.03.2021 18:16 Подключил синтезатор,загружается.но не работает,...загружаю рабочий скетч который работает на приём,все нормально.. // FUJITSU SEMICONDUCTOR MB87001А PLL RX // 28.02.2021, Arduino IDE v1.8.7 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 11 // MB87001А, pin 4 uint32_t data_1 = 0b01100100100000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data,16 - i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); digitalWrite(LE, LOW); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1892] Автор : ozforester Дата : 26.03.2021 19:01 В коде с передачей про защелку не забыли? 354818 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1893] Автор : R2DHG Дата : 26.03.2021 19:47 Вроде длина у кодов 0b01100100100000000; разная, похоже там где с передачей лишний 0 в конце у обоих. До первого нажатия кнопки скетчи совершенно одинаковые насколько я вижу (ну кроме этих кодов), т.е. по крайней мере на прием после запуска должно все сработать так же. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1894] Автор : Tolya Дата : 26.03.2021 20:43 Вроде длина у кодов 0b01100100100000000; разная, похоже там где с передачей лишний 0 в конце у обоих. До первого нажатия кнопки скетчи совершенно одинаковые насколько я вижу (ну кроме этих кодов), т.е. по крайней мере на прием после запуска должно все сработать так же. Это я сразу исправил,должно быть 17 бит..но всёравно не работает.. Исправил.. db = bitRead(m_data,16 - i); ...приём появился.. сейчас проверю передачу.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1895] Автор : Tolya Дата : 26.03.2021 22:06 Что то непонятное с кнопкой...кнопка отключена,а светодиод на 13 пине горит..по моему должно работать так,включил питание,на пине 13 - 0,нажал кнопку включился режим передачи..+5v...а тут в режиме приёма горит постоянно... Добавлено через 11 минут(ы): Всё завязываю до завтра..а то уже третий вид неисправности в голову стукнул...всем спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1896] Автор : R2DHG Дата : 27.03.2021 10:39 Что то непонятное с кнопкой...кнопка отключена,а светодиод на 13 пине горит..по моему должно работать так,включил питание,на пине 13 - 0,нажал кнопку включился режим передачи..+5v...а тут в режиме приёма горит постоянно... Ммм... я наоборот сделал ) 0 - передача и светодиод горит. Обычно ардуинщики в кнопках делают на замыкание к общему. Сделайте еще вот так в передаче на всякий случай. Потом уберете delay(50); если и без него работать будет. digitalWrite(LedPin, HIGH); delay(50); send_data(data_2, LE2); xState = LOW; delay(100); Исправил.. db = bitRead(m_data,16 - i); ...приём появился.. Блин, 5 раз пересмотрел код, а на эту строчку не подумал - считал, что этот кусок просто скопирован из исходника ) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1897] Автор : Tolya Дата : 27.03.2021 14:28 С кнокой rx/tx разобрался...теперь всё работает,но проблема другого плана,при переходе на передачу приёмник остаётся на одной той же частоте частоте с передачей,то есть код приёмника не сбрасывается...сейчас с этим занимаюсь,чуть позже скажу что происходит... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1898] Автор : R2DHG Дата : 27.03.2021 14:38 Можно подробнее ? По идее синтезатор приемника остается на той частоте, на которой был. Надо как то по другому ? Приемный переходит на ту же частоту, что и синтезатор передатчика (так быть не должно) ? Код приемника не сбрасывается - вы вроде ничего про это не писали, ардуино просто пуляет один раз 17 бит в один из синтезаторов при смене состояния tx/rx. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1899] Автор : Tolya Дата : 27.03.2021 15:38 Это всё задумывалось для контроля частоты 300.200, 5 аварийный канал речного диапазона,за основу была взята система Скайлинк работающая в диапазоне RX--300 - 308 MГц..TX -- 336-344 МГц..если приёмник работает Fvco -321.600 - 21.400 = 300.200 Мгц,то передатчик и приёмник работают на одной частоте 300.200 Мгц,тут надо мне продумать как отключать приёмник во время передачи,просто я думал что при загрузки кода передачи,так как шины CLK и DATA общие код передачи уведёт частоту приёмника,но этого не произошло и отсюда проблема,но думаю что она решаема.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1900] Автор : R2DHG Дата : 27.03.2021 17:00 LE разные вот и не уводит. А зачем уводить ? Себя чтобы не слышать ? передающий блок поменяйте на digitalWrite(LedPin, HIGH); delay(50); send_data(data_2, LE1); send_data(data_2, LE2); xState = LOW; delay(100); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1901] Автор : Tolya Дата : 30.03.2021 10:50 Были другие дела...сейчас всё собрал воедино,картина такая...при включении питания приём работает,при нажатии кнопки включается передающий блок,но код не загружается и приёмный блок остаётся на частоте приёма,по отдельности проверил,всё загружается и работает.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1902] Автор : R2DHG Дата : 30.03.2021 10:54 Скиньте что получилось. А по отдельности - это как ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1903] Автор : veso74 Дата : 30.03.2021 11:45 (Вероятно?) поскольку Вам сложно использовать один выход синтезатора и для приемника и для передатчика (с соответствующим переключением и изменения частоты RX/TX), то добавьте аппаратную часть для отключения ненужный VCO (при RX - генератор для TX и наоборот). Переключения на транзистор в +Uc вполне достаточно. Это даст разрешение для работу/выключение VCO, которое может быть передано к блоку управления. Arduino будет работать непрерывно и будет передавать код к выбранный синтезатор. Так что с одним Arduino и двумя синтезаторами, с соответствующими элементами управления и прогр. коды будет легко реализовать свою идею. А памяти Arduino достаточно для реализации даже с два синтезатора/клавиатурой/енкодер/дисплеем и др. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1904] Автор : Tolya Дата : 30.03.2021 13:47 А памяти Arduino достаточно для реализации даже с два синтезатора/клавиатурой/енкодер/дисплеем и др. Это уже лишнее...с этим бы разобраться.... А по отдельности - это как ? Подключена ардуино и все выводы на синтезатор,только вместо кнопки задействовал вывод 13,в общем синтезатор на передачу получается включен постоянно...загружаю код по приёму,всё нормально частота стоит..потом загружаю код передачи...появляется частота передачи,приём пропадает,потом загружаю код приёма,передача пропадает...появляется приём ...в общем примерно так работает...использую отдельные скетчи по приёму и передачи... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1905] Автор : Tolya Дата : 31.03.2021 10:38 Выкладываю что получилось....с загрузкой с компа всё работает...а так что бы работало от кнопки RX/TX не получается.. В режиме приёма отключил вкл передачи...на 13 пине 0, при загрузке кода передачи на 13 пине 1.... ------------------- // FUJITSU SEMICONDUCTOR MB87001А PLL RX // 28.02.2021, Arduino IDE v1.8.7 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 11 // MB87001А, pin 4 #define LedPin 13 // F vco = 321.600 Мгц 5 канал 300.200 Мгц // uint32_t data_1 = 0b01100100100000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); pinMode(LedPin, OUTPUT); digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); digitalWrite(LedPin,LOW); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data,16 - i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); digitalWrite(LE, LOW); } --------------------------------- // FUJITSU SEMICONDUCTOR MB87001А PLL TX // 22.09.2020, Arduino IDE v1.8.13 //--------------------------------------------------------------------------------------------------------- #define CLOCK 9 // MB87001А, pin 2 #define DATA 10 // MB87001А, pin 3 #define LE 12 // MB87001А, pin 4 #define LedPin 13 // +5 вольт режим Tx // Ftx=340.000 Мгц // uint32_t data_1 = 0b01101010010000000; //--------------------------------------------------------------------------------------------------------- void setup() { pinMode(CLOCK, OUTPUT); pinMode(DATA, OUTPUT); pinMode(LE, OUTPUT); pinMode(LedPin, OUTPUT); // инициализируется порт как выходной digitalWrite(CLOCK, LOW); digitalWrite(DATA, LOW); digitalWrite(LE, LOW); digitalWrite(LedPin,HIGH); delay(500); send_data(data_1); delay(1); } //--------------------------------------------------------------------------------------------------------- void loop() { } //--------------------------------------------------------------------------------------------------------- void send_data(uint32_t m_data) { bool db; for (uint8_t i = 0; i < 17; i++) { db = bitRead(m_data,16 - i); digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); digitalWrite(CLOCK, LOW); } digitalWrite(LE, HIGH); digitalWrite(LE, LOW); } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1906] Автор : veso74 Дата : 31.03.2021 11:21 У Вас нет команды в loop (). Все конанды в setup() выполняется один раз, в начале только, при включении. (Не могу понять идею с этим управления по включения. Есть много событий в Arduino против ета идея. Упомянул о 1,5-секундной задержке первой команды при включении, могу продолжить спонтанное многократное мигание светодиода на 13 пине под влиянием bootloader-а .... Давайте соберем схему и управление с одним контроллером Arduino, на два синтезатора, а Вы найдете способ выключать хардуерно (с лог уровнем, напр. напряжением) один ненужный сигнал?) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1907] Автор : Tolya Дата : 31.03.2021 19:00 Давайте соберем схему и управление с одним контроллером Arduino, на два синтезатора, а Вы найдете способ выключать хардуерно (с лог уровнем, напр. напряжением) один ненужный сигнал?) Пытаюсь это сделать и понять...но увы,моих знаний в программировании увы нет...хотя пытаюсь что то понять,но увы... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1908] Автор : R2DHG Дата : 31.03.2021 19:08 Не могу понять идею с этим управления по включения. да нет такой идеи. с чего вы взяли ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1909] Автор : veso74 Дата : 31.03.2021 19:40 да нет такой идеи. с чего вы взяли ? R2DHG, да, сейчас посмотрел на тему назад. В сообщение #1881 (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1816234&viewfull=1#post1816234) Вы уже дали кода. При необходимости корректирует по выводам, по уровню HI-LO и наоборот и др. Есть и свободние выводы, может быть отдельные пины для два чипа. Только с аппаратной частью выкл/вкл ненужный синтез разобраться и готово. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1910] Автор : Tolya Дата : 01.04.2021 20:05 Пробовал и так и этак...ничего не получается...хотя сдвиги в программировании уже есть,научился светодиоды включать и выключать.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1911] Автор : R2DHG Дата : 01.04.2021 21:14 Случаем логического анализатора нет ? Он удобнее осциллографа для цифровых сигналов и стоит недорого. Сейчас бы одновременно со всех выходов диаграмму сняли бы и все было бы ясно. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1912] Автор : RK9AMX Дата : 02.04.2021 07:40 Случаем логического анализатора нет? Анализатор для постановки ТЗ не нужен. Пока его нет, очень сложно понять что имеется ввиду. Кнопка "сделать за.. хорошо" как обычно отсутствует... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1913] Автор : Tolya Дата : 02.04.2021 09:03 Ладно..не буду вас мучить...перейду на двух ардуинный вариант,одна ардуина в приёмном тракте,вторая в передающем..только подскажите как сделать вкл режима передачи и запуск загрузки кода ТХ со стр 1905 кнопкой.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1914] Автор : R2DHG Дата : 02.04.2021 12:36 Пока его нет, очень сложно понять что имеется ввиду. По идее при rx выдать на 13 low, выплюнуть 17 бит кода приема, дернуть ногой le приема, при нажатии кнопки tx выдать на 13 high, выплюнуть 17 бит кода передачи, дернуть ногой le передачи. Дополнительно при передаче в приемник выплюнуть код передачи чтобы с приемной частоты ушел (не знаю зачем). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1915] Автор : Tolya Дата : 02.04.2021 13:08 Может я не правильно понял логику работы синтезатора,если загрузить код в приёмный блок синтезатора и защёлкнуть его,то при загрузки кода передачи в передающий блок,код приёма останется или его вытолкнет код передачи,так как шины общие...если я неправ,то поправьте меня... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1916] Автор : Tadas Дата : 02.04.2021 13:40 код приёма останется или его вытолкнет код передачи,так как шины общие... Код приёма останется и ничто никуда его не вытолкнет. Код из приёмного сдвигового регистра переписывается во внутренний рабочий регистр синтезатора только подачей импульса на вход LE. После снятия импульса код синтезатора останется во внутреннем регистре, сколько бы не переписывай код по шине. Именно это свойство и позволяет находиться на одной шине SPI нескольким устройствам, при условии, что на каждое из них заведена отдельная линия LE. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1917] Автор : UA0YAS Дата : 02.04.2021 14:00 Ладно..не буду вас мучить...перейду на двух ардуинный вариант,одна ардуина в приёмном тракте,вторая в передающем..только подскажите как сделать вкл режима передачи и запуск загрузки кода ТХ со стр 1905 кнопкой.. зачем после каждоого rx/tx заново загружать код? у вас же раздельные тракты? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1918] Автор : Tolya Дата : 02.04.2021 14:09 Хорошо....загружен код приёма,снимаю LE rx,частота в норме .загружаю код передачи,частота приёма пропадает,вкл частота tx...делаю обратно,снимаю Le TX,частота передачи остаётся на месте,подключаю LE rx,загружаю код по приёму частота передачи пропадает,появляется частота приёма...тоже самое происходит при включенных LE rx и tx... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1919] Автор : vadim_d Дата : 02.04.2021 15:23 снимаю LE rx,частота в норме .загружаю код передачи,частота приёма пропадаетМожет у LE активный ноль? Помню, что вроде глядел даташит на синтезатор при первом упоминании, но сейчас даже тип не помню :) тоже самое происходит при включенных LE rx и tx...но тогда вроде такого не должно быть -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1920] Автор : Tolya Дата : 02.04.2021 15:34 тоже самое происходит при включенных LE rx и tx... Я имею ввиду подключены к плате ардуино...я понимаю работу так, при приёме код приёма загружается в оба синтезатора,а LE защёлкивает по приёму LE RX,тоже самое происходит при передачи,загоняет код опять же в оба синтезатора и защелкивает по LE TX... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1921] Автор : vadim_d Дата : 02.04.2021 15:38 Я имею ввиду подключены к плате ардуино...А на отключенных какая-то подтяжка есть, и она именно к неактивному уровню? В этом надо убедиться в первую очередь -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1922] Автор : Tolya Дата : 02.04.2021 15:53 По логике оно должно работать так...загрузился код по приёму в оба синтезатора, но защелкнуться своим LE rx ...при передаче должен загрузиться код передачи,но защёлкнуться LE tx... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1923] Автор : Tadas Дата : 02.04.2021 16:02 Напомните, какой тип мс синтезатора? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1924] Автор : veso74 Дата : 02.04.2021 16:05 ... и после первого нажатия и отпускания кнопки, как сигнал tx-синтезатора будет стоять, так и сигнал tx-синтезатора будет стоять на соотв. выходе (плюс возможное смущение от сильного соседнего сигнала выключенного синтезатора передатчика). Сделайте аппаратное управление две VCO. Так отключите неактивный. (или, по крайней мере, управляйте оба выхода (без выклчение VCOs): например, с ел. переключателями, мультиплексором, RF-диодами (PIN) ...). И конструкция будет с одним Arduino. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1925] Автор : Tolya Дата : 02.04.2021 16:14 Напомните, какой тип мс синтезатора? MB87001A... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1926] Автор : vadim_d Дата : 02.04.2021 16:16 какой тип мс синтезатора?В скетче поминался этот https://www.digchip.com/datasheets/parts/datasheet/170/MB87001A-pdf.php , LE с высоким активным уровнем, если отключается от управления, надо иметь подтяжку к нулю -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1927] Автор : Tolya Дата : 02.04.2021 16:23 Сделайте аппаратное управление две VCO. Мне тут непонятно... Всё...я в ауте,моск закипел.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1928] Автор : R2DHG Дата : 02.04.2021 18:12 Попробуйте последний мой скетч с правкой db = bitRead(m_data,16 - i); и кодов (должен работать прием при включении), но tx/rx в трансивере переключите вручную до подачи tx на ардуину, а потом нажмите tx на ардуине. Вечером может получится анализатором глянуть на железке. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1929] Автор : Tolya Дата : 02.04.2021 20:00 Попробуйте последний мой скетч Хорошо...попробую,чуть попозже..честное слово у меня уже каша в голове..надо как то сосредоточиться...если с физикой всё понятно,то с цифрой тут... увы...? Добавлено через 54 минут(ы): Попробуйте последний мой скетч с правкой db = bitRead(m_data,16 - i); и кодов (должен работать прием при включении), но tx/rx в трансивере переключите вручную до подачи tx на ардуину, а потом нажмите tx на ардуине. Вечером может получится анализатором глянуть на железке. Попробовал...в таком режиме работает.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1930] Автор : R2DHG Дата : 02.04.2021 20:40 приемник, остающийся на частоте приема не мешает ? тогда сделайте в коде tx вот так, убедитесь, что вручную работает и попробуйте через 13 пин управлять tx. если заработает - уменьшайте задержку digitalWrite(LedPin, HIGH); delay(500); send_data(data_2, LE2); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1931] Автор : Tolya Дата : 02.04.2021 21:23 если заработает - не заработало...в ручном режиме работает.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1932] Автор : R2DHG Дата : 02.04.2021 21:41 Вручную работает уже вариант в паузой в 0.5с ? Сигнала с 13й ноги точно хватает чтобы переключить трансивер в tx ? Сможете реле на него повесить (через транзистор конечно) и с реле включать tx как вручную ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1933] Автор : Tolya Дата : 02.04.2021 22:01 Вручную работает уже вариант в паузой в 0.5с ? Сигнала с 13й ноги точно хватает чтобы переключить трансивер в tx ? Сможете реле на него повесить (через транзистор конечно) и с реле включать tx как вручную ? Впринципе можно реле или ключ....сейчас попробовал в ручном режиме несколько включений,зависает,то есть после трех,четырех включений перестаёт включаться... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1934] Автор : R2DHG Дата : 02.04.2021 22:06 Померьте ток управления tx. Вручную подаете 5в или больше ? Когда зависает светодиод продолжает переключаться как надо ? Если да, то не зависает и скорее всего остальное продолжает работать т.к. код один. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1935] Автор : Tolya Дата : 02.04.2021 22:13 подаю пять вольт прямо с ардуины,светодиод при нажатии кнопки,когда зависнет, включается как надо... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1936] Автор : R2DHG Дата : 02.04.2021 22:21 Ток все таки померьте, может не хватать с ноги. Когда зависло ресет ардуины кнопкой на ней помогает ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1937] Автор : Tolya Дата : 02.04.2021 22:24 Хорошо обязательно проверю...но уже завтра..спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1938] Автор : Tolya Дата : 03.04.2021 08:28 Проверил по + 5 в...всё в норме,включается как при подаче чистого +,так и через 13 пин...видно что то с загрузкой кода или с задержкой по шинам..., -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1939] Автор : Tolya Дата : 03.04.2021 11:09 Поставил задержку....заработало от кнопки...сейчас её уменьшу,а то не сразу включается.. --------------------------- digitalWrite(DATA, db); digitalWrite(CLOCK, HIGH); delay(50); digitalWrite(CLOCK, LOW); } digitalWrite(le, HIGH); delay(50); digitalWrite(le, LOW); -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1940] Автор : vadim_d Дата : 03.04.2021 11:17 сейчас её уменьшуЕсли раньше частота грузилась, то добавочная задержка в клоке (где записи в CLOCK) не нужна, только в LE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1941] Автор : R2DHG Дата : 03.04.2021 11:44 Так и по LE грузилось. Там по идее минимум нужен, если работает только с большой задержкой в этих местах кода - дело в чем то другом. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1942] Автор : Tolya Дата : 03.04.2021 11:53 Выставил delay 1 ... включается,как поставить меньше разбираюсь... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1943] Автор : UT0UM Дата : 03.04.2021 12:29 как поставить меньше delayMicroseconds (1) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1944] Автор : Tolya Дата : 03.04.2021 12:36 Выставил delay 1 . Думаю меньше не надо...это норма для Clock и Le.. а вот как сделать что бы сразу включалось..? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1945] Автор : R2DHG Дата : 03.04.2021 12:37 Судя по даташиту для синтезаторов не требуется задержка в clock и le (digitalWrite выполняется несколько микросекунд), но фиг знает... раз так работает. Выставил delay 1 ... включается,как поставить меньше разбираюсь... В LE можно и так оставить. Сколько задержка сейчас от включения 1 на 13 ноге до начала передачи кода в синтезатор TX ? (http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1818392&viewfull=1#post1818392) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1946] Автор : Tolya Дата : 03.04.2021 12:55 Так 500 и стоит.. Поставил 100 ..задержка есть..но незначительная...думаю что для перехода из режима приёма,в режим передачи достаточно..сбоев и залипаний не наблюдается.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1947] Автор : vadim_d Дата : 04.04.2021 09:30 сбоев и залипаний не наблюдается..Это успех: задача решена. Тут надо не забыть аккуратно сохранить текущую версию схемы подключения и скетча, дабы если что-то вдруг отвалится, то иметь возможность воспроизвести результат. Упоминался логический анализатор, как прекрасный инструмент для наблюдения всех сигналов в таком устройстве, и поглядеть на получившуюся картинку всегда интересно, можно увидеть что-то не учтенное в программе. Но когда сигналов буквально три, можно обойтись и однолучевым осциллографом с внешней синхронизацией. Тут одна тонкость: надо сделать тестовый вариант прошивки, в котором процесс зациклить, либо запускать его достаточно часто, чтобы хватало послесвечения экрана для наблюдения, скажем вместо кнопки подключить генератор с нужной частотой. Дальше все просто: сначала смотрите сигналы по очереди, убеждаетесь, что они похожи на правду. Потом выбираете самый низкочастотный (видимо LE или сигнал генератора, имитирующего кнопку) для синхронизации. Подаете его на вход внешней синхронизации, переключаете осцилл на внешнюю синхронизацию и, наблюдая LE, добиваетесь устойчивого изображения. Желательно по горизонтальной оси сместить картинку так, чтобы импульс был на каком-то делении шкалы. После этого можете переносить щуп на другие сигналы, они будут показаны в той же шкале, помня, где был LE, можно составить некую картину событий. Долго, неудобно (помогают метки маркером на экране :)), но если ничего другого нет, то вполне оправдано :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1948] Автор : Tolya Дата : 04.04.2021 09:36 Хочу выразить свою благодарность всем кто откликнулся и помог в решении задачи....вчера весь день и сегодня с утра тестирую..всё работает без проблем...СПАСИБО..! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1949] Автор : UA4SJ Дата : 04.04.2021 15:11 Integral, Доброго дня. при прошивке Arduino nano выскакивает такая ошибка Неверная библиотека найдена в C:\Program Files (x86)\Arduino\libraries\SetTime_DS3231: нет заголовочных файлов (.h), найденных в C:\Program Files (x86)\Arduino\libraries\SetTime_DS3231 скачивал с облака папку libreris распаковал пробывавал по разному и на разные диски кидал Заранее спасибо UA4SJ? Fktrcfylh -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1950] Автор : R2DHG Дата : 04.04.2021 19:22 Скиньте ссылку откуда качали. Наверное в коде ссылка на библиотеку, а её .h файла в архиве нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1951] Автор : UA4SJ Дата : 04.04.2021 20:14 Качал от сюда https://cloud.mail.ru/public/M1nc/nb9k12etY/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1952] Автор : R2DHG Дата : 04.04.2021 21:38 Похоже SetTime_DS3231 это отдельный скетч, уберите эту папку из библиотек. В основном скетче #include "TFT_22_ILI9225.h" по идее надо заменить на #include если вы эту библиотеку в libraries копируете. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1953] Автор : Integral Дата : 04.04.2021 21:56 В первых версиях этого КСВ-метра применялся модуль часов, в дальнейшем я сделал меню настроек и памяти не хватило, поэтому от модуля я отказался. Все же это в первую очередь измерительный прибор, а не часы. Подключая модуль часов вы неизбежно столкнетесь с установкой времени, поэтому SetTime_DS3231 это конечно же установка времени, отдельный скетч. Затем перешиваете на рабочий скетч. Крайняя версия 2.29.1 уже содержит папку src с необходимыми библиотеками, поэтому располагаем ее в папке со скетчем и компилируем. Остальные версии это или экспериментальные, или сделанные по просьбе других коллег. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1954] Автор : UA4SJ Дата : 05.04.2021 16:27 Integral,Последний рабочий скетч 2.29.1 для чего написан для Arduino Nano или для Atmega2560? Добавлено через 26 минут(ы): Integral,залил HEX файл прошилось -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1955] Автор : XENOMORPH Дата : 03.06.2021 01:06 Придумал-собрал интересную схему управления включением и выключением платы ардуино для своей задачи. Уникальность в том, что используется всего один порт, управление осуществляется всего одной кнопкой. Включение происходит сразу без подтверждения лог 1 от ардуино, как в других схемах. Перед выключением, идёт запись с сохранением настроек в EEPROM или FRAM (в скетче код отсутствует, так как у каждого свой). Платка 25x15мм, способна коммутировать нагрузку до нескольких ампер, напряжение питания от 5 до 20 вольт. Если питание будет больше 12 вольт, перед входом VIN ардуино, я бы дополнительно установил стабилизатор на 8-9 вольт. 358840 358841 358842 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1956] Автор : ur3ilf Дата : 03.06.2021 04:01 управление осуществляется всего одной кнопкой Но для выключения нужна другая кнопка а ту что используете для включения нельзя больше ни как использовать. Я на одну кнопку повесил включение / выключение и она же как ОК в меню работает. Применяю полуджойстик как в nanovna. 358846 При включении используется принцип что не используемые порты меги всегда находятся в Z-состоянии. Р-транзистор через кнопку и резистор 10k открывается и подаёт питание на мегу. Со старта программы сразу идёт зацикливание и потом out1 ставиться в единицу открывая полевик 2n7002 - переход в удержание. Пауза нужна для блокировки старта при случайном коротком нажатии на кнопку. 100мс мне в самый раз. Далее на out2 появляется единица и на вход in подаётся высокий уровень. При работе кнопка замыкает вход через открытый ключ 2n7002 и обрабатывается в программе как обычно. Выключение по длинному нажатию кнопки с выводом заставки на дисплей 3 секунды. За это время кнопку надо отпустить. Или при разряде батареи. Резисторы не малевал. В качестве опорного используется внутренний ИОН 1,1V меги. Сперва переводится в standby УНЧ, следом стаб 3,3 вольта. Чтоб в динамике не щёлкало лишнее. И мега переводится в состояние полного останова где благополучно умирает по питанию. Биты монитора питания меги настроены на порог 2,7 вольта. Схема делалась потому что хотелось обойтись в приёмнике для управления валкодером и полуджойстиком. И это получилось. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1957] Автор : Integral Дата : 03.06.2021 05:14 Еще такой вариант работает в реальной конструкции, после включения кнопка продолжает работать. При длительном удержании кнопки питание подается на Атмегу и питание подхватывается Атмегой. Во включенном состоянии используется короткое нажатие, а при длительном удержании порт PB1 отключает транзисторный ключ, перед этим сохраняются все данные и только потом Атмега сама себя отключает. 358847 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1958] Автор : XENOMORPH Дата : 03.06.2021 14:41 Но для выключения нужна другая кнопка а ту что используете для включения нельзя больше Не нужна. При первом нажатии, при включении, средний правый полевики защёлкиваются как тиристор, схема запитывается, на выводе PORT А1 появляется напряжение около 0,68 вольт, ардуина это видит и контролирует, при следующем нажатии кнопки, за счёт смешения напряжения резистрами и диодами, на выводе PORT 1 появляется напряжение около 1,5 вольт, ардуина это видит, и запускает код OFF и отключает сама себя. Контролирует ADC, при включении оно равно 85. При нажатии кнопки, оно от 265 до 380, при питании от 5 до 16 вольт. analog = analogRead(A1); if (analog > 150) { off(); } Ещё раз нажали кнопку, увидела что больше 150, запускает код off сама себя выключая. void off() { delay(2000); pinMode(A1, OUTPUT); digitalWrite(A1, HIGH); delay(1000); } https://youtu.be/Q9yfJebquLE -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1959] Автор : UR5VOM Дата : 06.06.2021 19:25 всем привет, помогите с подключением дисплея вывод 2 и вывод 3 на дисплее это питание и контрастность, автор подключил туда данные, как правильно понять какой пин ардуино на какой вывод дисплея, спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1960] Автор : R2DHG Дата : 06.06.2021 21:34 Скетч посмотреть конечно же, а подключить можно как угодно шиворот на выворот. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1961] Автор : UR5VOM Дата : 07.06.2021 17:24 разобрался уже, все подключил -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1962] Автор : Alex-31 Дата : 12.06.2021 13:14 https://www.youtube.com/watch?v=yXxKaJ9i7Ug Если интересно: https://habr.com/ru/post/553100/ и https://habr.com/ru/post/562364/. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1963] Автор : vadim_d Дата : 03.09.2021 19:54 Чтобы экспериментировать с Si5351 решил прикупить на Али и модуль с сишкой, и самый популярный вариант Ардуино на ATmega328. Но когда лазил по результатам поиска, увидел еще и платку в том же формате на ATtiny88, которую вроде в соседней теме поминали. Решил взять и ее. ATmega328 завелась в среде проектирования почти сразу, после выбора платы со старым вариантом загрузчика, а вот с тинькой пришлось повозиться чуть подольше, дальше краткое описание для тех, кто захочет пройти по этим же граблям :) Здесь https://adior.ru/index.php/robototekhnika/216-attiny88-arduino достаточно подробно описано добавление ATtiny88 в Arduino IDE, все это надо аккуратно проделать. И тут можно в конце установки заметить сообщение, что файл postinstall.bat не был запущен из соображений безопасности. При этом скетч blink с подправленным номером пина светодиода компилится, но при загрузке через тайм-аут в минуту выходит сообщение, что устройство не найдено. Видно, что у автора сайта Линукс, где этой проблемы не возникает. Решение описано здесь https://github.com/SpenceKonde/ATTinyCore , под заголовком Quick Gotcha list - having trouble, read these! Сразу идет решение проблемы: Windows users must install Micronucleus drivers manually, то есть под Виндой драйверы надо ставить вручную. Я запустил этот батник там, где его оставил инсталлятор (указан путь C:\Users\...), он довольно долго работал, но после этого скомпилированный скетч успешно загрузился и запустился. Правда есть отличие от обычных ардуин - после сброса опять запускается загрузчик (мигает на светодиоде букву "хэ" телеграфом :)), что там надо сделать для запуска пользовательского кода по сбросу, пока не глядел -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1964] Автор : veso74 Дата : 03.09.2021 20:45 Eсли загрузчик/bootloader уже записан, попробуйте записать скетчи через USB/TTL конвертер через пины AIN0 (TX), AIN1(RX) и RESET (и GND), напр. с CH340G. В последнем случае конвертер сам будет сбрасываться RESET через конденсатор во время записи. Драйвер конвертора прост в установке, устойчивая работа. Давно пользуюсь ето для любой Arduino (если оно с bootloader). Некоторое время назад у меня били проблемы с гальванической развязкой (по GND были токи). CH340G вышла из строя. В Arduino я заменил CH чип. Но таким образом, этот внешний преобразователь остался подключенным к USB и я использую его даже как защитной - если выйдет что-то из строя, то он выйдет из строя :). Потом с другими контроллерами (с загрузками и в Arduino IDE) понял, насколько это проще. Правда: с программатором отн. "правильнее" (и без загрузчика), но у меня так проще. Да, и до максимума флеша программы не доходят. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1965] Автор : vadim_d Дата : 03.09.2021 21:49 для любой Arduino (если оно с bootloader)Веселин, в варианте с ATtiny88 она эмулирует USB внутри себя, там на платке нет конвертера USB-COM, поэтому видать загрузчик полностью не выключают, и из-за этого ей нужен специальный драйвер для USB на компе. После прошивки скетча он запускается, и диспетчер устройств показывает пропадание устройства. Это все опенсорсное, я может потом погляжу, что там наворочено. Последний раз прошивал Атмегу 8 много лет назад программатором от СОМ-порта, он где-то валяется, но после замены Винды на 64-битную похоже что-то его драйверу не нравится, порт желтым флажком помечен -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1966] Автор : ozforester Дата : 03.09.2021 22:21 Есть вероятность, что там такой бутлоудер зашит. Можно посмотреть, что ему нужно чтобы передать управление загруженному коду. https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/extras/UsingMicronucleus.md -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1967] Автор : vadim_d Дата : 03.09.2021 22:47 Можно посмотреть, что ему нужно чтобы передать управление загруженному кодуДа, если просто запитать плату без втыкания в USB, должен запуститься загруженный последний раз код, иначе работает загрузчик -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1968] Автор : ozforester Дата : 03.09.2021 23:09 Без юсб это то, что называется фаст-мод по видимому. Значит должен быть и не фаст, и для 88 возможно тоже. The entry behavior of the included versions of Micronucleus does not always match the version that the boards ship with - it looks like most of the boards ship with the "always" entry mode. Судя по заявлению автора и предшествующему абзацу, намечается вероятность самостоятельной сборки нужного загрузчика. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1969] Автор : veso74 Дата : 03.09.2021 23:17 Цитат из Github: ATTinyCore Features Optiboot Support - serial bootloader for ATtiny441/841, 44/84, 45/85, 461/861, 48/88, 828, 1634, 87, 167 only)... TX/RX pins are the same as the builtin software serial, the ones marked AIN0 (TX) and AIN1(RX)... Once the bootloader is programmed, the target can be programmed over serial; the bootloader will run after reset, just like on a normal Arduino... У Вас bootloader записан, т.е. можно подключать внешной RX-TX конвертер (напр. на CH340G) к пинах AIN0 (TX), AIN1(RX) и так будете програмировать модуль ATtiny88. (USB модуля также работает). Я упомянул об этом для другого варианта записи скетча. И никаких "странных" драйверов для USB. Таким образом программирую например и модули STM32F103C8T6 в Arduino IDE, без включения по USB (до этого конечно подразумевается есть запись загрузчика). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1970] Автор : vadim_d Дата : 03.09.2021 23:54 Для экспериментов хватает и имеющегося загрузчика, потом уже попробую полную перепрошивку по ISP для каких-то конечных функций. А пока достал Arduino Nano и вместо раздражающего глаз Blink написал плавно меняющий яркость PWM_00 :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1971] Автор : Tolya Дата : 04.09.2021 08:31 Таким образом программирую например и модули STM32F103C8T6 в Arduino IDE, без включения по USB (до этого конечно подразумевается есть запись загрузчика). Если можно..то поподробнее... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1972] Автор : veso74 Дата : 04.09.2021 08:49 STM32 немного не по теме, но следуйте инструкциям. Достаточно даже по картинок и ссылки для скачивания дополнения. Getting Started with STM32 (Blue Pill) using Arduino IDE: Blinking LED https://circuitdigest.com/microcontroller-projects/getting-started-with-stm32-blue-pill-development-board-stm32f103c8-using-arduino-ide Ниже: STM32F103C8T6, Blink на внутр LED, вывод PC13. С USB -> TTL конв. на CH340G. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1973] Автор : RC3UE Дата : 23.09.2021 10:19 Крайняя версия 2.29.1 уже содержит папку src с необходимыми библиотеками, поэтому располагаем ее в папке со скетчем и компилируем Сергей, пытаюсь использовать код (именно из этой версии) вашего проекта в своей разработке. Есть вопрос по одному моменту. void setup() { analogReference(INTERNAL); //подключаем внутреннее опорное напряжение 1.1В ... void pwr (float U1) { ... V=((U1*5)/1022)*l; //приводим напряжение к мощности Почему так? Ошибка, или..? И еще один момент - почему 1022, а не 1023? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1974] Автор : UR5ENL Дата : 27.10.2021 19:43 В Arduino при экспорте в бинарный файл формируется два HEX файла. Один with_bootloader. После прошивки это устройство будет определятся в Arduino как например Arduino NANO. Я правильно понял? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1975] Автор : ozforester Дата : 27.10.2021 22:00 Да, посмотрел два блинка из ардуино-иде, в первом блинк, а во втором за ним цепляется загрузчик (в хексе его видно по таблице векторов глазом хорошо) 365588 Какой загрузчик цеплять кмк определяется конфигурацией иде и препроцессором. То есть немного наоборот: выбранная в иде плата определяет загрузчик. Вкомпиливается ли в загрузчик при этом конкретная модель платы, не пытался разбираться. Это могло бы показаться логичным, если бы не джава. Ок. Сейчас найду ардуинки и посмотрю что-там с юсб видать. У меги загрузчик в отдельном микроконтроллере, и юсб параметр iProduct содержит модель Genuino Mega 2560. В уне FT232 и только теоретически иде может получить что-то от загрузчика по запросу. Но вряд ли такую фигню станут пихать в загрузчик. Вероятнее всего загрузчик для определения модели не используется. Это же и частоту надо туда пихать, и особенности ревизий, упарятся разработчики. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1976] Автор : veso74 Дата : 27.10.2021 22:39 UR5ENL, для какой платы Вы скомпилировали код (ino->hex), то потом прошивка определяет плата в Arduino IDE. Вкомпиливается ли в загрузчик при этом конкретная модель платы ... ozforester, все описывается проще, см. например на файл C:\Program Files (x86)\ Arduino\hardware\ arduino\avr\ boards.txt: кто, когда, что загружается для всех типов платки Arduino. В этих же папках найдете и программный код, без необходимости disassembly. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1977] Автор : UA9SJR Дата : 05.12.2021 13:14 Компиляция скетча представляет большую проблему и судя по вопросам на форумах, не только для меня. Предлагаю на этом форуме разобраться в ошибках, которые допускают многие при компиляции скетчей. Итак берем уже готовый скетч с форума http://www.cqham.ru/forum/showthread.php?37468-%CA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%F1-LCD-%E4%E8%F1%EF%EB%E5%E5%EC-%E4%EB%FF-%F2%F0%E0%ED%E7%E8%F1%F2%EE%F0%ED%EE%E3%EE-%D3%CC-%ED%E0-MEGA2560/page107 Автор пишет- А никаких библиотек устанавливать не надо, все уже есть в крайних версиях в архиве исходников (папка src). Кнопочная версия 2.8.8 #1034 (http://www.cqham.ru/forum/showthread.php?37468-%CA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%F1-LCD-%E4%E8%F1%EF%EB%E5%E5%EC-%E4%EB%FF-%F2%F0%E0%ED%E7%E8%F1%F2%EE%F0%ED%EE%E3%EE-%D3%CC-%ED%E0-MEGA2560&p=1819622&viewfull=1#post1819622) Тачскрин версия 1.4.2 #1044 (http://www.cqham.ru/forum/showthread.php?37468-%CA%EE%ED%F2%F0%EE%EB%EB%E5%F0-%F1-LCD-%E4%E8%F1%EF%EB%E5%E5%EC-%E4%EB%FF-%F2%F0%E0%ED%E7%E8%F1%F2%EE%F0%ED%EE%E3%EE-%D3%CC-%ED%E0-MEGA2560&p=1825584&viewfull=1#post1825584) Запускаете скетч и библиотеки автоматически будут выбраны из папки src. Скачиваем архив, распаковываем в папку Ардуино , которая находится в Моих документах. Запускаем компиляцию скетча в среде IDE и сразу получаем ошибку 367450 то есть нет такой библиотеки...Понятно, что сделал что то не правильно, но что? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1978] Автор : IG_58 Дата : 05.12.2021 13:28 UA9SJR, там написано, что папки src нет, или в ней файла FreqCounter.h нет. А должно быть так: 367453 367457 В папке, где лежит скетч, должна быть папка srs, а в ней - библиотеки, включая файл FreqCounter.h. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1979] Автор : ozforester Дата : 05.12.2021 13:53 Кириллица на пути к файлу, не? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1980] Автор : UA9SJR Дата : 05.12.2021 14:08 Это я прекрасно понимаю, на что ругается, но и папка SRC есть и библиотека в ней нужная есть.. А компиляции нет. Попробовал поместить файл с расширением ino в одну папку с папкой SRC- не работает, попробовал загрузить скетч в папку SRC и оттуда запустить скетч, результат тот же....нет библиотеки. Больше мыслей пока нет.... Нет -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1981] Автор : IG_58 Дата : 05.12.2021 14:27 UA9SJR, всю выдачу компилятора приведите, пожалуйста. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1982] Автор : veso74 Дата : 05.12.2021 14:40 UA9SJR, компилируется нормально (правда, с красными предупреждениями, но успешно). Поместитье архив на рабочий стол, распаковайте, запустите ino файл, скомпилировайте, без перемещения файлов из папок. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1983] Автор : UA9SJR Дата : 05.12.2021 14:44 Пожалуйста...367459 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1984] Автор : veso74 Дата : 05.12.2021 14:48 1. для начало очистите / переместите все папки по пути /Documents/Arduino/libraries/ 2. судя по тому, что вижу на Вашем скриншоте, Ваши файлы/папки были изменены. Три раза #include невозможно объявить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1985] Автор : IG_58 Дата : 05.12.2021 14:49 Попробуйте удалить вот эти библиотеки на этих путях: 367460 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1986] Автор : UA9SJR Дата : 05.12.2021 14:53 veso74, спасибо, попробовал сделать по Вашей рекомендации, эту библиотеку прошли, но выскочила другая...367461 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1987] Автор : IG_58 Дата : 05.12.2021 14:54 UA9SJR, ваша проблема в том, что у вас в разных местах слишком много разных библиотек. IDE не знает, какую из них брать, и берет не ту, что надо. Уберите их, оставьте только те, что в папке src и только одну Wire. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1988] Автор : veso74 Дата : 05.12.2021 14:59 ... но выскочила другая ... Из меню программы Arduino IDE сменитье используемое устройство на Arduino Mega 2560 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1989] Автор : UA9SJR Дата : 05.12.2021 15:10 Вы попали в самую точку! Вот этого я и не пойму никак. Начитался в разных источниках, что библиотеки должны находиться в двух папках-одна папке libraries , которая находится в C:\Program Files (x86)\Arduino, другая в C:\Users\555\Documents\Arduino\libraries, а еще папка SRC-ну как тут бедной IDE разобраться-где , что брать? А поскольку в этих папках библиотеки остаются после разных скетчей то вообще полная не разбериха... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1990] Автор : ur3ilf Дата : 05.12.2021 15:47 IDE не знает, какую из них брать, и берет не ту, что надо.Как это не знает если include в куче компилляторов указывает путь! А может самому сперва следует разобраться почему одно в "кавычках" а другое в "стрелках" указывается? Глюки при компиляции это нормально. Как по попросили создать хекс с аруиновского проекта так пол вечера убил. Оказалось что надо версию определённую ставить и папку проекта в корень диска С поместить. Для простых проектов преемственность при обновлении адруины как то сохраняется, что то сложное и сразу с либами проблемы при компиляции. а еще папка SRC-ну как тут бедной IDE разобраться-где , что брать?Если прицеплено в ковычках "тут путь" то берёт по указанному пути. Если <так> то встроенные в ардуину. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1991] Автор : UA9SJR Дата : 05.12.2021 16:26 IG_58, спасибо Вам большое! Компиляцию прошел, правда мало понял почему! Все упирается в библиотеки, какие они должны быть и где должны лежать, короче есть с чем разбираться.... Добавлено через 25 минут(ы): Тогда еще один скетч. Он нормально компилировался, был загружен в ардуину, все работает. Но пришлось переставить винду и все...вот что пишет....367470 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1992] Автор : veso74 Дата : 05.12.2021 16:28 UA9SJR, все просто. Попытайтесь выяснить, каким образом как работает и начин станет использовать в будущем. Библиотеки есть два вида: 1. глобальные, метод использования: #include а) оригиналные, записанный при установке Arduino IDE, и - путь: C:\Program Files (x86)\Arduino, записанный при установке Arduino IDE - никогда их не удаляем, не перемещаем и не перезаписываем (до тех пор, пока не будет сохранена следующая версия IDE) б) потребительские, для будущего использования во многих кодах, во много проектах - путь: C:\Users\xx\Documents\Arduino - помещаем их сюда, когда они были проверены (напр. ск. из github), libs с уникальными, разными именами 2. локальные а) в папки проекта, метод использования: #include "lib.h" - путь: все записани в папки проекта, там есть .ino, .cpp, h файлы - помещаем их там только для этого проекта б) в другой папки, метод использования: #include "disk/papka/papka/...src/lib.h" - путь: находится везде на диске - помещаем их там только для этого проекта, при проект со многими драйверами устройств, можем разделить коды по папкам для облегчения управления, в соответствии с функцией: напр. /displays, /encoders, /eeproms, /sensors ... --- Проект: по вариант 2-б. Просто не должно било быть повторяющихся имен библиотек (у 1-б). (частично использовал БГ->РУ переводчика) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1993] Автор : IG_58 Дата : 05.12.2021 16:29 UA9SJR, вот это одна из причин, почему я не люблю держать библиотеки в папке со скетчем, а устанавливаю их штатными средствами, через IDE, и почему избегаю использовать модифицированные бибилотеки с недокументированными изменениями. В данном случае автор скетча ясно написал, что все необходимые библиотеки есть в папке src. Я бы скомпилировал скетч, а если бы оказалось, что не хватает какой-то не присутствующей в этой папке библиотеки - доставил бы ее штатными средствами через меню Sketch - Include Library - Manage Libraries. Такая стратегия свела бы к минимуму вероятность коллизий. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1994] Автор : veso74 Дата : 05.12.2021 16:37 Тогда еще один скетч ... вот что пишет.... У Вас есть библиотеки с таким же именем. Вам снова нужна чистка библиотек. Выяснитесь какая библиотека правильная и использовайте ее в одном месте, не копируя ее всеми возможными путям. Будьте особенно осторожны с именам оригинальним библиотеками. Если они дублируются, что-то не так (как например Wire.h) --- ... доставил бы ее штатными средствами через меню Sketch - Include Library - Manage Libraries. Такая стратегия свела бы к минимуму вероятность коллизий. Да, если библиотека публичная, напр. в github. A eсли библиотека авторская, то не найдете ee таким способам, многие атрибуты могут отсутствовать. И особенно время тратится на версии библиотек (которые по какой-то причине несовместимы друг с другом). Так что неплохо объявлять информации в программе в коментарях (.ino) (напр. автор, откуда скачивали, версия), немного, но со временем будет полезно если не другим, то мне (при много поректов через неделю напр. я уже не помню, что написал :) ). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1995] Автор : UA9SJR Дата : 05.12.2021 16:38 veso74, спасибо за разъяснение! Вот теперь выстраивается какая то теория...Спасибо, буду разбираться с библиотеками... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1996] Автор : IG_58 Дата : 05.12.2021 18:00 особенно время тратится на версии библиотек (которые по какой-то причине несовместимы друг с другом). Так что неплохо объявлять информации в программе в коментарях (.ino) (напр. автор, откуда скачивали, версия), немного, но со временем будет полезно если не другим, то мне (при много проектов через неделю напр. я уже не помню, что написал :) ). Вы совершенно правы, код нужно тщательно комментировать, указывать отличия в версиях, где что изменилось. Это хороший тон в программировании. И людям понятно, и себе через некоторое время, когда уже забудешь, что, где и зачем писал и исправлял. А стандартные библиотеки вообще трогать не надо, если уж хочется что-то своё, то хотя бы имя нужно другое давать и документировать всё. Как это не знает если include в куче компилляторов указывает путь! А может самому сперва следует разобраться .... Если <так> то встроенные в ардуину. Вы из меня идиота не делайте. "В ардуину" никакие библиотеки не встроены, в ней ничего кроме загрузчика нет. И компиляторов в IDE не куча, а один. Разобраться и понять..... Вот и разберитесь, и поймите, что глобальные библиотеки, которые <так>, прописываются на стандартных путях C:\Program Files ... и/или C:\Users\ ... И когда там в разных местах понакопировано по несколько библиотек с одинаковым названием, но с разным содержимым, IDE не знает, какую именно юзер имел в виду и откуда это самое <так> брать. И может взять не то. И никакой include <вот так> в этом случае не поможет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1997] Автор : ur3ilf Дата : 05.12.2021 20:10 Вы из меня идиота не делайте. "В ардуину" никакие библиотеки не встроены, в ней ничего кроме загрузчика нет. И компиляторов в IDE не куча, а один. Разобраться и понять..... А каким образом выполняется например delay? По вашей логике загрузчиком.:crazy: Да вы не знаете сколько регистров у AVR и зачем они.:ржач: Ардуина мне не нравится так как просто жрёт память со своими финтами так что ни чего путёвого в 16К не вместить. И работает так же медленно с кучей не нужных тактов. Блинк 1536 байт занимает. Обычный ногодрыг который на ассемблере реализуется в пять строк... 367484367485 И раз такой головняк с либами надо их все отдельно размещать в каждом проекте. Иначе будет у одного проходить компиляция а у другого нет. В принципе так в нормальных проектах и делают. Не на ардуине. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1998] Автор : veso74 Дата : 05.12.2021 21:50 Ардуина мне не нравится ... В принципе так в нормальных проектах и делают. Не на ардуине. Ети споры об Arduino излишни. Например, то, что собираю в Arduino (почти на 90% от свои самоделки), умещается в памяти в 2k..4k в PIC. И то же самое, что Вы написали, могу отправить к AVR в сравнение с PIC, и то на языке "высокого уровня". Но это тема для Arduino со всеми достоинствами и недостатками. blink: ROM used: 56, RAM used: 5 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 1999] Автор : IG_58 Дата : 05.12.2021 22:15 А каким образом выполняется например delay? По вашей логике загрузчиком.:crazy: Не надо с дурацкими смайликами писать всякую чушь. У меня совершенно нет никакого желания читать вам тут крэш-курс по микропорцессорной технике. Я на макроассемблере программы под ОС РВ писал, когда Вы еще пешком под стол ходили. veso74, Ардуино - это прекрасная платформа для почти любых любительских конструкций. на маленькой плате ценой три доллара собрана полнофункциональная микропроцессорная система со вводом-выводом, коммуникационными портами, с системой питания и даже с USB для комфортной загрузки. И есть очень простая, доступная даже детям среда программирования IDE на базе диалекта Си, позволяющая получить работающую систему без всяких ненужных телодвижений с фьюзами, загрузчиками и т.п. без всяких ассемблерных вставок и регистров. Ее легко осваивают даже дети. В ней даже имеется встроенный монитор реального времени, позволяющий отладить программу на раз-два, легко и просто. Ее ресурсов хватает всегда. На ней даже можно реализовывать многозадачные системы реального времени с диспетчеризацией задач по таймерным меткам и реентерабельным кодом, если это вообще нужно. Я, правда. не представляю, кому это может понадобиться, но в ATMega328 такая возможность принципиально есть. Не надо ее недооценивать, это очень интересный и мощный инструмент. Я обычно рассматриваю Arduino Nano как полуфабрикат, как обычную гибридную микросборку (каковой она и является на самом деле) и просто впаиваю ее в плату. За 3 доллара я даже думать не буду о том, чтобы травить плату с мелкими дорожками и паять на ней мелкие SMD деталюшки, всё уже сделали и распаяли китайцы. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2000] Автор : veso74 Дата : 05.12.2021 22:27 Да, все верно. И самое главное - со поделенном кодом: берете код для Вашу идею из мета, переделываете ее, добавите нови функции и снова делитесь код. Честно говоря, только с РУ-ресурсов я начал встречать Arduino-конструкции только с .hex (и "надоедливый" для меня xLoader). Я не знаю, что скрывается. Код часто нужен для обучения "новички", иногда для идеи устройства или алгоритмов за все (кнопки, светодиодов, дисплеи, DDS-и, PLL-и, expanders и др.). А так все равно нужно заново "открыть колесо", но с большим количеством поисков, исследований, чтения ... (и с множеством возможных ошибок). В последнее время, если я вижу конструкция с Arduino только с .hex, закрываю страницу :). Всегда захочется что-то поменять, хоть надпись, хоть кнопку, а так я привязан к автору. А ето хобби, сегодня одно, завтра другое желание. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2001] Автор : IG_58 Дата : 05.12.2021 22:50 veso74, я тоже терпеть не могу когда вместо открытого кода наивному и неискушенному юзеру предлагают кота в мешке - дурацкий слепой hex, в котором непонятно что скомпилировано. Считаю это дурным тоном. Уважаю коллег, которые делятся открытом кодом, сам всегда отдаю открытый код и терпеть не могу, когда делают тайны и надувают щёки. Я просто ставлю себя на место неискушенного юзера, который вкатывает в контроллер неизвестно что, а потом вынужден проситься и кланяться великому и лучезарному программисту, чтобы тот снизошёл до его скромной персоны и - так и быть - прислал прошивку. А незаменимый и лучезарный будет гордиться и надувать щёки, наслаждаясь чувством собственной исключительности и пудрить мозги. А оно не работает, или глючит, сбоит. А великий уже похерил свой проект, просто забыл где там что, или вообще не хочет вот этому юзеру отвечать. И всё, приехали, получите мёртвое железо. И появляются темы типа "Ой, помогите! Вдул прошивку, а оно вообще не работает!" "Автор не отвечает на мэйлы, что делать?!" и т.п. Особенно противно, когда берут открытую бесплатную среду программирования, используют бесплатные открытые библиотеки и открытую документацию, и пытаются заработать три копейки на своём "уникальном и неповторимом" коде, написанном в свободное время, не за деньги, не на работе, а для хобби. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2002] Автор : UA9SJR Дата : 06.12.2021 07:30 Весь вечер посвятил попытке компилировать скетч, разложил библиотеки, все вроде должно работать...Но нет компиляция доходит до одного места в скетче, где инициализируется дисплей и все останавливается с одной и той же ошибкой. Я так понимаю, что не нравится библиотека LiquidCrysal_I2C, но она идет вместе со скетчем от автора...Примеры из этой библиотеки работают...адрес дисплея в I2C правильный 0х27. Скажите-где ошибка? Весь вечер посвятил попытке компилировать скетч, разложил библиотеки, все вроде должно работать...Но нет компиляция доходит до одного места в скетче, где инициализируется дисплей и все останавливается с одной и той же ошибкой. Я так понимаю, что не нравится библиотека LiquidCrysal_I2C, но она идет вместе со скетчем от автора...Примеры из этой библиотеки работают...адрес дисплея в I2C правильный 0х27. Скажите-где ошибка? 367505 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2003] Автор : ozforester Дата : 06.12.2021 09:28 Так-то ошибок может быть больше, чем выдает программа, и они могут быть нелогичными для восприятия, но сначала обратим внимание на две строчки листинга: Строчку с ошибкой, и строчку вызываемой библиотеки. А чтобы было легче прокомментировать, вместо скриншотов сделайте вставку оригинального текста листинга, например через спойлер. Неудобно в графическом редакторе обводить кружочками нужные места и стрелочки рисовать. Еще в идэ есть чекбокс, что-то там про расширенный вывод при компиляции, не помню точно, тогда в окне компиляции будет выводиться значительно более подробная информация по сборке кода. Тоже пользуйтесь, когда возникает непонятная ситуация. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2004] Автор : IG_58 Дата : 06.12.2021 10:10 LiquidCrysal_I2C Первым делом попробуйте так: - удалите библиотеку LiquidCrysal_I2C по указанному в выдаче компилятора пути - установите ее корректно через меню Скетч - Подключить библиотеку - Управлять библиотеками - в строке поиска наберите LiquidCrystal_I2C - найдите эту библиотеку и установите последнюю версию - или просто обновите ее до последней версии, если она значится у Вас среди установленных библиотек: 367514 - Установите подробную выдачу в меню Файл - Настройки: 367515 И приводите, пожалуйста, полную выдачу компилятора не скриншотом. а в текстовом виде под спойлером: выделили мышью весь текст, скопировали в буфер: 367517 и затем вкинули сюда под тэги спойлера. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2005] Автор : UA9SJR Дата : 06.12.2021 10:42 Игорь, доброе утро и спасибо за ответ. Я уже делал удаление библиотеки и подключение другой, как Вы посоветовали, но... Удаляю из папки в моих документах эту библиотеку, компилирую, а IDE даже слова не говорит, что у тебя нет библиотеки, то есть опять компиляция идет до Begin(); При подключении библиотеки через Управление библиотеками нет такой библиотеки, чтобы называлась один в один как искомая...В итоге загрузил LiquidCrysta I2C последнюю версию, но результат тот же -нет компиляции всего скетча. Добавлено через 10 минут(ы): Что то у меня выделенный текст не копируется....видимо не правильно делаю.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2006] Автор : IG_58 Дата : 06.12.2021 10:42 UA9SJR, Поищите у себя на диске поиском по диску папки с названием LiquidCrystal_I2C (обратите внимание на знак подчеркивания между LiquidCrystal и I2C: LiquidCrystal_I2C). Удалите их все. Затем сделайте точно так, как я выше написал (я там на скриншоте привел название библиотеки) и приведите полную выдачу компилятора. Копируйте текст из окна не мышью, а комбинацией клавиш Ctrl-C, в форум под спойлер вкидывайте комбинацией клавиш Ctrl-V -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2007] Автор : UA9SJR Дата : 06.12.2021 10:52 "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\Dhcp.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\Dns.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\Ethernet.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\EthernetClient.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\EthernetServer.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\EthernetUdp.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\socket.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src\\utility\\w5100.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src\\SPI.cpp" -o nul -DARDUINO_LIB_DISCOVERY_PHASE Generating function prototypes... "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Users\\555\\AppData\\Local\\Temp\\arduino_build_450912\\sketch\\k3ng_keyer.ino.cpp" -o "C:\\Users\\555\\AppData\\Local\\Temp\\arduino_build_450912\\preproc\\ctags_target_for_gcc_minus_e.cpp" -DARDUINO_LIB_DISCOVERY_PHASE "C:\\Program Files (x86)\\Arduino\\tools-builder\\ctags\\5.8-arduino11/ctags" -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives "C:\\Users\\555\\AppData\\Local\\Temp\\arduino_build_450912\\preproc\\ctags_target_for_gcc_minus_e.cpp" Компиляция скетча... "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10813 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\variants\\mega" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\EEPROM\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\Wire\\src" "-IC:\\Users\\555\\Documents\\Arduino\\libraries\\LiquidCrystal_I2C" "-IC:\\Program Files (x86)\\Arduino\\libraries\\Ethernet\\src" "-IC:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\libraries\\SPI\\src" "C:\\Users\\555\\AppData\\Local\\Temp\\arduino_build_450912\\sketch\\k3ng_keyer.ino.cpp" -o "C:\\Users\\555\\AppData\\Local\\Temp\\arduino_build_450912\\sketch\\k3ng_keyer.ino.cpp.o" C:\Users\555\Desktop\k3ng_cw_keyer-master\k3ng_cw_keyer-master\k3ng_keyer\k3ng_0\k3ng_keyer\k3ng_keyer.ino: In function 'void initialize_display()': k3ng_keyer:12664:17: error: no matching function for call to 'LiquidCrystal_I2C::begin()' lcd.begin(); ^ In file included from C:\Users\555\Desktop\k3ng_cw_keyer-master\k3ng_cw_keyer-master\k3ng_keyer\k3ng_0\k3ng_keyer\k3ng_keyer.ino:721:0: C:\Users\555\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate: void LiquidCrystal_I2C::begin(uint8_t, uint8_t, uint8_t) void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS ); ^~~~~ C:\Users\555\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:58:8: note: candidate expects 3 arguments, 0 provided Используем библиотеку EEPROM версии 2.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM Используем библиотеку Wire версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\Wire Используем библиотеку LiquidCrystal_I2C в папке: C:\Users\555\Documents\Arduino\libraries\LiquidCrystal_I2C (legacy) Используем библиотеку Ethernet версии 2.0.0 из папки: C:\Program Files (x86)\Arduino\libraries\Ethernet Используем библиотеку SPI версии 1.0 из папки: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI exit status 1 no matching function for call to 'LiquidCrystal_I2C::begin()' Я эту библиотеку и загружал.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2008] Автор : veso74 Дата : 06.12.2021 10:53 IG_58, библ. LiquidCrysal_I2C, которую рекомендуете (v1.1.2) другой вид/версия, напр. инициализация с lcd.init(); В примера выше : LiquidCrysal_I2C инициализируется с lcd.begin(); UA9SJR, попробуйте lib ниже (удалить/переместить своей из users /Documents /Arduino /libraries) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2009] Автор : UA9SJR Дата : 06.12.2021 10:57 veso74, спасибо. При добавлении этой библиотеки пишет, что такая библиотека уже есть и компиляция доходит до того же места. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2010] Автор : veso74 Дата : 06.12.2021 10:59 Цитирую себя: ... (удалить/переместить своей из users/Documents /Arduino /libraries) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2011] Автор : UA9SJR Дата : 06.12.2021 11:05 В папке users\Documents\Ardu ino\libraries удалил старую библиотеку, а на ее место распаковал Вашу, ничего не изменилось.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2012] Автор : veso74 Дата : 06.12.2021 11:16 Как рекомендация: дайте основной код - ссылки откуда взяли или как вложение. Так что вероятность найти причину без особого написания/избыточные сообщения/ в темы высока. В противном случае угадываем, что это такое, а пути бесконечны для каждого шага. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2013] Автор : UA9SJR Дата : 06.12.2021 11:24 veso74, спасибо. Сделал еще раз то что Вы советовали и компиляция прошла успешно, но после загрузки в ардуино-дисплей не работает.... Добавлено через 6 минут(ы): Кстати, вчера менял begin(); в скетче на init(); результат такой же как сейчас, то есть компиляция проходит успешно, но дисплей не работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2014] Автор : IG_58 Дата : 06.12.2021 11:29 Если речь идет вот об этом скетче (https://github.com/k3ng/k3ng_cw_keyer), то там, возможно, нужна библиотека Adafruit_LiquidCrystal Вообще, там куча вариантов, но мы здесь не знаем, какой у вас. Смотрите: #if defined(FEATURE_LCD_4BIT) || defined(FEATURE_LCD1602_N07DH) || defined (FEATURE_LCD_8BIT) // works on 3.2V supply and logic, but do not work on every pins (SP5IOU) #include #include #endif #if defined(FEATURE_LCD_ADAFRUIT_I2C) || defined(FEATURE_LCD_ADAFRUIT_BACKPACK) || defined(FEATURE_LCD_YDv1) || defined(FEATURE_LCD_SAINSMART_I2C) || defined(FEATURE_LCD_FABO_PCF8574) || defined(FEATURE_LCD_MATHERTEL_PCF8574) #include #endif #if defined(FEATURE_LCD_YDv1) #include #endif #if defined(FEATURE_LCD_ADAFRUIT_I2C) #include #include #endif #if defined(FEATURE_LCD_ADAFRUIT_BACKPACK) #include #endif #if defined(FEATURE_LCD_SAINSMART_I2C) #include #endif #if defined(FEATURE_LCD_FABO_PCF8574) #include #endif #if defined(FEATURE_LCD_MATHERTEL_PCF8574) #include #endif #if defined(FEATURE_LCD_I2C_FDEBRABANDER) #include #endif #if defined(FEATURE_LCD_HD44780) #include #include #include #define WIRECLOCK 400000L #endif (вот так под спойлером помещайте выдачу компиляторы и коды). Просто так, навскидку, лучше не менять begin() на init(). Скетч этот не совсем простой, и если у вас нет достаточно опыта, то я бы, если честно, не рекомендовал бы Вам его. Можете совсем запутаться. Лучше бы взять сперва чего-нибудь попроще, в чем проще разобраться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2015] Автор : UA9SJR Дата : 06.12.2021 11:44 Не знаю как прикрепить файл скетча....Плохо быть бестолковым...(это я про себя) Скетч тот что Вы привели, у меня раскомментирована вот эта строка FEATURE_LCD_SAINSMART_I2C, и насколько я понимаю должна быть вот эта библиотека , но не получается.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2016] Автор : IG_58 Дата : 06.12.2021 11:52 FEATURE_LCD_SAINSMART_I2C в какой строчке скетча Вы раскомментировали? Я в скетче не нашел закомментированное FEATURE_LCD_SAINSMART_I2C. (пробел посреди названия не мой, его форум вставляет в длинные слова автоматически, дурацкая фича, которая очень мешает). Как поместить сюда скетч: сделайте из него архив .rar, в форуме ткните кнопку "Расширенный режим", это рядом с "Отправить сообщение", затем на панели инструментов выберите скрепку (Вложение), там "Добавить файлы", нажмите там клавишу Browse, укажите файл архива, загрузите его, внизу нажмите клавишу "Готово". -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2017] Автор : UA9SJR Дата : 06.12.2021 12:13 Нет там клавиши ГОТОВО.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2018] Автор : veso74 Дата : 06.12.2021 12:36 См. файл k3ng_keyer.ino, строку 1063: LiquidCrystal_I2C lcd(0x3F,20,4);. Исправьте в соответствии с Вашим дисплеем. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2019] Автор : UA9SJR Дата : 06.12.2021 12:38 Изменил адрес в скетче в совсем не в том месте, где думал...и все заработало....Всем спасибо за помощь. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2020] Автор : veso74 Дата : 06.12.2021 12:40 Можете ли дать информацию о том, что изменили? Для будущего использования напр. Возможно, для других коллег? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2021] Автор : UA9SJR Дата : 06.12.2021 12:50 Ошибка была в строке 1068, я туда и не смотрел... Добавлено через 9 минут(ы): Но, основная ошибка была как раз в использовании не подходящей библиотеки. Все заработало только благодаря замене этой на Вами рекомендованную... За что Вам отдельное большое спасибо! Теперь мне не понятно, а как же я раньше компилировал и все работало...:oops: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2022] Автор : IG_58 Дата : 06.12.2021 12:51 UA9SJR (http://www.cqham.ru/forum/member.php?11874-UA9SJR), Вот клавиша "Готово": 367524 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2023] Автор : UA9SJR Дата : 06.12.2021 13:15 Что то у меня все было по другому, спасибо, Игорь! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2024] Автор : lavren2002 Дата : 14.12.2021 23:44 Уважаемые Игорь IG_58 и veso74! Смею разочаровать Вас – большей части радиолюбителей как раз таки и нужен код, что-бы загрузить его в процессор и наслаждаться работой конструкции. Лезть в программу, не занимаясь программированием на достаточно высоком уровне – нонсенс. В 99,99% не заработавших устройств на микропроцессорах – «проблема контакта» - есть, где он не нужен и нет, где нужен. До этого сам собрал на PICах ключ RU3GA (в двух вариантах), частотомер и тахометр. Все запустилось с ходу. А теперь возникли проблемы. Понравилась схема синтезатора NanoVFO от UR5FFR в исполнении R1AIT на готовых модулях с Ali . Листинги программ выложены на githabе (как вам нравиться), а мне – не очень. Судорожно кинулся просматривать литературу, но ничего не прояснилось. Установил ArduinoIDE – для одной программы понятно, а дальше «темный лес». Уважаемые форумчане! Сильно не пинайте, но подскажите как с githab, где порядка 25 файлов .cpp и .h записать в IDE, скомпилировать и получить один исполняемый файл (код) для загрузки в процессор. Или где можно почитать на эту тему. Заранее благодарен. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2025] Автор : vadim_d Дата : 15.12.2021 00:19 как с githab, где порядка 25 файлов .cpp и .h записать в IDEНа гитхабе есть кнопка "взять архивом" или что-то подобное, сохраните архив на компе и разархивируйте в какой-нибудь фолдер, где и будет проект -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2026] Автор : IG_58 Дата : 15.12.2021 00:34 Уважаемый lavren2002 (http://www.cqham.ru/forum/member.php?35544-lavren2002), эта тема - конкретно про Arduino, и для этого семейства контроллеров есть стандартная среда программирования Arduino IDE, в которой предусматривается загрузка программы в контроллер по USB, причем программа (так называемый скетч) хранится не в виде кода, а в виде исходного текста. Так вот, для того, чтобы загрузить в контроллер тот или иной скетч, знать программирование не нужно. Нужно открыть файл скетча (он имеет расширение .ino), указать, с каким вариантом реализации контроллера Arduino предстоит работать (Uno, Nano, Mega, их клоны и т.п.) и нажать на кнопку. После этого всё происходит автоматически: текст программы компилируется, и затем готовый код грузится в контроллер по USB. Такой подход - просто нажать на кнопку - ничуть не сложнее, чем загрузка предварительно скомпилированного hex-кода в контроллер с помощью специального загрузчика, а гораздо удобнее, т.к. при необходимости в программу можно внести какие-нибудь изменения, и Вы всегда видите, что грузите в контроллер в отличие от загрузки hex-кода, в котором непонятно что внутри. Теперь к вашему вопросу. Предположим, Вы установили Aduino IDE, а также драйвер USB и необходимые библиотеки. Тогда нужно сконфигурировать скетч синтезатора NanoVFO и загрузить его в контроллер. Вам нужно загрузить с github на свой компьютер архив NanoVFO-master.zip: 367926 Затем нужно распаковать его в папку и двойным щелчком открыть файл NanoVFO.ino, находящийся в папке NanoVFO. При этом в Arduino IDE автоматически откроются также все необходимые для компиляции проекта файлы с расширениями .cpp и .h. Все эти файлы будут расположены вкладками в верхнем меню среды Arduino IDE. Затем нужно задать все желаемые параметры будущего синтезатора. Все они описаны в файлах config.h, config_hw.h и config_sw.h и прекрасно откомментированы. Открываете по очереди каждый из этих файлов щелчком по верхней вкладке IDE, читаете сверху вниз, открываете комментарии там, где нужно, и закрываете там, где не нужно. Так Вы определите желаемые параметры Вашего синтезатора, опишете подключенное к контроллеру модули (т.е., какой энкодер, какой дисплей, какой модуль синтезатора и т.п.) и желаемую конфигурацию (диапазоны, ПЧ и т.п.). Потом, когда проект будет сконфигурирован, нажимаете на кнопку. Проект будет скомпилирован и загружен в Ваш контроллер. Если Вы соединили правильно все модули между собой, то синтезатор тут же заработает. Обратите, пожалуйста, внимание на то, что такой подход позволяет очень гибко конфигурировать состав вашего "железа", параметры синтезатора, и это всё было бы невозможно, если бы проект распространялся в виде готового предварительно скомпилированного hex-файла. Если у вас есть конкретные вопросы, пожалуйста, задавайте. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2027] Автор : RA0JGB Дата : 15.12.2021 04:05 Затем нужно распаковать его в папку и двойным щелчком открыть файл NanoVFO.ino, А проще не получится? скачали архив, сразу лезем в него, ищем файл прошивки и кнопаем его. автоматом открывается иде и скетч в нем. шьем:crazy: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2028] Автор : IG_58 Дата : 15.12.2021 10:15 RA0JGB, если кликнуть файл .ino сразу изнутри архива, то (1) IDE сразу потребует создать папку проекта, т.к. .ino должен быть в папке и (2) не подгрузятся из архива файлы .cpp и .h. Так что нет, в данном случае проще не получится, нужно делать именно так, как я описал выше. И еще: файла прошивки в этом архиве нет, есть файл с исходным текстом, который IDE сначала компилирует, подключая программные модули и библиотеки, и только потом грузит скомпилированный код в контроллер. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2029] Автор : ua3qix Дата : 04.03.2022 03:33 Привет народ. Даже взяв готовый проект что он заработает, процентов 80. ( Автор не указал какие библиотеки использовал, новая библиотека не совместима , итд ). Как делаю я. Если умные остались , поправите. Сейчас делал телеграфный ключ K3ng. Данный проект разумно собран , так как автор его постоянно обновляет и вносит изменения и в нем есть все необходимые для повторения библиотеки. Скачиваем архив с программой , извлекаем содержимое в папку ( пример K3NG_key ). Папку создаем на диске к примеру D. Даже можно на системном С. Запускаем программу Arduino IDE ( Желательно новую , обновленную) .Идем в файл , настройки и в строке Размещение папки скетчей указываем Вашу папку с библиотеками , пример диск D: \k3ng_key. Перегружаем программу , идем в папку с программой и запускаем файлик k3ng...ino а можно и по другому. Ждем замечания и пожелания . 73 Можно и так , но сразу будет куча ошибок что не найдена библиотека ........ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2030] Автор : UN7RX Дата : 04.03.2022 08:56 Для комментаторов-философов. Тема не для того чтобы рассуждать нужно ли ардуино или нет. Не нужно - не входите в тему. Не нужно тут бардак устраивать. Буду пресекать категорически. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2031] Автор : IG_58 Дата : 04.03.2022 09:53 ua3qix, в папку проекта копируете по 2 файла из каждой библиотеки с расширениями .h и .cpp. Затем ищете по всему тексту скетча и заменяете объявление всех библиотек, т.е. чтобы вместо, например, #include было #include "Keypad.h", вместо #include - #include "Wire.h", вместо #include - #include "SPI.h" и т.д. Всё. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2032] Автор : RN3GP Дата : 03.04.2022 20:10 IG_58, Спасибо за скетч для UW3DI, замену тумблеров нефиксируемыми кнопками и блоком реле с Али. С сохранением в памяти включенных реле после выключения питания.:пиво: Я думаю, если бы выложили здесь проект, многие были бы благодарны. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2033] Автор : IG_58 Дата : 03.04.2022 21:04 Всегда пожалуйста :) Проект - это громко сказано, минут 30-40 программирования вместе с отладкой :) Что в нём: - Нужны восемь кнопок без фиксации, контроллер Ардуино Нано и вот такой блок реле: https://aliexpress.ru/item/1005001636622258.html. - Кнопки висят на A0, A1, A2, A3, A4, A5, A6, A7, их общий провод на землю, резисторы подтяжки не нужны. - Реле подвешены на +5В с выходов D2, D3, D4, D5, D6, D7, D8, D9. - Обеспечивается эффективная защита от дребезга при нажатии кнопок. - При выключении состояние реле запоминается в EEPROM, при включении восстанавливается. - Скетч во вложении, в нём всё очень подробно откомментировано. P.S.: я думаю, что если взять кнопки со светодиодной подсветкой и подключить светодиоды параллельно реле (с гасящими резисторами, естественно), то это было бы неплохим решением. Светодиоды бы показывали состояние реле. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2034] Автор : ua9d Дата : 04.04.2022 10:58 Уважаемые знатоки , подскажите пожалуйста - установлена среда Arduino IDE имеется Arduino MEGA2560 с "залитым скетчем" (все работает! ) как считать и сохранить эту рабочую прошивку в формате .HEX, исходники и библиотеки не сохранил "ардуинка" одна охота попробовать другую прошивку а потом по окончанию экспериментов в ардуинку снова загрузить сохраненную прошивку -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2035] Автор : IG_58 Дата : 04.04.2022 11:06 ua9d, вот здесь почитайте, может натолкнуть на мысли: https://docs.arduino.cc/retired/getting-started-guides/ArduinoISP https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP (https://docs.arduino.cc/retired/getting-started-guides/ArduinoISP) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2036] Автор : R8CT Дата : 04.04.2022 12:14 как считать и сохранить эту рабочую прошивку в формате .HEX Как считать прошивку Arduino через UART https://lampcore.ru/%D1%81%D0%BF%D1%80%D0%B0%D0%B2%D0%BE%D1%87%D0%BD%D0%B8%D0%BA/%D0%BA%D0%B0%D0%BA-%D1%81%D1%87%D0%B8%D1%82%D0%B0%D1%82%D1%8C-%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D0%B2%D0%BA%D1%83-arduino-%D1%87%D0%B5%D1%80%D0%B5%D0%B7-uart/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2037] Автор : ozforester Дата : 04.04.2022 12:16 Мне тоже показалось, что задача просто прочитать сущствующую прошивку от которой не осталось скетча. Тогда просто использовать команду avrdude с параметрами чтения, вместо параметров записи, как это происходит при обычной загрузке скетча. Обаратите внимание на одну сложность - только одна плата и отсутствие программатора. Даже просто включить дебаг загрузки и посмотреть как загружается новая программа нельзя. Нужно сразу именно считать имеющийся хекс. Для этого можно попросить кого-нибудь включить отладочную информацию IDE и скопировать команду загрузки скетча в какой-нибудь редактор или записать. (я вот сейчас сам себя попросил и скопировал) Это нужно чтобы не думать какой тип загрузчика используется в конкретном случае. Далее нужно заменить команду записи на чтение 'w' на 'r' и указать имя файла для прошивки. Вот так выглядит команда загрузки на 2560 скетча blink из примеров. /usr/bin/avrdude -C/etc/avrdude.conf -v -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/arduino_build_36432/Blink.ino.hex:i Вот так команда может выглядеть после внесения в нее изменений для чтения. Команду, разумеется, вводим уже с командной строки. oleg@laptop ~ $ /usr/bin/avrdude -C/etc/avrdude.conf -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -Uflash:r:сохраненнаяпрошивка.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9801 (probably m2560) avrdude: reading flash memory: Reading | ################################################## | 100% 33.61s avrdude: writing output file "сохраненнаяпрошивка.hex" avrdude: safemode: Fuses OK (E:FD, HX8, L:FF) avrdude done. Thank you. oleg@laptop ~ $ ls -l сохраненнаяпрошивка.hex -rw-r--r--. 1 oleg oleg 622564 Apr 4 11:46 сохраненнаяпрошивка.hex Наверняка возможны какие-нибудь осложнения, если не понимать процесс, но вцелом вариант рабочий. Пробую загрузить в другую ардуинку. oleg@laptop ~ $ /usr/bin/avrdude -C/etc/avrdude.conf -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -Uflash:w:сохраненнаяпрошивка.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9801 (probably m2560) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "сохраненнаяпрошивка.hex" avrdude: writing flash (262106 bytes): Writing | ################################################## | 100% 41.71s avrdude: 262106 bytes of flash written avrdude: verifying flash memory against сохраненнаяпрошивка.hex: avrdude: load data flash data from input file сохраненнаяпрошивка.hex: avrdude: input file сохраненнаяпрошивка.hex contains 262106 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 33.62s avrdude: verifying ... avrdude: 262106 bytes of flash verified avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF) avrdude done. Thank you. Сохранная ранее прошивка загрузилась и втораая ардуинка замигала светодиодом. У меня линукс, поэтому в путях файлов / вместо \ и т.п., но суть не меняется. Немного воображения и все получится. Из деталей: 1. Мы не трогали фьюзы, хотя IDE их при записи вроде бы может изменять. Нам это просто не нужно. 2. Если у существущей прошивки используется EEPROM ,и его тоже нужно сохранить, то программа выглядит так же, просто добавляется еще одна секция -U где вместо flash уаказывается eeprom и расширение у имени файла например .eep Это на всякий пожарный. 3. Риск что-то сделать не так всегда остается, нужно к этому морально быть готовым (: Наличие отдельного программатора за $2 не помешает уж точно, можно будет восстанавливать загрузчик в 2560 или прошивку "вспомогательной" атмеги через их ISP разъёмы. Да хотя бы взять ардуину микру или нану и прошить ее скетчем "ардуинопрограмматора" и убрать подальше для использования в случае повреждения загрузчика у 2560. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2038] Автор : ozforester Дата : 04.04.2022 14:55 Пользуясь случаем, еще одну почти страшную почти сказку про прошивку авр-ок поведаю. Неоднократно сталкивался с ситуациями, когда прошивка сбоила, и avrdude в консольном режиме выдавала сообщение, что дескать у меня произошло изменение фьюзов и "окей или неокей"? Стоит нажать энтер не раздумывая, и проблема обеспечена. Нужно в таких случаях отвечать 'no' и повторять прошивку. Конечно атмеги у меня, ососбенно б/у tiny с алиэкспресса выглядят как клавиши двадцатилетного ноутбука и прошивки грузят только с уменьшенной скоростью будучи еще "new original" и без пробега, так сказать, но тем не менее. А руки иногда движутся впереди мысли. А собирать очередной раз hvpp на проводочках и батарейках надоело. Сделал самодельный hvpp. Не знаю, может быть у avrdude контроль целостности не охватывает изменение фьюзов, или сбой в команде, или баг, но факт остается фактом - Фьюзы пытаются иногда слетать. Сейчас это программаторы avr-isp в виде флэшки. Но, пока единственное "исчезновение" работоспособности mega8u на плате 2560, и неединственные слетания загнузчиков в ардуинках при работе через ide, дают основание полагать, что фьюзы и avrdude могут быть причиной. Вобщем, будьте бдительны. (: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2039] Автор : veso74 Дата : 04.04.2022 16:20 За столь долгое время такого случая не случалось. Может быть, поэтому ВСЕГДА использую внешний 5V источник для модуля Arduino / внешний программатор, а не питание через USB. Качество USB-кабелей также очень важно. Либо дорогой, либо самодельный, с хорошим экраном. В противном случае есть вариант для плохой запись: поврежденный загрузчик, фюзы, неправильно считанные данные из mcu и т. д. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2040] Автор : IG_58 Дата : 04.04.2022 16:24 Качество USB-кабелей также очень важно. Вот уже много лет применяю для загрузки кабели с надетыми на них ферритовыми защёлками. Сперва по работе пришлось, после того как помаялся с загрузкой программы в контроллер в условиях жутких помех, а теперь по привычке и дома всегда такие кабели применяю. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2041] Автор : RN3GP Дата : 04.04.2022 16:50 Вам нужно загрузить с github на свой компьютер архив NanoVFO-master.zip: Затем нужно распаковать его в папку и двойным щелчком открыть файл NanoVFO.ino, находящийся в папке NanoVFO. При этом в Arduino IDE автоматически откроются также все необходимые для компиляции проекта файлы с расширениями .cpp и .h. Все эти файлы будут расположены вкладками в верхнем меню среды Arduino IDE. Игорь, вот спасибо, никак проекты с github.com не мог освоить, а тут две строчки что делать и все получилось! Благодарю.:пиво::пиво::пиво: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2042] Автор : Браконьер-161 Дата : 18.08.2022 12:40 Товарищи, всех приветствую! Новичок в этом деле, ну всеже интересует вопрос: собирал ли кто-нибудь ксв ваттметр, чтоб были диапазоны от 1.8 - 30 МГц, от 144 - 148 МГц, 430 - 440 МГц? Понравилась конструкция http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1572672&viewfull=1#post1572672 вот хотел бы ее реализовать, если она будет работать в этих диапазонах. А то сейчас весьма дорого стоят подобные приборы( -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2043] Автор : veso74 Дата : 18.08.2022 12:48 Oт прибора: Arduino и дисплей: частота не зависит. Соберите/настройте датчики SWR для работы в выбранных диапазонах. Показания сработают, там математика. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2044] Автор : Браконьер-161 Дата : 18.08.2022 12:56 я новичок в этом деле поэтому тут с просил, что может уже кто-нибудь делал подобное, что было проще повторить -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2045] Автор : Tolya Дата : 18.08.2022 13:00 Понравилась конструкция http://www.cqham.ru/forum/showthread...=1#post1572672 вот хотел бы ее реализовать, Она у меня реализована правда с часами...хотелось бы возродить этот проект..но не могу скотч для этого проекта найти... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2046] Автор : Браконьер-161 Дата : 18.08.2022 13:02 Tolya, а в каком диапазоне работает? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2047] Автор : Tolya Дата : 18.08.2022 13:49 а в каком диапазоне работает? Всё зависит от датчика КСВ КВ или УКВ диапазона ...это ж индикаторный блок...он у меня работал как на кв так и на 144 - 430 мгц.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2048] Автор : Браконьер-161 Дата : 18.08.2022 13:56 Всё зависит от датчика КСВ КВ или УКВ диапазона ...это ж индикаторный блок...он у меня работал как на кв так и на 144 - 430 мгц.. а какие схемы использовал для датчиков на двойку и семидесятку? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2049] Автор : R2DHG Дата : 18.08.2022 14:24 Там скорее не схему надо выбирать, а конструкцию, схемы то все рабочие если правильно все сделать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2050] Автор : Браконьер-161 Дата : 18.08.2022 14:33 Там скорее не схему надо выбирать, а конструкцию, схемы то все рабочие если правильно все сделать. а можешь посоветовать рабочую конструкцию или схему? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2051] Автор : R2DHG Дата : 18.08.2022 14:57 На 430 не пробовал делать. Я бы сделал как у китайцев - на укв полосковые линии на текстолите, на кв "tandem match", найти то и другое по отдельности несложно (например https://qth.kz/v-pomoshch-nachinayushchim/antennoe-khozyajstvo/194-ksv-metr-svoimi-rukami-dlya-ukv-diapazonov-144-430-mgts и http://www.cqham.ru/forum/showthread.php?32404-%D0%9D%D0%B0%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BE%D1%82%D0%B2%D0%B5%D1%82%D0%B2%D0%B8%D1%82%D0%B5%D0%BB%D1%8C-Tandem-Match) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2052] Автор : Браконьер-161 Дата : 19.08.2022 11:28 (например https://qth.kz/v-pomoshch-nachinayushchim/antennoe-khozyajstvo/194-ksv-metr-svoimi-rukami-dlya-ukv-diapazonov-144-430-mgts и а какую мощность можно пропустить через данный датчик? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2053] Автор : R2DHG Дата : 19.08.2022 11:43 Ну десятки ватт точно можно. Посмотрите еще такой вариант из кабеля если мощность большая нужна https://www.qth.spb.ru/forum/viewtopic.php?p=120628 я такой делал только для КВ, работал нормально, но вон пишут, что и на 145 нормально. Из кабеля не у всех получается почему то. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2054] Автор : Браконьер-161 Дата : 19.08.2022 11:58 Ну десятки ватт точно можно. Посмотрите еще такой вариант из кабеля если мощность большая нужна https://www.qth.spb.ru/forum/viewtopic.php?p=120628 я такой делал только для КВ, работал нормально, но вон пишут, что и на 145 нормально. Из кабеля не у всех получается почему то. спасибо. почитаю -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2055] Автор : R3EZ Дата : 19.08.2022 13:58 Браконьер-161, здравствуйте! Могу поделиться своим опытом изготовления подобной конструкции для 144 МГц. Если интересно - скиньте свой e-mail. Сброшу Вам архив. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2056] Автор : Браконьер-161 Дата : 19.08.2022 14:22 R3EZ, привестсвую! Буду благодарен. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2057] Автор : Tolya Дата : 19.08.2022 16:14 Сбросьте пожалуйста ссылку или сам скетч на ILI 9225_ SWR_PW-merer без часов с меню... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2058] Автор : R3EZ Дата : 19.08.2022 17:02 Сбросьте пожалуйста ссылку или сам скетч на ILI 9225_ SWR_PW-merer без часов с меню... Вот уж не знаю, есть ли такая у меня. Делал как раз, наоборот. Возможно случайно. Часы можно и убрать, а вот с меню не разбирался. Буду благодарен. Отправил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2059] Автор : Браконьер-161 Дата : 19.08.2022 17:57 Отправил. Спасибо! Получил, теперь буду разбираться. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2060] Автор : Tolya Дата : 19.08.2022 21:22 Сбросьте пожалуйста ссылку или сам скетч на ILI 9225_ SWR_PW-merer без часов с меню.. Всем спасибо...нашёл у себя..буду пробовать.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2061] Автор : R3EZ Дата : 19.08.2022 21:31 Сбросьте пожалуйста ссылку... Не эту ли версию прибора Вы искали? https://www.youtube.com/watch?v=k8umrG-TXZk&ab_channel=%D0%A1%D0%B5%D1%80%D0%B3%D0%B5%D0%B9UT0IS%2FD0ISM Скетч попробуйте поискать здесь. https://cloud.mail.ru/public/M1nc/nb9k12etY -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2062] Автор : Dimon_ Дата : 20.08.2022 06:32 Добрый день! Есть в наличии антенный коммутатор, ,блок управления собран на PIC. Работает нормально, проблем нет, но он только переключает антенны. В настоящее время появилась необходимость при приеме-передаче переключать антенны с приемной на передающую. Подозреваю, что на ардуине реализовать такую "хотелку", возможность есть. Сам я в ардуине далеко не спец и поэтому спрошу на форуме, возможно у кого то есть схемка и скетч для такого коммутатора? Был бы очень благодарен!!! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2063] Автор : Tolya Дата : 20.08.2022 14:44 Не эту ли версию прибора Вы искали? Да..всё запустил..работает..спасибо! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2064] Автор : UA0YAS Дата : 20.08.2022 15:30 Dimon_, зачем для этого ардуина? В любом трансивере есть разъем rx/tx -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2065] Автор : Dimon_ Дата : 20.08.2022 19:31 Возможно я неправильно сформулировал. Попробую уточнить. Имеется четыре антенны на разные диапазоны - два вертикала, дельта и диполь. На передачу хорошо работают вертикалы, а на прием, либо дельта, либо диполь. При передаче коммутатор включен на вертикал, во время приема, дельта или диполь, на мое усмотрение (а возможно и прием и передача на вертикал). Все настройки задаются в пульте управления коммутатором. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2066] Автор : R8CT Дата : 13.09.2022 18:56 Здравствуйте. Имеется в наличии МЕГА-2560. Еще родной еврпейской сборки с интерфейсом ATMEGA16U2 Винда 10 видит эту плату корректно. В IDE заливаю короткий скетч из стандартных примеров - всё нормально. Когда заливаю большой скетч (42% памяти), то происходит следующее - сначала идет загрузка - моргают лампочки на меге, по окончании загрузки лампочки гаснут, но программа IDE зависает намертво, и одновременно в ide в инф строке висит "Загрузка". Через длительное время вываливается надпись - "ошибка загрузки". Такое безобразие можно вылечить? Другие платы МЕГА2560 с чипсетом СН340 большими скетчами шьются нормально. Спасибо. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2067] Автор : IG_58 Дата : 13.09.2022 23:05 Откройте в соседнем окне диспетчер устройств и понаблюдайте - когда загрузка зависает, COM-порт отваливается? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2068] Автор : Slav9n Дата : 14.09.2022 00:23 Другие платы МЕГА2560 с чипсетом СН340 большими скетчами шьются нормально. Используете другую плату, как uart переходник. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2069] Автор : R8CT Дата : 14.09.2022 06:57 когда загрузка зависает, COM-порт отваливается? В диспетчере устройств ком-порт не исчезает. Используете другую плату, как uart переходник Спасибо за подсказку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2070] Автор : IG_58 Дата : 14.09.2022 09:01 R8CT, тогда, скорее всего, плата неисправна. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2071] Автор : R8CT Дата : 14.09.2022 12:27 скорее всего, плата неисправна. Возможно. Но тем не менее, короткие скетчи заливаются нормально. И функционируют. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2072] Автор : IG_58 Дата : 14.09.2022 14:24 R8CT, да, и Вы об этом уже написали. А вот большие скетчи не заливаются и, соответственно, не функционируют. Возможно, некоторая область памяти, в которую заливаются скетчи, повреждена. Возможно, небольшим скетчам хватает объёма исправной памяти, а большим - нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2073] Автор : ozforester Дата : 14.09.2022 14:25 R8CT, Опередили (: Ну так прошейте 2560 программатором через ISP разъем на плате. Станет понятно в какую сторону копать. Если 2560 флэш побилась, то прошить небольшой прошивкой и "в народное хозяйство", или сдуть и поставить новую, но это будет долго и дорого. Если 16U, то там опять два варианта - ISP возле неё и перепрошивка, или обвязка вокруг неё, может там кондер какой за время долгой заливки успевает зарядиться черной энергией. (: Ну, или тоже сдуть её и поставить новую 16U. Прошивку для нее я как-то быстро находил, когда слетала. Если нет программатора, то шейте любой исправной ардуиной, инструкции в интернете на каждом втором заборе. Чуть не забыл. Попадались разные avrdude, можно еще попробовать версию обновить. Была на гитхабе даже такая, что в отладочном режиме выводила все как по даташиту на экран. Там можно было посмотреть и на каком адресе затык. Особо упоротые упорные программисты могут даже эту страницу битую пропустить и не использовать (: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2074] Автор : R8CT Дата : 14.09.2022 15:05 Если нет программатора, то шейте любой исправной ардуиной Пытался прошить второй ардуиной, UNO, https://tehnopage.ru/zagruzka-sketcha-v-atmega328p получил - Ошибка при записи загрузчика. avrdude: Expected signature for ATmega328P is 1E 95 0F Double check chip, or use -F to override this check. Ошибка при записи загрузчика. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2075] Автор : ozforester Дата : 14.09.2022 15:22 Все моменты не помню, нужно по новой искать и вчитываться, но обратите внимание на следующее. 1. Вы берете ардуину уно и прошиваете ее как обычно через юсб кабель прошивокй "ардуина как программатор" (примерные названия) 2. Подключаете к ардуине уне согласно схеме (mosi miso clk reset.. ) провода к ардуине меге. 3. Меняете в ардуино IDE тип платы на >>аруину мегу<< (ведь скетч собирать и шить в нее будем а не в уну) 4. В типе программатора выбираем ардуину ка ISP 5. Как обычно компилируем и заливаем "блиньк" на ардуину мегу свежеиспеченным загрузчиком (уной) 6. переходим к "серьезным" скетчам для ардуины меги Такая логика вроде бы должна быть. Следующим шагом может быть включение галочки в конфиге ардуино IDE "показывать диагностику прошивки" или что-то подобное. Будет видно почему загрузчик не прошился как в первой попытке. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2076] Автор : IG_58 Дата : 14.09.2022 16:21 Советуют: check chip -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2077] Автор : ozforester Дата : 14.09.2022 16:23 Попробовал сейчас на трехвольтовых ардуинках, тоже не работает прошивка. avrdude не понимает новый "программатор". Я помню, как с комндной строки указывал для avrdude программатор "ардуино" и прошивал какую-то мегу, висящую на проводках, да и загрузчика восстанавливал таким же образом, когда не было программатора нормального. Вечером попробую поразбираться, если кто-нибудь раньше не укажет на ошибку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2078] Автор : UA0YAS Дата : 14.09.2022 16:32 Зачем писать загрузчик от 328 в 2560? Avrdude не позволит этого. Попробуйте "большие" прошивки залить через сторонний usb-uart -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2079] Автор : R8CT Дата : 14.09.2022 17:08 Такая логика вроде бы должна быть. В статье по ссылке расписана именно такая процедура. Только последовательность отличается от приведенной Вами. Я делал по ссылке. (то есть Ваши пункты 1,2,5 - вот на заливке загрузчика в МЕГУ и происходит затык с указанной ошибкой) Советуют: Сообщение от R8CT check chip Как проверить - нет опыта, увы... Зачем писать загрузчик от 328 в 2560? Прочитав статью, у меня такое решение созрело. Возможно, неверное. Зачем писать загрузчик от 328 в 2560? Прочитав статью, у меня такое решение созрело. Заливал через IDE. Возможно, решение было неверное. Попробуйте "большие" прошивки залить через сторонний usb-uart Курил инет, но пока не понял как это сделать. В наличии есть переходники USB-UART от Али на FTDI и СН340 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2080] Автор : IG_58 Дата : 14.09.2022 17:13 R8CT, у меня такое ощущение, что ваши танцы с загрузчиком бесполезны. Загрузчик скорее всего в порядке, и чип коммуникационный, через который грузится скетч, тоже в порядке, иначе бы короткие скетчи, скорее всего, тоже не грузились бы. Был бы рад ошибиться, но думаю, что дело во флэш-памяти, с высокой вероятностью. Если получится ее заменить без больших трудозатрат, то я бы так и поступил, а если нет, то смиритесь и используйте эту плату для маленьких скетчей. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2081] Автор : R8CT Дата : 14.09.2022 17:16 Думаю, что дело во флэш-памяти. И как её реанимировать? Есть шансы? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2082] Автор : IG_58 Дата : 14.09.2022 17:23 R8CT, поменяйте ее. Если предположить, что она таки сдохла, и даже если каким-то чудом удастся ее регенерировать, то скорее всего, сдохнет опять через непредсказуемое время, и будете тр.....ся с ней дальше с непредсказуемым результатом. Но, может быть, есть какие-то шансы, пробуйте грузить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2083] Автор : veso74 Дата : 14.09.2022 17:47 Вклчите переходники USB-UART к пин 0 и 1 соотв. + RESET и залейте "большой" скетч. Если можно, дайте фото. Если плата старая, может она без optiboot. Есть несколько вариантов, напр. можно грузить через старую Arduino IDE. Попробуйте, напр. с v1.6.9. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2084] Автор : R8CT Дата : 14.09.2022 19:01 Если можно, дайте фото. Фото смогу предоставить завтра. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2085] Автор : ozforester Дата : 14.09.2022 20:22 R8CT, Прочитал еще раз - Да, должно работать. Попробовал еще раз - Нет, не работает. Примерно такой результат и ожидал. Подключил Уну, выбрал в иде Уну, выбрал скетч arduinoisp, прошил Уну. По идее, после прошивки, на Уне запускается "я ардуина-программатор". После выбора в меню IDE загрузчика "ардуина-программатор", Уна по хорошему не должна получать никаких ресетов, чтобы не свалиться в свой загрузчик и не прошиться вместо второй ардуины (или ругаться) Вместо этого, при попытке прошить "блиньк", Уна таки ресетится и прошивается "блиньком". Перебирать программаторы или avrdude времени нет, к сожалению. Одно могу сказать, раньше это действительно работало. Видел сегодня картинку где между ресетом Уны и землей стоит конденсатор, по видимому, ответ ардуинщиков на dtr, летящий через usb-uart на ресет Уны. Такие вот дела. Тут нужен сакральный опыт и конкретные версии софта и железа. И цветные картинки.. много картинок. (: Ход мыслей у Вас правильный. Все должно получиться, если продолжать бороться. Главное иметь на это время. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2086] Автор : R8CT Дата : 14.09.2022 20:39 Тут нужен сакральный опыт и конкретные версии софта и железа. Согласен. Оттого и обратился к сообществу. Спасибо, что уделили время и внимание. Со своей стороны попробую перебирать софт, и другие варианты прошивки, как советовали коллеги. Ну, и если ваще никак, то придется забыть про эту плату. Не помню, отчего, как и что произошло с этой платой. Давно лежит без применения по причине невозможности залить скетч. Еще раз спасибо за участие. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2087] Автор : ozforester Дата : 14.09.2022 21:16 Вот осталась ссылка на сайт ардуино, где видел конденсатор. Чтобы короткий импульс от сигнала dtr ушел на зарядку конденсатора, вместо того, чтобы ресетить эту ардуину. Но мне этот трюк не помог, а цеплять осциллограф к ресету или spi сигналам, это нужно очень сильно захотеть. (: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoISP -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2088] Автор : ozforester Дата : 14.09.2022 22:39 Было еще сомнение, что когда пробовал с конденсатором, то пытался прошить из меню upload а не upload using programmer. Собрал еще раз, и о чудо, замигал светодиод на второй ардуинке. Вторая это arduino pro mini, сейчас еще попробую с мегой трехвольтовой паяной перепаяной, думаю, должно получиться в конце-то концов! Всё, прошилась и 2560 через 328-ю. 378790 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2089] Автор : UA0YAS Дата : 15.09.2022 00:13 R8CT, выложите текст с ошибками из терминала при прошивке 2560 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2090] Автор : Bratelly Дата : 15.09.2022 03:45 У СH340 только один глюк: На скоростях меньше 1200 б/с не работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2091] Автор : RK3TD Дата : 15.09.2022 04:36 придется забыть про эту плату Привет, Олег! А все это время ты это делал одним и тем же кабелем? У меня была похожая ситуация - поменял USB кабель и все стало заливаться. Про смену загрузчика не пишу - уже писали. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2092] Автор : R8CT Дата : 15.09.2022 07:50 Если можно, дайте фото Фото платы все это время ты это делал одним и тем же кабелем? Сергей, привет. Кабели были разные, так сказать - проверенные в деле не однократно. Компы - тоже разные. выложите текст с ошибками из терминала при прошивке 2560 получил - Ошибка при записи загрузчика. avrdude: Expected signature for ATmega328P is 1E 95 0F Double check chip, or use -F to override this check. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2093] Автор : veso74 Дата : 15.09.2022 08:41 Какая версия Arduino IDE установлена? Соответствуют ли настройки нового загрузчика к Arduino Mega? Дайте скрины, чтобы оценить, что настраиваете. Если нет, опишите словами. Велика вероятность неточности. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2094] Автор : R8CT Дата : 15.09.2022 09:05 Какая версия Arduino IDE установлена? Версия IDE V2 Выбран соответствующий ком-порт и модель платы. Добавлено через 9 минут(ы): Было еще сомнение, что когда пробовал с конденсатором, то пытался прошить из меню upload а не upload using programmer. Собрал еще раз, и о чудо, замигал светодиод на второй ардуинке. Вторая это arduino pro mini, сейчас еще попробую с мегой трехвольтовой паяной перепаяной, думаю, должно получиться в конце-то концов! Всё, прошилась и 2560 через 328-ю. Докладываю. Если конденсатор установить в УНО до загрузки ISP скетча, то выдает ошибку загрузки скетча. avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x04 avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe0 avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x00 avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe0 Проблема загрузки в плату. При убранном конд ISP загружается в УНО. Затем подключаю МЕГУ (для верности взял точно работающую плату), на плату УНО ставлю кондер. Открываю новый скетч - блинк Инструменты - "Записать загрузчик" В ответ получаю Arduino: 1.8.3 (Windows 7), Плата:"Arduino/Genuino Uno" avrdude: Expected signature for ATmega328P is 1E 95 0F Double check chip, or use -F to override this check. Ошибка при записи загрузчика. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2095] Автор : IG_58 Дата : 15.09.2022 09:35 R8CT, можно еще попытаться загрузить из-под древней версии Arduino IDE, как коллега выше предложил. У меня сохранилась v1.6.3, могу выложить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2096] Автор : R8CT Дата : 15.09.2022 09:48 У меня сохранилась v1.6.3, могу выложить. Буду признателен. У меня установлена 1.6.5, но перестала запускаться на вин7 х64. Оттого и использую 1.8.6 и IDE V2 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2097] Автор : veso74 Дата : 15.09.2022 09:53 https://www.arduino.cc/en/software/OldSoftwareReleases Все версии там. Попробуйте ниже v1.8, напр. v1.6.9 (portable, без установки есть). Там на самом деле написано оригинальная плата Arduino, это оригинал по цене? Версию v2.0.0 я бы не стал ставить, выдает ошибки даже в простых программах. Вчера вечером пробовал 10 минут и удалил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2098] Автор : IG_58 Дата : 15.09.2022 09:54 R8CT, собственно, вот здесь все версии, включая 1.6, 1.5 и даже 1.0: https://www.arduino.cc/en/software/OldSoftwareReleases veso74, опередили меня :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2099] Автор : R8CT Дата : 15.09.2022 10:08 написано оригинальная плата Arduino Плата приобреталась давно. Очень давно. За ссылки спасибо, попробую портабельную версию. написано оригинальная плата Arduino Плата приобреталась давно. Очень давно. За ссылки спасибо, попробую портабельную версию. Добавлено через 11 минут(ы): должно получиться в конце-то концов! Да, это случилось. УНО использовал в качестве "Arduino As ISP" Но загрузку в МЕГУ сделал из меню Скетч-Загрузить через программатор Ctrl+Shift+U Нужный большой скетч залился в "кривую" плату. Работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2100] Автор : ozforester Дата : 15.09.2022 12:06 Ну вот, программатор есть. Сейчас можно перетыкаться с IPS 2560 на ISP 16U и заливать туда загрузчик (на словах) На самом деле все может пройти гладко, а может опять пойти не так. Но очевидный следующий шаг это перешить загрузчик U16 по хорошей инструкции и попробовать еще раз залить большой скетч в 2560 через U16 обычным образом. Все по порядку. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2101] Автор : R8CT Дата : 15.09.2022 12:11 На самом деле все может пройти гладко, а может опять пойти не так. Попытался вчера с помощью проги ATMEL FLIP перезалить загрузчик для U16. Но не помогло. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2102] Автор : ozforester Дата : 15.09.2022 12:53 То есть попытка перепрошить u16 была успешной, но с новой прошивкой большой скетч так же зависает, а короткий шьётся нормально? Значит атмеги обе исправны. Раз уже пробовали с разных компьютеров заливать, то с вероятностью 99% проблема на самой плате меги 2560. Можно в процессе загрузки следить осциллографом за питаинем на u16, за линией ресета к 2560, за сигналами rx/tx от u16 к 2560. Сравнить с такими же на рабочих мегах. Может уровни не даташитные. Может там резистор где подтягивающий ушел в обрыв, или конденсатор какой коротит. По 2560 платы должны быть одинаковы. Только функции адаптера на одной из них выполняет u16 и у нее больше всякого обвеса, который тоже может быть причиной. Кварц например. Вот и накапливается ошибка uart и уходит за допустимый предел за время прошивки. Но это лишь предположения. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2103] Автор : IG_58 Дата : 15.09.2022 13:55 с вероятностью 99% проблема на самой плате меги 2560. Собственно, я с самого начала подозревал именно это. UART, скорее всего, исправен, а глючит EEPROM по контрольной сумме. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2104] Автор : R8CT Дата : 15.09.2022 13:57 То есть попытка перепрошить u16 была успешной, но с новой прошивкой большой скетч так же зависает, а короткий шьётся нормально? Немного не так. На плату МЕГА с U16 _удалось_ залить большой скетч только через "Arduino As ISP" с использованием вспомогательной УНО. Таким же образом удалось залить большой сектч и на исправную МЕГУ с СН340 (для проверки). А вот перепрошить U16 не удалось. Использовал программу ATMEL FLIP. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2105] Автор : ozforester Дата : 15.09.2022 15:48 Ага, значит всё не так плохо. U16 еще может перепрошиться и заработать. С кондачка это не делается. Никакие посторонние программы не нужны. На компьютере установлено ардуино-иде, которое при установке тащит набор компиляторов avr-gcc и прошивальщик avrdude. На avr-gcc можно собирать свои программы и с помощью avrdude их прошивать в микроконтроллеры. Ide это лишь надстройка, которая за нас набирает команды gcc и avrdude с необходимыми параметрами. Ставим в ide галочки на "показывать дополнительную информацию о компиляции и загрузке", жмем "прошить через программатор" и в нижней части ide получаем длинный список со всеми командами. Вот сейчас поставил галочку "показать загрузку" и получил формат avrdude, который ide состряпала. /usr/bin/avrdude -C/etc/avrdude.conf -v -V -patmega2560 -carduino -P/dev/ttyUSB0 -b19200 -Uflash:w:/tmp/arduino_build_339166/Blink.ino.hex:i -p atmega2560 это мы для такого чипа прошивку шьём -carduino -P/dev/ttyUSB0 это программатор "arduino" подключен на com адаптер "USB0" В конце видны параметры для прошивки во флэш-память файла Blink.ino.hex, это скетч блиньк после компиляции. Все ключи можно увидеть, если просто запустить avrdude без параметров. Если что-то более развернуто прочитать, то там тоже есть варианты. Например можно вывести список поддерживаемых программаторов, микроконтроллеров и пр. Фьюзы avrdude почти всегда считывает и показывает, так что специально их запрашивать нет необходимости. По фьюзам можно судить, в каком режиме работает микроконтроллер, можно ли прочитать прошивку с него, в частности для 2560 там будет установлен бит использования загрузчика и биты резервирующие нужное количество памяти для этого загрузчика, возможно биты защиты обрасти загрузчика. Что для конкретной U16 установлено, можно узнать лишь подключившись и прочитав. В даташите на каждый микроконтроллер фьюзы расписаны подробно. Вобщем, если подключиться к isp разъёму возле u16 и запустить avrdude, указав ему тип программатора и тип микроконтроллера, то avrdude попробует подключиться к мк. Наример прошивка для U16 могла бы выглядеть так: /usr/bin/avrdude -C/etc/avrdude.conf -v -V -pm16u2 -carduino -P/dev/ttyUSB0 -b19200 -Uflash:w:proshivka_dlya_u16.hex:i В виндосе команда будет немного по другому выглядеть, и ком-порт, и пути к файлам, но суть одна. avrdude подключится к порту USB0 куда воткнут юсб кабель, будет использовать команды для программатора arduino, посылать команды на скорости 19200, и по сигнатуре проверять что к программатору подключен m16u2 (atmega16u2) или ругаться. Считайте для начала хотя бы фьюзы с u16. Это будет означать, что программатор с чипом связывается и можно искать инструкцию для восстановления прошивки микроконтроллера u16 на плате мега2560 Вот что дал поиск по папке ардуино на ноутбуке. Там у ардуины эти прошивки на черный день уже припасены. Вторая и последняя очень похожи по названию на то, что нужно. У меня 2560-R3, то есть точно последняя. /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Genuino-usbserial-atmega16u2-Uno-R3.hex /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-Mega2560-Rev3.hex /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-MegaADK-Rev3.hex /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Arduino-usbserial-atmega16u2-Uno-Rev3.hex /usr/share/arduino/hardware/arduino/avr/firmwares/atmegaxxu2/arduino-usbserial/Genuino-usbserial-atmega16u2-Mega2560-R3.hex -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2106] Автор : UA0YAS Дата : 15.09.2022 16:03 ]R8CT, выложите текст с ошибками из терминала при прошивке 2560 (не бутлоадером) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2107] Автор : R8CT Дата : 15.09.2022 18:02 текст с ошибками из терминала при прошивке 2560 (не бутлоадером) Arduino: 1.8.6 (Windows 10), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" Скетч использует 124054 байт (48%) памяти устройства. Всего доступно 253952 байт. Глобальные переменные используют 2556 байт (31%) динамической памяти, оставляя 5636 байт для локальных переменных. Максимум: 8192 байт. avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_ReceiveMessage(): timeout avrdude: stk500v2_getsync(): timeout communicating with programmer Произошла ошибка при загрузке скетча U16 еще может перепрошиться и заработать. С кондачка это не делается. Прочитал, но мало что понял. Не хватает знаний. Буду пытаться по Вашему описанию делать. Но наверное, завтра с утра. На свежую голову. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2108] Автор : rz6bb Дата : 15.09.2022 19:03 Всем привет! Прошу помощи. Приобрел LCD графические дисплеи ERM19264_UC1609 на контроллере UC1609C разрешением 192X64, и 12864 IIC ЖК-модуль 128X64 I2C ST7567S COG (https://trade.aliexpress.ru/order_detail.htm?spm=a2g2w.orderlist.0.0.1e5b4aa6bsbsmL&orderId=5030372992495505&orderSource=GlobalTrade), не смог оживить, использовал рекомендованные библиотеки LCD_UC1609,ERM19264_UC1609 ,U8g2-2.32.15. Подсветка есть,а на экране никаких признаков ответа. Подскажите ,кто знает секрет запуска этих девайсов. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2109] Автор : ozforester Дата : 15.09.2022 19:46 R8CT, для истории: Подключил по вчерашней схеме мегу2560 к уне 378816 Раз уж говорили про конденсатор, то как раз на схеме подтяжка ресета рядом, можно тау посчитать, сколько конденсатор 10 мкф. будет заряжаться до напряжения, необходимого для старта мк. Набрал команду без параметров чтения или записи (тогда просто кажет сигнатуру и фьюзы) oleg@laptop ~ $ avrdude -carduino -p m2560 -P /dev/ttyUSB0 -b 19200 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9801 (probably m2560) avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF) avrdude done. Thank you. аккуратно все шесть проводов с isp 2560 преставляю на isp 16u2 и немного изменяю команду 378817 oleg@laptop ~ $ avrdude -carduino -p m16u2 -P /dev/ttyUSB0 -b 19200 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9489 (probably m16u2) avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF) avrdude done. Thank you. читаю флэш с 16U в файл oleg@laptop ~ $ avrdude -carduino -p m16u2 -P /dev/ttyUSB0 -b 19200 -U flash:r:m16u2dump.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9489 (probably m16u2) avrdude: reading flash memory: Reading | ################################################## | 100% 16.36s avrdude: writing output file "m16u2dump.hex" avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF) avrdude done. Thank you. смотрю размер файла дампа oleg@laptop ~ $ ls -l m16u2dump.hex -rw-r--r--. 1 oleg oleg 37168 Sep 15 17:46 m16u2dump.hex считаю контрольную сумму на всякий случай oleg@laptop ~ $ md5sum m16u2dump.hex ea34787f28c2d0a4b59c7bce4b4c65fb m16u2dump.hex прошиваю файл обратно в 16u oleg@laptop ~ $ avrdude -carduino -p m16u2 -P /dev/ttyUSB0 -b 19200 -U flash:w:m16u2dump.hex:i avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.02s avrdude: Device signature = 0x1e9489 (probably m16u2) avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "m16u2dump.hex" avrdude: writing flash (15644 bytes): Writing | ################################################## | 100% 27.50s avrdude: 15644 bytes of flash written avrdude: verifying flash memory against m16u2dump.hex: avrdude: load data flash data from input file m16u2dump.hex: avrdude: input file m16u2dump.hex contains 15644 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 15.71s avrdude: verifying ... avrdude: 15644 bytes of flash verified avrdude: safemode: Fuses OK (E:F4, H:D9, L:FF) avrdude done. Thank you. подключаю мегу2560 к ноутбуку юсб кабелем, чтобы убедиться, что 16u2 эмулирует юсб-сериал. смотрю какой порт появился после подключения меги2560 oleg@laptop ~ $ dmesg |tail [29868.049129] usb 1-5.2: new full-speed USB device number 7 using xhci_hcd [29868.241020] usb 1-5.2: New USB device found, idVendor=2341, idProduct=0242, bcdDevice= 0.01 [29868.241041] usb 1-5.2: New USB device strings: Mfr=1, Product=2, SerialNumber=220 [29868.241054] usb 1-5.2: Product: Genuino Mega 2560 [29868.241065] usb 1-5.2: Manufacturer: Arduino LLC (www.arduino.cc (http://www.arduino.cc)) [29868.241075] usb 1-5.2: SerialNumber: 5533031363535121B100 [29868.251580] cdc_acm 1-5.2:1.0: ttyACM0: USB ACM device из сообщений ядра видно, что обнаружен USB ACM и создан файл-устройство ttyACM0 правим avrdude и подключаемся к меге2560 oleg@laptop ~ $ avrdude -cwiring -p m2560 -P /dev/ttyACM0 -b 115200 avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9801 (probably m2560) avrdude: safemode: Fuses OK (E:FD, H:D8, L:FF) avrdude done. Thank you. 16U выполняет функцию адаптера юсб-ком, а 2560 отвечает через нее программатору. Было бы логично, пока подцеплен и настроен "ардуино программатор", прошить бутлодер в 2560 нажатием кнопки "прошить загрузчик" в ide. Это тоже полезный опыт. К тому же загрузчик 2560 тоже может чудить с большими файлами. Даже можно его прочитать и сравнить его хэш с прочитанным с рабочей меги. (: Если перепрошивка атмег не даст результата, тогда, как советует IG_58, меняйте кварцы. Это хорошо "бьётся" с проблемой, если размеры успешно записанной части прошивки немного отличаются. Если же сбоит всегда на одном и том же размере, то или программная ошибка загрузчика или железячная в uart. Ведь через "программатор" большая прошивка заливается, а это как раз в обход uart-ов двух атмег и дорожек rx/tx между ними. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2110] Автор : rz6bb Дата : 21.09.2022 14:51 Нашел казалось правильный вариант запуска ЖК-модуль 128X64 I2C ST7567S COG (https://trade.aliexpress.ru/order_detail.htm?spm=a2g2w.orderlist.0.0.1e5b4aa6bsbsmL&orderId=5030372992495505&orderSource=GlobalTrade) U8G2_ST7567_ENH_DG128064I_F_SW_I2C u8g2(U8G2_R0, 5 /* I2C SCL пин */, 4 /* I2C SDA пин */, U8X8_PIN_NONE); и назначить I2C который я определил сканером I2c ,он оказался 03F ,потому в скетч добавил u8g2.setI2CAddress(0x3F * 2); однако это не помогло. Не смог найти U8G2 в которой есть этот конструктор U8G2_ST7567_ENH_DG128064I_F_SW_I2C u8g2(U8G2_R0, 5 /* I2C SCL пин */, 4 /* I2C SDA пин */, U8X8_PIN_NONE); все какие нашел библиотеки установил, но в них отсутствует необходимый радел. Подскажите или дайте ссылку. С уважением, Александр! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2111] Автор : Tolya Дата : 04.10.2022 19:07 Есть конструкция ксв метра от D0ISM..можно в нём изменить режим измерения..0--20w на 0--5w..? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2112] Автор : D0ITC Дата : 29.10.2022 10:00 Может кто подскажет как решить проблему: в одном своём проекте сделал сохранение проведённых в эфире связей, в одну внешнюю память сохраняются собственно связи, а в другую набирается база позывных чтобы при внесении QSO не нужно было всегда печатать имя и QTH корреспондента. И журнал и базу могу скачивать на комп и сохранять в текстовых файлах. А вот с "закачиванием" с компа в мегу не всё так хорошо. 380540 380541 Выделяю первую строку с кодовым словом, вставляю в командную строку монитора порта и отправляю, строка сохраняется куда нужно. В конце каждой строки есть признак продолжения и программа ждёт следую строку. Дальше выделяю вторую, вставляю, отправляю и так до последней записи. В конце последней строки есть признак окончания и программа возвращается в исходное состояние. Очень хотелось бы сделать так: выделяю весь текст, отправляю и он построчно влетает в сериал. Понимаю, что в идеале нужно писать программу для компа, но может есть какой вариант. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2113] Автор : ozforester Дата : 29.10.2022 11:08 Если я правильно понимаю, то можно выделять не строчки а файл и аплоудить одним из протоколов. z--modem к примеру. Помините, когда не было интернета и даже фидонета. но были бэбээски? Пользовались очень часто для передачи файлов разных форматов с рабочей станции и обратно такими протоколами. Давно про них не вспоминал, но думаю обработчик не сильно большой нужно писать со стороны МК. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2114] Автор : D0ITC Дата : 29.10.2022 11:55 Да, конечно, выделяется весь текст, а затем в каком-либо цикле отправляется в сериал порт, признаки продолжения передачи и окончания есть, по ним ориентироваться. Не знаю как выделенный текст отправить в порт. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2115] Автор : ozforester Дата : 29.10.2022 12:24 Я имел в виду гипертерминал, путти или что в винде сейчас доступно. Стандартные протоколы как плагины могут быть доступны во многих приложениях, это как бы просто идея, чтобы для компа ничего специального не писать. Со стороны меги можно посмотреть на гитхабе готовые библиотеки или подходящие решения с использованием x-modem, z-modem и т.п. p.s. Да, конечно, ничто не мешает кинуть в окно терминала кусок текста. Главное чтобы это не расходилось с идеалогией на другой стороне, ну там типа спецсимоволы разные. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2116] Автор : igor3e Дата : 08.12.2022 13:22 А кто то имел дело с Ардуино-нано, процессор М168РА? Не могу "подружить" с "XLoader" и подобными программами. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2117] Автор : DARKSTAR Дата : 08.12.2022 13:45 igor3e, непонятен вопрос. Ваша Ардуино-нано имеет прошитый загрузчик, чтобы запрограммировать сама себя? P.S. Кстати, при прошивке китайских клонов (в частности именно 168) выдаётся ошибка "warning: cannot set sck period", там скорость порта надо корректировать, или что-то в этом роде. Позабыл уже... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2118] Автор : igor3e Дата : 08.12.2022 13:55 Вопрос в том , что надо загрузить hex-файл. Скетчи работают нормально. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2119] Автор : ozforester Дата : 08.12.2022 15:01 Включаете в настройках программы ардуины вывод информации о загрузке, там интуитивно понятно о чем речь. Затем какой-нить блиньк загружаете в плату. В нижнем окне программы "мусор" выделяете и копируете в блокнот. В блокноте поиском ищете команду avrdude. В строке команды среди параметров находите имя хекс-файла того блинька и меняете на свой хекс. Команду запоминаете (или копируете) в командную строку терминала виндоз. Идея в том, чтобы подглядеть, как формирует ардуина командную строку avrdude, как обозначает порт, скорость порта, имя программатора (загрузчика) данной платы и т.п. Когда мы меняем лишь имя файла, то случится все то же самое, как если бы мы жали кнопку загрузить, но с нужным нам именем файла. Идея ферштеен? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2120] Автор : igor3e Дата : 08.12.2022 15:42 "... avrdude: Device signature = 0x1e940b (probably m168p) avrdude: reading input file "C:\Users\IGOR~1.TSU\AppData\Local \Temp\arduino_build_485790/Blink.ino.hex" avrdude: writing flash (1030 bytes): Это оно? Выделено красным. Добавлено через 11 минут(ы): В строке команды среди параметров находите имя хекс-файла того блинька и меняете на свой хекс Вот тут непонятно-где эта строка команды находится? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2121] Автор : ozforester Дата : 08.12.2022 15:57 382048382049 ... /usr/bin/avrdude -C/etc/avrdude.conf -v -V -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/arduino_build_878113/Blink.ino.hex:i ... Параметры, понятное дело, у нас будут совсем разные, так как у меня не видноз. В моем случае путь к файлу /tmp/arduino_build_878113/Blink.ino.hex Его нужно заменть на новый. (: Забыл. Строка команды это командная строка виндоза. Ну, терминал или как его в виндозе называют, который раньше был cmd.exe -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2122] Автор : igor3e Дата : 08.12.2022 16:12 Я понимаю , что путь надо поменять...Я не понимаю, каким образом мне поможет командная строка виндоус. Кстати, у меня "Семёрка" в данный момент-там как раз cmd.exe;-) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2123] Автор : R2DHG Дата : 08.12.2022 16:19 А в чем именно проблема подружить с xloader ? Какую то ошибку выдает ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2124] Автор : ozforester Дата : 08.12.2022 16:19 Так как "со скетчами все в порядке", значит установлена среда ардуино. Если установлена ардуина, то она тянет за собой avrdude и avr-gcc. Раз установлена avrdude, значит это лучшее, что можно использовать для программирования avr на данном компе. 90, а может и больше, процентов графических программ все равно запускают эту самую avrdude со своими параметрами, а ардуинская среда программирования позволяет выводить на экран процесс загрузки скетча, где как раз видно запус команды avrdude с правильными параметрами. Все параметры для данной платы (с которой нет проблем со скетчами) остаются одинаковы, меняются лишь названия файлов, если записываются разные скетчи. Ничто не мешает пользователю самому менять имя хекс-файла в этой строке и вводить строку команды вручную в своей системе. Лучше уже не объясню. Как поможет? Ну, вот так и поможет - сформировать команду и записать хекс в плату ардуино, без исходного скетча. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2125] Автор : igor3e Дата : 08.12.2022 16:44 ozforester, что бы сформировать команду, надо знать как она "пишется"... xloader на данный момент ошибку никакую не выдает, просто зависает на "Uploading" -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2126] Автор : ozforester Дата : 08.12.2022 17:45 Скетчи работают нормально. Значит еще раз подключаем ардуину к ардуинской программе и проверяем, что работают. Напрмер, блиньк собираем и шьём в неё. Чтобы убедиться, что ничего не изменилось, и скетчи по прежнему "работают нормально" Не могу "подружить" с "XLoader" и подобными программами Мне известны лишь avrdude, как подобная программа, которая шьет почти все avr, и ардуино-среда, которая шьет все ардуины. Не знаю, может ли сейчас ардуино-среда шить готовые хекс-файлы. Если может, то кто-нибудь из присутствующих подскажет. А как сформировать для avrdude команду с нужными параметрами и своим хекс-файлом, я попробовал объяснить в предыдущих двух ответах. Может что-то ускользнуло от внимания, перечитайте их еще раз неспеша. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2127] Автор : Kim_Dim Дата : 08.12.2022 18:07 Ардуино изменили загрузчик. Xloader работает с новым загрузчиком? Можно попробовать новую версию xloader или записать старый загрузчик. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2128] Автор : R2DHG Дата : 08.12.2022 18:30 Иногда по скорости отличаются 115200 / 57600, но тогда ни среда ни xloader не льют если перепутать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2129] Автор : Kim_Dim Дата : 08.12.2022 18:34 Иногда по скорости отличаются 115200 / 57600, но тогда ни среда ни xloader не льют если перепутать. Ну да optiboot или старый загрузчик, а вообще avrisp стоит копейки и позволяет как загрузчики переписывать, так и hex'сы писать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2130] Автор : ozforester Дата : 08.12.2022 19:08 Давно, небось, мультик смотрели? (: 382067 Как же ты сам теперь без "костыля"? (Заяц) Ну, "костыль" завсегда и другой можно найти.. (Ёжик) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2131] Автор : ozforester Дата : 09.12.2022 12:34 D0ITC, Про терминал забыл добавить, просто это мало кому сейчас интересно. Обычно в терминальных текстовых режимах для предотвращения переполнения буфера приемника, и для выполнения каких-нибудь действий в паузах, эти паузы включаются программными или аппаратными командами. Обычно помнят аппаратные, но на упрощенных интерфейсах лучше использовать xon/xoff. Старые терминалы, если помните, поддерживали разные команды, и вдобавок еще свои терминальные, типа vt100, vt420, для перемещения курсора, изменения атрибутов текста и т.п. Вобщем суть в том, что если включать в терминале xon/xoff поддержку, а со стороны МК посылать xoff для того, чтобы терминал подождал сливать весь кусок текста сразу, то теряться не будет, а после работы с памятью засылать xon. Может это имелось в виду при построчной отправке. Поздно сообразил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2132] Автор : igor3e Дата : 09.12.2022 13:41 Ну до avrisp я пока не дорос-заказал USBASP-надо же с чего то начинать:smile:. Кстати, новую версию xloader я не нашёл-если есть ссылка на новую версию, подскажите пожалуйста. На данный момент у меня уже две проблемных платы с процессором 168РА, одна после записи "blink" больше ни с чем не коннектится , у второй ( в ардуино-иде выбрана плата MiniCore 168PA) с компиляций некоторых скетчей проблема, которые без проблем компилируются Arduino avr Boards.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2133] Автор : veso74 Дата : 09.12.2022 14:04 "Волшебных моментов" не бывает. Подключите работающий Arduino UNO/Nano в качестве ArduinoISP. Подсоедините 4 провода (RESET, MOSI, MISO, SK) к нерабочему плату. Используйте AVRDUDESS. Взгляните на то, что внутри МК: флаш, фюзы. Заархивируйте. Загрузите новый загрузчик и перезапишите. Это только если платы и МК физически здоровы. И никаких случайно записанных фюз. (Последной случай легко можно исправить - какой-нибудь "AVR-доктор", на ATmega8 и др., последное время предпочитаю под Arduino - прямо на пластиковый бредборд). В общем: впредь не записывайте с XLoader, пока не будет ясно теоретически как и что записываете. С XLoader удаление буутлоудера "находится" всего в одном "щелчке мыши" :). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2134] Автор : Kim_Dim Дата : 09.12.2022 14:48 Если есть плата Ардуино нано или uno из нее можно сделать программатор https://alexgyver.ru/lessons/programmer-tips/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2135] Автор : igor3e Дата : 09.12.2022 14:59 veso74, спасибо! Скачал-разбираюсь потихоньку. ArduinoISP -это то . что на данный момент нужно. Kim_Dim, да, уже сделал... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2136] Автор : ra6ljm Дата : 09.12.2022 15:55 Подскажите, если закидываю скетч в камень через usbisp, загрузчик затирается? Что то не желает грузиться через usb... Спасибо -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2137] Автор : R2DHG Дата : 09.12.2022 16:34 Через isp затирается если в hex нет загрузчика. Сейчас среда позволяет формировать hex прям из меню (Экспорт бинарного файла) и делает сразу два hex - с загрузчиком и без, можно так загрузчик восстановить. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2138] Автор : ozforester Дата : 09.12.2022 17:29 Интересно, сколько на форуме arduino.cc забаненных за вопрос - "А почему в меню написано экспорт бинарного файла, а выдется два хекса?" (: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2139] Автор : D0ITC Дата : 10.12.2022 09:12 ozforester (http://www.cqham.ru/forum/member.php?37307-ozforester), спасибо за информацию, пока ещё изучаю вопрос. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2140] Автор : vadim_d Дата : 10.12.2022 10:34 в меню написано экспорт бинарного файлаТут "бинарный" означает больше "скомпилированный" или "исполняемый", а вот его формат может быть и шестнадцатеричным -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2141] Автор : ozforester Дата : 10.12.2022 12:47 Ну, ладно, пусть будет. Просто avr-gcc создает elf, который с помощью avr-objcopy преобразуетcя в интеловский шестнадцатиричный формат. Среди target параметров avr-objcopy есть и ixhex, и binary. Указывая параметр таргет ihex, мы получим хекс, а указывая binary - получим бинарный. Точность терминологии как свежесть осетрины - или она есть, или её нет. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2142] Автор : vadim_d Дата : 10.12.2022 13:52 avr-gcc создает elfТут можно только порадоваться, что всю эту систему сделали доступной для широкого круга пользователей без необходимости изучать ее до глубин. Когда Константин Иванов выложил ассемблерные исходники своего синтезатора, я первый раз попробовал gcc на атмеге, был приятно удивлен качеством компиляции пробного сишного кода под синтезатор. Тогда же перенес на атмегу свой вариант многозадачной среды с сопрограммным переключением, сделанный когда-то под 8080/8085, удивился, что все сразу заработало. Ну может и есть конечный радиус кривизны в ардуиновском софте, сделайте им pull request со своими правками :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2143] Автор : igor3e Дата : 12.12.2022 16:06 В общем, прошил я свою 168РА hex-ом. В соседней теме нашёл ссылку на bat-ник , ну а дальше дело техники... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2144] Автор : ra6ljm Дата : 13.12.2022 09:20 Ардуина pro mini. Заливаю через програматор загрузчик- всё отлично. Подключаю юсб юарт, на фст232 - притухает диод питания и атмега перестает откликаться. И это уже вторая( Первая заметил грелась в этот момент. Переходник на фст рабочий. Что то с питанием моего компьютера?хотя загрузчик же льется нормально- я в ступоре и меги кончились... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2145] Автор : veso74 Дата : 13.12.2022 09:26 Дайте схему, фото, скрины, откуда программный код и т.д. Без информации угадать сложно. На FST замкните RX+TX и попробуйте Serial. Oтвечает? (эхо). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2146] Автор : vadim_d Дата : 13.12.2022 10:13 Подключаю юсб юартСкорее всего есть большая разность потенциалов между атмегой и компом, попробуйте отдельно пробросить землю с компа на атмегу во время таких экспериментов -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2147] Автор : ra6ljm Дата : 13.12.2022 11:05 veso74, Эхо есть. Схемы чего? Подключение стандартное. Загрузчик стандартный. vadim_d, А вот это скорее всего. Эти не надежные китайские провода, после нескольких подключеий болтаются, как.. Комп в розетке заземлен, может зря -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2148] Автор : vadim_d Дата : 13.12.2022 11:13 Комп в розетке заземлен, может зряЕсли при этом заземлен и источник питания атмеги, то не зря :). Много раз наблюдал, как коллеги ухитрялись сжигать и микроконтроллеры, и ПЛИС при подключении USB/JTAG разъемов -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2149] Автор : veso74 Дата : 13.12.2022 12:20 Схемы чего? 1. по этому поводу: могу сфоткать китайский преобразователь с перепутанными местами RX/TX на плате. 2. по поводу стандартного загрузчика: могу дать 3 вида bootloaders, все стандартные. И все разные. И тому подобные вещи. А одно фото и соотв. скриншот - это 20 секунд ... :/ --- В начале попробуйте внешний линейный, выдерживающий нагрузку источник питания +5V. Без USB 5V. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2150] Автор : Из Сибири Дата : 28.12.2022 16:33 Всех с наступающим Новым Годом !!! Пришла плата https://aliexpress.ru/item/32341832857.html?spm=a2g2w.orderdetail.0.0.20574aa6FCch5n&sku_id=65821993776 , подключил её к юсб порту, в диспетчере устройств прописался порт, устройство опазналось. Открыл первый попавшийся скетч, указал ардуино нано, микроконтроллер и порт. Нажал загрузить скетч, а загрузка не идёт ??? Что делаю не так, прошу прояснить ситуацию? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2151] Автор : RA3WDK Дата : 28.12.2022 16:44 Две штуки примерно пару месяцев назад брал - https://aliexpress.ru/item/32341832857.html Все нормально шьется. При старте платы мигает красный светодиод ? (тестовая прошивка мигания светодиодом часто бывает залита при изготовлении платы) Драйвер под USB чип CH340 поставили ? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2152] Автор : Из Сибири Дата : 28.12.2022 16:57 Ранее шил про мини без проблем. После компиляции отпуская кнопку на плате, в нано ведь ничего подобного делать не нужно -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2153] Автор : veso74 Дата : 28.12.2022 17:03 а загрузка не идёт ... Arduino IDE -> Инструменты -> Процессор ATmega328P -> ATmega328P (Old Bootloader)? Копируете красную надпись для ошибок. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2154] Автор : RA3WDK Дата : 28.12.2022 17:15 На кнопку не нажимал - это точно. Нужно в диспетчере задач посмотреть - появился новый порт или нет. У IDE есть такая особенность, под каждую плату назначать новый номер порта. Вот у меня две Меги и Нано, у каждой свой порт. Иногда плата теряется программой и нужно в настройках руками прописывать номер порта. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2155] Автор : Из Сибири Дата : 28.12.2022 17:36 > ATmega328P (Old Bootloader)? А вот этого у меня нет, просто предлагает две опции микроконтроллеров 328 или 168 382870 Появляется, крайний светодиод мигает, а рядом горит постоянно, больше ничего не происходит появился новый порт или нет. 7 порт прописывается -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2156] Автор : veso74 Дата : 28.12.2022 17:41 Около года назад я Вам писал как ответа за такие ошибки. Обновите Arduino IDE. По крайней мере до v1.8.9 (на winXP работает). Лучше v1.8.19 (win7 ОК). V1.8.2 была актуальна в начале 2017. Поэтому нет меню, нет доступа к новым типам. (Новые типы: с optiboot. Попробуйте как UNO, неважно, что это Nano. Но лучше обновите Arduino IDE). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2157] Автор : Андрей_1976 Дата : 28.12.2022 17:43 Может там ресета нет? Можно попробовать дать ресет кнопкой при загрузке ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2158] Автор : veso74 Дата : 28.12.2022 18:00 Reset осуществляется чрез схема внутри - большой кондензатор с CH на ATmega. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2159] Автор : Андрей_1976 Дата : 28.12.2022 18:04 Ну попробовать все равно может получится с кнопкой ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2160] Автор : veso74 Дата : 28.12.2022 18:07 Из Сибири, ниже тест "наоборот": Ardino с optiboot ("новой тип"), пытаюсь записать как "старый тип". Ошибка такая же. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2161] Автор : Из Сибири Дата : 28.12.2022 18:10 Лучше v1.8.19 (win7 ОК). Попробуйте как UNO, неважно, что это Nano. . Установил 19-ю и в настройках UNO поставил, скетч залился. Да надо вовремя обновлять :-P Но почему то светодиоды не мигают как на мини а начинают в полнакала светиться. Пишет что загрузка завершена -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2162] Автор : RA3WDK Дата : 28.12.2022 18:22 У меня 1.8.19 Плата определена "Arduino Nano" Процессор Atmega328P Все прошивается и работает. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2163] Автор : r7kko Дата : 19.01.2023 23:37 To Integral Сделал версию с регулировкой температуры. Стояла версия 2.6 с часами. Все работало. Решил поставить с температурой - ILI9225_SWR_PWR-meter_menu_Nano_2.30_YL3BF.rar (http://www.cqham.ru/forum/attachment.php?attachmentid=319708&d=1567536758) Теперь нет заставки. Дисплей без регулировки яркости. Что необходимо изменить в скетче, чтобы заставка включалась? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2164] Автор : Integral Дата : 20.01.2023 00:34 Что необходимо изменить в скетче, чтобы заставка включалась? Заставка включается при двух условиях - отсутствие сигнала по входу АЦП прямой волны и значение счетчика времени clockTime=0 Как только появляется сигнал по входу АЦП выше значения 10, то переменная clockTime взводится до значения 600. Поэтому поднимите уровень срабатывания выше 10 (строки 129, 130, 153 и 160). И если необходимо уменьшить время ожидания (отсутствия сигнала) до срабатывания заставки - уменьшить счетчик clockTime (строка 55). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2165] Автор : r7kko Дата : 20.01.2023 02:56 однимите уровень срабатывания выше 10 (строки 129, 130, 153 и 160) Поднимал до 90 уменьшить счетчик clockTime (строка 55) Уменьшал до 60 Все равно нет заставки. Ну и бог с ней... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2166] Автор : RA3APW Дата : 28.01.2023 14:09 Может быть будет полезно кому-то - Arduino симулятор https://wokwi.com/ -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2167] Автор : Андрей_1976 Дата : 23.02.2023 17:28 Подскажите проверенный LC метр на Arduino ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2168] Автор : r7kko Дата : 23.02.2023 17:46 To Integral Сообщение от Integral Поднимите уровень срабатывания выше 10 (строки 129, 130, 153 и 160) Поднимал до 90 Сообщение от Integral уменьшить счетчик clockTime (строка 55) Уменьшал до 60 Все равно нет заставки. Ну и бог с ней... Может еще есть привязка по последней строке - там где температура и FAN OFF|ON? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2169] Автор : will-kidd Дата : 24.02.2023 01:30 L-meter в виде шилда. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2170] Автор : Олег,RA3DNC Дата : 14.04.2023 18:38 Добрый вечер! Пожалуйста помогите файлом библиотеки midi.h -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2171] Автор : RA3WDK Дата : 14.04.2023 19:10 Что то не заработало со штатной ? https://playground.arduino.cc/Main/MIDILibrary/ можно на Githab глянуть https://github.com/FortySevenEffects/arduino_midi_library/blob/master/src/MIDI.h P.S> каждую вторую библиотеку приходится под себя переделывать -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2172] Автор : Олег,RA3DNC Дата : 14.04.2023 20:44 [QUOTE=RA3WDK;1956183]Что то не заработало со штатной ? Штатной не было в наличии. Пытаюсь загрузить скетч для контроллера для SDR-Console. Сейчас на отсутствие Midi библиотеки ругаться перестал,выдал ошибку SetTime_DS3231, но компиляция прошла до конца вроде бы успешно. Попробую залить. Добавлено через 44 минут(ы): Еще вопрос. Чтобы Ардуина превратилась в MIDI-устройство, необходимо плату перевести в DFU-режим и вместо загрузчика залить соответствующий файл. Перевожу в DFU, запускаю Flip 3.4.7, а он не видит устройство. В чем может быть проблема? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2173] Автор : Tolya Дата : 19.04.2023 16:17 Всё было хорошо...работал измеритель мощности и ксв на Ардуино с сдр трансивером Флех 1500..помех не наблюдалось, но вот появилась старенькая,но в хорошем состоянии радиола...так как на дв.св и кв слушать нечего,только укв и то у нас всего две станции..при включении оказалось что весь диапазон забит помехами,стал разбираться и обнаружил что гадит это ксв метр на ардуино..хотя радиола стоит в другой комнате... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2174] Автор : Андрей_1976 Дата : 19.04.2023 17:26 Скорее всего не сама ардуина, а цепи динамического дисплея ... В принципе можно на регистрах сделать, и делать вывод по факту изменения информации ... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2175] Автор : R2DHG Дата : 19.04.2023 17:52 Только опять же не динамически и без использования микросхем-драйверов, а вообще с самыми обычными дешевыми текстовыми LCD схемы не шумят. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2176] Автор : Tolya Дата : 19.04.2023 18:16 Хорошо...буду разбираться... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2177] Автор : ua3rmb Дата : 19.04.2023 19:27 Модуль Pro Micro ATMEGA32U4 5 В/16 МГц с Загрузчиком для arduino MINI USB/Micro USB с 2-рядным штырьковым разъемом для arduino за 324,00 ₽ - уже со скидкой -30% https://sl.aliexpress.ru/p?key=0Bhpwtq Вот на этой сразу определяется как midi-контроллер, без всяких костылей. Тема была на QRZ.RU. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2178] Автор : radio-23 Дата : 13.06.2023 19:23 test -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2179] Автор : ozforester Дата : 01.08.2023 22:06 О как бывает! 391053 "Гвозди бы делать из этих людей, крепче бы не было в мире гвоздей" (-8 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2180] Автор : RA3WDK Дата : 02.08.2023 07:03 Это особый склад мышления. Я так не могу. Либо весь код на асме, либо Си/Arduino. вроде, и то, и то программирование МК, а философия сильно разная. Di-Halt может, я видел :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2181] Автор : ozforester Дата : 02.08.2023 08:21 В немалой степени особый склад характера. Решительный человек, по всей видимости. (: Технически-то, возможно, что исходник на асме прогнали через текстовый процессор типа awk, а затем макро дописали для ардуины, хорошо её понимая. Хотел по быстрому проверить на одной шине i2c и smbus устройства, и вот не случилось. Решил, что проще будет взять аттини с асмом, и перед smbus понижать делителем системный клок. Как пример, что не всегда на ардуинке незнакомую периферию можно быстрее протестить при наличии готовых библиотек. Хотя обычно быстрее именно к ардуине подцепить, а уж потом думать. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2182] Автор : R2DHG Дата : 02.08.2023 11:37 Ну это каждый раз когда хочется странного от штуковины, которая создана для обучения embedded на примере мигалок, часов и прочих FM приемников. Все что посложнее типа контроллеров 3д принтеров/чпу, коптеров или uSDX использует всякие твики и asm вставки, там от ардуино разве что возможность компиляции и загрузки в родной среде остается :-P -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2183] Автор : veso74 Дата : 02.08.2023 11:46 Возможно имеет смысл только для быстрых процессов или например уменьшения объема кода. Но это для, например. одно устройство в конкретном приложении. Разбираться, модифицировать, добавлять код таким способом наверное сложно и от написания алгоритма/кода под устройство нам приходится большую часть времени писать код для регистров, байтов в МК. Но кто к этому привык. У меня были друзья, которые писали только на ASM. Они "защищали" ассемблер в спорах, не сдаваясь. Сегодня пишут на C (или больше не заниматься программированием) :). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2184] Автор : Tolya Дата : 19.09.2023 12:54 Вчера столкнулся с проблемой...режил поработать на двойке в Авроре...включил аппарат а весь диапазон забит помехами...подумал что на стройке,рядом дом строят сварочные работы ведутся...в общем бросил это дело..сегодня думаю дай попробую..и опять тоже самое...давай разбираться..что да как..оказался что это гадит КСВ метр на Ардуино..выключил его и всё стало нормально...что с этим делать и как побороть эту гадость..? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2185] Автор : Kim_Dim Дата : 19.09.2023 13:03 Tolya, прежде чем давать советы хотелось бы увидеть схему и конструктивное исполнение КСВ метра, то что он на Ардуино вообще дело десятое -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2186] Автор : Tolya Дата : 19.09.2023 13:13 то что он на Ардуино вообще дело десятое Понятно...тогда буду разбираться с Тандем Матчем..хотя чему там давать помеху..но всё может быть..а схема и конструкция от D0SIM.. Сейчас подключил его отдельно,без кабелей и подал отдельно питание..помеха всё равно есть,и что самое главное в телеграфном участке на частоте 144060..стоит поднести палец к кристалу на Ардуино частота смещается вниз.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2187] Автор : Kim_Dim Дата : 19.09.2023 13:27 Конструкция - это физическое исполнение устройства, в том числе ПП и экранирование, если оно все собрано на длинных проводках, то там есть чему излучать помеху -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2188] Автор : ozforester Дата : 19.09.2023 13:34 Микроконтооллер легко "отмазать" если нажть и удерживать ресет. При таком состоянии нет тактирования, все внутренние блоки останавливаются пока не будет отпущена кнопка и не произойдет запуск программы заново. В проинициализированном и оставшемся под питанием дисплее может продолжать работать преобразователь напряжения (обычно там слабосильный имеется внутри контроллера), тогда можно еще и дисплей из разъема выдернуть временно. Это если по цифровой части. Между ответвителем и входом ацп мк обычно стоит какой-нибудь непотербный операционник с единичным усилением качестве буфера, и с мк туда сложно пробраться помехе. По питанию дроссель обычно тоже есть, если аналог и цифра от общего источника, хотя чаще от источника к блокам ставят отдельные стабилизаторы и опять же индуктивности. Но это логика, она часто не работает, в отличие от методичного снятия питания с подозрительных частей схемы. (= -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2189] Автор : Tolya Дата : 19.09.2023 13:48 тогда можно еще и дисплей из разъема выдернуть временно. Это если по цифровой части. Дисплей отключил и тандем матч..уровень помехи стал меньше..но она всё равно есть.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2190] Автор : ozforester Дата : 19.09.2023 13:56 Нет ничего лучше, чем устойчивая проблема, которая не появляется и не исчезает спонтанно. Можно спокойно продолжать поиск. Мышкой пошевелить, подергать юсб-устройства, зарядки и прочие компьютерные железки. Если помеха чётко исчезает при полном октлючении ксв-метра, то круг сужается, можно проверять цепи подключения ксв-метра, контакты в разъемах. Все равно окажется что-нибудь другое. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2191] Автор : Tolya Дата : 19.09.2023 14:34 Мышкой пошевелить, подергать юсб-устройства, зарядки и прочие компьютерные железки. Если помеха чётко исчезает при полном октлючении ксв-метра, Хорошо..всё проверил..помеха остаётся..но когда снимаю питание..она пропадает.. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2192] Автор : ozforester Дата : 19.09.2023 14:37 Питания с блока в котором КСВ-метр? И, интересно, это всегда так было, или ксв-метр и раньше был подключен, но помехи не создавал какое-то время на двойке? п.с. А тем про ксв-метр какая, а то я только про управление усилителем запомнил. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2193] Автор : Tolya Дата : 19.09.2023 16:00 И, интересно, это всегда так было,Да это было всегда...только помеха была на кв диапазоне..поэтому я его и забросил..а тут его опять подключил и забыл отключить...и обнаружил что он ещё и на двойке гадит..http://www.cqham.ru/forum/showthread.php?12592-ARDUINO&p=1957216&viewfull=1#post1957216 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2194] Автор : ozforester Дата : 19.09.2023 18:15 Да, то сообщение с радиолой помню. А что, действительно что-ли ксв-метр с динамической индикацией? Мне сначала подумалось, что это схема с LCD четырехстрочником, который на нешумном hd44780. Кстати, шум дисплея еще бы зависел от выводимой на него информации, например в режиме меню одна помеха, в режиме отображения измерений другая. И по панораме, и на слух была бы видна зависимость. Так-то это-ж не кунг в капонире - коробочка от печенек - запитать от батарейки и покамлать с ней по шэку, может что-то изменится (= Так-то ардуинки вроде не шумные сами по себе. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2195] Автор : ozforester Дата : 20.09.2023 18:54 Пробовал сегодня ардуинку с шимом, заодно поискал её на диапазоне 144 МГц. В качестве спектроанализатора свисток риалтек, чувствительность не очень, но не увидел совсем никаких следов ардуинки при разных усилениях. По теме добавлю пример поулчения отрицательного питания для смещения контрастности дисплея hd44780, может кому пригодится как запасной вариант. Из кусков, но вроде бы все очевидно. Если нулевой таймер и его пин свободен, то добавить в сетуп включение шима и собрать инвертор из двух диодов и двух конденсаторов. OCR0A подобрать в зависимости от входного напряжения, емкости конденсаторов, конкретного дисплея (переменный резистор для контрастности в этом случае не нужен) Если хочется резистором устанавливать контарснтость, то еще проще - выставить напряжение с запасом и покрутить делитель. Можно и на другом таймере или МК, суть примерно одинакова. p.S. Чуть не забыл. Это всё было для случая, когда ардуинка трехвольтовая или просто нужно запитать дисплей от меньшего напряжения, чем необходимо для нормальной контрастности. 393021 393022 void setup() { bias(); ... } void bias( void ){ DDRD |= 1< RESET TFT D9 > A0 TFT D10 > CS TFT D11 > SDA TFT D13 > SCK TFT ----------------------- A4 > SDA PIN5 FRAM A5 > SCL PIN6 FRAM *//////////////////////////////// #include #include #include "Adafruit_ST7735.h" Adafruit_ST7735 tft = Adafruit_ST7735(10, 9, 8); class FRAM { public: FRAM(void); boolean begin(uint8_t addr = (0x50)); void write(uint16_t framAddr, uint8_t value); uint8_t read(uint16_t framAddr); private: uint8_t i2c_addr; }; FRAM::FRAM(void) { } bool FRAM::begin(uint8_t addr) { i2c_addr = addr; Wire.begin(); return true; } void FRAM::write(uint16_t framAddr, uint8_t value) { Wire.beginTransmission(i2c_addr); Wire.write(framAddr >> 8); Wire.write(framAddr & 0xFF); Wire.write(value); Wire.endTransmission(); } uint8_t FRAM::read(uint16_t framAddr) { Wire.beginTransmission(i2c_addr); Wire.write(framAddr >> 8); Wire.write(framAddr & 0xFF); Wire.endTransmission(); Wire.requestFrom(i2c_addr, (uint8_t)1); return Wire.read(); } FRAM fram = FRAM(); #define BLACK 0x0000 #define WHITE 0xFFFF byte randN; // генерируемое рандомное число unsigned long counter; // счётчик циклов записи в FRAM byte value; // рандомное число (0 до 255) unsigned int address = 0; // адрес хранения рандомного числа (0 до 255) unsigned int address2 = 50; // адрес хранения счётчика записи unsigned long cM = 1UL; unsigned long pM = 1UL; template void GET(int adr, T& data) { byte* p = (byte*)(void*)&data; unsigned int i; for (i = 0; i < sizeof(data); i++)*p++ = fram.read(adr++); } template void PUT(int adr, T& data) { const byte* p = (const byte*)(const void*)&data; unsigned int i; for (i = 0; i < sizeof(data); i++)fram.write(adr++, *p++); } void setup() { (fram.begin(0x50)); tft.initR(INITR_BLACKTAB); tft.setRotation(3); tft.fillScreen(BLACK); tft.setTextColor(WHITE, BLACK); tft.setTextSize(1); tft.setCursor(90, 20); tft.print("WRITE CYCLE"); tft.setCursor(90, 50); tft.print("DEC VALUE"); GET(address2, counter); // считываем число циклов записи из FRAM (для хранения числа при сбое, или выключении питания) } void loop() { randN = random(0, 255); // генерируем рандомное число (от 0 до 255) cM = millis(); fram.write(address, randN); // записываем в FRAM рандомное число if (cM - pM >= 10000UL ) { // выполняем действия ниже раз в 10 секунд pM = cM; tft.setCursor(20, 20); tft.print(counter); // выводим число циклов записи на TFT PUT(address2, counter); // записываем в FRAM число циклов записи value = fram.read(address); // считываем рандомное, записанное число tft.setCursor(20, 50); tft.print(" "); tft.setCursor(20, 50); tft.print(value, DEC); // выводим рандомное число на TFT if (randN == value) { // сравниваем записываемое и считанное рандомное число tft.setCursor(20, 80); tft.print("OK"); // если равны, выводим на TFT (OK) } if (randN != value) { // сравниваем записываемое и считанное рандомное число tft.setCursor(5, 100); tft.print("BAD"); // если НЕ равны, выводим на TFT (BAD) tft.setCursor(30, 100); tft.print(counter); // выводим число циклов записи где произошёл сбой на TFT while (1); // и замораживаем цикл } } counter = counter + 1; // прибавляем к счётчику записи единицу (имеем примерно 8200 записей в FRAM в секунду) } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2208] Автор : veso74 Дата : 05.12.2023 19:38 Бы проверил записанное сразу после записи. Ничего, что операции будут выполняться медленнее. Вот так обнаружите первую ошибку. А приведенный выше код считывает один бит каждые 10 секунд, обнаруживаете случайную ошибку после 10 секунд записи (8200?). Хотя если и начнет глючить, от первой ошибки до каждой записи - ошибки, то будет немного время. (Мои наблюдения касаются Endurance в норм. EEPROM). Хотя High Endurance 10^12 Read/Writes - это очень много :). --- ИС вероятно не обычная EEPROM. EEPROM требуется время 5–10 ms после записи перед следующей записью. В противном случае число не записано внутри ячейки. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2209] Автор : XENOMORPH Дата : 05.12.2023 20:19 ИС вероятно не обычная EEPROM. EEPROM требуется время 5–10 ms Спасибо, именно, обычная AT24С64 сразу ошибку выдаёт. Тестирую эту FM24CL64B-GTR. Действительно, я почему то проверял каждые 10 секунд, думая что если ячейка начнёт сыпаться то это произойдёт сразу. Переписал код на такой, проверка идёт сразу, при первом расхождении сразу получу сообщение. Запустил тест дальше с новым кодом, ошибок пока нет, это радует)) void loop() { cM = millis(); randN = random(0, 255); fram.write(address, randN); value = fram.read(address); if (cM - pM >= 10000UL ) { pM = cM; tft.setCursor(20, 20); tft.print(counter); PUT(address2, counter); } if (randN != value) { PUT(address2, counter); tft.setCursor(5, 100); tft.print("BAD"); tft.setCursor(30, 100); tft.print(counter); while (1); } counter = counter + 1; } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2210] Автор : ozforester Дата : 05.12.2023 20:41 Наверное лучше писать и читать чередуя 0xaa/0x55 через прямой доступ. В сетупе настраиваем spi, dma, timer и первый раз пишем. Дальше по окончанию записи читаем байт, а по чтению сравниваем, инкрементируем good/fail, перворачиваем байт и командуем запись. По прерыванию таймера асинхронно включаем дисплей и выводим оба счетчика раз в месяц. Шучу, понимаю что по цене семечек где-то должен быть подвох, и может посыпаться раньше. (= FM25 395569 По хорошему, нужно ещё отбрасывать ошибки самой шины. Например, успешное чтение/запись в ячейку после предыдущего сбойного будет инкрементировать счетчик успешных повторов (условно сбоев шины). -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2211] Автор : XENOMORPH Дата : 07.12.2023 19:54 По тесту FRAM. С новым кодом уже 307 миллионов набежало, ошибок нет. До миллиарда догнать, или хорош?)) 395610 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2212] Автор : veso74 Дата : 07.12.2023 20:25 Можно остановить тест :). Хотя по принципам работы и чтение тоже засчитывается. Использование практически вечно. Память будет служить дольше устройства, в котором установлена. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2213] Автор : ozforester Дата : 07.12.2023 20:33 Хотел было на стм-ке разогнать выше 20 МГц шину и сделать на 1,000,000 write 1 read, даже схемку набросал, но нашел одну i2c память. Облом. (= Можно было бы и перебои питания заложить, и уведомления на почтовый ящик.. Опять же, за 10^14 это "срок службы", а если партия немного лучше среднего? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2214] Автор : XENOMORPH Дата : 09.12.2023 13:29 Родная EEPROM на борту Arduino Nano 328p при записи рандомного кода посыпалась на 9,3 миллионах. Не дурно, почти 100 кратный запас. После первой ошибки, вторая выскочила через примерно 80 тысяч, третья после 40, четвёртая после восьми и понеслось. 395694 /*///////////////////////////// D8 > RESET TFT 128X160 1/8 D9 > A0 TFT D10 > CS TFT D11 > SDA TFT D13 > SCK TFT *//////////////////////////////// #include #include #include "Adafruit_ST7735.h" Adafruit_ST7735 tft = Adafruit_ST7735(10, 9, 8); #define BLACK 0x0000 #define WHITE 0xFFFF byte randN; unsigned long counter; byte value; unsigned int address = 900; unsigned int address2 = 1050; unsigned long cM = 1UL; unsigned long pM = 1UL; void setup() { tft.initR(INITR_BLACKTAB); tft.setRotation(3); tft.fillScreen(BLACK); tft.setTextColor(WHITE, BLACK); tft.setTextSize(1); tft.setCursor(90, 20); tft.print("WRITE CYCLE"); counter = EEPROM.get(address2, counter); } void loop() { cM = millis(); randN = random(0, 255); EEPROM.write(address, randN); value = EEPROM.read(address); if (cM - pM >= 10000UL ) { pM = cM; tft.setCursor(20, 20); tft.print(counter); EEPROM.put(address2, counter); } if (randN != value) { EEPROM.put(address2, counter); tft.setCursor(5, 100); tft.print("BAD"); tft.setCursor(30, 100); tft.print(counter); while (1); } counter = counter + 1; } -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2215] Автор : veso74 Дата : 09.12.2023 15:13 Вероятно, температура ниже. Endurance дано при максимальной температуре и максимальном рабочем напряжении (AN1019 - EEPROM Endurance Tutorial). --- Тот же тест: Destroying an Arduinos EEPROM: 1,230,163 cycles https://hackaday.com/2011/05/16/destroying-an-arduinos-eeprom/ --- Ячейка 1050 где? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2216] Автор : XENOMORPH Дата : 09.12.2023 15:27 Это 12 версия скетча)) забыл подправить, там было 0 и 50, Спасибо! Температура 25, комнатная, на самой плате наверно чуть больше. Читал, что от трёх до шести миллионов это нормально для них. В принципе всё сходится. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2217] Автор : veso74 Дата : 09.12.2023 15:33 Это зависит от статистики выборки отказов. Правильнее будет если протестировать всю область EEPROM и в случае одной ошибки - остановиться. Но в обычном режиме (20..25 oC, напряжение ниже максимального), цифры далеко вверх, и это хорошо. Если включить еще и какие-то математические методы, то использование (и правильная запись) происходит в течение очень длительного периода, превышение срока эксплуатации устройства. Но в новых МК количество записей всё меньше ... (и EEPROM из High-Endurance Flash) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2218] Автор : D0ITC Дата : 01.02.2024 13:58 397641Всем добрый день! Столкнулся я с проблемой, может у кого такое было и найден способ победить. Попал ко мне модуль Elecrow ESP32S3 HMI 5", легко подключилась библиотека Arduino_GFX_Library.h, плату установил версии 2.0.3(как везде рекомендуют). Подключил кириллицу, в общем полный порядок. Сделал часы с получением времени от сервера, потом захотелось получать так же погоду, получилось, но не стабильно, очень часто на запросы приходила ошибка. Подумал что может установить поновее ардуино иде(у меня стояла 1.8.19), установил 2.1.1. Все работало, но с запросами погоды лучше не стало. Программа иде при загрузке скетча каждый раз предлагала обновление плат и библиотек, обновил плату на свой страх и риск, но все продолжало работать как и раньше. И тут захотелось обновить библиотеки, обновил и все что связано с ESP32 перестало компилироваться, третий день долбаюсь, но ничего не получается, выкидывает кучу ошибок, откатился на старую плату, перепробовал все версии Arduino_GFX от старых до последней, но ничего не получается, ругается на конструктор Arduino_ESP32RGBPanel, перепробовал все что нашел в интернете, но пока глухо. Может кто подскажет выход из ситуации. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2219] Автор : IG_58 Дата : 01.02.2024 14:08 Arduino_ESP32RGBPaneВыложите сюда скетч и версии библиотек сообщите, пожалуйста. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2220] Автор : D0ITC Дата : 01.02.2024 14:36 IG_58, скетч и библиотеки в архиве по ссылке https://cloud.mail.ru/public/7iAc/PgTvETt3C -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2221] Автор : IG_58 Дата : 01.02.2024 16:03 D0ITC, я не могу скачать этот файл, у меня нет регистрации в аккаунте mail.ru. Можете выложить на файлообменник, не требующий регистрации? -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2222] Автор : D0ITC Дата : 01.02.2024 18:29 Игорь, вопрос снимаю, стоило пожаловаться и у самого получилось. Как обычно, мы могли б и сами, но привыкли с вами:smile:. -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2223] Автор : IG_58 Дата : 01.02.2024 18:35 Вот и отлично. Удачи, коллега! -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2224] Автор : R9OFG Дата : 25.03.2024 11:42 Приветствую коллеги! Вдохновился опытами NA5Y по применению модуля ESP32-A1S от AI (https://docs.ai-thinker.com/en/esp32-a1s) в SDR-о строении. Приобрел платку ESP32 Audio Kit v2.2. от той же AI (https://docs.ai-thinker.com/en/esp32-audio-kit), цена у нее смешная, это клон платки LyraT от Espressif. Пробовал вхождение в кодинг ESP32 через ESP-IDF v5, понял, что еще не дорос. Решил собрать проект от NA5Y (https://www.youtube.com/watch?v=EquAmRClOu8), в Arduino-IDE v2.3.2, начал как обычно с UART и дисплея, проект не собирается с кучей ошибок, удалось только кое как реализовать сканирование шины i2c с передачей результата в UART, и вывод пары строк на 1602 в одном INO файле. 399612 Далее пошел по пути разбиения кода на модули, вот тут застрял, уже взял пример от Гайвера (https://alexgyver.ru/lessons/big-projects/). Не собирается.... Судя по ошибкам где то закэшировался старый код, собственно вопрос - как все это дело поправить? In file included from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Print.h:27, from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Stream.h:26, from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:35, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.h:10, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:10: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Printable.h:25:1: error: unknown type name 'class' class Print; ^~~~~ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Printable.h:33:1: error: unknown type name 'class' class Printable ^~~~~ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Printable.h:34:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ In file included from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Stream.h:26, from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:35, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.h:10, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:10: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Print.h:34:1: error: unknown type name 'class' class Print ^~~~~ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Print.h:35:1: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token { ^ In file included from C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:35, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.h:10, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:10: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Stream.h:38:1: error: unknown type name 'class' class Stream: public Print ^~~~~ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\cores\esp32/Stream.h:38:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token class Stream: public Print ^ In file included from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.h:10, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:10: C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:48:1: error: unknown type name 'class' class TwoWire: public Stream ^~~~~ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:48:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token class TwoWire: public Stream ^ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:162:8: error: unknown type name 'TwoWire' extern TwoWire Wire; ^~~~~~~ C:\Users\User\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.11\libraries\Wire\src/Wire.h:163:8: error: unknown type name 'TwoWire' extern TwoWire Wire1; ^~~~~~~ In file included from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.h:11, from D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:10: c:\Users\User\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:1: error: unknown type name 'class' class LiquidCrystal_I2C : public Print { ^~~~~ c:\Users\User\Documents\Arduino\libraries\LiquidCrystal_I2C/LiquidCrystal_I2C.h:55:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before ':' token class LiquidCrystal_I2C : public Print { ^ D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:12:8: error: unknown type name 'LiquidCrystal_I2C' D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:12:30: error: expected declaration specifiers or '...' before numeric constant D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:12:36: error: expected declaration specifiers or '...' before numeric constant D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:12:40: error: expected declaration specifiers or '...' before numeric constant D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:12:43: error: expected declaration specifiers or '...' before '&' token D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c: In function 'I2C_LCD_Init': D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:16:3: error: 'lcd' undeclared (first use in this function) D:\Radio\Microcontrollers\ESP32\_Arduino_IDE_Project\SDR_RX_R9OFG\I2C_LCD_Init.c:16:3: note: each undeclared identifier is reported only once for each function it appears in exit status 1 Compilation error: exit status 1 Вот архив с проектом, название проекта громкое, не обращаем внимания :ржач: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2225] Автор : IG_58 Дата : 25.03.2024 12:12 R9OFG, я взял Ваш скетч, выбрал плату AI-Thinker ESP32-CAM, и всё скомпилировалось без ошибок. Вот скриншот: 399614 Вот выдача компилятора: -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2226] Автор : R9OFG Дата : 25.03.2024 12:20 IG_58, здравствуйте, Игорь! Я пробовал и с AI-Thinker ESP32-CAM, тот же результат был, снес IDE, поставил заново, собралось.... -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- [Сообщение 2227] Автор : IG_58 Дата : 25.03.2024 12:20 Бывает.... :) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Downloaded from Форум CQHAM.RU (http://www.cqham.ru/forum) at 28.03.2024 19:33.