Pro mini pinout. Arduino pro mini platasining tavsifi. Arduino Pro Mini - pinout va xususiyatlar. Sxema va dastlabki dizayn. Arduino IDE-ga Xitoy Pro Mini qo'shish

Yaqinda men loyihamda Arduino Pro Mini-dan foydalanish zaruratiga duch keldim va darhol unga eskizni qanday yuklash kerakligi haqida savol tug'ildi. Albatta, turli xil UART adapterlari sotiladi, ular yordamida bu muammoni tezda hal qilish mumkin, ammo o'sha paytda bunday adapter qo'lda emas edi.

Ya'ni, quyidagicha:

Nano -> Pro Mini

  • +5v -> Vcc
  • GND -> GND
  • D10 -> RST
  • D11 -> D11
  • D12 -> D12
  • D13 -> D13

Men shunga o'xshash narsani oldim:

Hamma narsa yig'ilib, tekshirilgandan so'ng, Nano-ni kompyuterga 7 marta miltillash orqali ulashingiz mumkin, ikkala plata ham foydalanishga tayyor.

Keyinchalik, proshivkani o'chirish uchun biz miltillovchi platani va dasturchini o'rnatishda biz eskizdagi tezlikni standart sifatida olib, bir xil port tezligidan foydalanishimizga ishonch hosil qilishimiz kerak. Kengash turi uchun faylni topishingiz kerak boards.txt uning yo'li nisbiydir o'rnatilgan dastur IDE quyidagicha: Arduino/hardware/arduino/boards.txt. Unda biz Pro Mini platasi uchun parametrlar bo'limini topishimiz kerak, u shunday ko'rinadi:

Pro5v328.name=Arduino Pro yoki Pro Mini (5V, 16 MGts) ATmega328 bilan

Menda ATmega328 mikrokontrolleri bilan ishlaydigan 5 voltli mini qurilmam bor, lekin agar sizda plataning boshqa versiyasi bo'lsa, unda siz o'zingizning platangizga mos keladigan bo'limni topishingiz kerak.

Bu erda tezlik to'g'ri o'rnatilganligiga ishonch hosil qilishingiz kerak:

Pro5v328.upload.speed=19200

Keyin programmers.txt fayliga, uning yo'liga o'ting Arduino/hardware/arduino/programmers.txt va parametrlarning to'g'ri ekanligiga ishonch hosil qiling:

Arduinoisp.name=Arduino ISP sifatida
arduinoisp.communication=seriyali
arduinoisp.protocol=stk500v1
arduinoisp.speed=19200

Barcha parametrlar to'g'ri ekanligiga ishonch hosil qilganingizdan so'ng, siz IDE-ni ishga tushirishingiz mumkin, agar u ishlayotgan bo'lsa, uni qayta ishga tushiring. Bu yangi parametrlarning kuchga kirishi uchun zarur.

IDE-ni ishga tushirgandan so'ng, biz "Asboblar" menyusida platamizni va dasturchi turini "ISP sifatida Arduino" ni o'rnatishimiz kerak:

Endi biz barchamiz proshivkaga tayyormiz. Kerakli eskizni tanlang, sinov uchun har qanday misolni tanlashingiz mumkin. Va endi alohida e'tibor Men sizga uni qanday miltillashni aytaman, miltillash uchun odatiy tugma biz uchun ishlamaydi, chunki u standart dasturchi bilan miltillash uchun mo'ljallangan, ya'ni. Arduino Nano-da va biz uni bosganimizda, biz mutlaqo kerak bo'lmagan Nano-ni shunchaki miltillaymiz.

Pro Mini-ni miltillashning to'g'ri usuli "Fayl" menyusida va u "Dasturchi yordamida yuklash" deb nomlanadi, menda IDE 1.5.6-r2 versiyasi bor, bu element "Dasturchi yordamida yuklash" deb nomlanadi, shekilli. ushbu nashrda tarjima qiyinchiliklari, 1.0.5-r2 versiyada hamma narsa yaxshi.

Birinchi marta uni miltillay olmasligingiz mumkin va kelajakda siz shunday xatolikka yo'l qo'yishingiz mumkin:

Biroq, tashvishlanmang, agar hamma narsa to'g'ri yig'ilgan va ishonchli tarzda lehimlangan bo'lsa, Pro Mini-da "Qayta tiklash" tugmasini bosing, bir necha soniya kuting va taxta muvaffaqiyatli yonadi.

E'tiboringiz uchun rahmat, hozircha hammasi.

- Arduino platformasining ixcham versiyasi, hajmi katta bo'lmagan barcha turdagi loyihalarni qurish uchun mo'ljallangan. Platforma boshqa Arduino platformalari bilan 100% mos keladi, masalan Arduino UNO, lekin undan ancha ixchamroq. Ushbu maqolada men Arduino Pro mini-ning xitoycha analogini ko'rib chiqaman, uning asl nusxasidan qanday farq qilishini, ushbu plata boshqa Arduino platformasi platalaridan qanday farq qilishini aytib beraman, shuningdek, eskizni yuklash uchun uni kompyuterga qanday ulash kerakligini aytaman. unga. Nihoyat, misol sifatida "miltillovchi" eskiz yordamida taxtaning ishlayotganiga ishonch hosil qilaylik.

Men Aliexpress-da Arduino Pro mini-ning ushbu analogini 1,30 dollarga sotib oldim, ishlab chiqaruvchining veb-saytidagi asl doska esa 13 evro turadi. Narxlardagi farq Xitoy analogi va asl nusxa o'rtasidagi birinchi asosiy farqdir.

Kengash antistatik sumkada keldi. To'plam shuningdek, kontakt prokladkalarini ham o'z ichiga oladi.

Taqqoslash uchun, yuqori taxta asl Arduino Pro mini, quyida mening xitoylik hamkasbim. A4, A5, A6 va A7 kontaktlari bundan mustasno, kontaktlarning soni va joylashuvi bo'yicha taxta asl nusxa bilan bir xil. Yoniq original taxtasi Ushbu kontaktlar markazda, analogda esa chap tomonda joylashgan.

Doskaning o'lchami haqida vizual tasavvurga ega bo'lish uchun men uni xitoylik hamkasbi Arduino UNO yonida ko'rsataman. Pro mini olib tashlash orqali hajmini kamaytirish mumkin edi USB ulagichi, plataga mos keladigan sxemalar bilan USB port, quvvat ulagichi ham olib tashlandi. Xitoy analogi asl versiya bilan ishlaydigan barcha modullar, drayverlar, sensorlar bilan 100% mos keladi.

Asl zamonaviy Arduino Pro mini platasi mikrokontrollerga asoslangan ATmega328, Arduino UNO bilan bir xilda. Ko'proq erta modellar bu plata mikrokontrollerda qurilgan ATmega168.

Arduino Pro mini-ning xitoycha analoglari yoqilgan bu daqiqa sifatida qurilmoqda ATmega328, va yana ATmega168. Bu asl va uning analogi o'rtasidagi ikkinchi farq. ATmega168-ga asoslangan plata ATmega328-ga asoslangan taxtadan kamroq turadi. Ushbu kontrollerlar orasidagi asosiy farq shundaki, ATmega328 bortda ATmega168ga qaraganda ikki baravar ko'p xotirani o'z ichiga oladi.

Mikrokontrollerlar orasidagi farqlar

ATmega168

ATmega328

16 KB

Ammo bu ATmega328 bilan taxtada ishlab chiqilgan ATmega168-da loyihani qurish mumkin emas degani emas, chunki ko'plab eskizlar uchun 16 KB etarli bo'ladi. Shunga qaramay, agar sizga ikki baravar ko'p xotira kerak bo'lsa, sotib olishdan oldin kengash tavsifini o'qing. Xitoylik hamkasbini sotib olayotganda men ATmega328 bilan 1,93 dollarlik taxta o‘rniga ATmega168 bilan 1,30 dollarlik taxtani tanladim. Ko'rib turganingizdek, bu erda biz xaridlarni tejashimiz mumkin.

Original Pro mini platasi ikkita quvvat varianti bilan ishlab chiqariladi: 5 va 3,3 volt. 3,3 voltdan ishlaydigan versiya uchun mikrokontroller 8 MGts chastotada, 5 voltli versiya uchun - 16 MGts chastotada ishlaydi. Xitoy analoglari ham 2 ta versiyada ishlab chiqariladi. Mening platam 5 voltda ishlaydi.
Vizual ravishda, boshqaruvchining ish chastotasi taxtada o'rnatilgan kvarts bilan aniqlanishi mumkin, agar u katta holatda bo'lsa, siz uning ishlaydigan chastotasini aniq ko'rishingiz mumkin: 8 yoki 16 MGts.

Turli chastotalarda ishlaydigan kvartsli taxtalarning bo'laklari.

Arduino Pro mini uchun quvvat manbai haqida.

GND, VCC va RAW pinlari taxtani quvvatlantirish uchun ishlatiladi.
GND- bu minus quvvat (tuproq).
VCC- plata versiyasiga qarab 3,3 yoki 5 voltli quvvatni ta'minlash uchun ishlatiladi. Ushbu ulagich qat'iy ravishda taxta uchun mo'ljallangan kuchlanish bilan ta'minlanadi. Ushbu kontaktdagi kuchlanish to'g'ridan-to'g'ri mikrokontrollerga o'tadi, agar u zarur bo'lganidan yuqori bo'lsa, ikkinchisi ishlamay qolishi mumkin.
Agar siz platani yuqori kuchlanish bilan quvvatlantirmoqchi bo'lsangiz, u holda "+" quvvat manbai ulagichga ulangan bo'lishi kerak RAW. Ushbu ulagich, plata qanday kuchlanish uchun mo'ljallangan bo'lishidan qat'i nazar, 12 V gacha bo'lishi mumkin. Ushbu kontaktdan kuchlanish kuchlanish stabilizatoriga beriladi, uni kerakli qiymatga aylantiradi va shundan keyingina tekshirgichga beriladi.

