Управление яркостью светодиода по Bluetooth
- Войдите на сайт для отправки комментариев
Пт, 22/08/2014 - 14:22
Здравствуйте! Помогите пожалуйста реализовать идею, у меня есть Arduino с Bluetooth модулем и я хочу написать программу для Android чтобы я смог управлять яркостью 3 светодиодами с помощью слайдеров(SeekBar), проблема в том что у меня нулевые знания программирования и получилось написать(можно сказать собрал из разных источников в интернете) программу только для управления одним светодиодом на Arduino, можете ли вы мне помочь с данной программой или хотя бы дать наводку на литературу для решения данной ситуации?
Для управления 3-мя светодиодами потребуется как минимум 3 ардуино и 3 телефона с андроидом.
Учитесь программировать. Я только что в гугль всю нужную инфу залил.
Просто я в интернете нашёл программу которая выполняет то что я хочу сделать, называется она ArduDroid.
Дело в том что в ней ненужные мне функции и плюс к этому все значения которые можно отправить по каналу(0-255) распределены на 6 аналоговых пина на Arduino, тем самым яркость светодиодов получается не такой плавной. К сожалению исходного кода программы в интернете нет поэтому решил попросить совета на вашем форуме. Если же нет решения попробую придумать что нибудь другое, или как вы советуете буду пробовать учится программировать.
Это была шутка. можно сделать, но без программирования есть только 2 выхода
1 - учиться программировать. Причем с самых азов - поморгать диодом и понять почему оно так работает
2 - написать в "ищу испллнителя".
0...255 - 256 градаций яркости для светодиода это очень много, регулировка плавная.
...распределены на 6 аналоговых пина на Arduino... - не так, у ардуины 6 каналов ( пинов ) поддерживающих PWM, по русски - ШИМ... по простому можно управлять ПЛАВНО свечением ШЕСТИ светодиодов - в два раза больше чем вам нужно :)
Дело в том, что меня не интересует ArduDroid. Я хочу понять как управлять яркостью светодиодов, будь там 2 или 6. В моём случае мне нужно 3 для того чтобы изменять цвета RGB светодиода , по этому я и хочу сделать управление яркость как можно плавнее. Дело даже не в том плавно или нет, дело в самой реализации моей идеи которую я немогу сделать из-за отсутствия необходимых знаний.
"..., дело в самой реализации моей идеи которую я немогу сделать из-за отсутствия необходимых знаний" - так всё в Ваших руках.
неееееееееееет ! всё именно в ВАШИХ руках :)
начните изучать PWM - ШИМ - ШиротноИмпульснаяМодуляция.... кратко - применительно к светодиодам рассмотрим еффект 25-го кадра... если подать на СД импульсы 5 V на 1 сек, потом 0 V на 3 сек - и так периодически, то вы увидите мигание СД, но в среднем его яркость за период в 4 сек будет 1/4 от если бы на него подать 5 V на 4 сек.... дальшееееее...
если широта импульсов будет гораздо меньше, то мигание СД не будет видно ( глаз не успеет усмотреть ), а вот яркость будет меньше... и её можно регулировать от максимума - 0/256=0 , 1/256 , 2/256 , .......... , 50/256 , ....... , 255/256 , 256/256= 1
вариантов реализации два - один слайдер, один RGB СД - будет радуга, три слайдера, один RGB СД - тоже самое, но тремя пальцами придётся выбирать яркость/цвет
итого - учите PWM, analogRead() и analogWrite()
Я знаю как работает ШИМ, просто я немогу отправить сигнал со смартфона так чтобы каждый слайдер отправлял сигнал на свой цвет (1-красный, 2-зелёный, 3-синий). Тем самым я смогбы соединяя цвета с разной яркостью получить нужный мне цвет, например белый или фиолетовый. Просто я сделал это с использование ИК-приёмника и пульта, три кнопки - три цвета, при нажатии одной из кнопок яркость СД(думаю вы знаете как устроен RGB СД) увеличивалось например на 50/256, тем самым я получаю разные цвета. Может я задал вопрос не на том форуме, так как проблема у меня больше с Android'ом чем с Arduino, хотя и с Arduino я тоже могу ошибаться с кодом.
вы сибе противоречите :( - "......меня не интересует ArduDroid......" - :О !!!!!!!
выберите три слайдера на дроиде ( 3 любых из 6 ) - на соответствующие им пины ( 3 из 6 PWM ) повесьте R, G, B..... и всё !
итого : каждый слайдер отправляет сигнал ШИМ на соответствующий пин.... вот к этим 3-ём пинам и подсоедините..... см. выше :)
.....кажися вы бродите меж трёх сосен ( дубов, берёзок ) :) напрягитесь ! вы сами всё знаете исходя из ваших текстов выше :)
ещё раз - по другому :
- 6 слайдеров УЖЕ отправляют ШИМ на 6 пинов - как ими вы распорядитесь монтажно ? ваше дело ! .....там под вашу задачЮ уже всё заточено с избытком....
...типерь у миня вопрос - приложение для дроида ? надо скачать откуда-то ? или в теме приводится пример его разработки ? и как его под сибя заточить ? если это возможно ? нуууууууу, типа как в вашей задаче - убрать из приложения 3 лишних слайдера, 12 кнопок управления пинами, передачу-приём строки.... подскажите ?
Меня не интересует ArduDroid потому что это не моя программа, я хочу пользоваться программой которую сам написал, просто я незнаю как, вот и хотел вас попросить чтобы помогли в её написании(хотя бы наводку на литературу для её написания), для того чтобы в будущем у меня были знания как её написать. Подключить светодиоды несложно, если мне бы просто нужно была бы найти программу я бы непросил бы помощи на форуме а сам бы искал, точнее я её нашёл только незнаю как она работает. Прошу прощения если несовсем понятно всё объяснил.
перечитал сверху вниз - ".....я хочу написать программу для Android...." - и моя хотел бы :( , но здесь народ больше по ардуине....
...может и по Android-у найдутся, но моя пока тока про исполнительную часть на ардуине мог бы подсказать :(
и мой вопрос в #10 - это я хотел бы знать...
вам-то что нано ? как подключить RGB ленту 12 V к ардуине ? давайте определимся :)- кажися оба в определениях попутались :(
понятно.... как у миня вопрос в #10 пункт 3.... не знаю кто нам поможет ? :( про андроиды, скорее всего, не здесЯ :(
.....подождём Пухлявого :)
Для начала мне бы хотелось просто управлять цветом(меняя яркость 3 светодиодов в одном) одного RGB светодиода подключенным к Arduino, и через Bluetooth отправлять сигнал со смартфона. Но так как программу нужно писать не только на Android ну и на Arduino написал вопрос здесь, может кто знает как программировать на Arduino и заодно на Android. Как я и говорил может я не на том форуме задал вопрос, может надо было на форуме по программированию на Android написать. По нормальному должен сам разобраться как написать,только вот знаний не хватает и немогу найти информацию как написать все-таки эту программу. Спасибо что хоть как-то откликнулись на мою просьбу.
слишком много извиняться - по моему, тоже херовато....
поймите что - как подключить ленту RGB-12V к ардуине и я могу рассказать.... и многие вам здесь расскажут...
как подпилить приложение на дроиде, выложенное выше, под ваши цели и , пардон, под цели мои в посте #10 - скорее всего это подскажут не на этом сайте.... хотя тут знатоков выше крыши Белого Дома... может быть подтянутся к нам, бедным ?
чё узнаю - напишу... но и вы нас не забывайте ! :)-
Ваши познания в "написал программу для андроида" заканчились на том что Вы в ИДЕ 3 слайдера без ошибок скомпилировали?
Я честно не пойму в чем и где проблема. Коннект установили? единичку послали/приняли?
Дооооооооохтууууууууууууур !!!!! Пууууухляяяяяяяяяявый ! и ЛЕШАК !!!! и особенно Макс ( извините - не помню )
....вам эта тема - отстой ? про виртуальные проблемы п....ть проще чёли ? ( почитал сайты - сами знаете какие - КПД = 99,9 % )...
....в смысле пи....жа на 99,9..... а на выходе - помощь = 0,001 % :( ( сумма не сойдётся - цифры от лампы ПэЭТриДЭ )
правильно Пухлик говорит - Дохтур приходит когда хочет, и когда нужна клизма......
.....сцука :) - пришёл же :)
Пухлявый !!!!!? у Дохтора на такую фуйню дедектор заточен какой-то ? или по чём он фуйню отслеживает ?
как он отследил ? моя в ахУе.....
удивительно ! чё спросишь - никого ! как фуйню сморозишь - и Пухл, и Клауп, и Дохтор - тут как тут....
.......подсказали бы :)
...деферамбы пЬЮ Пухлявому ( моя не Art100 ) - неделю уж не хамит... Не заболел ли ? ...скучно :(
Ваши познания в "написал программу для андроида" заканчились на том что Вы в ИДЕ 3 слайдера без ошибок скомпилировали?
Я честно не пойму в чем и где проблема. Коннект установили? единичку послали/приняли?
моя желает получить ПОЛНЫЙ отлуп по теме "напИсал программу для андроида" - и пИсать-то нечем....
...куда иттить ? чё читать ? ( про простату - не нано ! всё нормально ! )
Пухлявый !!!!!? у Дохтора на такую фуйню дедектор заточен какой-то ? или по чём он фуйню отслеживает ?
как он отследил ? моя в ахУе.....
удивительно ! чё спросишь - никого ! как фуйню сморозишь - и Пухл, и Клауп, и Дохтор - тут как тут....
.......подсказали бы :)
...деферамбы пЬЮ Пухлявому ( моя не Art100 ) - неделю уж не хамит... Не заболел ли ? ...скучно :(
На то мы и медицЫна чтобы на особо тяжелые случаи реагировать. Клапауций - того. в бане. Пухлявого не трожь - ему щас не до нас дегенератов.
по этому вопросу ВОПРОСОВ нет :) по другим вопросам - 1 - можно ли вас вызвать на помощь ? 2- как это сделать ?
....или вы вольный стрелок ? по темам ?
....как-то звал на помощь Лешаго из дочерней темы - 0000000000000000,0 :( как вас можно призвать на помощь ?
....мои вопросы - не от глупости ( от ума, надеюсь - не хвастаюсь ), для мелочных вопросов ( но значимых для миня ) не всегда хочется создавать тему.... вы же с Пухлявым миня тут же обос...........ТЕ :)
чё скажете, сэр ?
Клауп - понятно..... но Пухлик со скотом ( я так своего кота иногда зову ) - ВСЕГДА же на страже :)
...не понял :( ..... в баню кроме Клаупа никто не ходит ? ......ааааааааа, вот откедова баги на ардуинке !!!!!!!
админу !!!!!!!!!!!!!!!!
нельзя ли создать систему обращения к конкретному АФТОРИТЕТУ ?
....чобы он ответил или отклонил тему
аааааа ?
Надо просто успокоиться и перестать орать по первому удобному случаю
Руд скинь наполовину и будет все как надо
Нам плебеям с ДвойнымиПринцами не велено разговаривать.
Не майтесь хернёй с ведроид-приложениями, вам для этого понадобится во-первых среда разработки Eclipse, во-вторых знание языка Java. Я конечно понимаю что Java имеет сишный синтаксис, но это тот ещё матан. Можно наачать хотя-бы с прикола про ползунок: горизонтальный ползунок в панели компонентов есть. А если нужен вертикальный - то нельзя просто повернуть горизонтальный, нужна подпрограмма отслеживающая положение курсора (координаты мыши, говоря по-русски), факт нажатия мыши (события нажимания и отпускания мыши), двигающая положение ползуна на уровне сценария. Вместо этого можно не изобретать велосипед и использовать то что есть.
Редкий смарт не имеет вайфая. Редкий владелец смарта, имеющий также компьютер, не имеет роутера с вайфаем. Фактически, первое же желание - слушать на звонках любимую музяку и смтореть фотачьки побуждает человека поднять сеть и привязать к ней смарт, ибо бонусом кроме музяки и фотачек можно, сидя в санузле, срать не только в санфаянс, но и срать на форумах. К чему я это говорю? покупаем сетевой шилд, даже не Wi-Fi. Галимая платка на ENC28J60 за 18 юаней сгодится. Втыкаем в дуино. Подключаем к роутеру, т. к. кроме антенны, у него ещё есть 4-8-24 RJ45 дырки, для "обычного" инета, так сказать. Всё. Комп видит роутер, видит смарт, видит Arduino. Непредвиденым преимуществом этого генетического скрещивания будет также и доступ на Arduino со смарта. Остаётся написать нехитрый web-сервер (примеры скетча есть в описании библиотеки Ethernet), и будет вам RGB-рулилка, с дамами и картишками.
А голубой зуб с приложениями - моветон.
У меня стоит Eclipse и Android Studio в котором я сейчас(по урокам в инете) учусь программировать. Не отрицаю что Wi-Fi было бы намного лучше, ну я хочу именно по Bluetooth так как он и меньше и ненужны дополнительные устройств(роутер,хоть у меня их немало дома). Может кому будит интересно прикреплю Sketch и код программы на Android на один светодиод.
Sketch
BluetoothLed(Android)
MainActivity.java
activity_main.xml
AndroidManifest.xml
Сразу повторюсь, моих изменений тут мало , большая часть кода(97%) я позоимствовал на других ресурсах.
А шо так SU-27-16 разошёлся, разгрубился. Ему кто то здесь чем то обязан?
Веди себя прилично и не заливай форум злобой и хамством.
Дык и в чем загвоздка то? Не знаете как завести еще 2 переменные для синего и зеленого?
Немогу понять как сделать чтобы каждый слайдер отпровлял свои числа(например первый от 0 до 80, второй от 80 до 160 и третий от 160 до 240.), что только не пробывал так и не получяется.
????
если у Вас заданы пределы от 0 до 80
х = значение
у = значение + 80
ц = значение + 160
или задайте пределы соответственные
Я не пойму как отправить в поток нужные мне числа по очереди. Я пробыал так как вы советуете
например
каждый слайдер по 80 чисел
делаю так потому что иначе незнаю как, тем самым отпровляется сразу 3 значения(value,value1,value2) и светодиоды моргают все сразу. В Arduino я сделал так чтобы от 0 до 80 набирал яркость красный, от 81 до 160 зелёный и от 161 до 241 синий. Скорее всего я чтото не правильно делаю, а как правельной сделать я так и немогу понять.
:) С андроида отправляйте уже нужные значения и на ардуино фильтруйтеих по значению.
В томто и проблема что я немогу сделать так, чтобы каждый слайдер отправлял свои значения (первый от 0 до 80...и т.д.) . У меня получается так что когда я двигаю слайдер отправляются сразу 3 значения, тем самым светодиоды начинаю моргать а не прибавлять яркость, точнее прибавляет яркость только последний слайдер так как он последний(value2) в списке каналов и при это моргает все 3 светодиода.Бред какой та получается.
Напишите алгоритм на листочке. Вы сам принцип работы программ и обработчиков похоже не понимаете.
А шо так SU-27-16 разошёлся, разгрубился. Ему кто то здесь чем то обязан?
Веди себя прилично и не заливай форум злобой и хамством.
не вижу в своих текстах ни грубости, ни злобы, ни хамства :)
если вас чем-то обидел - извините :(
отвечу за всех - МИНЕ здесь никто ничем не обязан, Я - тоже - никому ------ вы удовлетворены ?
РУДы = минГ :)
МинГ это минимальный газ? Я не в курсе.
Но что такое стоять между двумя су24 ми на стоянке, когда они движки запускают я знаю и это неприятно :)
А ещё прикольно вручную заказывать самолёт :)
Вот такое оно, управление яркостью светодиодами
Немного поправиф код я наконец сам сделал что хотел, теперь каждый слайдер регулирует свой цвет. Немного поправил код на Android и Arduino часть проблемы была в том что я добавил,которая в свою очередь гасила СД когда не изменялись значения.
Сейчас всё работает как хотел, теперь постораюсь оформить(отредактировать получше код и сделать интерфейс поприятней на вид.
Прошу удалить тему так как смысла в ней уже нет.
А что мешает писать в порт не один, а два значения?
Например так: R для красного, G для зеленого и B для синего, а за ними байт со значением яркости. Итого 6 байт. Распарсить такую строку как нефиг делать.
char aka byte хватит на ШИМ вполне.
Или можно даже значение яркости тримя байтами обозначить (000-255), что бы коллизий не было, но получится уже 12 байт в "пакете".
Получится подобие протокола обмена.
Прошу удалить тему так как смысла в ней уже нет.
оне нас покинули :(
Ну вдруг заглянет. Я же от всего сердца. :)
:)
Всем Привет! Такой вопрос управление по блютуз машинкой с помощью Шим. Суть в том что с телефона передаются данные 4 типа данных то есть 4 разных цифры две это газ и серва вторые направления если их выводить в одну переменную они друг другу мешают. Как быть ?
не выводить.
з.ы. я честно прочитал внимательно ТРИ раза !
На примере сериал покажите пожалуйста как приходящие данные разбить на 4 переменных чтоб они друг другу не мешали?
разрядность переменных вы знаете ?
Еще нет только учусь.