Mündəricat:

Bir Akselerometr və RF Verici-Alıcı Çifti istifadə edərək Jest Nəzarətli Rover: 4 addım
Bir Akselerometr və RF Verici-Alıcı Çifti istifadə edərək Jest Nəzarətli Rover: 4 addım

Video: Bir Akselerometr və RF Verici-Alıcı Çifti istifadə edərək Jest Nəzarətli Rover: 4 addım

Video: Bir Akselerometr və RF Verici-Alıcı Çifti istifadə edərək Jest Nəzarətli Rover: 4 addım
Video: Arducopter на гоночном квадрокоптере. Это вам не INAV! Часть первая. Базовая настройка 2024, Noyabr
Anonim
Bir Akselerometr və RF Verici-Alıcı Çifti istifadə edərək Jest Nəzarətli Rover
Bir Akselerometr və RF Verici-Alıcı Çifti istifadə edərək Jest Nəzarətli Rover

Salam, Sadə əl hərəkətləri ilə idarə edə biləcəyiniz, lakin heç vaxt cəsarəti toplaya bilməyəcəyiniz bir rover qurmaq istəyərdiniz, yoxsul mənzərəni və xətti aşmaq üçün yoxuşlu döyüşdən başqa, mikro nəzarətçinizlə bir veb kamerası ilə əlaqə qurmağa çalışmadınız. görmə problemləri? Yaxşı, qorxma … çünki asan bir çıxış yolu var! Budur, sizə güclü ACCELEROMETER təqdim etdiyim kimi! *ba dum tsss*

Bir akselerometr, xətti bir ox boyunca cazibə sürətini ölçən həqiqətən sərin bir cihazdır. Bunu mikrokontrolörümüzün oxşar bir dəyər olaraq oxuduğu yerlə təchizat gərginliyi arasında dəyişən bir gərginlik səviyyəsi kimi təqdim edir. Beynimizi bir az tətbiq etsək (bir az riyazi və bir az da Nyuton fizikası), onu nəinki bir ox boyunca xətti hərəkəti ölçmək üçün, həm də əyilmə bucağını təyin etmək və titrəmələri hiss etmək üçün istifadə edə bilərik. Narahat olma! Riyaziyyata və fizikaya ehtiyacımız olmayacaq; yalnız akselerometrin tökdüyü xam dəyərlərlə məşğul olacağıq. Əslində, bu layihə üçün bir akselerometrin texniki cəhətdən çox narahat olmağınıza ehtiyac yoxdur. Yalnız bir neçə detala toxunacağam və yalnız böyük mənzərəni başa düşmək üçün lazım olduğu qədər ətraflı məlumat verəcəyəm. Baxmayaraq ki, onun daxili mexanikasını öyrənmək istəyirsinizsə, bura baxın.

Hələlik bunu yadda saxlamalısınız: bir akselerometr, smartfonlarımızda oynadığımız bütün hərəkət sensoru oyunlarına qapı açan gizmo (tez -tez giroskopla birləşir); məsələn, cihazlarımızı hər iki istiqamətə əyərək maşını idarə etdiyimiz bir avtomobil yarış oyunu. Əlbətdə bir akselerometr (əlbəttə ki, bir neçə köməkçi ilə) yapışdıraraq bu təsiri təqlid edə bilərik. Sadəcə sehrli əlcəklərimizi taxıb əllərimizi sola və ya sağa, irəli və ya geriyə əyərək roverlərimizin melodiyalarımıza rəqs etdiyini görürük. Burada etməyimiz lazım olan tək şey, sürətləndiricinin oxunuşlarını roverdəki mühərriklərin şərh edə biləcəyi rəqəmsal siqnallara çevirmək və bu siqnalları roverə ötürmək üçün bir mexanizm hazırlamaqdır. Bunu həyata keçirmək üçün 434MHz-də işləyən bir RF ötürücü-qəbuledici cütü olan bu günki təcrübə üçün yaxşı ol 'Arduino və köməkçilərini çağırırıq ki, bu da bizi açıq ərazidə təxminən 100-150m aralığa çıxarır. görmə problemləri.