Agar siz taxtani sotib olgan bo'lsangiz va u qanday kuchlanish uchun mo'ljallanganligini bilmasangiz, RAW ulagichiga 5 voltni qo'llang va VCC ulagichidagi kuchlanishni o'lchang. Agar taxta 3,3 voltga mo'ljallangan bo'lsa, unda mos keladigan kuchlanish VCCda bo'ladi, agar u VCCda 5 volt bo'lsa, u holda taxta 5 voltga teng.

Pro mini-ning raqamli va analog chiqishlari UNO platasi bilan bir xil miqdordagi chiqishlarga mos keladi: 14 raqamli va 6 analog. Ulanish uchun A4 (SDA) va A5 (SCL) kontaktlari ishlatiladi turli qurilmalar I2C avtobusi orqali.

Arduino Pro mini proshivkasi haqida.

Arduino platformasidagi eng kichik taxtalardan biriga aylangan Pro mini platasi kamchilikka ega bo'ldi - taxtani o'rnatmasdan miltillash mumkin emas. tashqi yordam. Men senga hammasini aytib beraman mumkin bo'lgan usullar eskizlarni Pro mini-ga yuklash.

Arduino UNO platasidan foydalangan holda Arduino Pro mini uchun proshivka.

Bu eng oson yo'l emas, chunki hamma ham UNO platasiga ega emas va uni Pro mini platalarini miltillash uchun sotib olish tavsiya etilmaydi. Ammo menda UNOning xitoycha analogi borligi sababli, men ushbu usuldan boshlayman. Ushbu usulni amalga oshirish uchun UNO platasiga drayver o'rnatilishi va ushbu plata ulangan MAQOMOTI portining raqamini aniqlash kerak. Buni qanday qilish Arduino UNO ning xitoylik analogi haqidagi maqolada tasvirlangan.

Biz rasmdagi kabi taxtalarni bog'laymiz. xulosalar GND, TX Va RX o'xshashlar bilan bog'laning. Xulosa" VCC"Pro mini platasida biz ulanamiz" 5V"yoki" 3V3"Birlashgan Millatlar Tashkiloti kengashida. Agar sizda Pro mini-ning 5 voltli versiyasi bo'lsa, uni mening versiyamdagi kabi "5V" terminaliga ulang. Agar versiya 3 voltli bo'lsa, UNO platasida "3V3" ga ulang. Xulosa QAYTA O'RNATISH UNO platasida biz pinga ulanamiz DTR Pro mini doskasida. Asl platada chiqish DTR sifatida belgilangan GRN, umuman olganda, xuddi shunday.

Har bir narsa ulanganda, biz ishga tushiramiz Arduino IDE.



Eskizni joylashtirmoqchi bo'lgan taxtani tanlang:« Asboblar» - « To'lash:"va taxtangizni tanlang, bu holda "Arduino Pro yoki Pro Mini».

Pro Mini platalarida turli xil mikrokontrollerlar (ATmega168 yoki ATmega328), shuningdek, turli ta'minot kuchlanishlari (3.3) ishlatilishi mumkin. v yoki 5v ), konfiguratsiyangizni tanlang: " Asboblar» - « MARKAZIY PROTSESSOR:"V bu misolda tanlayman " ATmega168 (5 V, 16 MGts)».

Kengash ulangan portni tanlangBMT: « Asboblar» - « Port:» mening holimda bu "COM7».

Keling, birinchi eskizni yuklashga harakat qilaylik va taxta ishlayotganiga ishonch hosil qilaylik. Eskizni tanlang " Miltillash ", uning ma'nosi taxtaga o'rnatilgan LEDni miltillashdan iborat:" Fayl» - « Namunalar» - « 01. Asoslar» - « Miltillash».

"tugmalaridan foydalanish Tekshirish"Va" Yuklash“Eskiz xatolar bor-yo‘qligi tekshiriladi va doskaga yuklanadi. Hech qanday xato bo'lmasa, Pro Mini platasida ko'k LED miltillay boshlaydi.

Siz eskizdagi qiymatlar bilan o'ynashingiz va LED yoqilgan vaqtni va LED o'chirilgan vaqtni o'zgartirishingiz mumkin, eskizni yana to'ldiring va LED boshqacha miltillashini ko'ring.

USB-TTL adapteri yordamida Arduino Pro mini uchun proshivka.

Men PL2303 chipidagi ushbu adapterlardan biri haqida allaqachon gapirgan edim, endi uni amalda sinab ko'rish vaqti keldi. Ushbu adapterning ikkita versiyasi mavjud, biri meniki kabi GRN (DTR) kontaktsiz, ikkinchisi esa bu kontakt bilan. Aloqaga ega bo'lganlar aloqasizlarga qaraganda kamida ikki baravar qimmat turadi.

Agar siz GRN (DTR) kontaktsiz adapterdan foydalansangiz, uni rasmdagi kabi Pro miniga ulang.

Agar sizda 3 voltli Pro mini versiyasi bo'lsa, u holda plataning VCC pinini USB adapterning 3V3 piniga ulangan bo'lishi kerak.

Har bir narsa ulanganda, Arduino IDE-ni ishga tushiring. Biz plata versiyasini, protsessorni va portni tanlaymiz, "Blink" eskizini tanlaymiz, hamma narsa UNO bilan yuqoridagi misolda bo'lgani kabi.

Eskizni to'ldirish uchun sizga kerak bo'ladi:
1. “ni bosing Yuklash».
2. "Yozuvdan ko'rinib turibdiki, eskizni tuzish jarayoni boshlanadi. Eskiz kompilyatsiyasi...».
3. Ushbu yozuv "ga o'zgarishi bilanoq Yuklanmoqda...».
4. Pro mini doskadagi tugmani qisqa bosing QAYTA O'RNATISH.
5. Eskiz doskaga yuklanadi va siz "" yozuvini ko'rishingiz mumkin. Yuklanmagan"va doskadagi miltillovchi LED orqali.

Agar qo'lingizda DTR pinli (aka GRN, RESET) USB dan TTL adapteriga ega bo'lsangiz, uni Pro mini platasidagi mos RESET piniga ulang. Bunday holda, eskizni yuklashda siz RESET tugmasini bosishingiz shart emas, plata o'zini o'zi tiklaydi.

Ushbu adapter, xuddi PL2303 kabi, Arduino platasini miltillash imkonini beradi. Ulanish diagrammasi quyidagicha:

Arduino Pro mini-dasturini miltillash uchun boshqa USB adapterlari ham mavjud, masalan, FT232 chipida, lekin bu adapter qimmatroq bo'lgani uchun men buni hisobga olmayman.

CH341A dasturchisi yordamida Arduino Pro mini uchun proshivka.

CH341A chipidagi dasturchi UART rejimida ishlashi mumkin, ya'ni u Arduino Pro mini-ni miltillashi mumkin.

Dasturchi turli xil vizual dizaynlarda taqdim etilishi mumkin, asosiy farq narx va qo'shimcha kontaktlarning mavjudligi. Ushbu kontaktlar orasida, masalan, qo'shimcha + 5V kontaktni yo'naltirish mumkin. Men sotib olgan odamda bu kontakt yo'q edi, men bu kuchlanishni olish uchun uni taxtada lehimlashim kerak edi.

Ushbu dasturchini UART adapteri sifatida ishlatish uchun siz kontaktlarni ochishingiz kerak P/S.

Pro mini-ga ulanish uchun sizga dasturchidagi kontaktlar kerak bo'ladi: Tx, Rx, GND Va +5V. Ushbu dasturchining yana bir xususiyati bortda kontakt mavjud DTR, Pro mini platasiga ulanganda tugmani bosishga hojat qolmaydi Qayta o'rnatish, eskizni to'ldirishda. Ushbu kontaktni faollashtirish uchun siz kontaktdan foydalanishingiz kerak MOSI, UART rejimida u kabi ishlaydi DTR.

Dasturchining mening versiyamda +5V kontakti chiqmadi, bu kuchlanishni stabilizator oyog'idan olishim kerak edi. Yakuniy ulanish quyidagicha:

Pro mini CH341A
Tx Rx
Rx Tx
DTR MOSI
GND GND
VCC +5V

Drayvni yuklab oling: Yandex disk MEGA Bulutli mail@ru

Drayvni o'rnatgandan so'ng, Device Manager'da virtual MAQOMOTI porti paydo bo'ladi. Eskizlarni to'ldirish PL2303 / CH340G adapterlari bilan bir xil tarzda amalga oshiriladi, yagona farq shundaki, tugmani bosishingiz shart emas. Qayta o'rnatish.

Shuni ta'kidlash kerakki, ushbu dasturchi faqat 5 voltga ulanishi mumkin Arduino platalari chunki u 5 volt darajasini ishlatadi! Xuddi shu narsa UART adapterini talab qiladigan boshqa qurilmalarga ham tegishli.

COM port orqali Arduino Pro mini uchun proshivka.

MAQOMOTI porti orqali platani to'g'ridan-to'g'ri miltillash mumkin bo'lmaydi, chunki COM port va Pro mini turli mantiqiy darajalarga ega. Ularni muvofiqlashtirish uchun siz MAX232 chipidagi adapterdan foydalanishingiz kerak. Chipning o'zi qimmat emas, lekin men uni bezovta qilishga arziydimi yoki yo'qligini bilmayman Pro proshivka bunday adapterning mini yig'ilishi, agar narx USB adapterini sotib olishdan arzonroq bo'lmasa.

Har holda, men diagrammani taqdim etaman.

Ushbu usulning ishlashiga ishonch hosil qilish uchun men ushbu sxemani o'zim non taxtasida yig'ishim kerak edi. Toʻlov davom etmoqda...

