Входящие команды

DarckImperator
Offline
Зарегистрирован: 08.03.2016

Здравствуйте ищу того кто напишет скетч и программу.

В чем вся задума: у меня есть джостик, к его кнопкам подпаяны провода (через оптопару) и к ним на противоположном конце приделаны различные самоделки типа герконов или датчиков с реле (ну типа просто кнопки с фиксацией). Есть прога, которая действия кнопок назначает на что-либо, в моем случай это запуск или батников или файлов питона. Дак вот мне нужно сделать так, чтобы вместо джостика использовалось ардуино желательно мегу ну можно и меньше UNO или NANO. Главное чтобы кол-во команд было как можно больше и скетч подходил ко всем. Так же надо чтобы при замыканий  программа запускала один файл, а при размыканий другой. Т.е. программа должна опрашивать пины и если было замыкание или размыкание контакта, то она должна запустить что-либо, если не было изменений, то она не должна ничего делать. Файлы желательно чтобы запускались следующих форматов : *.bat, *.cmd, *.py, *.pyw, *.lnk . Если программа будет написана на питоне вообще замечательно но можно и на Си.

 

DarckImperator
Offline
Зарегистрирован: 08.03.2016

Неужели так сложно это сделать или просто ни кто не хочет браться ?

vvadim
Offline
Зарегистрирован: 23.05.2012

DarckImperator пишет:
Неужели так сложно это сделать или просто ни кто не хочет браться ?

чайник или малоопытный не сделают...

да и тематика вроде не совсем этого форума

Onkel
Offline
Зарегистрирован: 22.02.2016

да конкретики маловато. Что нужно - чтобы при замыкании одного из , ну скажем 16, портов ардуины запускались  16 программ, а при размыкании другие 16 программ? Итого 32 события - 32 программы запускаются в винде, так?  Если так, пишите ydom собака ydom.ru . Cделаю exe для винды, для ардуины могу на ide написать, но лучше на С.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Лично я нихрена не понял и цены не увидел. Если бы была озвучена цена, которая имела бы значение, я бы попытался прочитать это второй раз... Ну  или поспрашать... А так - поток мысли, чуждый моему восприятию:) Короче, говорю же, нихрена не понятно.

DarckImperator
Offline
Зарегистрирован: 08.03.2016

Почему не этого форума ? Ну на счет чайников согласен похожих тем почти не встречал по сути мне надо приделать кнопки к ардуино и привязать к ним действия которые будут выполняться на компе

DarckImperator
Offline
Зарегистрирован: 08.03.2016

Onkel пишет:

да конкретики маловато. Что нужно - чтобы при замыкании одного из , ну скажем 16, портов ардуины запускались  16 программ, а при размыкании другие 16 программ? Итого 32 события - 32 программы запускаются в винде, так?  Если так, пишите ydom собака ydom.ru . Cделаю exe для винды, для ардуины могу на ide написать, но лучше на С.

да именно так !!! но меня интересует чтобы работало и на меге так как у неё контактов больше

Onkel
Offline
Зарегистрирован: 22.02.2016

ну так не бывает, хотя бы потому что и *.hex разные будут (обязательно разные), и #include будут разные. Нельзя написать одну программу, чтобы работала и на меге, и на 328. Это что касается ардуины.

На пк конечно программа может быть одна, это не проблема.

Ну так пишите ydom  собака  mail.ru , договоримся конкретно. Только нужно четко прописать, для чего и как, и какие будут файлы.

Onkel
Offline
Зарегистрирован: 22.02.2016

DarckImperator пишет:

да именно так !!! но меня интересует чтобы работало и на меге так как у неё контактов больше

ну вообще-то можно и по i2c контакты подключить, или там матрицу 8х8 сделать, 64 хватит?

DarckImperator
Offline
Зарегистрирован: 08.03.2016

Мне друг помогал и он сделал примерно половину обещанного. У меня есть прога и прошивка которая наоборот отсылает команды от компа и просто зажигаем пины ардуино . Кстати из 54 пинов меги у меня работает только 49 а на мелкой 10, ну и этого норм . Друг сделал это на винде, к сожалению для линуска уже ничего не было сделано и я все это жду с февраля прошлого года, он меня все кормил завтраками и обещаниями в итоге мне это просто задолбало. Думаю по моим запросам уже поняли ,что я делаю аналог умного дома. Раньше я использовал LPT порт для исходящих команд, а также COM и GAME порты. Благодаря проге JBB я могу назначить какие либо действия на кнопки джойстика, только приходится для чего-то одного использовать сразу две кнопки и того выходит 7 устройств. Можно еще на COM порте получить еще 4 команды от одного порта если использовать прогу COMctrl, она когда то была для Winampa сделана, еще 5 можно от LPT, но он на 64 битных системах не пашет, так как драйвер в винде только под 32 . Да и я хочу на линукс перейти, все это дело замутить на убунту. 

Если на Си будет написано ладно, мне говорили, что по сути код можно портануть на питон. А насчёт бюджета, я понимаю что все должно быть оплачено и, тем не менее, я не фирма которая там заказывает что-то для массового производства, но и понимаю так же, что предлагать руб 500 или тысячу -это как оскорбление. Так что по цене жду предложения от вас.

Маленькая добавка мне нужно напрямую без дополнительных деталей ,ну кроме оптопар и реле

inspiritus
Offline
Зарегистрирован: 17.12.2012

Какой у Вас язык родной. Может быть проще по english ?

"скетч" это и есть программа ( она же прошивка для мк), написанная на  языке С , ее так называют недоумки

все по- порядку 

есть железо - пожалуйста схему

Есть система - пожалуйста блок- схему ... Структуру 

Есть пожелания - внятный перечень а не поток нечленораздельных жалоб....

и пожалуйста поподробнее. А то у Вас дом сгорит нахрен а мы тут виноватыми станем....

и так , кстати ... На лоне одна точка стоит от полтинника грина, а за углом пионэры пишут "скечи" за пиво.

Onkel
Offline
Зарегистрирован: 22.02.2016

inspiritus пишет:

Какой у Вас язык родной. Может быть проще по english ?

и так , кстати ... На лоне одна точка стоит от полтинника грина, а за углом пионэры пишут "скечи" за пиво.

Еще лучше на немецком, или на японском. Его вообще мало кто знает.

А что это за лоно и про точку, не подскажите? А то я может от жизни отстал, отъезжал тут.

DarckImperator
Offline
Зарегистрирован: 08.03.2016

на почту написал, на вторую

inspiritus
Offline
Зарегистрирован: 17.12.2012

Lon

Точка - nod- любое оборудование в протоколе . Кнопка, лампочка, ворота, система кондиционирования, датчик влаги вокруг писсуара, автоматическая гильотина для промахивающихся мимо оного....

Onkel
Offline
Зарегистрирован: 22.02.2016

inspiritus пишет:

Lon

Точка - nod- любое оборудование в протоколе . Кнопка, лампочка, ворота, система кондиционирования, датчик влаги вокруг писсуара, автоматическая гильотина для промахивающихся мимо оного....

ну так написали бы LonWorks, я бы понял. Оно конечно с ардуиной сравнивать... Я помню лет 10 назад ставил интерфейс с крестрона на Lon( фанкойлы york )- где-то под пять килобаксов сама железка была, даже для крестрона (недешевая система) цена ненизкая.

Onkel
Offline
Зарегистрирован: 22.02.2016

inspiritus пишет:

Lon

кстати. у меня такая фигня завалялась CGLON-V2 , я так понимаю это RS232-LON интерфейс (но я могу ошибаться) , не получится продать за какие-то реальные деньги? Не нужна никому? Новая, даже запечатанная. За 20% от цены новой отдам.

__Alexander
Offline
Зарегистрирован: 24.10.2012

А че мудрить. На ПК по кому отправлять состояние всех портов и всё. А анализировать уже на ПК. 

pcb
Offline
Зарегистрирован: 02.04.2015

__Alexander пишет:

А че мудрить. На ПК по кому отправлять состояние всех портов и всё. А анализировать уже на ПК. 

Ну, допустим, вот.

Но бюджет неизвестен.

__Alexander
Offline
Зарегистрирован: 24.10.2012

pcb пишет:

Но бюджет неизвестен.

Думаю, зная ваши расценки на других радиофорумах, ТС врядли согласится. Тут аля игрушку собрать, чисто для себя.

pcb
Offline
Зарегистрирован: 02.04.2015

__Alexander пишет:

Думаю, зная ваши расценки на других радиофорумах, ТС врядли согласится.

Где требуется разработать промышленное изделие, там коммерческие цены. Разумно? По мне - вполне.

А так у меня есть ещё практиканты, курсанты, дипломанты; не обязательно по воробьям из пушки палить.

m_t
Offline
Зарегистрирован: 29.03.2012
Можем обсудить.
пишите на почту 
В сообщении  указывайте ссылку на тему.
Какой бюджет?
 
wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

вот код для ардуинки:

int pushButton = 2;
// дальше так же про все остальные пины
// типа того, что ниже
int myGerkon = 4;
/*
про все пины нужно описать их текущее состояние
*/

int old_state_pushButton = 0;
int old_state_myGerkon = 0;
// И так далее про все

void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  pinMode(pushButton, INPUT);
// про все остальные так же
}

void loop() {
  // read the input pin:
  int new_state_pushButton = digitalRead(pushButton);
  //и так далее вводим ВСЕ пины
  if (old_state_pushButton != new_state_pushButton) {
     Serial.print("'puhButton',");
     Serial.println(new_state_pushButton);
     Serial.print("\n");
      }
  // такой же IF для всех, выводим в компорт строки вида имя=значение      
  delay(2);        // delay in between reads for stability
}

============================================

"запятая" между именем и значением - чтобы на питоне проще читать (eval()), потому же и имя параметра в кавычках.

В IDE есть монитор ком-порта - в нем будет видно, что Ваша ардуинка посылает в порт.

должны быть строки вида:

myGeron,1 

ну или 0 ;)

вот для питона: только не переписыай тупо, я не проверял на ошибки

import serial

#открываем порт COM14 - это пример в винде, на Linux /dev/ttyACM0
ser = serial.Serial('COM14', 9600)
 
def do_something (para):
    if   (para[0] == 'pushButton' and para[1] == 0):
            #делаем что-то на изменение кнопки "вниз"
    elif (para[0] == 'pushButton' and para[1] == 1):
            #делаем что-то на изменение кнопки "вверх"
    elif (para[0] == 'myGerkon' and para[1] == 0):
            #делаем что-то на изменение геркона вниз
# ... и так далее по всем кнопкам, и пинам, которые Вам нужны
 
#основной цикл программы
while 1:
      try:
            serialline = ser.readline().split('\n')
            data1=eval(serialline)
            # станете писать реальный код - проверяйте eval() на исключения!!!
            do_something(dada1)
 
      #выход по Ctrl+C
      except KeyboardInterrupt:
            break
#закрываем порт
ser.close()

=================================================

Оба кода - тупо из примеров с минимальными переделками. Совесть не позволит деньги брать за такое.

да, порты спокойно можно гонять на 115200, если надо. Для "полуУмного" дома - мне кажется, что по фигу скорость.

DarckImperator
Offline
Зарегистрирован: 08.03.2016

Спасибо, но вчера мне сделали и на питоне и для меги с нано и уно.

std
Offline
Зарегистрирован: 05.01.2012

Чтобы на питоне читать проще было, есть JSON.