Olduqca yaraşıqlı bir hack, hə? Gəlin içəri girək…

Addım 1: Təchizatlarınızı toplayın

Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
Təchizatlarınızı toplayın
• Arduino Nano x1
• Akselerometr (ADXL335) x1
• 5V DC Motor + Təkərlər hər biri x2
• Sığır təkəri* x1
• L293D Motor Sürücüsü + 16 pinli IC yuvası hər biri x1
• 434 MHz RF Verici x1
• 434 MHz RF Alıcı x1
• HT-12E Encoder IC + 18 pinli IC yuvası hər biri x1
• HT-12D Dekoder IC + 18 pinli IC yuvası hər biri x1
• LM7805 gərginlik tənzimləyicisi x1
• Pushbutton Switch x2
• Qırmızı LED + 330O rezistor hər biri x2
• Sarı LED + 330O rezistor hər biri x1
• Yaşıl LED + 330O rezistor (isteğe bağlı) hər biri x4
• 51kO və 1MO rezistorlar hər biri x1
• 10μF Radial Kondansatörler x2
Batareyalar, Batareya Bağlayıcıları, USB Kabeli, Jumper Telləri, Dişi Başlıqlar, 2 pinli Vida Terminalları, PCB, Chasis və adi Lehim Aksesuarlarınız

Niyə bir iribuynuzlu çarxdan istifadə etdiyimizi düşünürsünüzsə, işin əsası odur ki, RF ötürücü və qəbuledici modullarında cəmi 4 məlumat pini var ki, bu da yalnız 2 mühərriki idarə edə biləcəyimiz və buna görə də bir iribuynuzlu təkərdən istifadə etməyimiz deməkdir. quruluşu dəstəkləyin. Ancaq roverinizin dörd təkərlə bir az daha sərin görünəcəyini düşünürsünüzsə, narahat olmayın, ətrafınızda bir iş var! Bu halda, iribuynuzlu çarxı siyahıdan cızmaq və hər biri təkərlə müşayiət olunan başqa bir cüt 5V DC mühərrik əlavə etmək və 3 -cü addımın sonuna doğru müzakirə edilən sadə hackə diqqət yetirmək kifayətdir.

Nəhayət, cəsarətli insanlar üçün, öz Arduino mühəndisliyinizi ehtiva edən dizaynda kiçik bir dəyişiklik etmək üçün bir yer var. Növbəti addımda bonus bölməsinə keçin və özünüz baxın. Bir neçə əlavə təchizata da ehtiyacınız olacaq: ATmega328P, 28pin IC yuvası, 16Mhz kristal osilator, iki 22pF keramika qapağı, başqa 7805 gərginlik tənzimləyicisi, daha iki 10μF radial qapaq və 10kΩ, 680Ω, 330Ω rezistorlar və bəli, mənfi Arduino!

Addım 2: Vericini bağlayın

Vericini bağlayın
Vericini bağlayın
Vericini bağlayın
Vericini bağlayın
Vericini bağlayın
Vericini bağlayın
Vericini bağlayın
Vericini bağlayın

Layihəni iki komponentə ayıracağıq: ötürücü və alıcı sxemləri. Verici bir akselerometr, bir Arduino və bir HT-12E kodlayıcı IC ilə birləşdirilmiş RF ötürücü modulundan ibarətdir, hamısı əlavə edilmiş sxemə uyğun olaraq bağlanmışdır.