Arduino to'plamlarining bir qismi sifatida sotiladigan modullarning aksariyati chiziqli stabilizatorli taxta va "kirish kuchlanishi 3 dan 5 voltgacha" yozuvi va modullarning ishini bajaradigan mikrosxemalarning o'zlari ko'pincha 3,3 V kuchlanish bilan quvvatlanadi, va ba'zan uni 3 yoki 1,8V ga tushirishda ishlashi mumkin.

Ushbu modul mening GPS loggerim hajmini optimallashtirish va ish vaqtini oshirishga yordam beradi...

Arduino shtrix-kodli sumkaga qadoqlangan:



Ehtimol, bu asl moduldir?


Quvvat indikatori LED yashil, №13 qizil:

Nima uchun sizga bu Arduino kerak - 3.3V, va boshqalar kabi emas - 1.4 dollarga 5V? Qurilmani Arduino-ga ulaganimizda sodir bo'ladigan mo''jizani ko'rsatishimiz kerak bo'lganda hamma narsa yaxshi: biz modullarni sotib olamiz, ularni umumiy 5V manbaga ulaymiz, eskizni yuklaymiz - va hamma narsa porlaydi va puflaydi. Ammo ko'proq yoki kamroq ishlatiladigan qurilmalarni ishlab chiqishda siz ham energiya samaradorligi, ham ixchamlik haqida o'ylashingiz kerak - buning natijasida qo'shimcha bloklarning yarmi sxemalardan uchib ketadi.

Ko'rib turganingizdek, protsessor Atmega328 ushbu moduldan 2,7V kuchlanishda ishlashi mumkin va kuchlanish stabilizatorda amalda tushadi; Taqqoslash uchun, 5 voltli Arduinoda (dan oldingi versiya GPS logger) RAW kirishida 5 V dan quvvatlanganda 3,6 V kuchlanishni kuzatdim.

Aytgancha, u qanday tezlikda ma'lumot ishlab chiqaradi? Menda jurnal fayli bor edi, ikki daqiqada u 5,42 KB (4336 KB) ~ 37 KB / s ni to'playdi, agar xato qilmasam, tezlik deyarli 15 baravar kam.

Xuddi shu simlar, biz quvvatni stabilizatorsiz ulaymiz - to'g'ridan-to'g'ri VCC, TX -> 2:


Skript dasturiy ta'minotdan belgilar bo'yicha o'qiydi ketma-ket port va biz dasturchini ulagan apparat xonasiga yozadi va nima chiqishini ko'ring:
#o'z ichiga oladi // Dasturiy ta'minot portidan foydalanish uchun. SoftwareSerial mySerial(2, 3); //Arduino-ning 2-pinini ishga tushiring. char ch; // Bufer. void setup() ( Serial.begin(9600); mySerial.begin(9600); ) void loop() ( // Agar dasturiy ta'minot teridan belgi o'qilsa, agar ((ch = mySerial.read()) != -1) Serial.write(ch); // uni apparatga yozing. )
"Port monitor" da GPS moduliga xos bo'lgan chiziqlar mavjud:

Ilgari yozilgan kod, aslida, ba'zida noto'g'ri bo'ladi, shuning uchun uni takomillashtirishga ehtiyoj bor. Ushbu alfa versiyasini yig'ib:


skriptni qayta yozdi -

deyarli tugallangan GPS logger

#o'z ichiga oladi #define SER_SP 9600 // Seriyali port tezligi. flDataFile fayli; // GPS satrlarini yozish uchun fayl. char chGpsLint; // GPS satrini saqlash uchun o'zgaruvchi, bayt btReaded; // uning uzunligi. void setup() ( Serial.begin(SER_SP); // Portni sozlang. if (!SD.begin()) // Agar karta bilan ishlashni boshlay olmasak, delay(3600000); // hech narsa qilmang. bir soat davomida.flDataFile = SD.open("-NKK-LOG.GPS", FILE_WRITE); // Yozish uchun fayl: agar (!flDataFile) // agar biz kechiktirishni ocha olmasak (3600000); // hech narsa qilmang bir soat davomida. ) void loop() () void serialEvent() ( // Yangi ma'lumotlar kelganda avtomatik ravishda chaqiriladi. while (Serial.available()) ( // Seriyali portda ma'lumotlar mavjud bo'lsa, btReaded = Serial.readBytesUntil ("\n", chGpsLint, 128) ; // satrni o'qing, agar (btReaded > 45) // agar u kamida shuncha belgidan iborat bo'lsa, flDataFile.write(chGpsLint, btReaded); // ma'lumotlarni yozing fayl. ) flDataFile.flush(); // Fayl buferini tozalang. )

To'xtatilganda matnni ushlang. Yuqoridagi fotosuratda ko'rsatilgan batareyaga allaqachon ulanishi va ishlatilishi mumkin, ammo mahsulotni to'ldirish kerak!

O'rnatish uchun foydalanishga qaror qilindi, lekin o'rnatishdan oldin elementlarning qanday joylashishi haqida o'ylash yaxshiroq emasmi - Fritzing yordamlashmoq!


Eng qiyin narsa taxtani chizishni tugatish edi, lekin elementlarning optimal tartibini tanlab, lehim temir bilan ko'proq vaqtdan ko'ra, kompyuter ekrani oldida vaqt o'tkazish yaxshiroqdir.
Chapdagi "Hut" - MicroSD->SD xotira kartasi adapteri;
Yuqori o'ngdagi LEDlar: kadans uchun 3 ta va qurilma holatini ko'rsatish uchun bittasi (kartaga kirishda xatolik, fayl yaratishda xatolik, GPS ma'lumotlarini kutish), qarshilik erga SMD bo'ladi;
GPS moduli ko'rsatilmagan: u doskaning orqa tomonida joylashgan;
quvvat batareyasi ham bo'ladi;
pastki o'ngda - qamish kalitini ulash uchun raz'em-3,5; siz uning joylashgan joyiga yaqin joyda korpusda teshik qazishingiz kerak bo'ladi.
Men yig'ishni boshladim, taxtaning o'lchami ishning o'lchamiga to'g'ri keldi. Menimcha, men uni bu ish uchun tanlagandek tuyuladi ... Issiq eritilgan yopishtiruvchi korpus ichidagi modullarni biriktirishda yordam beradi! Avvaliga men batareyani korpusga o'rnatmoqchi edim:


Ammo dizayn xususiyatlari uni taxtaga joylashtirish yaxshiroq ekanligini aniqlaydi:


Keyin plataga GPS moduli va uning antennasi biriktirildi (batareyaning yonida joylashgani uchun), bo'sh joy etishmasligi sababli "ekranni" antennadan olib tashlash kerak edi:


Olib tashlashni yanada qulayroq qilish uchun taxtaga "tutqich" lehimlangan:


Dastlab, men Arduino modulini ulagichlar orqali o'rnatishni rejalashtirgan edim, lekin korpusning balandligi etarli emasligi sababli va men boshqa hech narsani ko'rishni yoki kesishni xohlamadim, men uni taxtaga salqin tarzda lehimlashga qaror qildim:


Bortga bunday o'rnatishni birinchi marta Bluetooth modulida ko'rganman - bu ajoyib bo'lib chiqdi. Yagona salbiy tomoni shundaki, siz uni faqat sochlarini fen bilan og'riqsiz olib tashlashingiz mumkin. Miltillash uchun men ko'proq kontaktlarni lehimlayman - taxta katta.
Yuqoridagi rasm xotira kartasi adapterini to'g'ri lehimlashga yordam berdi, men uni 2 marta qayta lehimladim va uchinchi marta kontaktlarning joylashishini esladim =)


Qulaylik uchun uni issiq elim bilan mahkamlaymiz:

^ -adapter ostida o'tish moslamasi orqali ulangan GPS moduli uchun quvvat kontaktlari mavjud: o'tish moslamasi orqali quvvat Arduino chiziqli stabilizatoridan keladi. UART orqali GPS moduliga ulanganda, Arduino interfeysni ushlab turmasligi uchun jumperni olib tashlash mumkin.


Yoqilgandan so'ng, GPS 80 soniyadan keyin GMT vaqtini va 14 daqiqadan keyin joylashuv ma'lumotlarini berdi! Ko'p narsa bor, lekin bu faqat balkondan.
LED va kondensatorni RAW ga o'tkazgandan va lehimlagandan so'ng (28uF, har qanday holatda "qo'shimcha" qismlar topilgan):

^ - dasturchiga ulanish uchun kontaktlar doskaga yopishadi.
Orqa tomonda, yuqorida aytib o'tilgan jumper, UART dasturchisi orqali GPS moduli bilan ishlashda Arduino yoki Aruino bilan ishlashda GPS modulini o'chirishga imkon beradi:

^ - GPS-ga oson ulanish uchun kontaktlar alohida ko'rsatiladi.

Taxta mahkamlangan qopqoq pastki qismga joylashtiriladi va mahkamlanadi (hozircha kameradan kauchuk bantlar bilan). Pastki qismi, o'z navbatida, rulga biriktirilgan, buning uchun to'rtburchakning uchlarida 4 ta teshik mavjud:


Displey LEDlari uchun chekkada bir nechta teshiklar kerak, ammo ular hali ham sozlanishi kerak: yo men ichidagi LEDlarni tuzataman yoki teshiklarni shaffof issiq elim bilan yopishtiraman, men hali qaror qilmadim. Ishning old tomoniga yopishtirilgan:


Pastki qismi rulga biriktirilgan:


"Qopqoq" pastki qismga yopishadi (va pastki qismga aylanadi):


Rul g'ildiragiga mahkamlangandan so'ng, "pastki" endi olib tashlanmaydi va qurilma qopqoqda qoladi; uni olib tashlash va trekni tuzatish yoki yozish uchun, masalan, yugurish uchun alohida ishlatish mumkin.

Uchta ko'k kadans indikatori quyidagi sxema bo'yicha yonadi:
[LEDlar] [ * * * ] 130 + [ * * ] 120 [ * ] 110 [ * * ] 100 [ * ] 90 [ * * ] 80 [ * ] 70 70 - [Kadans]

Nima qilish kerakligidan:
- keyin, uni dasturiy ravishda o'chirishga qaror qilindi;
- kuchlanish kuchaytirgich moduli olib tashlandi, oqim iste'moli 95-125 mA atrofida - bu nisbatan deyarli 2 baravar kam va LEDlar yo'q edi, ularning har biri 10-15 mA iste'mol qiladi;
- SD to'g'ridan-to'g'ri ulangan;
- korpus ichidagi LED va elementlarning joylashuvi bortda universal/demontaj qilinadigan tizimni yaratish istagiga zid keladi - natijada korpus bir xil bo'lib qoladi va batareyani unga ulash uchun deyarli hech qanday joy yo'q =)

Manba kodi

/** * Ko'p so'rovlar tufayli * Men uzoq kutilgan manba kodini * kadans ko'rsatkichlarisiz nashr etyapman. * Bitta LED (17) ish boshlanishida * 70 ta belgidan iborat birinchi NMEA qatori olinmaguncha yonadi. */ #shu jumladan #define FILE_NM "-NKK-LOG.GPS" #define SER_SP 9600 #define RED_ON PORTC |= 0b000001000 // Yoqing yoki #define RED_OFF PORTC &= 0b111110111 // qizil LEDni o'chiring. uchuvchi so'z wTotRev, // pedal aylanishlarining umumiy soni; wTotRevLastWtd = 0; // jurnalga oxirgi yozilgan. flNMEA fayli; // GPS satrlarini yozish uchun fayl. char chNMEA; // GPS satrini saqlash uchun o'zgaruvchi, bayt btReaded; // uning uzunligi. bool bWaitingGps = rost; // Birinchi joriy GPS ma'lumotlarini kutish belgisi. void setup() ( kechikish(800); // Yoqilganda quvvat kontaktlari sakrab chiqishi mumkin. pinMode(17, OUTPUT); // Qurilma holati LEDlari. while (!SD.begin()) ( // SD bo'lganda karta aniqlanmadi , RED_ON; kechikish (150); // miltillovchi. RED_OFF; kechikish (500); ) flNMEA = SD.open (FILE_NM, FILE_WRITE); // Fayllar bilan ishlashni tekshirish. if (!flNMEA) // Agar faylni ochishda xatolik yuzaga kelsa (to'g'ri) ( // 2 marta miltillash. RED_ON; kechikish (150); RED_OFF; kechikish (150); RED_ON; kechikish (150); RED_OFF; kechikish (500); ) Serial.begin(SER_SP); // GPS sensori bilan ishlashni boshlaylik RED_ON; ) // setup() // void loop() ( ) // loop() // void serialEvent() ( // Avtomatik chaqirilgan yangi ma'lumotlar kelganda. while (Serial.available( )) ( // Seriyali portda ma'lumotlar mavjud bo'lsa, o'qing. btReaded = Serial.readBytesUntil("\n", chNMEA, 128); if (bWaitingGps) ( // Agar GPS hali joriy ma'lumotlarni ishlab chiqarmasa, (btReaded > 70 ) ( // ularni tekshiring. bWaitingGps = noto'g'ri; RED_OFF; flNMEA.write(chNMEA, btReaded); ) ) aks holda (btReaded > 0) // Agar ilgari GPS bo'lsa chiqarilgan joriy ma'lumotlar, flNMEA.write(chNMEA, btReaded); // faylga yozish. ) flNMEA.flush(); // Fayl buferini tiklash. ) // serialEvent() //

Mahsulot do'kon tomonidan sharh yozish uchun taqdim etilgan. Ko'rib chiqish Sayt qoidalarining 18-bandiga muvofiq nashr etilgan.

Men +21 sotib olishni rejalashtiryapman Sevimlilarga qo'shing Menga sharh yoqdi +16 +36

Arduino + ikkita servo + zaryadlovchi plata + kuchaytiruvchi konvertor paneli + eski batareya + bir nechta radio komponentlar + fanera parchasi + o'zgartirish tugmasi = ahmoqning orzusi ushaldi!
O'qishni yaxshi ko'radiganlar uchun juda ko'p matn. Diagonal o'qishni yaxshi ko'radiganlar uchun juda ko'p spoylerlar. Video, video sevuvchilar uchun. Darhol nusxa ko'chirish va "tizza ustida" yugurishni yoqtiradiganlar uchun eskiz. Foto, fotosurat, fotosurat. Mushuk, mushukni sevuvchilar uchun.

Haqiqatan ham rad etish emas

Bu mening birinchi loyiham, miltillovchi LED, Salom dunyo va boshqalardan tashqari. An'anaga ko'ra, kod mukammal emasligiga ishonch hosil qilish uchun avval boshingizga kul sepishingiz kerak va bu borada bahsga qo'shilishingiz kerak. Shuningdek, boshqa loyihadan kodni qisman nusxalash haqida, juda qattiq urmaslikni so'rang va hokazo. Lekin bu sodir bo'lmaydi. Kod mukammal! Chunki u ishlaydi, menga yoqadi va men buni o'zim uchun qildim.
Men qiziquvchilarga maslahat beraman: qo'rqmang, jangga qo'shiling, kod tog'larini belkuraklang, o'zingizning mega-piramidalaringizni quring. turli operatorlar. Vaqt o'tishi bilan uslub, nafosat va ideal keladi.
Controller xotirasida bo'sh joy bor ekan, siz hech narsadan qo'rqmaysiz. Agar siz devorga tegsangiz, optimallashtirasiz. Va bu ham rivojlanishdir. Bu muhim.
C dasturlash bo'yicha katta kitob - ha, foydali. Lekin, birinchi navbatda, qo'lda buyruqlar bo'yicha tezkor ma'lumotnomaga ega bo'lish va xatcho'plaringizda ular bilan ishlash uchun bir nechta havolalarni saqlash foydaliroqdir. oddiy misollar, kutubxonalar va boshqalar kabi, yoki bir xil Amper.
Bundan tashqari, oqim sxemalari menga juda yordam beradi. To'rtburchak, olmos, tasvirlar. Bunga duch kelgan har bir kishi tushunadi. Men hozir bitta loyiha bilan shug'ullanyapman - men buni oqim sxemasisiz qilolmayman. Men uchun bir nechta kodni yozib olish va unga yopishib qolishdan ko'ra, dasturning butun oqimini aniqroq tasavvur qilish uchun bir necha kun davomida chizish - qog'ozga qayta chizish yaxshiroqdir, chunki ... Cheklangan tajribam tufayli men butun kodni dasturiy fikrlarim kuchi bilan qamrab olish imkoniyatiga ega emasman.
Buni takrorlashni yoki o'z yo'lida qilishni istaganlar uchun men barcha savollarga javob beraman.
Men yozganim, uslubim, dizaynim, kodi va mahsulotning zarurligi va hokazolar haqida bo'sh bahslarga kirishmayman. Agar men ko'rib chiqishda biron bir joyda jiddiy xatoga yo'l qo'ygan bo'lsam, uni tuzataman yoki qo'shaman.

"Eng foydasiz qurilma" nima ekanligini Google orqali topishingiz mumkin. Men unga tasodifan duch keldim. Ushbu kod asos sifatida qabul qilindi, chunki u o'z-o'zidan ishga tushmadi va men o'z skriptlarimni yaratmoqchi edim.

Lirik chekinish

