Програмска шаблона за наше ДоугсВордЦлоцк.цом ДескЦлоцк Боардс: 9 корака

Програмска шаблона за наше ДоугсВордЦлоцк.цом ДескЦлоцк Боардс: 9 корака

Преглед садржаја:

Anonim

Хеј - Било је * година * откако сам нешто послао инструктовима да врате заједници, па сам мислио да ћу подијелити како сам изградио нашу нову програмску опрему за плоче које се користе на ввв.доугсвордцлоцк.цом ДескЦлоцкс.

Знате како то иде, направили сте невероватан пројекат и рекли многим људима о томе и сигурни да би довољно тона људи вољело један за себе. Добијате штампане плоче и трошите године примјене паста за лемљење и компоненти, лемљење преливом и инсталирање компоненти које нису рефлов, затим почнете учитати микрокоде у контролер тако да пројекат ради оно што је дизајниран да уради ….. Вов - Колико корака!

Лоадинг тхе мицроцоде ????? Да - као што можда знате, рачунар без софтвера је прилично бескористан. Сви наши сатови имају посебан програм који је учитан у њих тако да могу тачно да одреде време. Када правим плоче за сатове, не постоји софтвер који се учитава у микроконтролерски чип (чип је премали да би се ставио у нормалан програматор) - Овај процес ставља софтвер у чип тако да сат може да функционише.

У старим данима (пре неколико недеља:-)) користио сам лаптоп, УСБТини програмер и диван АВРДУДЕ софтвер за програмирање плоча - седео сам за својим столом у радионици, уписивао команду за програмирање у рачунар, држите кабл за програмирање на сату и притисните ЕНТЕР. Компјутер би онда послушно програмирао плочу за мене и ја бих био готов. Једини улов је да морам да седим тамо све време, па сам одлучио да један од мојих запослених може то да уради уместо … Нажалост, открио је да је понекад померио кабл са малим бројем узрокујући посао програмирања не би успио и морао би поново почети. Да сложимо проблем, ако је дошло до грешке у лемљењу, УСБ порт мог лаптопа би се угасио и УСБТини би морао да се искључи и поново постави како би ресетовао УСБ порт ….. Морао је бити бољи начин !! како су то урадили Биг Боис?

Испоставило се да Биг Боис (тм) имају роботе који су веома добри у одржавању каблова и функи електронику која може тестирати. Пошто ми ДоугсВордЦлоцк.цом понестаје из гараже, није било вероватно да ћу ускоро доћи тамо, па шта сам могао да учиним да би нам олакшао живот? Као што би мој пријатељ Микал рекао … "Направи шаблон!". (Ноте1)

Тако да овде имамо џиг који је Доуг направио! Иако је специјално дизајниран за програмирање ДоугсВордЦлоцк.цом ДескЦлоцк плоча, концепти се овдје могу проширити на било који други микропроцесорски пројект који градите у расутом стању, па прочитајте о томе како сам ријешио проблем и погледајте што можете направити сами!

Почнимо.

-------------------------------------------------------