Daha əvvəl təqdim etdiyimiz akselerometr, əl hərəkətlərimizi tanımağa xidmət edir. Ehtiyaclarımızı ödəmək üçün üç oxlu akselerometrdən (əsasən üç tək oxlu akselerometrdən) istifadə edəcəyik. Sürətlənməni hər üç ölçüdə ölçmək üçün istifadə edilə bilər və təxmin etdiyiniz kimi, üç oxuna (x, y və z) nisbətən bir deyil, üç analoq dəyərdən ibarətdir. Əslində, yalnız x və y oxları boyunca sürətlənməyə ehtiyacımız var, çünki roveri yalnız dörd istiqamətdə idarə edə bilərik: qabaq və ya geriyə (y oxu boyunca) və sola və ya sağa (yəni x oxu boyunca). Bir pilotsuz uçan aparat qursaydıq, z oxuna ehtiyacımız olardı ki, jestlər vasitəsilə onun qalxmasını və ya enməsini də idarə edə bilək. Hər halda, akselerometrin verdiyi bu analog dəyərlər, mühərrikləri idarə edə bilmək üçün rəqəmsal siqnallara çevrilməlidir. Arduino, bu siqnalları çevirərkən RF ötürücü modulu vasitəsi ilə roverə ötürür.

RF ötürücüsünün yalnız bir işi var: pin 3-də mövcud olan "serial" məlumatları 1 nömrəli antendən çıxarmaq. Bu, toplayan 12 bitlik paralel-seriyalı məlumat kodlayıcısı HT-12E-nin istifadəsini müdafiə edir. AD8 -dən AD11 -ə qədər Arduino -dan 4 bitə qədər paralel məlumat, beləliklə RF vericisindəki tək məlumat pinindən fərqli olaraq 24 = 16 fərqli I/O birləşməsinə qədər yer açmağımıza imkan verir. Enkoderdəki A0 - A7 xətlərindən çəkilən qalan 8 bit, RF ötürücüsünü uyğun bir RF alıcısı ilə əlaqələndirməyi asanlaşdıran ünvan baytını təşkil edir. 12 bit daha sonra bir araya gətirilir və seriallaşdırılır və RF ötürücüsünün məlumat pininə ötürülür, bu da ASK tərəfindən məlumatları 434MHz daşıyıcı dalğasına modulyasiya edir və pin 1-də antenadan çıxarır.

Konseptual olaraq, 434Mhz -də dinləyən hər hansı bir RF alıcısı bu məlumatları kəsə, demodulyasiya edə və deşifr edə bilməlidir. Bununla birlikdə, HT-12E-də və HT-12D-də (12 bitlik serial-paralel məlumat deşifrçisindəki) ünvan xətləri, məlumatları yalnız nəzərdə tutulan alıcı ilə bütün digərləri ilə ünsiyyəti məhdudlaşdırır. Bizdən tələb olunan hər şey, hər iki cəbhədə ünvan xəttlərini eyni şəkildə konfiqurasiya etməkdir. Məsələn, HT-12E cihazımız üçün bütün ünvan xətlərini əsaslandırdığımız üçün qəbul nöqtəsində də HT-12D üçün eyni şeyi etməliyik, əks halda rover siqnalları ala bilməyəcək. Bu şəkildə, alıcıların hər birində HT-12D-lərdəki ünvan xətlərini eyni şəkildə konfiqurasiya edərək, bir ötürücü dövrəsi ilə birdən çox roveri idarə edə bilərik. Ya da hər biri fərqli bir ünvan xətti konfiqurasiyasını ehtiva edən bir ötürücü dövrə ilə bağlanmış iki əlcək taxa bilərik (məsələn, biri bütün ünvan xətləri topraklanmış, digəri hamısı yüksəkdir və ya biri yeddi yer tutularkən bir xətti torpaqlanmışdır) yüksək və digər iki sətir topraklanmış, qalan altı yüksək tutulduqda və ya hər hansı digər birləşməsi) və hər biri eyni şəkildə konfiqurasiya edilmiş çoxlu rovers. Maestronu bir Android simfoniyasında oynayın!

