Страница 1 из 3

Оригинальное поздравление ( led сердце)

Добавлено: Вт янв 03, 2012 13:49:58
dynea
Всех с новым годом!!!
Идея: Хочу сделать подруге на ДР подарок, но хотел чтобы он был оригинальным, думал думал и надумал. Она живет на 5 этаже и мой дом на против её дома из её окна хорошо видно крышу расстояние 107 метров угол обзора 4-5градусов., короче видимость отличная. Я решил сделать из светодиодной ленты изображение сердца и прикрепить его на щит, мы редко видимся т.к я учусь в другом городе и часто грустим, и тогда я решил, что было бы не плохо если она сама включала сердце вечерним днем или ночью. Конечно при помощи телефона. Я конечно сам должен до всего допетрить, ну боюсь не успеть хоть и осталось 3 месяца, поэтому прошу вас помощи.
Реализация в качестве источника будет led лента http://www.aliexpress.com/product-gs/473402986-48cm-Waterproof-Red-Car-LED-Strip-PVC-lights-1076--wholesalers.html надо только найти подлиннее. Мозги будут на базе arduino. Программа проста, при поступившем звонке включить свет и поиграть в нескольких режимах, для этого нужен драйвер на сколько я знаю.
GSM модуль будет обычным телефоном.

Пошел я каркас собирать и вымирять шнурком сколь мне метров ленты надо :)

Буду очень рад услышать ваше мнение

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вт янв 03, 2012 22:03:04
YS
Так это, а в чем проблема? В принципе, для вкл/выкл хватит и одного триггера. Коннектимся к вызывному динамику телефона (выпрямитель + одновибратор), пришло SMS - ВКЛ. Пришло еще одно - ВЫКЛ. Все. Ну, если нужно еще мигать по разному, то да, можно вкрутить МК. Но там хватит и чего-то вроде ATtinyXX.

Вообще, задача в такой постановке выполнима за выходные.

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вт янв 03, 2012 22:03:17
rmmp
dynea писал(а):Мозги будут на базе arduino. Программа проста, при поступившем звонке включить свет и поиграть в нескольких режимах, для этого нужен драйвер на сколько я знаю.
GSM модуль будет обычным телефоном.

Буду очень рад услышать ваше мнение

Зачем ардуино,жсм модуль и какой то драйвер?
Взять самую дешёвую мобилку,и вывести сигнал на включение с вибрика или с подсветки.А дальше триггер с транзисторным ключом,к которому подключена эта лента.
Просто намного дешевле получится.

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вт янв 03, 2012 22:09:13
hybroid
Извините, идея конечно - очень даже ничего!.. Но вот, боюсь, сердце из ленты быстро спизд... украдут вместе с плакатом :oops:

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вт янв 03, 2012 23:21:10
dynea
YS писал(а):Зачем ардуино,жсм модуль и какой то драйвер?
Взять самую дешёвую мобилку,и вывести сигнал на включение с вибрика или с подсветки.А дальше триггер с транзисторным ключом,к которому подключена эта лента.
Просто намного дешевле получится.

Да можно но жалко купить такую ленту и не помигать ей) Это же не лампочка. Но возьму на вооружение
dynea писал(а):Так это, а в чем проблема? В принципе, для вкл/выкл хватит и одного триггера. Коннектимся к вызывному динамику телефона (выпрямитель + одновибратор), пришло SMS - ВКЛ. Пришло еще одно - ВЫКЛ. Все. Ну, если нужно еще мигать по разному, то да, можно вкрутить МК. Но там хватит и чего-то вроде ATtinyXX.

Вообще, задача в такой постановке выполнима за выходные.

Тут вы правы, только на чем прогу писать( ? На чистом асемблере не умею, нj могу попробовать, а ATtinyXX можно сразу шить, не чего со фьзами делать не надо? Если что подскажите, я не прошу написать, я сам буду, просто поправить?
hybroid писал(а):Извините, идея конечно - очень даже ничего!.. Но вот, боюсь, сердце из ленты быстро спизд... украдут вместе с плакатом

Не не украдут, ключи у меня одни и соседа. 4 года мотоподвес стоит не с П да и куча чего поинтересней там есть)

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вт янв 03, 2012 23:39:42
hybroid
Писать на C, компиляторы есть cvavr, gcc (винавр). Уверяю, не сложнее, чем под ардуину. С фузами надо разобраться один раз. Вам для этого, имхо, даже не придётся. МК поставляется уже в рабочем состоянии, как привило тактирован на 8 МГц с делением на 8, т.е. 1МГц. Вам его хватит помигать лентой. Статей-мигалок валом, прошивать хоть 5-ю проводами из LPT.

Re: Оригинальное поздравление ( led сердце)

Добавлено: Ср янв 04, 2012 09:42:19
YS
dynea, Вы перепутали авторов цитат. :wink:


На чистом асемблере не умею, нj могу попробовать, а ATtinyXX можно сразу шить, не чего со фьзами делать не надо?


Я чувствую, что асм превратился в пугало для новичков. :))) Расслабьтесь, ничего там страшного нету. Да и не нужен он особо тут. С вполне пойдет. Для ардуйни писали? Значит и GCC осилите.

1. Ставите AVR Studio (четвертой версии!!!1111одинодин, иначе будут приключения) и WinAVR. AVR Studio подхватывает WinAVR, в стартовый визард добавляется опция "GCC project".

2. В опциях проекта указываете тактовую частоту. Если ниасилите - пишите в ЛС, пришлю познавательный мультик.

3. Пишете на С. Главное, чтобы в выбранном МК был стек в памяти (у некоторых мелких он аппаратный, вот там правда только асм). ATtiny13 подойдет. Простейшую мигалку можно сделать на busy-wait задержках, модуль util/delay.h . Опять же, спрашивайте, чего неясно.

4. Компилируете. Берете .hex из подпапки /default проекта и скармливаете его AVRdude. Прошивать, кстати, можно той же ардуиной, если на ней стоит FT232R.

Просто ардуина тут - суровый оверкилл. :))

Re: Оригинальное поздравление ( led сердце)

Добавлено: Ср янв 04, 2012 10:39:01
YS
Вот прошивочка для ATtiny13 (проект AVR Studio + AVR GCC), которая имитирует биение сердца. Если чего, .hex в подпапке \default. ШИМ на ножке OC0A.

http://www.megaupload.com/?d=OB1B6V2T

Параметры регулируются двумя строчками:

Код: Выделить всё

#define H_RISEFALL_DELTA   1
#define H_PERIOD           1000


H_RISEFALL_DELTA - скорость биения. H_PERIOD - интервал между ними.

Re: Оригинальное поздравление ( led сердце)

Добавлено: Ср янв 04, 2012 22:52:08
dynea
YS Спасибо огромное за поддержку.
AVR Studio у меня уже установлен, пробовал писать на асме, баловался с АЦП и мигалками, думаю на асемблере написать, тем более примеров тьма. Прошивать буду дудкой (AVEdude).
Вот моя логика)
1) Дожидаемся сигнала(телефона) на входе, думаю сделать по звонку т.к СМС может и оператор слать и т.д. Т.е нужно как то таймер прикрутить?
2) Два режима статика и мерцание 20мин выкл и опять переход в ожидание

Re: Оригинальное поздравление ( led сердце)

Добавлено: Ср янв 04, 2012 23:02:20
hybroid
В топку таймер, вроде бы в тиньке есть ноги на внешнее прерывание.

Кстати, есть другой оверкилл. Заюзать что-то вроде старого сименса, который по ком-порту умет общаться с компом. Т.е. можно читать SMS через интерфейс. Разобраться не архи сложно (отсылка команд, как с диал-ап модемом), зато можно сделать фичу: пришла смс с текстом "migaem" - сердце мигает. Ну и в таком духе :)

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 12:17:41
dynea
hybroid писал(а):В топку таймер, вроде бы в тиньке есть ноги на внешнее прерывание.

Кстати, есть другой оверкилл. Заюзать что-то вроде старого сименса, который по ком-порту умет общаться с компом. Т.е. можно читать SMS через интерфейс. Разобраться не архи сложно (отсылка команд, как с диал-ап модемом), зато можно сделать фичу: пришла смс с текстом "migaem" - сердце мигает. Ну и в таком духе :)

Да это прикольная тема, всю жизнь мечтал сделать такое, но не вывезу( Вообще я сколько искал не смог найти статьи где понятно бы рассказывалось как прикручивают gsm модуль к МК. Т.е я так понимаю, приходит команда, например on door1, это команда должна кодироваться и передаваться на МК который в свою очередь будет рулить.. А если разобрать семена, и передавать с него команды на ПК, это круто но я комп на крышу не воткну, я наверно вас не правильно понял :)

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 12:24:02
hybroid
Семён цепляется шнуром к МК. Точнее, его потроха. С МК по UART'у шлются команды (последовательный порт). Если поискать, то, думаю, найдёте готовые исходники. Архисложного там ничего не будет. Как вариант - пока творите с обычным звонком или смс-кой, цепляясь к динамику или к вибре. А со временем можно и мою идею приколхозить :) Советую сразу выбрать телефон из "правильных" :)