Ularning aytishicha, qirq yoshdan keyin, ayniqsa qirq yoshdan oshgan bo'lsangiz, miyangizni "moslash" ga harakat qilishingiz kerak. Va bu tillarni o'rganish eng yaxshi isinishdir. Va nafaqat o'sha yoshda. Men tillarni unchalik yaxshi bilmayman, lekin “Salomatlik” jurnali maslahat berganga o‘xshaydi... Umuman olganda, men o‘zim uchun yangi narsalarni o‘rganishga qaror qildim. Elektronika men uchun yangilik emas, garchi men uning ko'p qismini unutgan bo'lsam ham, lekin dasturlash menga hech qachon tanish bo'lmagan. Men undan qo'rqardim. Ammo bu erda yuqoridan ko'plab belgilar bir-biriga to'g'ri keldi: yangi narsalarni o'rganishni tavsiya qiladigan "Salomatlik" jurnali, dasturlashni (hech bo'lmaganda bir oz) tushunishni orzu qilgan (hech bo'lmaganda) va faqat dangasalar gaplashmaydigan youtube. dollar va bir tiyin uchun aqlli to'lov yordamida LEDni qanday o'chirish haqida.
Bungacha men ikkita tranzistor, bir kondansatör va bir juft rezistor yordamida LEDning miltillashini juda yaxshi boshqarardim, ammo hozir ular bu noto'g'ri emas, deyishadi. Shunday qilib, siz trendda bo'lishingiz kerak.


Menga bu befoyda, so'zning tom ma'noda qurilmasi juda yoqdi. Men buni ko'rdim va sevib qoldim. Men buni xohlayman, hammasi shu! Bolaning orzusi kabi! Ammo yosh o'ziga xos tuzatishlar kiritdi. Men uni sotib olmayman, o'zim tayyorlamoqchiman. Ayniqsa, u sotuvda bo'lgani uchun oddiy qurilmalar. Men "intellektual" ga duch keldim, lekin sotuvda shunga o'xshash narsani topa olmadim. Bundan tashqari, buni qilish kerak!
Va yana, Arduino. Va men bu bilan shug'ullanmayman. Shuning uchun biz buni aniqlab olishimiz kerak. Aliexpress qutqarish uchun. Men Arduino bilan boshladim. Men o'qish yo'li mashaqqatli bo'lishini va qurbonliklar muqarrar ekanligini tushundim. Shunday qilib, men besh xil buyurtma berdim. Agar biror narsa bo'lsa, ularni yoqishga ruxsat bering. Sxemani disk raskadrovka qilish Uno-da boshqa sotuvchidan amalga oshirildi. Ammo, bu maxsus taxta oxirgi qurilmada bo'lganligi sababli, u sarlavhaga kiritilgan.
Arduinos-ga qo'shimcha ravishda, men Arduino-ga mos keladigan va Arduino-ga yaqin bo'lgan juda ko'p miqdordagi keraksiz narsalarni buyurtma qildim. Bu erda men sizga faqat ushbu mahsulotda nima foydali bo'lganligi haqida gapirib beraman.

Arduino Pro Mini


Yetkazib berish tez, standart antistatik paketga va ichki yuzasi pimpleli konvertga qadoqlangan. Sotuvchi xushmuomala, rus tilini biladi.
328 chipda. 3,3 volt, 8 MGts. Nega bunday? Ha, xato bilan. Men 5 volt, 16 MGts ni xohlardim, lekin buni sotib oldim. Bu mening aybim. Biroq, bu loyiha uchun bu muhim emas - men qo'shimcha kuchlanish konvertorini o'rnatdim. Ana xolos. Men boshqa Minislardan katta farqlarni topmadim. Brend farqi qora tekstolit(?).Jamblardan: RAW pin doskada ishlamaydi. Lekin bu ham to'xtamadi. Biroq, 3,3 V konvertor pulni tejashga yordam beradi, taroqlar lehimlanmagan. Kengash yaxshi tayyorlangan.
Nega bunchalik qisqa? Chunki bu sotuvchi va uning to'lovlari haqida allaqachon tarafkashlik mavjud (18-band). Xohlaganlar osongina topishlari mumkin. Buni takrorlashning ma'nosi yo'q. Men ham unga izohlarda ikki sentimni qo'shib qo'ydim. Va men sotuvchi bilan ko'p yozishdim.


Servo haydovchi SG90


Ikki dona lot uchun 3,2 dollar.
Ta'riflash uchun alohida narsa yo'q. Harakat tezligiga juda bog'liq bo'lgan o'rtacha joylashish aniqligiga ega zaif servo haydovchi. Lekin bu arzon. Qopqoq haydovchi uchun - ko'proq, "qo'l" uchun - imkoniyatlar yoqasida. Ishlash uchun 5 volt kerak, lekin nazorat qilish uchun 3,3 etarli. Men uni konvertor orqali va to'g'ridan-to'g'ri Arduino orqali boshqarishga harakat qildim - farq yo'q. Shuning uchun, darajali konvertor pulni tejaydi.


Zaryadlash boshqaruvchisi va quvvat konvertori


Besh dona uchun 2,28 dollar. Himoya bilan. Zaryad olayotganda qizil LED yonadi; zaryadlash tugagach, ko'k LED yonadi. Bu yerda sharh bor edi.


Har biri $0,50. Biroq, etkazib berish pullik, lekin men ushbu do'kondan boshqa narsalarni sotib oldim, shuning uchun etkazib berish bezovta qilmadi. Og'irlikni engillashtirish uchun USB rozetkasi olib tashlandi))) Chiqish 5,12 voltni ishlab chiqaradi.





Men uni oflaynga oldim. Bir oz qattiq. Servoning ishlashini engillashtirish uchun uni qismlarga ajratish, kamonni qisqartirish yoki uni zaifroq bilan almashtirish mumkin edi. Ammo dangasalik g'alaba qozondi. Men buni shunday qo'ydim. To'g'ri, men yuqori tezlikda servo aylanish burchagiga kod qo'shimchalarini yozishim kerak edi.


TTL konvertori


Bir dona uchun 1,5 dollar. Aslida, men birinchi bo'lib buyurtma berganman. Narxining yarmi. Ammo, ba'zi g'alati sabablarga ko'ra, u qahramonlarcha halok bo'ldi. Men uni qanday o'ldirganimni hali ham tushunmayapman. Shu sababli, loyiha yangi, yanada rivojlangani kelguncha bir oy davomida to'xtab qoldi - reset tugmasini bosish kerak emas. Bu taraqqiyot emasmi?


Qolganlari ombordan

