Mundarija:

Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish: 7 qadam
Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish: 7 qadam

Video: Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish: 7 qadam

Video: Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish: 7 qadam
Video: BTT SKR2 — DRV8825 и вентилятор контроллера 2024, Iyul
Anonim
Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish
Kompyuter RAMidan Arduino orqali ketma-ket port orqali foydalanish

Bir do'stim meni o'zining kichik Arduino loyihasi bilan ilhomlantirdi. Bu kichik loyiha Arduino UNO R3 ni o'z ichiga oladi, u Arduino IDE-da ishlab chiqarilgan dastur orqali ma'lumotlarni o'qish bilan shug'ullanadi, vizual studiyada ishlab chiqarilgan C# dasturi orqali ketma-ket portga (USB-port) yuboriladi. Bu mening birinchi qurilgan arduino, shu jumladan, men natijadan juda mamnunman va men simlarni qanday ulash va arduino dasturlash haqida bir -ikki narsani o'rgandim. Men mikrokontrolderlarni dasturlash yoki boshqarishning hech qanday mutaxassisi bo'lmaganim uchun, siz oddiy ko'rsatmalarni kutishingiz mumkin, lekin men siz uchun loyihani tushuntirishga harakat qilaman. Umid qilamanki, sizga bu ko'rsatma yoqadi. Bu loyihani yanada ko'proq ishlab chiqish mumkin, menimcha, kelajakda men RAM, CPU va GPU haroratini kuzatib boradigan asboblar panelini yarataman va … Siz "bu kunlarda imkoniyatlar juda ko'p" degan fikrga keldingiz.:)

1 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'lgan narsalar
Sizga kerak bo'lgan narsalar

1x Arduino UNO R3

1x USB A erkak uchun B tipidagi simi.

12x 220 ohmli rezistorlar

12x simlar (men karnay simlarini ishlataman, juda yaxshi ishlaydi) va 12x erkak-ayol o'tish simlari yoki 12x erkak-erkak o'tish simlari (tanlov sizniki)

12x to'g'ri ignalar (Arduino bilan bir xil paketda keladigan metall pinlar) (rasmga qarang)

1x 7 segment 4 umumiy katod 0,36 dyuymli qizil LED displey

1x lehimli temir

1x simni ajratuvchi

1x mis quvur (agar men kabi 2 mis quvur ishlatilsa, diametri kamida 11 mm)

Issiqlik o'tkazmaydigan simli o'rash (diametri 2,5 mm)

1x yupqa yog'och taxta (Siz xohlagan dizaynni qilishingiz mumkin, meniki biroz bema'ni ko'rinadi, menimcha:) O'zingiz ko'rmoqchi bo'lgan narsani yarating. Bu erda 3D printer yordam beradi)

2 -qadam: simlarni ulash

Ulanish
Ulanish
Ulanish
Ulanish
Ulanish
Ulanish

Agar siz rezistorlar va simlarni bir -biriga lehimlashni boshlashdan oldin simni sinab ko'rishni xohlasangiz, bu erda ham non paneli yordam beradi.

Ammo, agar siz o'z narsalaringizni bilsangiz, men kabi *ehm *, siz birdaniga hamma narsani lehimlashni boshlashingiz mumkin. !!! Lekin ARDUINOga emas !!!

Bu juda aniq, rasmlar hammasini aytadi, menimcha:)

Bu erda lehimlanadigan temir yordam beradi, chunki biz simlarni displey pimlariga va rezistorlarni birinchi rasmda ko'rsatilgandek displeydagi 4 COM-piniga (COM1, COM2, COM3, COM4) lehimlashimiz kerak. (Rezistorlar bir xil yo'nalishda bo'lishi shart emas, lekin menga mustahkamlik yoqadi …)

Agar siz simlar uchun qisqartiruvchi plastmassadan foydalansangiz, men tavsiya qilaman (qisqa tutashuv va statik/uzilishlar xavfini kamaytirish uchun). Siz plastmassani kichraytirish uchun lehimlanadigan dazmolning unchalik issiq bo'lmagan qismini (lehim temiridan yuqoriroq) yoki zajigalka ishlatishni yoqtirishingiz mumkin.