Кстати, по поводу всего этого.. ХЗ как там у вас, а у нас в РБ операторы разный спам шлют. Особенно в этом плане хорош Life, который умудряется иногда по 10 смс в день присылать.. Дальше додумайте сами :)

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 12:42:28
dynea
hybroid писал(а):Семён цепляется шнуром к МК. Точнее, его потроха. С МК по UART'у шлются команды (последовательный порт). Если поискать, то, думаю, найдёте готовые исходники. Архисложного там ничего не будет. Как вариант - пока творите с обычным звонком или смс-кой, цепляясь к динамику или к вибре. А со временем можно и мою идею приколхозить Советую сразу выбрать телефон из "правильных"

Кстати, по поводу всего этого.. ХЗ как там у вас, а у нас в РБ операторы разный спам шлют. Особенно в этом плане хорош Life, который умудряется иногда по 10 смс в день присылать.. Дальше додумайте сами

Получается Семён как полноценный GSM модуль робит, вот это крутатень. Да все операторы спам шлют, вот и думаю сделать по звонку т.к вибрировать телефон должен дольше нежили при получении СМС так ведь можно сделать?
А какие телефоны правильные? с35 с45? их тяжело найти(

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 12:57:53
hybroid
Ну, начнём с того, что смс, как услугу, можно выпилить :)))
С временем вибрирования тоже можно.. Хоть программно, хоть городить аппаратно (что при наличии на борту незагруженного МК - глупо).
Творите сначала по вашему алгоритму, только телефон прицепить на внешнее прерывание, чтобы не колхозить всякие опросы на таймерах. По возможности оставьте порты Rx & Tx свободными (сами ноги), чтобы можно было потом соорудить общение с телефоном. Ног вам хватит, чтобы даже сделать сердце "бегущими кусками". Т.е. не всем моргать-гореть, а отрезками. Можно будет крутить, например.

PS: а почему не ATTiny2313? Цена у нас, например, примерно одна. АЦП вам не надо. А ног в 2313 намного больше.. Да и выглядит он серьёзнее :) Хоть и старый, но ещё рулит..

Про "правильные" телефоны лучше погуглить вам. Ищите по запросам "мобильник avr", "siemens avr". ЕМНИП, даже до C65, M65 (а может и выше) они все подключались по последовательному порту, т.е. годные. Ещё есть моторолы старые, типа C350, C450 (у них отличные экраны, с аппаратным рисованием и управлением по SPI, кстати), C550 и т.д., но тут уже надо будет колхозить через USB. Возможно, но 13-ю тиньку уже не вопрётся... Лучше связаться с сименсами. Если есть желание - пообщайтесь с товарищем DiHalt (ищется гуглом, да и здесь обитает). У него было устройство на симаке.

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 13:29:47
dynea
hybroid писал(а):Ну, начнём с того, что смс, как услугу, можно выпилить :)))
С временем вибрирования тоже можно.. Хоть программно, хоть городить аппаратно (что при наличии на борту незагруженного МК - глупо).
Творите сначала по вашему алгоритму, только телефон прицепить на внешнее прерывание, чтобы не колхозить всякие опросы на таймерах. По возможности оставьте порты Rx & Tx свободными (сами ноги), чтобы можно было потом соорудить общение с телефоном. Ног вам хватит, чтобы даже сделать сердце "бегущими кусками". Т.е. не всем моргать-гореть, а отрезками. Можно будет крутить, например.

PS: а почему не ATTiny2313? Цена у нас, например, примерно одна. АЦП вам не надо. А ног в 2313 намного больше.. Да и выглядит он серьёзнее :) Хоть и старый, но ещё рулит..

Про "правильные" телефоны лучше погуглить вам. Ищите по запросам "мобильник avr", "siemens avr". ЕМНИП, даже до C65, M65 (а может и выше) они все подключались по последовательному порту, т.е. годные. Ещё есть моторолы старые, типа C350, C450 (у них отличные экраны, с аппаратным рисованием и управлением по SPI, кстати), C550 и т.д., но тут уже надо будет колхозить через USB. Возможно, но 13-ю тиньку уже не вопрётся... Лучше связаться с сименсами. Если есть желание - пообщайтесь с товарищем DiHalt (ищется гуглом, да и здесь обитает). У него было устройство на симаке.