TO220 korpusidagi 1117T-3,3V kuchlanish regulyatori, 1500,0x6,3 va 470,0x16 kondensatorlar, ikkita 0,1 mkF kondansatör, oq LED va bolalar avtomobilidan mikroswitch, 220 Ohm qarshilik. Batareya bir necha yil davomida ishlatilmay yotgan edi. Men bir marta yonib ketgan (so'zma-so'z) portativ DVD pleerni ajratib oldim. Yagona yaxshi narsa batareyalar omon qolgan edi. Mana ulardan biri foydali bo'ldi. Voltaj 3,7 V, men etiketkada quvvatni topmadim.
Yelim tabancasi, pul uchun elastik tasma,... dan ikkita ilgak (xotinimga rahmat. Azizim, men seni yaxshi ko'raman!), ikkita mebel dubloni, to'rtta vint, mebel eshiklari uchun to'rtta yopishtiruvchi bamper, non taxtasi, simlar, ulagichlar.


Korpus bilan vaziyat yanada murakkab edi. Ko'p qutilar sinab ko'rildi. Tissot soatining plastik qutisi mo'rt, qisman karton bo'lib chiqdi. Ammo undan metall pardalar ko'tarildi. Hatto bitta zaxirada ham qolgan. Men tayyor parfyum qutisi, vino qutisi va konfet qutisini sinab ko'rdim. Oxir-oqibat, men buni o'zim qilishga qaror qildim.
Bolalarning yonish to'plamida yuqori sifatli kontrplak, ehtimol qayin topilgan. Bola katta bo'ldi - to'plam qoladi. Bir tomonda chizma bor edi, lekin boshqa tomoni qaradi ochiqchasiga aytganda, ajoyib

Oddiy qilib aytganda, ajoyib

Maktabda bizda Trudovik bor edi. Keksa. Umuman olganda, u ajoyib inson. U hurmatga sazovor edi. Batareya, lampochka va kalit misolida elektr tokidan o'tganimizda u bizga ma'ruza o'qidi.
“Batareyada tok bor. Endi u musbatdan chiqadi va simlarni kuzatib boradi. Ketadi, ketadi, birdan bam - kalit yo'lda. Va kalit ochiq. Tok boshqa boradigan joy yo'qligini tushundi. U orqasiga o'girilib, batareyaga kirdi. Va yorug'lik yonmaydi. Biz kalitni yopamiz. Oqim yana oqib chiqa boshladi, kalitga etib bordi, u orqali o'tib, lampochkadan o'tib, batareyaga qaytdi. Lampochka esa, ochig'ini aytganda, juda zo'r yondi." O'shandan beri leksikonda kutilmagan muvaffaqiyatli narsaning sinonimi sifatida shunday ibora mavjud.




Men kontrplakni temir arra va jigsa bilan kesishga harakat qildim, lekin bu ish bermadi. Keyinchalik olib tashlash qiyin bo'lgan chiplar va notekis chekka. Men chiqish yo'lini topdim - o'tkir ish yuritish pichog'i. Bir tomondan kontrplakning yarmini, ikkinchisini yarmini kesib tashlaydi. Keyin biroz silliqlash va hamma narsa yaxshi. Lekin, yaxshi metall o'lchagich va doimiy o'tkir pichoq bilan siz mukammal kesish va tekis chiziqqa ega bo'lasiz.
Albatta, kamchiliklarsiz emas - qo'lda yasalgan stiker ostida yashirin teshik yashiringan. Men uni o'tish tugmasi uchun markazda burg'uladim. Ammo servo mos kelmadi. Men o'tish tugmachasini yon tomonga siljitib, teshikni yopishim kerak edi. Bunday qiyinchiliklar meni qo'rqitmaydi.
Men qurilmani yaratishda ishtirok etadigan har bir aksirishni tasvirlashdan ma'no ko'rmayapman. Men ba'zi fikrlarni tasvirlab beraman. Kimning qo'li bo'lsa, qilsin.
Men qutini issiq eritilgan elim yordamida yig'dim. Men elimning o'zini ayamaganman. U mukammal ushlab turadi. G'ijirlamaydi, o'ynamaydi. Tez, arzon va quvnoq. Va umuman olganda, siz sezganingizdek, deyarli hamma narsa bu elim bilan birlashtirilgan. Men Tavsiya qilaman. Bu yig'ish jarayonini sezilarli darajada tezlashtiradi. Men o'chirish mikrofonini ichkaridan chap devorga yopishtirib qo'ydim - buni fotosuratda biroz ko'rish mumkin.
Qopqoq pardaga yopishtirilgan edi.

Men parda bilan azob chekdim. Men juda ko'p tajriba o'tkazdim. Men qopqoq qutining ichida emas, tepasida joylashgan bo'lishini xohlardim. Men hatto qog'oz qisqichlardan shtapel pardalarning bir nechta versiyasini egdim. Keyinchalik Po tajribalar chog‘ida Tissot soatlari qutisidagi pardalar uning ko‘ziga tushganini esladi. Juda yaxshi, shveytsariyalik (xitoycha?).
Parda muhim narsa. Uning sifati umumiy uchun juda muhimdir tashqi go'zallik qurilmalar.
Asosiy o'tish tugmasi yumshoqroq bo'lishi kerak, keyin u osonroq ishlaydi.
Qopqoq elastik tasma bilan yopiq holatga qaytariladi. Uni juda qattiq tanlashning hojati yo'q - servo uni boshqaradi, lekin agar parda markazda joylashgan bo'lsa, qopqoq burishadi.
Kontrplak bo'lsa, lak bilan qoplash majburiydir - u juda iflos bo'ladi. Men shaffof tsapon lakidan foydalandim. Shunchaki, qo'lida boshqa hech kim yo'q edi.
"Qo'l" ni boshqaradigan servoni boshqacha joylashtirish yaxshiroqdir. Yon tomonda emas, balki o'tish tugmasi oldida. Keyin "qo'l" ni ishlab chiqarish osonroq bo'lishi mumkin - U shaklidagi o'rniga L shaklida. Qutining kengligi qisqartirilishi mumkin va o'tish tugmasi markazga joylashtirilishi mumkin.
Qopqoq servoni 180 gradusga aylantirish yaxshiroqdir, keyin kodda bu servo darajalarini qopqoqning ishlashi bilan bog'lash osonroq bo'ladi. Men uchun buning aksi, shuning uchun ochilish darajalarni kamaytirishni anglatadi. Ammo "qo'l" uchun bu aksincha. Qopqoqni elastik tasma uni orqaga tortadigan tomondan itarish to'g'riroq.
Quti juda kichik bo'lmasligi kerak. Foydalanish qulay bo'lmaydi. Ammo tekisroq bo'lishi mumkin. Quti engil va tekisroq bo'lsa, u yanada barqaror bo'ladi. Qutini ushlab turmasdan o'tish tugmachasini barmog'ingiz bilan bosish qulayroq bo'ladi.
Ikki bo‘lak nondan qalqonga o‘xshash narsa yasadim. Arduino-ga ulagichlarsiz lehimlangan. Qattiq. Qarshi emasman.


Lekin men barcha tashqi qurilmalarni ulagichlarda qildim. Bu qulayroq.
Kondensator katta quvvat Arduino uchun quvvat manbai (3,3 volt) talab qilinadi. Busiz Arduino osilib qoladi.
Menda qurilmaning montaj chizmalari yo'q. Bu shunchalik oddiyki, boshqa ko'plab narsalarni ishlatish mumkin oddiy echimlar, unga barcha mexanika asoslanadi. Videoda, ham meniki, ham boshqa shunga o'xshash qurilmalar, siz foydalanilgan haydovchi variantlarini ko'rishingiz mumkin.

#o'z ichiga oladi #o'z ichiga oladi Servo eshikServo; //qopqoq servo haydovchi Servo handServo; //arm servo Bounce bouncer = Bounce (12, 40); //almashtirish kalitining 12-pini uchun Bounce sinfining namunasini yarating int pos = 0; //boshlang'ich pozitsiyasi o'zgaruvchisi int pos1door = 70; //qopqoqning dastlabki holati servo int pos2door = 30; //qopqoqning yakuniy holati servo int pos1hand = 10; //qo'l servoning boshlang'ich holati int pos2hand = 160; //qo'lning oxirgi holati servo int r; //ko'chirish tugmachasini o'chirish opsiyasi bog'liq bo'lgan tasodifiy raqam #define LED_PIN 11 // LEDga ulangan chiqish soni int ledState = LOW; // LED holatini ushbu o'zgaruvchi bilan o'rnating oldingiMillis = 0; // LEDni so'nggi almashtirish vaqtini saqlang #define INTERVAL 30UL // LEDni yoqish/o'chirish oralig'i bekor o'rnatish() ( pinMode(LED_PIN, OUTPUT); pinMode(12, INPUT); // pin 12ni almashtirish kiritish rejimiga digitalWrite(12, 1); // undagi tortish rezistorini yoqing Serial.begin(9600); //portni 9600 bit/s tezlikka sozlang. Nosozliklarni tuzatish uchun. Keyin uni olib tashlashingiz mumkin. doorServo .attach(9); //qopqoq servosini 9-pinga belgilang handServo.attach(10); //qo'l servosini 10-pinga belgilang doorServo.write(pos1door); //qopqoq servosini handServoning dastlabki holatiga o'rnating. write(pos1hand); //qoʻl servosini dastlabki holatga oʻrnating ) void loop() ( if (bouncer.update()) ( if (bouncer.read()==0) ( //agar tugma bosilsa ( r = random(0,11); //jn 0 dan 10 gacha tasodifiy sonni yarating Serial.println® ; if (r == 0) ( move_0(); ) //funksiyani tasodifiy raqam yordamida chaqiring, aks holda (r == 1) ( move_1(); ) else if (r == 2) ( move_2(); ) else if (r == 3) ( move_3(); ) else if (r == 4) ( move_4() ; ) else if (r == 5) ( move_5(); ) else if (r == 6) ( move_0(); ) else if (r == 7) ( move_1(); ) else if (r == 8) ) ( move_4(); ) else if (r == 9) ( move_3(); ) else if (r == 10) ( move_0(); ) ) ) ) // Funktsiyalar kutubxonasi. Umumiy tamoyil: qopqoqni oching - qo'lingizni chiqarib oling va almashtirish tugmachasini o'chiring - qo'lingizni olib tashlang - qopqoqni yoping // va uni qanday qilib chiroyli bezash uchun variantlar mavjud............ void move_0( ))( //oddiy variant: ochildi-burildi-yopildi //qopqoqni oching (pos = pos1door; pos >= pos2door; pos -=3) ( doorServo.write(pos); delay(15); ) // qo'lingizni cho'zing (pos = pos1hand; pos<= pos2hand; pos +=3) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos >= pos1hand; pos -=3) ( handServo.write(pos); delay(15); ) //(pos = pos2door; pos) uchun qopqoqni yoping<= pos1door; pos +=3) { doorServo.write(pos); delay(15); } } void move_1(){ //простой вариант 2: открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=1) ( doorServo.write(pos); kechikish (15); ) kechikish (1000); //qo'lingizni cho'zing (pos = pos1hand; pos<= pos2hand; pos +=1) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos > <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_2(){ //задумчивый вариант 2: приоткрыли-закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door+15; pos -=5) ( doorServo.write(pos); kechikish (15); ) kechikish (1000); //qopqoqni yoping(pos = pos2door+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } delay(1000); //открываем крышку for(pos = pos1door; pos > <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1hand; pos -=5) ( handServo.write(pos); delay(15); ) //(pos = pos2door; pos) uchun qopqoqni yoping<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_3(){ //дерганый вариант: приоткрыли-подергали - закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2door+15; pos -=1) ( doorServo.write(pos); kechikish (50); ) kechikish (500); //qopqoqni torting (int i=1; i<=8; i ++) { doorServo.write(pos2door+18); delay(80); doorServo.write(pos2door+15); delay(80); static unsigned long previousMillis = 0; if(millis() - previousMillis >INTERVAL) (oldingiMillis = millis(); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ) ) kechikish(500); //qopqoqni yoping(pos = pos2door+15; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку for(pos = pos1door; pos >= pos2door; pos -=5) ( doorServo.write(pos); delay(15); ) //uchun qo'lni cho'zing(pos = pos1hand; pos<= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1hand; pos -=5) ( handServo.write(pos); delay(15); ) //(pos = pos2door; pos) uchun qopqoqni yoping<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_4(){ //открываем крышку delay(2000); for(pos = pos1door; pos >= pos2door+15; pos -=5) ( doorServo.write(pos); kechikish (50); ) kechikish (500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); kechikish (2000); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); kechikish (500); //qopqoqni yoping(pos = pos2door+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку не полностью for(pos = pos1door; pos >= pos2door+15; pos -=1) ( doorServo.write(pos); kechikish (50); ) kechikish (2000); //qopqoqni to'liq oching for(pos = pos2door+15; pos >= pos2door; pos -=1) ( doorServo.write(pos); delay(15); ) //uchun (pos = pos1hand; pos<= pos2hand-35; pos +=1) { handServo.write(pos); delay(35); } delay(1000); //высовываем руку for(pos = pos2hand-35; pos <= pos2hand+3; pos +=4) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+3; pos >= pos1hand; pos -=7) ( handServo.write(pos); delay(15); ) //(pos = pos2door; pos) uchun qopqoqni yoping<= pos1door; pos +=7) { doorServo.write(pos); delay(15); } delay(500); //открываем крышку for(pos = pos1door; pos >= pos2door+20; pos -=5) ( doorServo.write(pos); kechikish (50); ) kechikish (300); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); kechikish (500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); kechikish (100); //qopqoqni yoping(pos = pos2door+20; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } } void move_5(){ //возня for(int i=1; i <=2; i ++) { for(pos = pos1door; pos <= pos1door+45; pos +=5) { doorServo.write(pos); delay(50); } for(pos = pos1door+45; pos >= pos1door; pos -=5) ( doorServo.write(pos); kechikish (50); ) kechikish (100); ) //qopqoqni torting (int i=1; i<=3; i ++) { doorServo.write(pos1door-6); delay(80); doorServo.write(pos1door-3); delay(80); } delay(300); //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos1door; pos >= pos2door+25; pos -=5) ( doorServo.write(pos); kechikish (50); ) kechikish (500); //muqovani oching digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+25; pos >= pos2door+10; pos -=5) ( doorServo.write(pos; delay(50); ) //eshikni oching digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+10; pos >= pos2door-5; pos -=2) ( doorServo.write(pos); delay(50); ) //for(pos = pos1hand; pos) uchun qo‘lingizni cho‘zing<= pos2hand-35; pos +=9) { handServo.write(pos); delay(35); } delay(1000); //убираем руку for(pos = pos2hand-35; pos >= pos2hand-70; pos -=1) ( handServo.write(pos); kechikish (15); ) kechikish (1000); //qo'lingizni cho'zing (pos = pos2hand-70; pos<= pos2hand+3; pos +=9) { handServo.write(pos); delay(15); } delay(50); //убираем руку for(pos = pos2hand+3; pos >= pos1hand; pos -=7) ( handServo.write(pos); delay(15); ) //raqamni yoping digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door-5; pos<= pos1door+3; pos +=5) { doorServo.write(pos); delay(50); } }

Muallif tomonidan sharhning boshida havoladan taklif qilingan eskiz men uchun ishlamadi. Va men hali hozir bo'lgan professional emas edim)))))))
Umuman olganda, men tushuna boshladim. Natijada, birovning eskiziga asoslanib, men o'z eskizimni yaratdim. Qo'shilgan sakrashga qarshi himoya. Albatta, kondansatkichli rezistorni o'rnatish osonroq bo'lar edi, lekin men uni dasturlashni juda xohlardim.


Asos sifatida, sxema eskizdan aniq. Lekin baribir uni olib kelaman. Sifat uchun uzr so'rayman - iloji boricha. Men bir oz boshqacha konvertor taxtasini oldim - oldingi ko'rinishda men uni kerak deb topmadim.


Eskiz uchun maxsus tushuntirishlar yo'q. Ehtimol, servo tezligi yuqori bo'lganda, bir necha daraja aylanish burchagini qo'shish momenti. Agar "qo'l" to'satdan sakrab chiqsa, u o'tish tugmachasini o'chirmasligini payqadim. Bu, shubhasiz, servolarning sifatsizligi bilan bog'liq. Shuning uchun, siz "qo'l" ning ketish burchagiga bir oz qo'shishingiz kerak. O'ylaymanki, takrorlash bilan bu qo'shimcha darajalar siz uchun boshqacha bo'lishi mumkin. "Qo'l" ning elkasiga bog'liq.
Va dasturlar haqida. Hozirgacha oltita dastur mavjud. Tasodifiy sonlarni yaratish orqali chaqiriladi. Bundan tashqari, oddiy dasturlar (0, 1 va 2) oddiy dasturlarga qaraganda tez-tez chaqiriladi. Mening barcha testerlarimga yanada murakkab dasturlar noyob yoqimli bonus bo'lishi kerakdek tuyuldi, keyin ma'lum bir intriga paydo bo'ladi. Shunday qildim.
Raqamlarni sevuvchilar uchun qutining o'lchami: uzunligi - 150 mm, balandligi - 70 mm, kengligi - 65 mm.

Youtube sifatini sezilarli darajada yomonlashtirdi. Agar asl nusxasini ko'rish kerak bo'lsa, uni yuklab oling. 21 MB.
Bu erda eskiz barcha oltita dasturni navbatma-navbat ko'rish imkonini beradigan tarzda o'zgartirildi, shunda ularning barchasi haqida tasavvurga ega bo'lasiz. Hayotda, men yozganimdek, ular psevdo-tasodifiy tartib bor.



Zaryadlash oddiy mobil zaryadlovchi bilan micro-USB orqali amalga oshiriladi. Batareyaning ishlash muddati foydalanish chastotasiga juda bog'liq. Ba'zan bir necha kun, ba'zan esa bir kunda "o'ldiraman".


Nihoyat.
Biroq, loyiha yanada rivojlanishi va takomillashtirilishi mumkin. Siz yangi stsenariylar bilan chiqishingiz mumkin. Siz tweeter qo'shishingiz va qurilmani ovozli qilishingiz mumkin. Misol uchun, agar o'tish tugmachasini o'chirish va yoqish o'rtasidagi vaqt juda qisqa bo'lsa, u g'azablansa, "o'qir" qilsin. Asl loyihada bo'lgani kabi, qutining harakatini turli yo'nalishlarda qo'shishingiz mumkin.
Siz "qo'l" biron sababga ko'ra o'tish tugmachasini o'chirmagan (masalan, sovuqda, servo kerakli burchakka biroz erisha olmaydi) va burchakni rostlash uchun chekni qurishingiz mumkin. bir vaqtning o'zida, bunday holat uchun maxsus "asabiy" xabarni yozish » o'chirish dasturi. Siz har safar qurilmani qismlarga ajratmasdan Nano va dasturni USB orqali o'rnatishingiz mumkin.

Va umuman olganda - buni yanada ehtiyotkorlik bilan qilishingiz mumkin. Ko'p turli xil narsalar mumkin. Aslida, men bunga qiziqqanlarga shuni qilishni taklif qilaman.
Ehtimol, men nimanidir o'tkazib yuborganman. Bu shunday oddiy qurilma uchun bir oz ko'rib chiqish. Buning uchun kechirim so'rashim mumkin.
Endi mushuk va oxirigacha o'qiganingiz uchun rahmat.

$6,3 (hozirda 1,43)

Men 1,5 yil oldin CP2102 chipidagi USB-UART adapteri bilan to'liq Arduino Pro Mini sotib oldim (o'shandan beri ular uchun narxlar sezilarli darajada pasayib ketdi) va ular shu vaqtgacha mening javonimda yotishdi. Hamma bu kontrollerda hech narsa qila olmadi. Bunda Arduino Pro Mini-da eskizni miltillash qiyin bo'lmasa ham, Arduino UNO, Mega yoki Nano-ga qaraganda biroz qiyinroq ekanligi muhim rol o'ynadi.

Va shuning uchun men ushbu kontrollerni loyihalarimdan birida ishlatishga qaror qildim, u hali ham ishlamayapti.

Arduino Pro Mini TAVSIFI

ATmega168 yoki 328

Ishlash kuchlanishi

3,35 -12 V (3,3 V model) yoki 5 - 12 V (5 V model)

Raqamli kiritish/chiqarish pinlari

14 ta (shundan 6 tasi PWM chiqishini ta'minlaydi)

Analog kirish pinlari

Kirish/chiqish piniga doimiy oqim

16 KB (shundan 2 KB yuklovchi tomonidan ishlatiladi)

8 MGts (3,3V model) yoki 16 MGts (5V model)

ATmega 328 chipida men tasodifan 16MHz 5 voltli modelga ega bo'ldim.Internetdan olingan ma'lumotlarni tahlil qilganda ma'lum bo'lishicha, DTR signali yo'q boshqaruvchi platalar mavjud. Mening holatimda hamma narsa to'g'ri ulangan. To'plam USB-UART konvertorini o'z ichiga olgan.

Platformada 14 ta raqamli kirish va chiqish (ulardan 6 tasi PWM chiqishi sifatida ishlatilishi mumkin), 6 ta analog kirish, rezonator, reset tugmasi va pinni oʻrnatish teshiklari mavjud. Olti pinli blok USB-UART konvertor platasiga ulanishi mumkin.

Arduino Pro Mini texnik xususiyatlari va parametrlari bo'yicha Arduino Nano-ga juda o'xshash. Ular kengligi bo'yicha bir xil o'lchamda, lekin Arduino Pro Mini uzunligi taxminan 1 sm qisqaroq.

10 mm juda ko'p. Ammo agar siz USB-UART-ni plataga ulash uchun pinlarni lehim qilsangiz, ushbu plataning Nano-ga nisbatan barcha afzalliklari yo'qoladi. Ayni paytda Arduino Pro Mini Arduino Nano’dan 0,25 dollarga arzon. Bu ahamiyatsiz. Endi afzalliklar va kamchiliklar yo'q, faqat kamchiliklar mavjud.

Va asosiy kamchilik - bu eskizlarni yanada murakkab yuklash.

Eskizni miltillashning bir necha yo'li mavjud.

Buning bir usuli Arduino UNO-ni USB-UART sifatida ishlatishdir. Internetda buni qanday qilish bo'yicha ko'plab ko'rsatmalar mavjud, shuning uchun men bu haqda to'xtalmayman.

Ikkinchi usul - USB-UART adapterining o'zidan foydalanish. Menda bor va "to'g'ri", shuning uchun men undan foydalanishga qaror qildim. Adapter qanday ishlaydi? Arduino konvertor chipi bilan oddiy UART orqali aloqa qiladi va USB orqali kompyuterga ulanadi. Kompyuter ulangan adapterni MAQOMOTI porti sifatida taniydi.

Eskizni Arduino Pro Mini-ga yuklash, keyinroq ma'lum bo'lganidek, unchalik qiyin emas. Siz shunchaki simlarni adapter va Arduinodagi 5 ta pin to'plamidan ulashingiz kerak:

(Konverter)<->(Arduino)

DTR<->GRN
TXD<->RXI
RXD<->TXO
GND<->GND
5V<->VCC

Mening Arduino Pro Mini-da DRT signali GRN deb belgilangan. Nima ekanligini taxmin qilish oson emas edi, ayniqsa saytlardan birida "mehribon" maslahatchi GRNni GNDga ulash kerakligini yozganligi sababli. Xo'sh, Internet - bu katta axlatxona va men forumlarda maslahat berishga tayyor odamlar muhokama qilinayotgan mavzuni haqiqatan ham tushunadiganlar emasligiga birinchi marta amin bo'ldim. Shunday qilib, GRN bu DTR.

DTR nima ekanligini bilmaganlar uchun:
Ma'lumotlar terminali tayyor (DTR) - boshqaruv signali terminal uskunasidan (DTE) qabul qiluvchi uskunaga uzatiladigan ketma-ket ma'lumotlar protokoliterminal aloqaga tayyor ekanligini bildirish uchun.

Arduinoda DTR signali eskiz uzatila boshlangan paytda Reset signalini ishga tushiradi.

DTR ulanishi o'rniga mumkin<->GRN Arduino Pro Mini-ni qayta tiklash uchun DTR adapterini 0,1 uF kondansatör orqali ulang. U ham shunday ishlaydi, sinovdan o'tgan. Bu kondansatör orqali. Forumlarda va ko'plab saytlarda DTR va RESET-ni to'g'ridan-to'g'ri ulash kerakligi haqida yozilganligiga qaramay, to'g'ridan-to'g'ri ulanish bilan eskiz uzatilmaydi. Hech bo'lmaganda men uchun to'g'ridan-to'g'ri aloqa bilan hech narsa ishlamadi.

Nazariy jihatdan, ular Internetda yozayotganda, yozuv boshlangan paytda siz boshqaruv panelidagi reset tugmasini bosib, DTRsiz eskizni yozishingiz mumkin. Men bu lahzani ushlashga bir necha bor urindim, lekin qila olmadim. Men o'z ko'nikmalarimni to'g'ri vaqtda qayta o'rnatishga o'rgatmadim; Qayta tiklash signalini etkazib berish uchun CP2102 konvertor chipiga ishonish osonroq.

Lekin hamma CP2102 ham teng yaratilmagan. EBay va AliExpress-da sotiladigan juda ko'p arzon soxta narsalar mavjud, ular bilan odamlar kurashadi va ular Arduino Pro Mini-da eskizni yozib olishlari uchun ko'pincha o'zgartirishlari kerak. Ushbu adapterlarda CP2102 chipining 28-pinidan DTR signali yo'naltirilmaydi. Ba'zilarida Rx va Tx belgilari aralashib ketgan. Shuning uchun onlayn forumlarda bir-biriga zid bo'lgan va ba'zan oddiygina o'quvchilarni chalg'itadigan juda ko'p ko'rsatmalar mavjud. Men bu bema'ni narsalarni o'qishga taxminan ikki soat vaqt sarfladim (men g'ildirakni qayta ixtiro qilishni xohlamadim, vaqtni tejayman deb o'yladim) va ushbu ko'rsatmalardan foydalangan holda boshqaruvchiga eskiz yozishga harakat qildim. Natijada, barcha ko'rsatmalar mening CP2102 adapterim uchun ishlamay qoldi. Bu "to'g'ri" bo'lib chiqdi, unda to'g'ri belgilar qo'llanilgan va barcha signallar to'g'ri yo'naltirilgan.

Barcha simlarni ulash kifoya edi va hamma narsa ishladi.

Shuning uchun, agar siz USB-UART orqali Arduino Pro Mini-da eskizni yozish zarurati bilan duch kelsangiz, avval DTR signali Arduino Pro Mini platasida yo'naltirilganligini tekshiring. Men u yo'naltirilmagan taxtalar borligini o'qidim. Bunday holda, siz DTR signalini USB-UART adapter platasidan Arduino Pro Mini-ning RESET piniga 0,1-0,15 mkF kondansatör orqali ulash variantidan foydalanishingiz mumkin.

Ikkinchidan, DTR signalining USB-UART adapter platasidagi biron bir pinga ulanganligini tekshiring. PIN DTR sifatida imzolanishi va hatto imzolanishi mumkin, lekin CP2102 chipining 28-piniga ulanmagan. Agar ushbu mikrosxemaning 28-pinasi hech qanday joyga ulanmagan bo'lsa, uning DTR piniga ulanishini ta'minlash kerak. Agar 28-pin kontaktlarning zanglashiga olib ulangan bo'lsa, bu trekni kesish va to'g'ridan-to'g'ri DTR piniga ulash kerak.

Soxta CP2102 taxtasidagi Rx va Tx belgilarining to'g'riligini eksperimental ravishda aniqlash mumkin, faqat ikkita variant mavjud.

Men Internetda CP2102 USB-UART adapteri yordamida "Dasturchi orqali yuklash" rejimida eskizni yozishingiz kerak bo'lgan ko'rsatmalarni o'qib chiqdim, go'yoki bu hamma narsaning yagona yo'li. Ushbu asar muallifi o'quvchilarni ataylab chalg'ityaptimi yoki CP2102 USB-UART adapteridan boshqa narsaga egami yoki yo'qligini bilmayman, lekin bu maslahat NO'G'RI!

USB-UART adapteri CP2102 orqali kompyuter Arduino Pro Mini-ni xuddi MAQOMOTI portiga ulangandek ko'radi, ya'ni bortida USB-UART adapteri bo'lgan boshqa Arduinolar kabi.

Shuning uchun eskizlar Arduino Pro Mini-ga boshqa Arduino modellari kabi yuklanadi. Arduino dasturlash muhitida faqat Pro Mini modelini tanlashingiz kerak, keyin paydo bo'ladigan qo'shimcha elementda 4 ta mumkin bo'lgan protsessor turidan birini (ATmega168 yoki 328, 3.3 yoki 5V) va o'rnatilgandan so'ng paydo bo'lgan virtual MAQOMOTI portini tanlang. USB-UART adapter drayverlari. Keyin yuklab olish tugmasi yoki Ctrl-U tugmalaridan foydalanishingiz mumkin. Har bir narsa to'g'ri ulangan bo'lsa, adapterning turi va modeli muhim emas, eskizlar UART orqali yuklanadi. Biz shunchaki adapter tomonidan belgilanadigan MAQOMOTI portini tanlaymiz.

99% noto'g'ri bo'lgan "qo'llanmalar" va "maslahatlar" bilan forumlar va saytlarni 2 soat o'qiganimdan so'ng, hech bo'lmaganda ular mening maxsus Arduino Pro Mini modellari va USB-UART CP2102 adapterim uchun mos emas edi, men hamma narsani ulashga va yuklashga muvaffaq bo'ldim. to'g'ri boshqaruvchiga LED miltillovchi biroz o'zgartirilgan eskiz. Men uni Morze alifbosida SOS bilan miltillashiga majbur qildim.

Agar kimdir qiziqsa, bu erda eskiz:

// reset tugmasini bosganingizda yoki platani quvvatlantirganingizda sozlash funksiyasi bir marta ishlaydi
bekor o'rnatish() (
// chiqish sifatida 13 raqamli pinni ishga tushiring.
pinMode (13, OUTPUT);
}