Men simlarni belgilashni tavsiya qilaman, shunda siz qaysi sim qayerga ketishini bilasiz, butun loyihani yig'ishni boshlash osonroq bo'ladi (hech bo'lmaganda men va mening g'alati dizaynim uchun …).

Men, shuningdek, "qora-mayda-plastmassa-metall pim" narsalarni simlarning oxirigacha lehimlashni maslahat beraman (oxirgi ikkita rasmga qarang).

Simlarni lehimlaganingizda, siz ekranning pinlariga simlarni Arduino UNO -ga ulashni boshlashingiz mumkin (birinchi rasmga qarang).

3 -qadam: Arduino IDE -ni o'rnatish va to'g'ri portni topish

Arduino IDE -ni o'rnatish va to'g'ri portni topish
Arduino IDE -ni o'rnatish va to'g'ri portni topish
Arduino IDE -ni o'rnatish va to'g'ri portni topish
Arduino IDE -ni o'rnatish va to'g'ri portni topish
Arduino IDE -ni o'rnatish va to'g'ri portni topish
Arduino IDE -ni o'rnatish va to'g'ri portni topish

Avval siz Arduino IDE -ni o'rnatishingiz kerak (bu havolani ishlating: https://www.arduino.cc/en/Main/Software), qaysi OS mavjudligiga qarab (men Windows 10 dan foydalanaman) uni to'g'ri yuklab olish kerak., shuning uchun Windows 8.1^uchun siz Microsoft do'koniga borib, Arduino IDE dasturini u erdan yuklab olishingiz mumkin (yoki yuqoridagi havolaga o'ting).

Endi siz Arduino UNO-ni shaxsiy kompyuteringizning USB-portiga ulashingiz va Arduino-ga qaysi COM-port bilan ulanganingizni aniqlashingiz kerak, lekin qanday qilib? Vazifalar panelidagi Windows logotipini sichqonchaning o'ng tugmasi bilan bosing va QURILMALAR Menejerini bosing (rasmlarga qarang), Windows-da qurilma boshqaruviga o'tishingiz mumkin, USB-seriyali bitta bo'lishi kerak, bu to'g'ri port.

Va keyin Arduino IDE dasturida asboblarni bosing va keyin portni to'g'ri portga o'rnating (men uchun bu COM4).

4 -qadam: Arduino UNO uchun kod

Arduino UNO uchun kod
Arduino UNO uchun kod
Arduino UNO uchun kod
Arduino UNO uchun kod
Arduino UNO uchun kod
Arduino UNO uchun kod

Endi biz qiziqarli qismdan boshlashimiz mumkin, kodlash!

Avval siz ekranning o'n ikkita (12) pinini har xil o'zgaruvchilarga belgilashingiz kerak bo'ladi (1 -rasmga qarang).

(COM-pinlar qaysi "pozitsiya" yonadi)

Keyin siz yana bir nechta o'zgaruvchilar va port qabul qiladigan belgilarni oladigan va uni o'z qatoriga joylashtiradigan qator qilishingiz kerak (2 -rasmga qarang).

Endi siz Arduino -dagi pin yoki portlarni OUTPUT -ga o'rnatishingiz kerak (3 -rasmga qarang).

Birozdan keyin men pastadirga qaytaman, lekin avval siz raqamlarni displeyda to'g'ri ko'rsatilishini ta'minlashingiz kerak.

Endi biz displeyda 1-9 raqamlari uchun funktsiyalarni bajaramiz (4, 5 va 6-rasmlarga qarang).

Men displeyning birinchi pozitsiyasida hech narsa ko'rsatmasligim uchun, qolgan pozitsiyalar uchun uchta (3) funktsiyani bajardim (har biri bitta pozitsiya uchun). Siz har bir raqamli pozitsiya uchun ma'lum bir raqam ko'rsatiladigan funktsiyani bajarishingiz kerak (7, 8 va 9-rasmlarga qarang).

Shuningdek, men displeyda ko'rsatilgan ma'lumotlarni ishonchli qilish uchun reset funksiyasini qildim (10 -rasmga qarang).

Endi dastur ishlayotganda aylanadigan loop uchun.

Endi siz yuklash tugmasini bosish orqali kodni Arduino -ga kompilyatsiya qilishingiz va yuklashingiz mumkin (agar dastur muvaffaqiyatli bo'lsa, Arduino -ga kompilyatsiya qilinadi va yuklanadi). (11 -rasmga qarang)

5-qadam: RAMni ketma-ket portga yuborish kodi (C#)

RAMdan foydalanishni ketma-ket portga yuborish kodi (C#)
RAMdan foydalanishni ketma-ket portga yuborish kodi (C#)
RAMdan foydalanishni ketma-ket portga yuborish kodi (C#)
RAMdan foydalanishni ketma-ket portga yuborish kodi (C#)
RAMdan foydalanishni ketma-ket portga yuborish kodi (C#)
RAMdan foydalanishni ketma-ket portga yuborish kodi (C#)

Endi men sizga C#dagi ketma -ket portga ma'lumotlarni yuborishning bir usulini ko'rsataman.

Kodlashda Visual Studio 2017 dan foydalanmoqdaman. Kod umuman uzoq emas, lekin ba'zi qismlarni aniqlash uchun biroz vaqt kerak bo'ldi, ya'ni kompyuter ishga tushganda dasturni qanday ishga tushirish kerak va ish stolida yoki vazifalar panelida yomon konsolli oyna ko'rsatilmayapti. kodni darhol kiriting!

Vizual studiyada ushbu kod-loyihani boshlash uchun siz faylni va yangi loyihani bosish bilan boshlashingiz mumkin (1-rasmga qarang), so'ng VISUAL C# -ni, so'ng WINDOWS CLASSIC DESKTOP-ni tanlang va nihoyat CONSOLE APP (. NET FRAMEWORK) -ni bosing. Albatta, xohlagan narsangizga nom bering va xohlagan joyingizga saqlang. (2 -rasmga qarang)

Endi siz dasturni kodlashni boshlashingiz mumkin …

sizga ko'rsatmalarni ishlatadiganlar kerak bo'ladi (3 -rasmga qarang), aslida ularning hammasiga kerak emas, lekin ular bor -yo'qligi muhim emas.

Va asosiy kod shunday ko'rinadi (4-rasmga qarang) ARDUINO UNO kodidagi bir xil PORT va BAUD-SPEED (9600) dan foydalanishni unutmang !!! (5 -rasmga qarang). Shuningdek, sizda qancha RAM borligini tekshirishni unutmang, menda 8 Gb (7,90 Gb) RAM o'rnatilgan, shuning uchun menda 7,90 kod bor (4 -rasmga qarang).

Agar nima uchun menda DllImports bor, deb hayron bo'lsangiz, men oynani foydalanuvchidan butunlay yashirishni xohlaganim uchun, bu holda ME, chunki kompyuter yuklanganda dastur avtomatik ravishda boshlanadi. Ammo bu haqda keyinroq batafsilroq tushuntiraman.

Agar siz Arduino va C#dasturlarini sinab ko'rsangiz va xatolar yo'qligiga ishonch hosil qilsangiz yaxshi bo'ladi. C# dasturini ishga tushirishdan oldin Arduino dasturini ishga tushirish juda muhim, aks holda u ishlamaydi.

Endi dastur yozilganda, siz papkani topib, ochmaguningizcha dasturlar papkasiga o'tishingiz mumkin, keyin disk raskadrovka papkasini ikki marta bosing va u erda * phew * sizning oltin dastur/dasturingiz, hozir -ustiga bosing va keyin yorliq yaratish tugmachasini bosing … Keyin klaviaturada (Windows) down -key + R -tugmachalarini bosing. Keyin matn qutisiga yozing: shell: ishga tushirish va shu papkada bo'lganingizda enter tugmachasini bosing (kiriting/qaytaring), men sizning ilovangiz yaratgan yorliqni ishga tushirish papkasiga olib borishingizni xohlayman. Mana, borasiz … Endi siz kompyuterni yuklaganingizda dastur boshlanadi.

Endi hamma narsa ishlashi kerak, agar bo'lmasa, muammoni qidirishni boshlasangiz yaxshi bo'ladi:).

6 -qadam: ishni tuzish

Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish
Kosonni qurish

Endi biz konstruktsiyani qurishning ko'proq jismoniy qismiga o'tishimiz mumkin, shuni esda tutingki, korpus hamma narsaga mos bo'lishi uchun siz ba'zi o'zgartirishlar kiritishingiz kerak bo'ladi. Bu men uchun hamma narsaga juda mos keladi, shuning uchun men tavsiya qilaman. hamma joyda biroz kattaroq. Ammo, agar siz ham xuddi meniki kabi yasashni xohlasangiz, men sizga bir necha asosiy choralarni beraman va uni qanday qilib birlashtirish kerak. Quvurlarni kesish uchun men quvur kesgichdan foydalandim, ular, masalan, quvurlarni kesish uchun juda yaxshi …

Shubhasiz, kompyuterni ulash va C# dasturini ishga tushirish orqali butun qurilish jarayonida hech narsa bo'shashmasligini sinab ko'rish yaxshidir (Arduinoni avvalgi USB portiga qo'yishni unutmang).

Birinchi navbatda sizga qalinligi taxminan 4 mm (0,157 dyuym) bo'lgan yog'och taxta kerak. Barcha qismlarning o'lchovlari haqida batafsil ma'lumot olish uchun 1 -rasmga qarang.

Men issiq yopishtiruvchi quroldan foydalanaman, chunki bu oson va tez, men buni tavsiya qilaman, lekin siz nimani ishlatishingiz sizga bog'liq …

PS. O'ylaymanki, rasmlar jarayonni biroz yaxshiroq tasvirlab beradi, lekin o'qing: men bo'laklarni kesish uchun pichoqni ishlataman, biroz vaqt kerak bo'ldi, lekin bu tugagach, siz qaerni displey (60 x 45 mm bo'lakda) bo'ladi, siz displeyni "ekran teshigiga" juda mahkam joylashtirishingiz kerak, shundan so'ng siz "displey qutisi" ning pastki qismida teshiklarni burishingiz mumkin. mis quvurlarni joylashtirish uchun, quvurlarning teshiklarga mahkam joylashishi ham muhimdir. Endi siz simlarni displeydan quvurlar orqali uzatishni boshlashingiz mumkin (agar siz ikkita (2) trubadan foydalansangiz, siz kabellar sonini ikkiga bo'lishingiz mumkin, shunda ular har bir trubadagi oltita (6) simga to'g'ri keladi). 2, 3, 4, 5, 6 va 7 -rasm)).

PS. Menimcha, bu kerak emas, lekin agar xohlasangiz, Arduino bir oz "nafas olishi" uchun pastda bir nechta teshik ochishingiz mumkin. (10 -rasmga qarang).

Endi siz "Baza" taxtasida quvurlar uchun teshiklarni burishingiz kerak bo'ladi (8-rasmga qarang). Agar siz barcha qismlarni bir -biriga yopishtirgan bo'lsangiz, lekin har doim bir tomonini yopishtirib qo'yishni unutmang, shuning uchun siz Arduino -ni boshqa joyda ishlatishingiz mumkin. Men yon devorning joyida ekanligiga ishonch hosil qilish uchun ikkita (2) kichik magnit va ikkita (2) kichik metall bo'laklardan foydalandim. Siz simlarni ulashni boshlashingiz mumkin (agar siz men kabi qilgan bo'lsangiz, ya'ni odatiy karnay simlaridan foydalansangiz, siz simlarni urg'ochi-erkak simlariga, so'ngra Arduino-ga ulashingiz mumkin), Arduino-dagi to'g'ri portlarni ulang.. (oxirgi rasmga qarang)

Qirralarning hammasi juda yomon bo'lgani uchun, men qirralarni yopish uchun ingichka arqondan foydalanishga qaror qildim, menimcha, bu oxir -oqibat juda chiroyli ko'rinadi. Ammo esda tutingki, bu safar men uchun dizayn loyihaning asosiy g'oyasi emas edi, shuning uchun o'zingiznikidan ham chiroyli qilib ko'ring *bu unchalik qiyin emas *.

7 -qadam: U tirik va ishlaydi

MENI BU LOYIHA HAQIDA NIMA BILMAYDI, MENI BARCHA SAVOL QILING VA MEN ENG YAXSHI SIZNI TUXSIRTISHGA QARSHILAMAN!

(Men ham ARDUINO UNOS bo'yicha mutaxassis emasman, chunki kodni qanday qilib yaxshiroq qilish kerakligi haqida takliflar olaman).

Tavsiya: