Покажу свой проект выходного дня. Немного опоздал со временем года, но свободное время и доставка из Китая вносят свои коррективы. Так уж сложилось, что я, на "радость" жены, электроник/барахольщик, и не поднимается рука выбросить то, на чем есть радиодетали. Работа моя в сфере ОПС, и вот скопилось у меня множество разных охранных извещателей, среди которых Шорох 2. Спойлер: Фото Много там всего нужного, и есть микроконтроллер PIC16F716. Никогда с PICами не общался, но поскольку накопилось их много, решил купить программатор, ознакомится. По меркам ардуинщиков в моём экземпляре ничтожные размеры Flash`a и оперативки - 2КB и 128B. Но ничего, опыт чистого Си имеется, попробуем. Скачал MPLAB, запустил .... и ничего не понял. Первый раз на моей практике не получилось сделать "Hello Blink" без RTFM. ИДЕ показалась такой громоздкой, так что оставим её для профи. Поиски из бесплатного выдали только Great Cow Basic. Проекту уже больше десяти лет, но поскольку разрабатывается на энтузиазме, то только готовится к релизу. Скачал, запустил, и уже через две минуты заставил весело моргать штатные светодиоды Шороха. Оставляю! Программатор работает, можно выпаять МК и сварганить что нибудь. Давно хотел сделать иллюминацию на уличную ёлку, и решил сварганить прототип снежинки. Спойлер: Получилось это Спойлер: Код прошивки Код (Text): #chip 16f716, 16 #define ProgramCount 6 #define Lw 0 #define Rw 1 #define TableCount 11 #define StartProg 1 dir PORTA out dir PORTB out Dim CurrentStep as Byte Dim CurrentProgram as Byte Dim Bug as Byte dim PORT as Byte CurrentProgram = 0 Do Forever call NextProgram Select Case CurrentProgram case 1 repeat 20 Rotate PORTB Left Simple call ShowLine(20, 1, Lw) end Repeat case 2 repeat 20 Rotate PORTB Right Simple call ShowLine(20, 1, Lw) end Repeat case 3 PORT = b'00000001' ShowLine(1, 80, Lw) case 4 PORT = b'00010000' ShowLine(1, 80, Rw) case 5 do while Bug <> TableCount incf Bug, 1 ReadTable BitValue, Bug, Temp PORTA = Temp call MyWait(100) Loop case 6 do while Bug <> 1 decf Bug, 1 ReadTable BitValue, Bug, Temp PORTA = Temp call MyWait(100) Loop end Select Loop Sub NextProgram incf CurrentProgram, 1 if CurrentProgram > ProgramCount then CurrentProgram = StartProg Select Case CurrentProgram case 1 to 2 PORTB = b'10001000' PORT = b'00000001' case 3 to 5 PORTB = b'11111111' Bug = 0 case 6 Bug = TableCount end Select End Sub sub ShowLine(Cycles as byte, Delay as Word, Way as byte) do while Cycles > 0 repeat 5 PORTA = PORT call MyWait(Delay) if Way = Lw then Rotate PORT Left Simple else Rotate PORT Right Simple end if end Repeat decf Cycles, 1 Loop end sub sub MyWait(Delay as word) wait Delay ms end sub Table BitValue as Byte 0 1 3 7 15 31 30 28 24 16 0 End Table Подводя итог - МК несколько отличается от привычных мне AVR, но со всеми "капризами" получилось за два дня справится. Среда разработки тоже порадовала, буду применять, даже для Ардуино. В релизе проекта хочу найти трубочки из прозрачного пластика, запихать туда светодиоды, загерметизировать и развесить на улице. Гуляя в парке, видел похожие, мне понравилось. К следующему НГ порадую детей.
Как вы меня хорошо знаете А что делать, когда программа превысит объем кода в демо варианте? (Есть у меня и более крутые ПИКи)
С удовольствием отвечу на Ваш вопрос. В инете имеется куча креков ,для превращения демо версии в полно ценную. Конечно если Вы по этичным соображениям отбросила этот вариант-тогда конечно. Насчёт более крутых ПИКов. Среда разработки,которой Вы пользуетесь ,предусматривает 18 серию как максимально Возможную. Для Микроси 24 и 30 серия по зубам.
Да, есть такое ... У меня 24 и выше неоткуда выпаять 18lf6722 есть, мне их с головой хватит. Меги вон лежат 2560 уже несколько лет, никуда не пристрою, 328 хватает на всё. (Не в ардуино IDE, конечно, если прогать)
Поверьте мне на слово,что бывают в жизни случаи,когда возможностей перечисленных Вами процессоров не хватает. ПИКи хорошо себя зарекомендовали в промышленном применении. А там задачи пошире,чем В Вашем проекте. И совершенно не возражаю ,что для любительских конструкций 18 серии-больше чем с головой.
Это не проект, так игрушка. Подайте идею, какие лучше трубочки использовать, чтобы туда светодиоды запихать. Силиконовыми пользовался, но они мягковаты для этого изделия. Что то ничего на глаза не попадается.
Друг работает в компании по наружной рекламе. Видил ещё одно решение без трубочек. Берут кусок прозрачного плекса. В нем сверлятся на пол глубины отверстия. (те же трубочки) ,в которые вставляются светодиоды. От глубины отверстий зависит яркость свечения. Так они создают подсвечиваемый фон и сам рисунок. Видил готовые решениям смотрится по сравнению с трубочками дорого и красиво.
Спасибо за идею, можно получить некий скелет из светодиодов. Проволока, наверное, будет лишней, хватит и той, на которую буду припаивать. Это да, расточительно. Сейчас делаю контроллер для ректификационной колонны, все датчики и исполниловка к МК подключены, а он через UART с ESP8266 общается, а уж в неё запихиваю всю связь с WEBом. Просто прогать esp меня бесит из за времени прошивки, она для меня только связь с внешним миром.
Не, меня не бесит. Ну подольше, ну за то и места под код и данные побольше. Две минуты на компиляцию и загрузку - это же не вечность. Все равно пишешь в разы дольше. Ну один - два раза за вечер зальешь - в общей сложности - 4 минуты. Я дольше продумываю, пишу, переписываю частями. Вечером заливаю. Потом долго анализирую, ищу, что нужно доработать.
Если коктейльные маловаты по диаметру, то можно попробовать термоусадку. Мне (давно уже) потребовались прозрачные трубочки для подсветки одной поделки светодиодами. Поговорил со школьной молодью во дворе. У них в школе - эпидемия - по всей школе, в классах, в коридорах валяются сломанные ручки (колпачок потерялся, стержень кончился...) - школота не заморачивается с заменой стержня - проще купить новую ручку целиком.. Внес деловое предложение - плачу 2р за корпус (трубочку) шариковой ручки - и в школе меньше мусора, и мне для дела, и вам - на мороженое.. ----- Когда эта затея, и битва с жесткими негнущимися трубочками от ручек мне надоела - углядел в зоомагазине трубочки-шлаги для аквариумных дел. Вот они пошли на "ура" - гибкие, и легко режутся по размеру. И светодиод в них запихнуть - не проблема.
1. Есть в наличии MicroC for PIC v6.2.1.0 Речь об энтом ? 2..Шести-гранные трубки прозрачные - длинная крутилка управлять жалюзЯМИ на окне. Мелкий светодиод входит идеально. Видел в отделе жалюзей как расходный материал. Грани самое то для снежинки. Клеится циан-акрилом.
Не понял ... я про микроСи ничего не говорил, он мне не понравился. GCB приглянулся простотой в работе с периферией, и в тоже время контроль программы есть, можно строку на бэйсике и затем сразу на асме. Да, прикольный вариант, из него колхозят некоторые "ангельские глазки" в фары авто. Но у меня не лезут туда светодиоды. С авторучками попробовал, но такой гемор с проводами, они тонюсенькие должны быть, в бортик светодиода пробовал их вплавлять и толкать ... 5 проводов на нижнем ... время нет на этот мазохизм Скорее всего остановлюсь на предложении @alp69, из текстолита вырежу тоненькую полоску (а может даже дойдут руки до заказа в Китае готовых, уже 5 лет хочу попробовать) и напаяю туда smd диоды и всё термоусадкой зажму. Будет видно, правда, с одной стороны, но когда она на дереве и не важно. Если где на растяжку повесить, можно и с двух сторон напаять. Главное время на это всё найти