Dövrə yığarkən diqqət etməli olduğunuz bir şey Roscun dəyəridir. HT-12E, pinlər arasında Rosc adlı bir rezistorun bağlanması ilə təmin edilən 15 və 16-cı pinlər arasında daxili bir osilatör dövrəsinə malikdir. Rosc üçün seçilən dəyər, əslində təchizat gərginliyindən asılı olaraq dəyişə bilən osilatör tezliyini təyin edir. Rosc üçün uyğun bir dəyər seçmək HT-12E-nin işləməsi üçün çox vacibdir! İdeal olaraq, HT-12E-nin osilator tezliyi HT-12D analoqundan 1/50 dəfə çox olmalıdır. Buna görə də, 5V-də işlədiyimiz üçün, HT-12E və HT-12D sxemləri üçün müvafiq olaraq 1MΩ və 51kΩ rezistorları Rosc olaraq seçdik. Dövrləri fərqli bir təchizat gərginliyində işləməyi planlaşdırırsınızsa, istifadə ediləcək dəqiq osilatörün tezliyini və müqavimətini təyin etmək üçün əlavə edilmiş HT-12E məlumat cədvəlinin 11-ci səhifəsindəki "Osilatör Frekansı və Təchizat Gərginliyi" qrafikinə baxın.

Ayrıca, bir qeyd olaraq, akselerometri, RF ötürücüsünü və Arduino -nu PCB -yə birbaşa lehimləmək əvəzinə dövrəyə bağlamaq üçün burada qadın başlıqlardan istifadə edəcəyik (IC prizləri kimi oxşar bir məqsədə xidmət edir). Niyyət kiçik bir komponentin yenidən istifadə oluna biləcəyi yerdir. Deyək ki, jestlə idarə olunan maşınınızı düzəltməyinizdən bir müddət keçdi, yarısı tozla örtülmüş, kubok rəfinizin üstündə oturdunuz və bir akselerometrin effektivliyindən istifadə edən başqa böyük bir təlimata rast gəldiniz. Bəs nə edirsən? Sadəcə onu roverdən çıxarıb yeni dövrə daxil edin. Yenisini almaq üçün "Amazonlar" ı çağırmağa ehtiyac yoxdur:-p

Bonus: Arduino'yu yox et, amma etmə

Özünüzü bir az daha sərgüzəştli hiss edirsinizsə və xüsusən də bu gözəl dizayn edilmiş möcüzəni (əlbəttə ki, Arduino) bizimki kimi əhəmiyyətsiz bir iş üçün xərcləməyin bir az həddini aşdığını düşünürsünüzsə, bir az daha səbr edin.; və yoxsa, növbəti addıma keçməkdən çekinmeyin.

Buradakı məqsədimiz Arduino'yu (əslində Arduinonun beyinləri; bəli, ATmega IC -dən danışıram!) Komandanın daimi üzvü etməkdir. ATmega, tək bir eskizi təkrar-təkrar işlədəcək şəkildə proqramlaşdırılacaqdı ki, eynilə HT-12E-a kimi IC-də olduğu kimi, dövrənin əbədi bir hissəsi kimi xidmət edə bilsin, sadəcə orada oturub, lazım olanı edir. Həqiqi bir quraşdırılmış sistemin belə olması lazım deyilmi?

Hər halda, bu təkmilləşdirməyə davam etmək üçün, əlavə edilmiş ikinci sxemə uyğun olaraq dövrə dəyişdirin. Burada, sadəcə Arduino üçün qadın başlıqlarını ATmega üçün IC yuvası ilə əvəz edirik, IC-nin sıfırlama pininə (pin 1) 10K çəkmə müqaviməti əlavə edirik və 9 və 10 pinlər arasındakı xarici saatla pompalayırıq. Təəssüf ki, Arduino'yu ləğv etsək, daxili gərginlik tənzimləyicilərini də buraxırıq; Buna görə də alıcı üçün işlədiyimiz LM7805 sxemini burada da təkrarlamalıyıq. Əlavə olaraq, akselerometri işə salmaq üçün lazım olan 3.3V çəkmək üçün bir gərginlik ayırıcıdan da istifadə edirik.

İndi burada başqa yeganə şey ATmega -nı işini proqramlaşdırmaqdır. 4 -cü addıma qədər gözləməli olacaqsınız. Odur ki, bizi izləyin…

Addım 3: Və Alıcı

Və, Alıcı
Və, Alıcı
Və, Alıcı
Və, Alıcı
Və, Alıcı
Və, Alıcı
Və, Alıcı
Və, Alıcı

