Mündəricat:
- Təchizat
- Addım 1: Avadanlıq Arasında Bağlantılar
- Addım 2: Proqramlaşdırma və Test
- Addım 3: Digər ARMbasic Hədəflər və Müxtəlif Müqavilələr üçün Mənbənin Dəyişdirilməsi
Video: Danışıq mətni ARMbasic Powered UChip və digər ARMbasic Powered SBC -lərinə vurun: 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:44
Giriş: Gününüz xeyir. Mənim adım Toddur. Mən aerokosmik və müdafiə peşəsiyəm, həm də ürəyində bir az meraklıyam.
İlham: Dial-up BBS, 8-bit Mikrodenetleyiciler, Kaypro/Commodore/Tandy/TI-994A fərdi kompüterlər dövründən, Radio Shack mağazalarının bol olduğu zamanlarda (yaxşı günlər), ilk hobbi quraşdırılmış layihələrimdən biri idi. MSU EE laboratoriyalarında kooperativ olaraq işləyərkən satın aldığım bir MEK6800D2 Motorola Mikroprosessor Təlim Kiti ilə işləyərkən (Cənubi Aşağı MI-də Lisey Elektronikası VoTech təhsilimi bitirdikdən sonra). Bu layihə, Radio Shack SP0256 NARRATOR ™ NƏTİCƏ PROCESSOR-un MEK6800D2 üzərində prototipləşdirilməsini, 6800-ü yalançı nitq yayması üçün proqramlaşdırmağı (SP0256 əsaslı HW ilə işləyənlər nəyi nəzərdə tutduğumu dəqiq bilirlər) əhatə etdi.). Gözəl bir iş gördü və gömülü mikrokontrolörlərdə və montajda dişlərimi kəsmə yolunda irəlilədim. Liseyi bitirdikdən sonra həyatın qarşısı alındı, Hərbi, Müharibə, Həyat yoldaşları, Uşaqlar, vətəndaş sektora girmək, karyera qurmaq və s. Hamısı qərb mədəniyyətində həyat səylərini davam etdirmək üçün hobbimi rəfimə əlavə etdi. burada ABŞ -da).
20 il irəli gedin, uşaqların Gəlinlə mənim diqqətimizi yayındırdığı, ipoteka/nəqliyyat vasitələri/kollec hesablarının yavaş -yavaş ödənildiyi, qazanc irəlilədikcə yaxşılaşdığına və kifayət qədər ehtiyata sahib olduğumuza çatdıqları qaçılmaz vaxta yaxınlaşırıq. Bəzi eqoist cəhdlərə yenidən diqqət yetirməyə başlaya biləcəyim nöqtəyə çatanda, hobbi elektronika konsertinə yenidən başladım. Hər halda, soyumu və tariximi nəzərə alaraq, tez bir zamanda bağladığım bir inkişaf mühitini axtardım və tapdım - ARMbasic - BASIC mənim ilk sevgim idi və bu, özümü proqramlaşdırmağa yenidən öyrəşməklə deyil, həm də çılğınca daha çox olan aparatla işləməklə bağlı idi. onilliklər əvvəl başladığımdan daha güclü və beləliklə səyahət başladı.
Bu, 2006-2009-cu illər idi. Sonra, əlimizdə olmayan səbəblərdən ötəri həyat dəyişdi (o illərdə çoxları üçün olduğu kimi). Hobbilər rədd edildi - maliyyə çətinliklərindən sonra yeni bir karyeraya diqqət yetirin (çox daşınmaz əmlak sahəsinə aid idi və biz bunu şortiklə götürdük və gənclər Kollecin maliyyələşdirilməsinin vacib olduğu nöqtəyə gəldilər). Əsasən, Həyat və Birinci Dünya problemləri (dünyanın digər bölgələrində insanların gündəlik mübarizə apardıqları çətinlikləri və zəhmətləri nəzərə alaraq həqiqətən də xoşbəxtik) özlərini göstərdi və… hobbi rədd edildi. 2011-2012-ci illərdə qısa bir şəkildə geri götürdüm və sonra başqa bir karyera dəyişikliyi ilə qarşılaşdım-hobbi yenidən rəfdə saxladım.
Başqa bir on ili sürətlə irəliyə və… Mən geri döndüm və yaxşı Tanrının iradəsi ilə, inşallah, bu müddət ərzində (bu məsəli kirdən götürüb aşağıdan papatyaları itələməyə başlayana qədər). Beləliklə, burdayıq. Vay - Arduino (bu qəribə söz nədir?) Bazara hücum etdi. Yaradanlar ?? Nədir onlar? …:) Coridium Corp-dakı dostlarım (ARMbasic və ARM əsaslı mikrokontrolör qurğularının sahibləri) sadiq və sadiq qaldılar. İndi LPC2xxx seriyalı nəzarətçilərin yerinə ARM, Cortex M0/M3/M4, Arduino və… WOW! Mədəniyyət bir az da çox dəyişdi və bir çox cəhətdən. Peeps uzaqdan və həqiqətən də qlobal səviyyədə əməkdaşlıq edir. Təchizat inanılmaz dərəcədə sürətli və güclü olur və ARMbasic, bir çox fərqli silikon ailələrində işləməklə yetkinləşərək möhkəmlənərək mənim və bir çoxları üçün gözəl bir şeydir.
Beləliklə, qısa bir hekayəni çox uzun çəkərək, bu yaxınlarda MikroElectronikanın TTS klikinə rast gəldim və üzərimə nostalji axdığını hiss etdim. Bir neçə dəqiqə ərzində sifariş verildi və vahid ələ gələnə qədər növbəti günlərdə narahat oldu. Hekayə belə başlayır …
Təchizat
- 1 ea MikroElectronika Text to Speech Click, Epson S1V30120 - TTS ASIC modulunu ehtiva edir.
- 1 ea ARMbasic Hədəf, TTS Host rolunu yerinə yetirir
- 1 ea Uno Breakout Shield (və ya çörək lövhəsinin prototip edilməsi və ya …)
- 1 ea dinamik və ya bir sıra dinamiklər, 1/8 "TRS fişli PC masa üstü dinamikləri təklif edir
- 1 lot Prototipləşdirmə məhsulları tel, lehim, axı, fitil, lehimləmə dəmir, başlıqlar, IC prizləri və s.
- 1 lot Embedded Dev Tools DMM, Logic Probe, Logic Analyzer, Scope və s. - yeni TTS Host MCU'ları üçün
Addım 1: Avadanlıq Arasında Bağlantılar
Bunu bir Uno form faktorunda bir ARMbasic hədəfi və ya Itaca uChip ilə təkrarlamaq üçün, yuxarıdakı şəkillərdə etdiyim kimi, prototipləşdirmə qalxanından istifadə etməklə ən yaxşı xidmət göstərilə bilər (düz Amazon bağlantısı)
Bəziləri bükülmüş tel sarma telini görəcək və bunun səbəbini təəccübləndirəcəklər-ümumi rejimdə səs-küydən imtina sadə cavabdır. Bəli, burada balanslaşdırılmış siqnallarla məşğul olmuruq, amma zərər verə bilməyəcəyini anladım (?) Bu səbəbdən lövhənin qurulmasını edərkən bunu etdim.
Olduqca xoş bir dizayndır. Çaplar buraya qrafik şəklində əlavə olunur (AutoCAD 2D mənim ən çox istifadə etdiyim şeydir - onilliklər ərzində gündəlik işimdə işləmişəm - hələ də KiCAD dişlərimi kəsirəm və bu çox sadə bir cəhd idi. öyrənmə əyrisini KiCAD -da ilk layihə kimi əsaslandırın). Hər halda, uChip-i ev sahibi olaraq istifadə edərkən müstəqil bir istifadə halını təmin etmək üçün uChip yuvasını birbaşa qalxana bağlamağı seçdim. İstəyirəmsə batareyadan istifadə etmək üçün bir JST əlavə etdim və bir neçə əlavəm olduğu üçün ehtiyac yaranarsa Segger J-Link EDU Debug Probe istifadə etməyimi təmin etmək üçün bir Adafruit SWD Breakout seçdim. Olmadı, amma gələcək layihələrdə istifadə etmək üçün SWD -nin üzünü saxlayıram.
Castellated, bu baxımdan, PCB -nin kənarlarını aşağıya çəkmək deməkdir ki, delikləri yarı silindrlərə endirilsin, bu da daşıyan bir PCB -yə lehimləmə imkanı verir - bu vəziyyətdə qalxan qırılma lövhəsi. Qalxanın düz paketli fanout hissələri SWD BOB üzərindəki iki başlıq sırası arasındakı satır aralığına tam uyğun gəlmədiyi üçün bunu seçdim. Düz bir sənəd çıxardı və 5 dəqiqəlik sənəd vermə və problem həll edildi.
Addım 2: Proqramlaşdırma və Test
Avadanlıq qurulduqdan sonra, naqillərin yaxşı olduğunu təsdiqləmək üçün tam bir zəng olmalıdır. Sonra hər zaman bir Güc və Zəmin yoxlaması aparıram. Bu, yalnız Gücün və Zəminin olması lazım olduğu yerdə olmasını təmin etmir, həm də orada güc/yerə malik olmayan digər sonlandırmaların heç birinin olmamasını təmin edir. Bu kimi kiçik bir layihədə yorucu bir iş deyil, daha böyük sistem sistemləri ilə, əslində yorucu bir addım olsa da, heç bir alt montajın və ya bağlı sistemlərin ağılsız bir səhvlə çıxarılmamasını təmin etmək üçün mütləq lazımdır. tutula bilərdi və olmalı idi. Ümumiyyətlə, minimum miqdarda mal alıram ki, lövhədə güc yaransın və gücün lazımi səviyyədə olduğundan əmin olmaq üçün alt qurğular, çiplər və s. (5V-ə dözümlü olmayan cihazlar/IO, 1v8 və 3v3 tələbləri və s. nəzərə alınmaqla) və bu zəmin olması lazım olduğu yerdir və yalnız olması lazım olan yerdir. Təyyarədə əvvəlcədən əlaqələndirmə yoxlamalarını düzgün apara bilməyən insanların uğursuzluqlarının şahidi oldum. Bir halda, 100K dollardan çox LRU götürdü - bu, bir layihəni idarə etmək və kiminsə prosesi qısaltması səbəbindən bir anda yan tərəfə keçmək üçün əyləncəli bir vaxt deyil. Günahkar olduğum başqa bir şey, sıxıcı 'yaxınlıq yoxlamaları' etməkdir - əlaqələrin/kəsilmələrin bitişik kontaktlara/sonlara qısa olmadığından əmin olmaq. Biri koaksiyal qurğular, çox keçiricilər/ekranlı qoşqular və s. İlə məşğul olsanız, bu çox vacib olur.
Təhlükəsizlik təmin edildikdən sonra, hər şeyi birləşdirin, işə salın və sonra TTS Host -un (ARMbasic Target MCU) bir çox quraşdırılmış MCU hədəflərində olduğu kimi proqramlaşdırmağa başlayın. TTS Click proqramlaşdırmasını və sadə istifadəsini əks etdirən bir video çəkdim. Bura baxa bilərsiniz.
ARMbasic mənbə kodunu buradan yükləyə bilərsiniz - əlavə məlumatları olan bir forum yazısı. Coridium, bu cəhdlər haqqında bir blog yazısı etdi, bura tıklayarak əldə edə bilərsiniz.
Addım 3: Digər ARMbasic Hədəflər və Müxtəlif Müqavilələr üçün Mənbənin Dəyişdirilməsi
Mənbə kodunu başqa bir ARMbasic hədəfi ilə işləmək üçün dəyişdirmək üçün lazım olan addımları sizə izah etməyəcəyəm. Zəhmət olmasa tts.bas faylını açmağa vaxt ayırın və kodu başqa bir ARMbasic ilə işləyən nəzarətçiyə köçürməyi seçsəniz hansı dəyişikliklərin lazım olduğunu oxuyun.
Bunu işə salmağın dev dövrü ərzində çəkdiyim bəzi şəkillər bura əlavə olunur.
Öyrənilmiş dərslər:
- İstifadə edilməmiş girişləri olan bir məntiq analizatorunuz varsa və əlinizdə olan iş üçün istifadə edilməyən əlavə hədəf IO -larınız varsa, bu IO -ları ayıklama vasitələri kimi istifadə etməkdən qorxmayın - kodun müxtəlif nöqtələrində bir IO -nun çalxalanması ola bilər. Gözlənildiyi kimi işləməyən şeylərin izlənilməsində böyük bir kömək, zamanlama problemlərini (məsələn, bit-banged serial əlaqələrinə təsir edən kəsilmələr) müəyyən etmək və bütövlükdə səylərinizi daha yaxşı başa düşmək üçün.
- Bütün ARM nəzarətçiləri eyni deyil. Bu açıqdır. Bununla birlikdə, LPC1765 Coridium SuperPRO -da ilkin inkişaf etdirmə edərək bir az şey əldə etdim. Fikirləşsək, bunu pis bir seçim edən şey, bu ARM nüvəsinin həyata keçirilməsinin yaddaşa sözlə uyğunlaşdırılmamış girişi təmin etməsidir. C kodunu ARMbasic -ə köçürdükdə, SAMD21 hədəfi ilə istifadə etməyə çalışana qədər işlər çox rahat getdi - buferlər doldurularkən, bayraqlar dəyişdirilərkən, ARMbasic versiyası ilə işləyərkən hər şey cəhənnəmdən çıxdı və hər şey inanılmaz dərəcədə pozuldu. qurduğum strukturlar/birliklər və s. Ağrılı bir dərs idi. Buradan götürün: Biri ən çox məhdudlaşdıran namizədin hədəfi olan portativ koda sahib olmaq istəyirsə, çox güman ki, meyvələrdən istifadə etməkdən ən çox həyəcanlandığı zaman, layihənin sonunda dramla üzləşməməsini təmin etmək üçün. səyləri..:)
- C kodunu ARMbasic -ə köçürmək mümkün deyil. Bu səy, nəhəng bir təlim təhsili təkamülü idi. Orijinal C mənbələrini hazırladığım ARMbasic kodu ilə müqayisə etmək üçün vaxt lazımdırsa, ARMbasic -in əsas dizaynının (yəni Strukturların) bir hissəsi ola bilməyən şeyləri necə həyata keçirəcəyiniz barədə bəzi fikirlər ortaya çıxa bilər.
- Bu kimi şeyləri idarə olunan hissələrdə həll edin. Varsayılan olaraq, müntəzəm olaraq məmnunluq görmək istəyənlərdənəm. Bu yükləmə və inkişaf etdirmə səyləri kimi bir cəhd, bir gecədə həyata keçirilə biləcək bir şey deyil. Həqiqi məqsədlər qoyun və "böyük mənzərə" ilə boğulmamağa çalışaraq eyni istiqamətdə çalışın.
- Məntiq Analizatoru bu işdə çox vacib idi. Bəli, daha aşağı orta səviyyəli DS-Logic+ vahidim var, amma qətiyyətlə deyə bilərəm ki, Amazoniyadan 12.50 dollarlıq 24MHz bant genişliyi LA-nın kifayət edər. Sigrok PulseView (pulsuz) ilə (protokol deşifr etmə) və bu layihə ilə məşğul olmağa çalışdığım şeylər kimi çoxlu ssenarilərdə işləməli olan çox güclü bir sistemə sahib olacaq cütlük. Test klipləri olan bir vahid əldə etdiyinizə və ya test kliplərinin ayrı -ayrılıqda sifariş verdiyinizə əmin olun, çünki onlar (Trumpfeldianın necə) çox faydalıdır.
- Sadə bir məntiq zondu da çox faydalı bir vasitədir. İş sahəsinin ümumi görünüşündə, görüntünün sağ alt küncündə qədim bir Archer (Radio Shack) məntiq zondunu qeyd edəcəksiniz. Hətta yaxşı təchiz olunmuş bir laboratoriya ilə belə bir şeyin gündəlik olaraq nə qədər faydalı olduğunu görəndə həqiqətən təəccübləndim.
Bunları əvvəllər əlaqələndirmiş ola bilərəm, amma xatırlaya bilmirəm və baxmaq üçün çox tənbələm. İşdə TTS modulunun bir videosu olan bir blog yazısı (Itaca uChip, o dövrdə ev sahibliyi edir) və portlaşdırılmış ARMbasic mənbə kodunu yükləyə biləcəyiniz ARMbasic Forum yazısıdır.
Diqqət yetirin və uzaqlaşaraq əylənin!
-MHz
Tövsiyə:
MagicCube - Rəng dəyişdirmək üçün vurun: 6 addım (şəkillərlə)
MagicCube - Rəng dəyişdirmək üçün vurun: İlk təlimatçılığa xoş gəldiniz. Ümid edirəm bütün addımları izləyə bilərsiniz. Hər hansı bir sualınız olarsa soruşun və mən məzmunu təlimatlandırıcıya əlavə edəcəyəm. Bu layihənin ideyası, C üçün hədiyyə olaraq xüsusi effektli kiçik bir kub hazırlamaq və inkişaf etdirmək idi
Çox Oyunculu Düymə vurun: 4 addım
Bir Düymə Çox Oyuncusu vur: LED-lərdən və düymələrdən istifadə edərək. 2 rejim var: -Tək oyunçu-Çox oyunçulu tək oyunçu rejimində 3 səviyyə var: LEVEL_1: 1 saniyə üçün 1 diod LEVEL_2: 2 diod 1 saniyəLEVEL_3: 2 diod 0,7 saniyəVə çoxluq üçün
Boş Deodorant Çubuğunda 'Deodorino' - Infra -Red Controlled Arduino təqdim olunur. 1 -ci Şəkilə vurun: 7 addım
Boş Deodorant Çubuğunda 'Deodorino' - Infra -Red İdarəli Arduino təqdim olunur. 1 -ci Şəkilə vurun: İndi detallara keçək
İnternetə zəng vurun: 4 addım
İnternetə zəng vurun!: İnternetə zəng vurun, yerli/real yerlərdən veb saytlara təsir göstərmək üçündür. Bu barədə daha çox məlumat: http://makker.hu/RingTheWeb/Gərəkli olacaq: 1 düymə 10k rezistor Arduino (istənilən tip) kiçik, aşağı güclü kompüterə kabellər - bu halda serverə RPi girişi
Kameranızın Müstəqilliyini 20 -yə vurun: 9 addım
Kameranızın Müstəqilliyini 20-yə vurun: Video, şəkil çəkin, çoxlu batareya sərf edin. Budur, kamera ilə batareyanın bitməməsi üçün kiçik bir DIY