// sikl funksiyasi abadiy qayta-qayta ishlaydi
void loop() (
kechikish (100); // Kutmoq
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (100); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (100); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300);
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (300); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (300); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (300); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (100); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (100); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
digitalWrite(13, YUKOR); // LEDni yoqing (YUQORI - kuchlanish darajasi)
kechikish (100); // Kutmoq
digitalWrite (13, LOW); // kuchlanishni past qilib, LEDni o'chiring
kechikish (300); // Kutmoq
kechikish (1500); // 1,5 soniya kuting.
}

Xulosa:

Agar men "g'ildirakni qayta ixtiro qilish" orqali vaqtni tejashga harakat qilmaganimda va forumlar va veb-saytlardagi foydasiz (hatto juda zararli) maslahatlar va qo'llanmalarni o'qishga vaqt sarflamaganimda, Arduino Pro Mini-ni ulash va miltillash 2 soat emas, balki bir soat davom etgan bo'lar edi. maksimal 5-10 daqiqa.

Men o'zimning Arduino Pro Mini va USB-UART CP2102 adapter to'plamini sotib oldim, bugungi standartlarga ko'ra bu juda qimmat edi. Haqiqat shundaki, men adapterning to'g'ri ekanligi va unga barcha signallar ulanganligi bilan taskin topdim.

Arduino Nano parametrlari va imkoniyatlari bo'yicha Arduino Pro Mini bilan bir xil, narxi biroz ko'proq (maksimal 25-50 tsent), hajmi 1 sm ni yo'qotadi (va lehimli pinlar bilan Arduino Pro Mini umuman yo'qotmaydi), lekin juda ko'p. o'rnatilgan USB-UART va umumiy MicroUSB ulagichi tufayli foydalanish qulayroq.

Arduino Pro Mini eng ommabop doska emas, eBay-da qidiruvga “Arduino Nano” so‘zini kiriting va narxlari bo‘yicha o‘sish tartibida tartiblang va bu bo‘limda ayyor xitoyliklar Arduino Pro Mini-larni juda arzonga sotayotganini ko‘rasiz. Nano sifatida o'chiriladimi? xaridor buni tushunmaydi va past narxdan foydalanib, ushbu kontrollerlarni sotib oladi degan umidda. Ular barcha umidlarini faqat so'rg'ich bo'lgan mijozlarga bog'laydilar.

Arduino Pro Mini sotib olishni tavsiya qilamanmi? Yangi boshlanuvchilar uchun - yo'q. Ha - bu nima ekanligini, qanday kamchiliklari borligini va ular arzimagan tejashga arziydimi yoki yo'qligini aniq biladigan odamga.

Yana bir bor takror aytamanki, Arduino Pro Mini-ni miltillash qiyin emas, lekin simlarni ulash bilan bog'liq shov-shuv yoki Arduino UNO 0,2-0,25 dollarlik narx farqiga arziydimi? Ayniqsa, disk raskadrovka uchun kompyuterga bir necha marta ulanishingiz kerak bo'lsa, lekin bu holatda bo'lsa-chi? Agar siz 5 ta simni o‘n-o‘n besh marta ulash va uzib qo‘yish 20 sent to‘lashdan ko‘ra foydaliroq deb hisoblasangiz, bu kontroller aynan siz uchun.

Ana xolos. Men o'z tajribam bilan o'rtoqlashdim va o'z fikrimni bildirdim, bu sizning qaroringizga bog'liq.

P.S. Biroz vaqt o'tdi va men Arduino Pro Mini haqidagi fikrimni biroz o'zgartirdim. Hatto 25-50 tsentlik tejamkorlik ham juda ko'p, ayniqsa, ushbu kontroller yordamida mahsulotlarning kichik partiyasi yig'ilgan bo'lsa. Kichkina partiya uchun tayyor Arduino-dan foydalanishdan ko'ra, boshqaruvchini to'g'ridan-to'g'ri doskaga birlashtirish yaxshiroq ekanligi aniq (bu hali ham disk raskadrovka taxtasi). Ammo turli xil variantlar mavjud, ba'zida allaqachon tayyor taxtalar mavjud va siz ularni yangilashingiz va Arduino-ni integratsiyalash orqali ularning funksionalligini kengaytirishingiz mumkin. Yangi taxtalarni qurishdan ko'ra arzonroq bo'ladi.

Va foydalanuvchiga topshirilgan mahsulot bortida USB-UART adapterining mavjudligi mutlaqo keraksiz va hatto zararli. Shunday qilib, Arduino Pro Mini yashash huquqiga ega.