Alıcı, HT-12D kod çözücü IC ilə birləşdirilmiş RF qəbuledici modulundan və L293D motor sürücüsünün köməyi ilə işləyən bir cüt DC mühərrikdən ibarətdir.

RF alıcısının yeganə işi, daşıyıcı dalğasını (pin 1-də antenası ilə alınan) demodulyasiya etmək və əldə edilən "seriyalı" məlumatları HT-12D tərəfindən deserializasiya üçün götürüldüyü yerdən 7-ci pində verməkdir. İndi HT-12D üzərindəki ünvan xətlərinin (A0-dan A7-ə qədər) HT-12E analoqu ilə eyni şəkildə qurulduğunu güman edərək, 4 paralel məlumat biti məlumat xətləri (D8-dən D11-ə) vasitəsilə çıxarılır və ötürülür. HT-12D, mühərrikləri idarə etmək üçün bu siqnalları şərh edən motor sürücüsünə.

Yenə Roscun dəyərinə diqqət yetirin. HT-12D-də, 15 və 16-cı pinlər arasında Rosc adlanan bir rezistorun bağlanması ilə təmin edilən daxili osilator dövrəsi var. Rosc üçün seçilən dəyər, əslində təchizat gərginliyindən asılı olaraq dəyişə bilən osilatör tezliyini təyin edir. Rosc üçün uyğun bir dəyər seçmək HT-12D-nin işləməsi üçün çox vacibdir! İdeal olaraq, HT-12D-nin osilatör tezliyi HT-12E analoqunun 50 qatına bərabər olmalıdır. Buna görə də, 5V-də işlədiyimiz üçün, HT-12E və HT-12D sxemləri üçün 1MΩ və 51kΩ rezistorları Rosc olaraq seçdik. Dövrləri fərqli bir təchizat gərginliyində işləməyi planlaşdırırsınızsa, istifadə ediləcək dəqiq osilatörün tezliyini və müqavimətini təyin etmək üçün əlavə edilmiş HT-12D məlumat cədvəlinin 5-ci səhifəsindəki "Osilatör Frekansı və Təchizat Gərginliyi" qrafikinə baxın.

Ayrıca, RF alıcısının qadın başlıqlarını da unutmayın.

İsteğe bağlı olaraq, bir LED, bu pində alınan biti təyin etməyə kömək etmək üçün HT-12D-nin 4 məlumat pininin hər birinə 330Ω cərəyan məhdudlaşdıran bir rezistor vasitəsilə qoşula bilər. Alınan bit YÜKSEK (1) olarsa LED yanar və alınan bit LOW (0) olarsa sönər. Alternativ olaraq, tək bir LED, HT-12D-nin VT pininə bağlana bilər (yenə 330Ω cərəyan məhdudlaşdıran bir rezistor vasitəsilə), bu da etibarlı bir ötürülmə halında yanacaq.

İndi, birinci addımda danışdığım mühərriklərlə hack axtarırsınızsa, bu çox asandır! İkinci sxemdə göstərildiyi kimi hər dəstdəki iki mühərriki paralel olaraq bağlayın. Bu, lazım olduğu kimi işləyir, çünki hər dəstdəki mühərriklər (solda ön və arxa mühərriklər, sağda ön və arxa mühərriklər) heç vaxt əks istiqamətə çəkilmir. Yəni roveri sağa çevirmək üçün soldakı ön və arxa mühərriklər həm irəli, həm də sağdakı ön və arxa mühərriklər geriyə çəkilməlidir. Eynilə, roverin sola dönməsi üçün soldakı ön və arxa mühərriklər həm geriyə, həm də sağdakı ön və arxa mühərriklər irəli çəkilməlidir. Buna görə də, bir dəstdəki hər iki mühərrikə eyni cüt gərginlik vermək təhlükəsizdir. Və bunun yolu, motorları paralel olaraq bağlamaqdır.

Addım 4: Məcəlləyə keçin

Məcəlləyə keçək
Məcəlləyə keçək

