Jeffrey Cross
Jeffrey Cross

Распберри Пи Поверед Булк Ардуино Программер

Док сам градио много робота да би испунио недавни Кицкстартер пројекат, имао сам потребу да програмирам хиљаду или више Ардуинос, што би трајало заувек ако бих их све програмирала појединачно. Овакве ситуације су савршена прилика за рад на тим мета пројектима који могу бити једнако забавни као и сам производ. У овом случају ми је требало нешто што би:

  • програмирајте пар Ардуинос паралелно
  • раде без екрана
  • јавите ми да ли је успешно програмирана или не
  • бити брза и једноставна за употребу

Пого игле су одличан начин за брзо привремено електрично повезивање са ПЦБ-ом, па сам одлучио да их користим прилично брзо. Користио сам мали ласерски прекидач да држим Ардуино на месту. Кориснички интерфејс је требало да буде прилично једноставан тако да сам се одлучио за неке сјајне дугмад за аркадни стил који такође светле са ЛЕД унутра. Мислим да су намењени за сводјење 'дечјих аутомобила', али раде и на Ардуино програмеру. Тада сам ласерски исекао оквир како би сви могли да седну тако да можете брзо да убаците Ардуино на место и притиснете дугме. Када програмира дугме трепће и када је завршено, остаје укључено ако је било успешно и гаси се ако не успе.

Повезао сам УСБ на серијски конвертер са сваким сетом пого пина и онда све то прикључио на УСБ чвориште. Да би управљао корисничким интерфејсом направила сам једноставну скицу за Ардуино, која би омогућила спољашњу контролу ЛЕД диода и емитовала догађаје када су притиснута дугмад. Ово је такође прикључено на УСБ хуб који је затим прикључен на Распберри Пи.

Написао сам једноставан комад софтвера у Ноде.јс, који је одличан за ову врсту паралелног радно оптерећеног догађаја. Све ово се комуницира са УИ Ардуином и када се притисне дугме, извршава се аврдуде у подпроцесу на исправном серијском порту. Затим говори УИ Ардуино да трепће исправан ЛЕД и онда у зависности од повратног кода из овог спољног процеса то указује на успех или неуспех.

Уз све ово на месту, све што ми је требало да урадим је да му кажем да се покрене у време извођења, што сам урадио стављајући га у цронтаб. Једина сложена ствар коју треба решити била је да се проверите да ли су УСБ портови сваки пут добили исти ИД. Срећом у Линуку то је могуће додавањем удев скрипте која генерише симболичку везу у зависности од тога где се уређај налази на УСБ магистрали. То значи да након поновног покретања УСБ на серијске претвараче чува исто име.

Пошто сви раде независно једни од других, ја могу врло брзо да ставим једну на место, притиснем дугме и почнем да стављам следеће на место. Док сам стигао до петог Ардуина, први је завршио. Пошто се раде паралелно, потребно је само неколико секунди да се програмира сваки Ардуино, уместо 30 секунди које би нормално узимале за сваког од њих.

Ако желите да направите нешто овакво за себе, све је то отвореног кода:

  • Ардуино УИ скица и Ноде библиотека
  • Библиотека програмера чвора и датотеке дизајна

Ако желите да га модификујете да бисте програмирали друге типове Ардуина, софтвер би требало да буде још увек валидан и можете га конфигурисати да ради онолико колико имате серијских портова.

Удео

Оставите Коментар