Напомена 1 - Почетком 2000, мој најбољи пријатељ Микал је пао у моју радионицу док сам ја градио сет полица - усмјеравала сам зглобове, што је био досадан понављајући задатак - рекао је Микал "Направи шаблон!" Рекао сам "Претешко - ускоро ћу завршити" - Рекао је "Нахх, дозволи да то урадимо" …. Ми смо то учинили. Кратка прича, једноставност изградње шаблона, у комбинацији са чињеницом да нисам помислио да је тешко погодио мој его … Одлучио сам да је бескористан …. (Иди фигура).. На крају сам се извукла и одлучио сам да напишем чланак да докажем свету да нисам бескористан - па сам осмислио пројект заснован на ПИЦ електронским коцкама. Чак је и објављен од стране часописа Силицон Цхип - (хттп://арцхиве.силицонцхип.цом.ау/цмс/А_102324/принтАртицле.хтмл) Истинита прича, и вероватно почетак за мене да се вратим у употребу микроконтролера за пројекте и писање чланака..:-)

Залихе:

Корак 1: ДескЦлоцк Боард

Прво сам почео са ДескЦлоцк плочом. Када сам га дизајнирао, осигурао сам 6-пински конектор како бих омогућио повезивање програмског кабла - Ево фотографије плоче која приказује различите конекторе.

Наравно - када учитавамо компоненте на плочу не попуњавамо ове конекторе - они су једноставно ту за програмирање и тестирање.

Страна на овој фотографији на полеђини плоче, за разлику од предње стране плоче са свим ЛЕД диодама - она ​​се прво напуни. током производње.

Користио сам ову плочу да веома пажљиво измерим локацију и размак између различитих веза са којима сам желео да се повежем.

Сада - како сам се спојио на плочу? Драго ми је што сте питали. користио сам Пого игле!

Корак 2: Пого игле и други хардвер

Пого игле су оно што професионалци користе да би привремено повезали плоче када их тестирају. Доступне су у великом броју димензија и облика, и имају прецизан механизам са опругом да би се осигурало да се игла притисне уз плочу са равномерним притиском.

Донео сам своје Пого игле од добављача на еБаи-у. Биле су довољно јефтине да мислим да имам залиху живота! Исти добављач ми је пружио и други лукави хардвер који ми је био потребан за спуштање плоче.

Ево неколико фотографија самих пинова, елегантне стезаљке за плочу и носача гумених плоча.

Корак 3: Мјерење и прављење брда за одбор

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

Одлучио сам да отворим рупе тако да пинови нису били у центру рупа за јастучиће - што је осигурало да су пинови чврсто контактирали плочу.

Такође сам дизајнирао простор за обујмицу и неке плочице за стражњу страну плоче.

У случају ДескЦлоцк плоче, на плочи је инсталирана 2.1мм аксијална утичница која је за мене требала пружити рељефну рупу, и на крају, не заборавите гумене држаче који подржавају ту задњу страну плоче.

Корак 4: Распберри Пи за мозак и 1.8 "Цолор Дисплаи

Требало ми је нешто да заменим лаптоп, па сам одлучио да користим Распберри ПИ.

Лако је постављен у базу програматора и користи једноставан 26-струки кабл повезан са ГПИО пиновима за повезивање са ДескЦлоцк плочом и екраном и прекидачем.

специфична конфигурација пинова коју сам користио није важна - ви ћете користити своје на основу ваших потреба.

Дисплеј који је коришћен је 1.8 "екран компаније Саинсмарт - донела сам гомилу њих пре 6 месеци у случају да сам пронашла употребу за њих - ово је била само употреба! Пратио сам Маркс блог хттп://маркс-спаце.цом/ 2012/11/23 / распберрипи-тфт / за поновну изградњу Линук кернела за подршку екрана.

Марк је био у праву - компајлирање кернела на Пи је био СЛОВ процес - оставио сам га да ради преко ноћи.

Ожичење екрана је било једноставно, и веома брзо сам имао радни ФрамеБуффер2 уређај.

Корак 5: Џеп за држање дисплеја од 1,8 инча

Требао ми је начин да монтирам ЛЦД екран на шаблону тако да се не звецка. Померам се са једноставним идесима - Само направи угаони џеп за њега.

Сједи уредно на предњој страни уређаја, под кутом како би корисник лако могао видјети заслон.

Екран се чврсто уклапа, али у случају да се одлучи да се извуче, и 3мм најлон вијак држи на мјесту.

Смешно је, заборавио сам око 20 година колико је лако Ацрилиц радити. Користио сам га у радњи у школи, а онда сам одмах заборавио. сада, моја радионица има канте ствари:-)

Корак 6: Учините Пи Пи Програмер

Следећи део је био проналажење софтвера који ми је омогућио да директно програмирам плочу са Пи. Одлучио сам да користим метод који је Стеве Марпле објаснио на свом блогу: хттп://блог.стевемарпле.цо.ук/2013/03/хов-то-усе-гпио-версион-оф-аврдуде-он.хтмл.

У мом случају, користио сам различите ГПИО игле као 1,8-инчни ЛЦД заслон у сукобу с њима.

Дошло је до гласног цвилежа радости када сам открио да Пи ради исправно.

Неки људи су користили степенице да заштите ПИ - нисам и пројекат ради.

Корак 7: Пребаците прекидач за уклањање напајања из ДескЦлоцк плоче

Одлучио сам да инсталирам прекидач за уклањање напајања из ДескЦлоцк плоче и да кажем ПИ-у када је дошло вријеме за почетак.

Прекидач је био ДПДТ, тако да је једна половина повезана са + 5в, а друга половина повезана са неискоришћеним ГПИО пином.

Када је прекидач био искључен, ГПИО пин је био уземљен, а када је био укључен, ГПИО пин је био повучен високо. Користио сам 100 охма отпорник како би се осигурало да је ГПИО пин је пуфер у случају да је постављен да буде излаз.

Корак 8: Софтвер у Пи-у да би се све то повезало

Затим сам написао свој први Питхон програм.

Ја сам Ц програмер - Срећом, постоје канте туторијала које могу помоћи.

Већи део кода сам добио од скупа узорака где је неко користио њихов ПИ као временски приказ.

Ево кода за Питхон скрипту који чита дугме и контролише дисплеј

#! / уср / бин / питхон

импорт пигаме

импорт сис

време увоза

од времена увоза стрфтиме

импорт ос

увозни подпроцес

импорт РПи.ГПИО као ГПИО

ГПИО.сетмоде (ГПИО.БЦМ)

#сет фрамебуффер уређај на ТФТ

ако не ос.гетенв ('СДЛ_ФБДЕВ'):

ос.путенв ('СДЛ_ФБДЕВ', '/ дев / фб1')

ос.путенв ('СДЛ_ВИДЕОДРИВЕР', 'фбцон')

деф дисплаиТиме ():

# користи се за приказ датума и времена на ТФТ

сцреен.филл ((0,0,0))

фонт = пигаме.фонт.Фонт (Ништа, 50)

нов = тиме.лоцалтиме ()

за постављање у ("% Х:% М:% С", 60), ("% д% б", 10):

тимеформат, дим = подешавање

цуррентТимеЛине = стрфтиме (тимеформат, нов)

тект = фонт.рендер (цуррентТимеЛине, 0, (0,250,150))

Сурф = пигаме.трансформ.ротате (текст, -90)

сцреен.блит (Сурф, (дим, 20))

деф дисплаиТект (текст, величина, линија, боја, цлеарСцреен):

# користи се за приказ текста на ТФТ екрану

иф цлеарСцреен:

сцреен.филл ((0,0,0))

фонт = пигаме.фонт.Фонт (Нема, величина)

тект = фонт.рендер (текст, 0, боја)

тектРотатед = пигаме.трансформ.ротате (текст, -90)

тектпос = тектРотатед.гет_рецт ()

тектпос.центери = 80

ако је линија == 1:

тектпос.центерк = 90

сцреен.блит (тектРотатед, тектпос)

елиф лине == 2:

тектпос.центерк = 40

сцреен.блит (тектРотатед, тектпос)

деф маин ():

глобал сцреен

пигаме.инит ()

сизе = видтх, хеигхт = 128, 160

блацк = 0,0,0

ЦРВЕНА = 255,0,0

ЗЕЛЕНО = 0,255,0

БЛУЕ = 0,0,255

ВХИТЕ = 255,255,255

фаил_цнт = 0

ГПИО.сетуп (18, ГПИО.ИН)

пигаме.моусе.сет_висибле (0)

сцреен = пигаме.дисплаи.сет_моде (величина)

дисплаиТект ("ДоугсВордЦлоцк", 20, 1, ГРЕЕН, Труе)

дисплаиТект ("150мм програмер", 20, 2, плаво, нетачно)

пигаме.дисплаи.флип ()

тиме.слееп (5) т

дисплаиТект ("Фирмваре Рев", 20, 1, РЕД, Труе)

дисплаиТект ("20130520", 40, 2, ВХИТЕ, Фалсе)

пигаме.дисплаи.флип ()

тиме.слееп (5) т

Истина:

дисплаиТект ("Чекање", 30, 1, ЗЕЛЕНО, Тачно)

дисплаиТект ("Инсерт Боард", 20, 2, БЛУЕ, Фалсе)

пигаме.дисплаи.флип ()

ако (ГПИО.инпут (18)):

дисплаиТект ("Програмирање", 30, 1, (200,200,1), Труе)

дисплаиТект ("Причекајте 10 сец", 30, 2, РЕД, Фалсе)

пигаме.дисплаи.флип ()

И овде је скрипта која заправо ради програмирање:

#! / бин / сх

цд / хоме / пи

судо аврдуде -ц гпио -п м169 -Уефусе: в: 0кф5: м -У хфусе: в: 0кДа: м -У лфусе: в: 0кФФ: м -Уфласх: в: ДескЦлоцк-Прод.хек

Наравно, ваш џиг ће имати другачији софтвер:-)

Корак 9: СВИ РАДИ !!!

Коначно, имао сам повезану парцелу, и то је направило посластицу!

Научио сам гомилу о вожњи ових малих 1,8-инчних ЛЦД екрана, до тачке у којој су сада мој ред на уређај за тривијалне Пи пројекте.

У сваком случају - ево неколико фотографија у акцији.

Уживати.

Где одавде?

Па то је кул питање - у овом тренутку програмер једноставно програмира плочу и потврђује да је микрофон исправно трептао. Визуално прегледамо рад ЛЕД диода (одатле свијетли приказ) - Сљедећи корак је додавање функције која може комуницирати с плочом за трчање како би се потврдила точност комбинације РТЦ чип / кристал, успоређујући пролазност времена с интернетом стандард. То не би требало да буде превише тешко …..:-)