Roveri işə salmaq üçün bircə iş qalıb. Bəli, doğru təxmin etdiniz! (Ümid edirəm etdiniz) Hələ də akselerometr oxunuşlarını motor sürücüsünün mühərrikləri idarə edə bilməsi üçün şərh edə biləcəyi bir formaya çevirməliyik. Sürətölçən oxunuşlarının analoq olduğunu və motor sürücüsünün rəqəmsal siqnallar gözlədiyini düşünürsünüzsə, texniki cəhətdən yox, bir növ ADC tətbiq etməli olacağıq, amma bunu etməmiz lazım olan şeydir. Və olduqca sadədir.

Bir akselerometrin xətti bir ox boyunca cazibə sürətini ölçdüyünü və bu sürətlənmənin, mikro nəzarətçimizin 0 ilə 1023 arasında dəyişən bir analog dəyər olaraq oxuduğu yerlə təchizat gərginliyi arasında dalğalanan bir gərginlik səviyyəsi ilə təmsil olunduğunu bilirik. Akselerometri 3.3V-də işlədərkən, 10-bit ADC (bir Arduino üzərindəki ATmeaga-ya inteqrasiya olunan) üçün analoq istinadı 3.3V-ə təyin etməyimiz məsləhətdir. Anlamaq üçün hər şeyi daha asanlaşdıracaq; baxmayaraq ki, etməsək də kiçik təcrübəmizin çox əhəmiyyəti olmayacaq (sadəcə kodu bir az düzəltməliyik). Ancaq bunu etmək üçün sadəcə Arduino üzərindəki AREF pinini (ATmega üzərindəki pin 21) 3.3V -ə bağlayırıq və analogReference (EXTERNAL) çağıraraq koddakı bu dəyişikliyi bildiririk.

İndi, akselerometri düz və analoq qoyduğumuzda, x və y oxları boyunca sürətlənməni oxuyun (unutmayın ki, yalnız bu iki oxa ehtiyacımız var) təxminən 511 (yəni 0 ilə 1023 arasında yarı yolda) bir dəyər əldə edirik. Bu oxlar boyunca 0 sürətlənmə olduğunu söyləmək. Faktın təfərrüatlarını araşdırmaq əvəzinə, bunu qrafikdəki x və y oxları kimi təsəvvür edin, dəyəri 511 mənşəyi və 0 və 1023 -də şəkildə göstərildiyi kimi son nöqtələri ifadə edir; akselerometrini, sancaqları aşağıya doğru yönəldin və sizə yaxın tutun, əks halda baltaları tərs çevirə/dəyişdirə bilərsiniz. Bu o deməkdir ki, akselerometri sağa əysək, x oxu boyunca 511-dən böyük bir dəyər oxumalıyıq və akselerometrini sola əysək, x oxu boyunca 511-dən aşağı bir dəyər əldə etməliyik.. Eynilə, akselerometri irəli əysək, y oxu boyunca 511-dən böyük bir dəyər oxumalıyıq və akselerometri geriyə əydiyimiz halda y oxu boyunca 511-dən aşağı olan bir dəyər oxumalıyıq. Və kodda roverin hansı istiqamətdə hərəkət etməli olduğunu başa düşdük. Ancaq bu, həm də oxlar boyunca 511 oxuya bilmək üçün akselerometrini həqiqətən sabit və düz bir səthə paralel tutmalı olduğumuzu göstərir. Roverin dayanması üçün. Bu vəzifəni bir qədər asanlaşdırmaq üçün, rəqəmin təsvir etdiyi kimi bir sərhəd meydana gətirən müəyyən eşikləri təyin edirik ki, x və y oxunuşları sərhədlər daxilində olarkən rover hərəkətsiz olaraq qalsın və biz bilək ki, rover daxil olmalıdır. həddi aşdıqda hərəkət.