Да у нас тоже продают ATTiny2313 53р. возьму его. Попробую сделать по секционное включение ленточек, с малого сердца на большое. Блин пока они из китая придут, взорвусь от предвкушения :) Хотя работы много (для меня это трудно), попробую написать и заюзать proteus, не разу не чего в нем не делал :) Потом платку вытравлю.
Решил делать сердце 1мx1м думаю будет видно, не знаю как посчитать длину(,

На счет телефонов большое спасибо, товарища DiHalt знаю не понаслышке, мега голова респект ему, вспомнил он у себя на сайте про это писал

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 13:53:00
YS
попробую написать и заюзать proteus


Это можно, только осторожно. Помните, что если что-то работает в симуляторе, не факт, что оно будет работать в реале, и наоборот. Так что аккуратно. Симулятор - первый шаг к резиновой девушке. :wink:

Re: Оригинальное поздравление ( led сердце)

Добавлено: Чт янв 05, 2012 13:54:52
dynea
YS писал(а):
попробую написать и заюзать proteus


Это можно, только осторожно. Помните, что если что-то работает в симуляторе, не факт, что оно будет работать в реале, и наоборот. Так что аккуратно. Симулятор - первый шаг к резиновой девушке. :wink:


Да это понятно, просто пока посылка идет, сделаю модель приготовлю щит и т.д
Наконец то нашел телефон Samsung SGH-N620, хотел его напрямую подключить, но почитал в интете, народ не рекомендует. Просто подключу зарядку и телефон будет постоянно перезаряжаться.
Изображение
Изображение

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вс янв 22, 2012 12:44:17
dynea
Дождался наконец Attuny2313. Сразу попробовал прошить, проверить работает программатор или нет, работает.
Дальше думать стал и сразу потух(
1) Светодиодные ленты питаются от 12В а выходной сигнал с МК 5В какой оптимальный способ ? Я только 220В подключал через MOC3043 и BT139, в данном случае можно поставить Транзистор IRF640 или что то другое?
2)С программированием вообще тухляк не чего не понимаю( С arduino проще было, а тут каждый язык страшен и непонятен ассемблер дак вообще Ж. Толи я дубина, толи тапки не едут :) Я не знаю какой язык выбрать( и не знаю как выразить свою логику в машинный код.
Вот логик:а на порт например B прилетает 3V с телефона запускается цикл и сердце начинает запускать по одному модулю по очереди с из центра к краю. Я вот не понимаю как обработать правильно сигнал делаем ножку входом и если туда прилетает наш сигнал запустится программа, как только сигнал пропадает сердце перестает светить, ну ведь сигнал кратко временный. А вот если так подумать сколь максимальное время работы цикла? Могу я например сделать длительность в течении 10мин а потом офф, позвонил телефон опять 10мин?
Спасибо!

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вс янв 22, 2012 13:34:04
YS
Светодиодные ленты питаются от 12В а выходной сигнал с МК 5В какой оптимальный способ ?


http://easyelectronics.ru/upravlenie-mo ... ast-3.html

Рекомендую IRL540.

С программированием вообще тухляк не чего не понимаю(


Я же уже написал прошивку. Помедитируйте над ней, там только в настройках проекта тип МК поправить, а так она и сама работает.

arduino


В принципе, в ту же 2313 можно зашить ардуиновский загрузчик и сделать ее ардуиной. Или просто взять тот hex, который ардуино-IDE сгенерирует, и зашить обычным программатором. Разница-то только в загрузчике, так что можно и без него.

Ох... Что-то... Э-э-э... Изображение Простите, не удержался. Плохо на меня ардуина действует.

Re: Оригинальное поздравление ( led сердце)

Добавлено: Вс янв 22, 2012 21:00:55
dynea
YS Спаибо
Ну я не могу откампилить вашу программу WinAVR выдает ошибку:
Версия AVR Studio 4.18
----------
WinAVR not installed
----------
To build avr-gcc projects, WinAVR must be installed or custom build tools defined.

Either download and install WinAVR from http://winavr.sourceforge.net/
or set custom build tools in the custom options property page in the options property sheet.

Наверное придется смотреть познавательный мульт
----------
ОК
----------
Начал медитировать на вашей программой в помощь для медитации пользуюсь инфой с myrobot.ru
Про ШИМ читал тут http://easyelectronics.ru/avr-uchebnyj- ... -shim.html

Вот откомментировал ( К вашему сожалению я вас считаю за учителя и не отстану, уж извините)

Код: Выделить всё

#include <avr/io.h>// Заголовок используется для компилятора 
#include <util/delay.h>// Функция задержки
#include <stdint.h>// Заголовочный файл стандартной библиотеки языка Си
      
#define H_RISEFALL_DELTA   1//скорость биения
#define H_PERIOD         1000//интервал


// Подпрограмма биения 
void heartbeat(void)
{
  do
  {
    OCR0A++;
    _delay_ms(H_RISEFALL_DELTA);
  }while (OCR0A<255);

  do
  {
    OCR0A--;
    _delay_ms(H_RISEFALL_DELTA);
  }while (OCR0A>100);
}
// Основная программа
void main(void)
{
 
  DDRB=0xFF;// Грузим признак выхода в порты B

  //Non-inverting fast PWM mode
  TCCR0A=(1<<COM0A1) | (1<<WGM01) | (1<<WGM00);// рулим ШИИ ом (пока я в голове не понимаю как это делается)
  OCR0A=128;
  //Timer clock = Fcpu
  TCCR0B=(1<<CS00);

  while (1)
  {
    heartbeat();
   heartbeat();

    _delay_ms(H_PERIOD);
  }
}