Məsələn, y oxunda 543 oxunursa, bilirik ki, sürətölçən irəli doğru əyilir, gəmini irəli yönəltməliyik. Bunu D2 və D4 HIGH pinlərini və D3 və D5 LOW pinlərini təyin edərək edirik. İndi bu sancaqlar birbaşa HT-12E-yə qoşulduğundan siqnallar seriallaşdırılır və RF ötürücüsünü işə salır, yalnız roverdə oturan RF qəbuledicisi tərəfindən tutulur ki, bu da HT-12D-nin köməyi ilə siqnalları sıradan çıxarır və onları L293D -yə ötürür, bu da öz növbəsində bu siqnalları şərh edir və mühərrikləri irəli aparır

Həssaslığı kalibr etmək üçün bu eşikləri dəyişdirmək istəyə bilərsiniz. Bunun asan bir yolu, akselerometrinizi Arduino -ya bağlamaq və x və y oxunuşlarını seriyalı monitörə tökən bir eskiz çəkməkdir. İndi sürətləndiricini bir az gəzdirin, oxunuşlara nəzər salın və eşiklərə qərar verin.

Və bu qədər! Kodu Arduino -ya yükləyin və zövq alın !! Yoxsa bəlkə də tezliklə:-(Bonus bölməsini keçməmisinizsə, kodu ATmega-ya yükləmək bir az daha çox iş demək olar. İki seçiminiz var:

Seçim A: FTDI FT232 əsas kəsmə lövhəsi kimi USB -dən Seriala qədər bir cihaz istifadə edin. Aşağıdakı xəritəyə uyğun olaraq sadəcə TTL başlığından ATmega üzərindəki müvafiq pinlərə tel çəkin:

Breakout Lövhəsindəki pinlər Mikrokontrollerdəki pinlər
DTR/GRN 0.1μF qapaq vasitəsilə RST/Sıfırla (Pin 1)
Rx Tx (Pin 3)
Tx Rx (Pin 2)
Vcc +5v Çıxış
CTS (istifadə olunmayıb)
Gnd Zəmin

İndi bir USB kabelinin bir ucunu qırılma lövhəsinə, digər ucunu da kompüterinizə qoşun və kodu normal qaydada yükləyin: Arduino IDE -ni işə salın, uyğun bir seriya portu seçin, lövhənin növünü təyin edin, eskizi tərtib edin və yükləyin..

Seçim B: Hər hansı bir yerdə yatırsınızsa UNO istifadə edin. ATmega cihazınızı UNO -ya qoşun, kodu normal qaydada yükləyin, IC -ni çıxarın və yenidən ötürücü dövrə daxil edin. Pasta qədər asan!

ATmega -da əl yükləmədən əvvəl yükləyicini yandırmaq üçün kifayət qədər ağıllı olduğunuzu və ya əvvəlcədən quraşdırılmış yükləyicisi olan bir ATmega satın almaqdan daha ağıllı olsanız, bu variantlardan hər hansı biri işləməlidir. Əks təqdirdə, burada göstərilən addımları izləyərək davam edin.

Andddd, rəsmi olaraq bitirdik! Ümid edirəm ki, bu qəribə uzun təlimatlandırıcıdan zövq aldınız. İndi davam edin, hələ bitirməmisinizsə, roverinizi qurmağı bitirin, bir müddət onunla oynayın və sorğu və/və ya konstruktiv tənqidlərlə şərh bölməsini doldurun.

Təşəkkürlər

P. S. Bitmiş layihənin heç bir şəklini yükləməməyimin səbəbi, özüm tamamlamamağımdır. Yarım yolda, sürət tənzimlənməsi, maneələrdən qaçınma və bəlkə də roverdə bir LCD kimi bəzi genişləndirmələr düşündüm, bu da həm ötürücü, həm də qəbuledici uclarında bir mikro nəzarətçi istifadə etsək o qədər də çətin olmaz. Amma niyə bunu çətin şəkildə etməyək ?! Beləliklə, hazırda bu istiqamətdə işləyirəm və hər hansı bir meyvə verən kimi bir yeniləmə göndərəcəyəm. Bununla birlikdə, əvvəlki layihələrimdən birinin modullarını istifadə edərək hazırladığım sürətli bir prototipin köməyi ilə kodu və dizaynı sınadım; burdan videoya baxa bilərsiniz.

Tövsiyə: