Arduino yordamida Raspberry Pi-ni kuchaytirish. Raspberry Pi asosidagi aqlli uyni boshqarish tizimi

Raspberry Pi ingliz ishlab chiqaruvchilarining innovatsion mahsulotidir. Ularning asosiy maqsadi keng aholi o'rtasida kompyuter ta'limini ommalashtirish, dasturlashni kengroq va qulayroq intizomga aylantirish va yangi texnologiyalar yordamida ko'proq odamlarni yangi narsalarni yaratishga undash edi.

Raspberry Pi mahsulotining nomi "malinali pirog", ishlab chiqaruvchi kompaniya ushbu kompyuter asosan bolalar uchun mo'ljallanganligini ta'kidladi.

Ushbu ixtiro nima va Raspberry Pi ning qo'llanilishi nima? zamonaviy dunyo, biz bu haqda quyida gaplashamiz.

Raspberry Pi kompyuterining xususiyatlari

Raspberry Pi qurilmasi - bu kichkina, bitta taxtali korpussiz kompyuter. Ishlab chiquvchilar bolalarni ham, kattalarni ham nafaqat kompyuterlardan foydalanishga, balki uni ichkaridan o'rganishga ham e'tibor berishga chaqirishadi, shuningdek, ushbu kompyuter asosida xayolotdan foydalanishni va boshqalarni o'ziga xos narsa qilishni taklif qilishadi.

Ishlab chiquvchilar ishonganidek, Raspberry Pi qurilmasi ishlashi kerak bunday ta'lim maqsadlari:

  • talabalarni dasturlash ko'nikmalarini rivojlantirishga undash;
  • yosh dasturchilarning ishlariga yordam berish;
  • tajribali kompyuter olimlariga yangi ufqlarni kashf etishga va dasturlashda yangi yutuqlarga erishishga yordam berish.

Raspberry Pi qurilmasining vatani Buyuk Britaniyada to'liq to'plamni 75 funt sterlingga sotib olish mumkin. To'plamning o'zi quyidagi tarkibiy qismlardan iborat:

  • raspberry Pi modeli B mini-kompyuterning o'zi;
  • micro CD (8 gigabayt);
  • klaviatura;
  • optik sichqoncha;
  • micro CD Card adapteri;
  • quvvatlantirish manbai;
  • hDMI kabellari va mikro usb.

Raspberry Pi-ning birinchi partiyasi O'rta Qirollikda ishlab chiqarilgan, ammo 2012 yil oxiridan boshlab butunlay Buyuk Britaniyaga, Penoid (Uels) zavodiga ko'chirildi. O'rtacha zavod haftasiga 40,000 Raspberry Pi mini-kompyuterlarini ishlab chiqaradi.

Raspberry Pi texnik xususiyatlari

Xo'sh, nima? texnik xususiyatlar kassasiz ushbu noyob kompyuter haqida:

Uy uchun Raspberry Pi kompyuter dasturlari

Raspberry Pi mini-kompyuterining eng keng tarqalgan modeli bu 215MB Model B tasodifiy kirish xotirasi chekilgan qo'llab-quvvatlash bilan... Bundan tashqari, qurilmaning yana bir modifikatsiyasi mavjud, unda tarkibiy qismlar yanada ixchamroq joylashtirilgan, u to'rttaga ega uSB port , undagi kirish va chiqish GPIO portlarining soni sezilarli darajada ko'p, bundan tashqari, kompozit video chiqishi yo'q.

Raspberry Pi kompyuterini qo'llash sohalari juda keng. Ushbu qurilma unchalik kuchli emasligiga qaramay, u ham to'liq ishlaydigan kompyuter. Agar sizga hisoblashda kuchli resurslardan foydalanishni talab qilmaydigan oddiy vazifalarni hal qilish uchun mashina kerak bo'lsa, unda siz Raspberry Pi qurilmasiga xavfsiz ulanishingiz mumkin standart mashina elementlari:

  • monitor;
  • sichqoncha;
  • klaviatura;
  • har qanday Linux tarqatish to'plamining ulanishi.

Uyda siz Raspberry Pi qurilmasidan quyidagi maqsadlarda foydalanishingiz mumkin:

  • uy media-serverini yaratish;
  • saqlash serveri sifatida;
  • avtomatlashtirilgan mashinalar yoki robotlar uchun "fikrlash markazi" sifatida;
  • uyni avtomatlashtirish serveri (yoki "aqlli uy" tizimi) sifatida.

Ko'rib turganimizdek, Raspberry Pi-ning xususiy ehtiyojlar uchun ko'lami har xil bo'lishi mumkin. Asosan, bu dasturchilar yoki boshqa ishlab chiquvchilarning ishi bilan bog'liq tor doiradagi vazifalar. Va agar keng tarqalgan foydalanish haqida gapiradigan bo'lsak, u holda Raspberry Pi-ni uyni avtomatlashtirish tizimlari yoki "avtomatlashtirilgan tizim" uchun ishlatish xususiyatlari bilan tanishib chiqishga arziydi. aqlli uy ... Keling, ushbu masalaning amaliy tomonini ko'rib chiqamiz.

Har qanday uyni avtomatlashtirish tizimi yoki aqlli uy deb ataladigan narsa juda murakkab va ko'p tuzilishga ega. U foydalanuvchi tomonidan belgilanadigan ba'zi bir stsenariylarni amalga oshirish uchun mo'ljallanganligi bilan bir qatorda, ma'lum bir favqulodda vaziyatda o'z qarorlarini qabul qilish qobiliyatiga ega. Bunday tizim mavjud deb bemalol aytishimiz mumkin sun'iy aqlning yaratilishi.

Bugungi kunda ko'p odamlar "aqlli uy" tushunchasini hamma narsaga qo'llaydilar, masalan:

  • gSM signalizatsiyasi;
  • suv oqimi sensori;
  • yorug'likni boshqarish, harakat sensori va boshqalar.

Bu hodisalarning barchasi uy avtomatizatsiyasi tarkibiga kirishi mumkin, ammo ular alohida-alohida bo'lishi mumkin emas.

Uyni avtomatlashtirish tizimi ("aqlli uy") quyidagi tarkibiy qismlarni o'z ichiga oladi:

  • markaziy server;
  • u RS485 interfeysi orqali uyning har bir xonasida va xonasida joylashgan tekshirgichlar bilan ulanadi;
  • tizimning ishlashini himoya qilish, boshqarish va tartibga solish uchun ma'lum boshqarish moslamalari tekshirgichlarga ulangan.

Ushbu tizimning bunday tarmoq arxitekturasi yaxshi, chunki uy egasi har bir qurilmadan serverga noqulay simlarni uzatishi shart emas, faqat bitta UTP kabeli orqali ulangan tekshirgichlarni ulash kerak. Uning bir juft simlari RS485 interfeysi uchun ishlatiladi, boshqalari esa datchiklar va tekshirgichlarni quvvatlantiradi. Shunisi e'tiborga loyiqki, ishning tuzilishi shu tarzda ta'minlanganki, agar boshqaruvchilardan biri yoki bir nechtasi ishlamay qolsa yoki hatto markaziy serverning ishlashi buzilsa, bu umuman tizimning ishlashiga ta'sir qilmaydi.

Ushbu tizimdagi Raspberry Pi mini-kompyuter va markaziy serverdir... Unga har qanday foydalanuvchi o'zi yordamida veb-server o'rnatishingiz kerak mobil qurilma (smartfon, planshet yoki noutbuk) odatdagi brauzer orqali uyda sodir bo'lgan barcha jarayonlar to'g'risida ma'lumotga ega bo'lishi va ushbu jarayonlarni boshqarishi mumkin bo'ladi. Foydalanuvchi foydalanuvchi nomi va parol orqali serverga uy orqali kirish huquqiga ega mahalliy tarmoq yoki orqali global tarmoqagar siz uni Wi-Fi qurilmasi orqali kirsangiz.

RS485 interfeysi orqali mos keladigan moslama orqali UART qurilmasining ketma-ket portiga boshqa pin yoki kirish to'plami bilan jihozlangan tekshirgichlar ulangan. Siz GPS modelini xuddi shu interfeysga ulashingiz va undan mobil yoki statsionar orqali tizimga kirish uchun foydalanishingiz mumkin telefon aloqasiagar foydalanuvchi Internetga kirish imkoni bo'lmagan joyda bo'lsa. Kirish, avvalgi holatda bo'lgani kabi, parol orqali ham ruxsat etiladi. Tarmoqdagi boshqa qurilma radio moduliu bilan bog'lashingiz mumkin umumiy tizim barcha radio sensorlar va masofadan boshqarish pultlari.

Shunday qilib, Raspberry Pi kompyuteriga asoslangan uyni avtomatlashtirish tizimining hozirgi versiyasi server bilan aloqa qilish uchun zarur bo'lgan markaziy server va RS485 interfeysiga ega boshqaruvchilardan iborat. Ularning tavsifi quyidagicha:

Endi Raspberry Pi ixtirochilar tomonidan qanday ishlatilganligini bilib olaylik. innovatsion mahsulotlar yaratish... Keling, ulardan ayrimlarini ko'rib chiqaylik.

Konstruktor Kano

Bolalar uchun Kano konstruktsiyasi - bu oddiy qurilish to'plami emas, bu modulli kompyuter, hatto bola ham bunday jumboqni to'plashi mumkin. Konstruktor to'plamiga quyidagilar kiradi:

Shunday qilib, hatto bola ham kompyuterni o'zi yig'ishi mumkin, keyinchalik u monitor yoki televizorga ulanadi. hDMI porti orqali.

Ushbu qurilish to'plami dastlab bolalar uchun yaratilgan, ammo kattalar orasida ham mashhur bo'lib kelgan. Ushbu loyihani ishlab chiqish va amalga oshirish uchun mablag 'ijodiy ixtirolar uchun mablag' yig'ish platformasi orqali to'plandi. Rahmat yig'ilgan kompyuter mumkin quyidagi harakatlarni bajaring:

  • musiqa yozish;
  • videolarni HD formatida tomosha qilish;
  • dasturlarni yozish;
  • o'zingizning o'yinlaringizni yarating.

SkyJack uchish moslamasi

Raspberry Pi kompyuteriga asoslangan boshqa ixtirochilar Wi-Fi ulanishi orqali boshqariladigan SkyJack dronini yaratdilar. Bunday qurilma vertolyot balandligini olishga, harbiy vertolyotlarning yo'llarini kuzatishga va ularni boshqarishga qodir, shuningdek, radio signallarini tutib, unga xalaqit yaratishi mumkin. Biroq, bunday imkoniyatlarga qaramay, qurilma kichik diapazoni tufayli ommaviy foydalanishga ruxsat berilgan.

Ko'knor: begona robot

Ko'knori roboti 3D bosib chiqarish yordamida yaratilgan frantsiyaning INRIA Flowers kompaniyasi tomonidan... Robot Raspberry Pi mini-kompyuter tomonidan boshqariladi. Robotning dizayni odamning biologik tuzilishini takrorlaydi, uning bo'g'imlari, umurtqa pog'onasi va tendonlari bor, yurishi odamnikiga o'xshaydi, yuradi, tovonidan burungacha yuradi va tortishish markazini bir tekis boshqaradi.

Endi "Woof" nima?

No More Woof - bu hali rivojlanish bosqichida bo'lgan va Raspberry Pi-ga asoslangan qurilma. Uning yordami bilan egasi itining nimani xohlashini tushunadi. Shunday qilib, qurilma hayvon boshiga biriktiriladi va elektroensefalograf printsipi asosida ishlaydi, ya'ni itning boshidan ma'lumotlarni o'qing va uni Raspberry Pi orqali egasiga o'tkazing. Bunday qurilma qachon tayyor bo'lishi va qanday qilib to'liq ishlatilishi hozircha ma'lum emas, ammo bunday garnitura, unchalik mukammal bo'lmasa ham, professional it ishlovchilari tomonidan allaqachon ishlatilgan.

Har bir inson yangi ming yillikning boshlanishi bilan yangi avlod orasida kompyuterlarga bo'lgan qiziqish nafaqat iste'molchi ekanligini ko'rmoqda. Bolalar dasturlashni va yangi narsalarni yaratishni o'rganishni xohlamaydilar, balki faqat "foydalanuvchilar" bo'lishni xohlashadi. Raspberry Pi ishlab chiqaruvchilari ularning qurilmasi odamlarning hisoblash fanlarini o'rganishga bo'lgan ilgari qiziqishini tiklab, ularni nafaqat yangi texnologiyalardan foydalanishga, balki ularni yaratishga majbur qilishlariga ishonadilar.

Raspberry Pi-ning birinchi qurilmalari chiqarilgandan besh yil o'tgach, loyiha tobora ommalashib bormoqda va asl maqsadidan tashqarida tarqalmoqda. Loyiha asoschisi Eben Upton dastlab 10 mingdan ortiq bo'lmagan taxtalarni sotishga umid qilar edi, ammo hozirda 1000000 dan ortiq moslamalar talabalar, o'qituvchilar va boshqa IT-xodimlar qo'lida.

Raspberry Pi-ning uchinchi avlodidan tashqari siz endi engil Raspberry Pi Zero modelini hamda videokamera kabi boshqa qismlarni topishingiz mumkin. sensorli ekran va turli xil sensorlar.

Ko'p imkoniyatlar bilan, Raspberry Pi 3 dasturini qaerdan boshlashni bilish qiyin bo'lishi mumkin. Ushbu maqola sizni Raspberry Pi bilan ishlashni boshlashga yordam beradi. Menimcha, siz allaqachon ekranni, sichqonchani, klaviaturani qanday ulashni va quvvatni qanday o'rnatishni va operatsion tizimni o'rnatishni bilasiz. Bugun biz keyin nima qilishimiz kerakligini ko'rib chiqamiz.

Ko'p odamlar Raspberry Pi-ga ega, ammo ular qurilmaning qaysi versiyasini bilishmaydi. Qurilmaning versiyasini xotira miqdori bo'yicha aniqlab olishingiz mumkin, bu parametr eng boshqacha. Yoki, masalan, so'nggi platalar qo'shimcha GPIO uyalarini qo'shdi. Loyihangizni yaratishda bilishingiz kerak bo'lgan ba'zi bir kichik farqlar mavjud.

Siz bilan taxta versiyasini topishingiz mumkin vizual tekshirishammo buning eng yaxshi usuli terminaldan foydalanishdir. Buning uchun qurilmani yoqing va buyruqni bajaring:

cat / proc / cpuinfo | grep "Revision"

Chiqish to'rt yoki olti belgidan iborat qatorni o'z ichiga oladi, bu sizga qaysi qurilmadan foydalanayotganingizni aytib berishi mumkin:

Agar siz 1000 bilan boshlanadigan juda katta sonni ko'rsangiz, u holda reviziya raqami va yana 1000 ga o'tsangiz, bu elektr ta'minotidagi haddan tashqari kuchlanish belgisidir.

Mana ba'zilari qiyosiy xususiyatlar turli xil versiyalar qurilmalar:

Agar buyruq satridan sizning doskangiz haqida ko'proq ma'lumot olishni istasangiz, quyidagi buyruqlardan foydalanishingiz mumkin:

Uskuna:

cat / proc / cpuinfo

mushuk / proc / versiyasi

Operativ xotira:

mushuk / proc / xotira

Raspberry Pi aloqasi

Siz har qanday elektr moslamasini yoqish uchun uni rozetkaga ulang, tugmachani bosing va u ishlayotganiga odatlanib qolgan bo'lishingiz mumkin. Raspberry Pi bunday qurilma emas. Ushbu mikrokompyuter uchun olish uchun barqaror quvvatni ta'minlaydigan to'g'ri elektr ta'minot moslamasini tanlash muhimdir maksimal ishlash... Uni yoqish va o'chirish uchun tugma yo'q, lekin agar xohlasangiz, buni qilishingiz mumkin.

Agar sizning qurilmangiz kam quvvatga ega deb hisoblasangiz, kuchlanishni multimetr yordamida tekshirishingiz mumkin. Qadimgi taxtalarda taxtaning yuqori qismida TP1 va TP2 yorliqli teshiklar mavjud, B +, Pi2 va Pi3 modellarida, ular taxtaning pastki qismida, SD-kartaning yon tomonlarida joylashgan va PP3 va PP7 bilan belgilangan

Avval hamma narsani ulang atrof-muhitSiz foydalanmoqchi bo'lgan narsa. Multimetringizni 20 voltgacha kuchlanishni o'lchash uchun sozlang. Qizil simni TP1 yoki PP3 ga, qora simni TP2 yoki PP7 ga ulang. Multimetr taxminan 5 voltni o'qishi kerak. 0,25 voltsli og'ish yomon va beshga yaqinlashish yaxshiroqdir. Agar siz kuchlanish pasayishini topsangiz, bu ikkita sababga bog'liq bo'lishi mumkin:

  • USB kabelingiz. Bu sizning telefoningizni zaryadlash uchun mos bo'lishi mumkin, ammo bu juda sekin. Bu telefon uchun etarli, ammo Raspberry Pi kuchga ega emas.
  • Periferik qurilmalar. Barcha uchun USB qurilmalar sizga kuch kerak, muammoni hal qilish uchun siz USB hubdan foydalanishingiz mumkin.

Umuman olganda, Raspberry Pi-ni ulash juda ko'p muammolarni keltirib chiqarmaydi.

Qayta tiklash tugmachasini qo'shing

Endi siz asoslarni bilasiz va quvvat manbasini tanladingiz, qurilmangiz uchun o'chirish tugmachasini qo'shishingiz mumkin. Ko'pgina elektronikalarda o'chirish tugmasi mavjud, ammo u erda yo'q, va agar siz Raspberry Pi-ni qayta ishga tushirishni xohlasangiz, elektr simini o'chirib, qayta ulashingiz kerak bo'ladi. Ammo siz undan qochish uchun tugmani qo'shishingiz mumkin.

Taxtaning yonida ikkita teshik bor, biri dumaloq, ikkinchisi esa kvadrat. B modelida ular P6 deb belgilangan va HDMI portining yonida joylashgan. Keyingi taxtalarda ular GPIO portlariga yaqinroq joylashtirilgan va RUN deb yozilgan.

Siz har qanday tugmachani sotib olishingiz va uning pinlarini ushbu portlarga lehimlashingiz mumkin. Protsessorni qayta tiklash uchun faqat ushbu chiqishlarni yopish kerak.

GPIO va sensorlardan foydalanish

Raspberry Pi o'zining arzon narxidan tashqari, GPIO imkoniyatlari tufayli foydalanuvchilar uchun juda jozibali.

GPIO yoki umumiy maqsadli kirish / chiqish portlardir umumiy maqsad kirish va chiqish. Raspberry Pi loyihalarining deyarli barchasi ushbu portlar atrofida qurilgan. Moslashuvchanlik ularning kuchidir.

Birinchi Raspberry Pi taxtalarida 26 ta GPIO porti bo'lgan, Raspberry Pi 2 va Pi 3 da 40 ta. Texnik nuqtai nazardan, mos ravishda 26 dan faqat 17 tasi va 40 dan 28 tasi. Qolganlari elektr kontaktlari va maydonchalardir. Barcha portlar raqamlangan, ammo ulardan to'g'ri foydalanish uchun sizga qiymatlar tavsifi bilan chop etish kerak. Masalan, 40 uchun:

Yoki 28 yoshda:

Ish paytida chalkashmaslik uchun uni bosib chiqarish va taxtaga yopishtirish mumkin:

GPIO-ni o'zingiz qilishingiz kerak bo'lgan narsani bajarish - bu dasturlashning bir qismi. Odatda, hamma narsani Python-da bajarish mumkin. Agar siz bilmasangiz, unda Pi ismining bir qismi Python dasturlashni o'rganish vositasidan kelib chiqqan. Internetda Raspbery va GPIO uchun Python-dan foydalanish bo'yicha ko'plab ko'rsatmalarni topishingiz mumkin.

Loyihani toping

Qurilmangiz deyarli tayyor. Loyiha to'g'risida qaror qabul qilish va nimadir qilishni boshlashgina qoldi. Agar siz hali ham bitta satr kod yozmagan bo'lsangiz ham yoki lehim bilan ishlaydigan temir bilan ishlasangiz ham, Raspberry Pi bu narsalarni o'rganish uchun eng yaxshi vosita bo'lishi mumkin.

Agar siz biror narsani dasturlashni xohlamasangiz, lekin foydali narsa qilishni xohlasangiz, Kodi-ni Raspberry-ga o'rnatishingiz va bajarishingiz mumkin uy ommaviy axborot vositalari markaz.

Shundan so'ng siz boshqa loyihalarni qidirishga borishingiz mumkin. Sizga nima yoqadi, o'yinlar? Uy avtomatizatsiyasi? Surat? Ehtimol, kimdir Internetda siz xohlagan narsani bajarish bo'yicha ko'rsatmalarni allaqachon joylashtirgan bo'lishi mumkin. Ulardan foydalaning yoki o'zingizni qiling. Siz amalga oshirishingiz mumkin bo'lgan ba'zi qiziqarli loyihalar:

  • Cupcade - o'zingizning kichkintoyingizni yaratishning eng oson usuli o'yin tizimi... Ammo bu erda siz barcha kerakli qismlarni olish uchun qurilmani to'plam sifatida sotib olishingiz kerak;
  • MagicMirror - bu Raspberry Pi-dagi eng mashhur loyihalardan biri, asosiysi ishlab chiqarishdir matnli ma'lumot ekran va ushbu mikrokompyuter yordamida oynada;
  • Minecraft - o'zingiz yaratishingiz mumkin minecraft-server Raspberry Pi asosida;

Bularning hammasi ham qiziqarli loyihalar emas, ular bilan Raspberry Pi 3. dasturini topishingiz mumkin. Siz maqolada yana bir nechtasini topishingiz mumkin.

xulosalar

Ushbu maqolada biz malinali pi bilan ishni boshlashni ko'rib chiqdik. Ushbu juda qiziqarli qurilma to'g'ri ishlatilganda juda foydali bo'lishi mumkin. Siz allaqachon Raspberry Pi sotib olganmisiz? Siz sotib olmoqchimisiz? Yoki allaqachon o'zlarining loyihalarini to'plab, topib olishgan malinali dastur pi? Izohlarda yozing!

Raspberry Pi haqida videoni 16 bit oldin to'ldirish uchun:

Ko'pchilik, ehtimol, Arduino-ni Raspberry Pi-dan quvvatlantirish qiyin emasligini, faqat USB kabeli kerakligini bilishadi. Qarama-qarshi muammo yanada murakkabroq ko'rinadi, chunki Arduino kontrollerlarining ko'pida USB chiqishi mavjud emas (Tufayli istisno). Biroq, buni GPIO pinlari yordamida amalga oshirish mumkin va men bu haqda gapirishni istayman aniq misol Arduino Nano V3.0 va Raspberry Pi B rev.2 uchun. Elektr ta'minotidan tashqari, men sizga ushbu quvvatni qanday qilib tugma va MOSFET tranzistor yordamida boshqarishingiz mumkinligini aytaman.

Nazariy imkoniyat
Arduino-ga mos keladigan ko'pgina kontrollerlar 5V pinlardan foydalanadilar. Faqatgina Arduino Due va Arduino-dan chiqadigan 3,3 V kuchlanish bundan mustasno, ammo hozir bu muhim emas. Raspberry Pi-ga elektr energiyasini etkazib berish usullaridan biri 26-da 5V va GND pinlarini ishlatish ekanligi ma'lum. pin ulagichi P1:

Bu echim aniq ko'rinadi - Raspberry Pi-ni Arduino pimlarining har qanday biriga ulashingiz kerak va hamma narsa ishlaydi. Bunga urinishim Raspberry Pi-ning PWR LED-ni yonib-o'chishiga olib keldi, ammo ACT LED hech qachon yonmadi. Buning sababi Arduino pinlaridan juda kichik oqim (taxminan 40-50 mA). Ammo Arduino-da alohida 5V pin mavjud, u (havola bo'yicha) 400-500mA atrofida quvvatni etkazib berishi mumkin. Endi siz Malinani quvvatlantirish uchun etarli oqim mavjudligini tekshirishingiz kerak.

Oddiy Raspberry Pi quvvat manbai uchun ikkita ulangan USB qurilmalarga taxminan 700 mA kerak. Har bir USB qurilmasi 140mA () gacha tortishi mumkin. Malinalar overklock qilingan bo'lsa (meniki emas), undan ham ko'proq oqim tortishi mumkin. Shunday qilib, siz USB qurilmalarisiz overclocked RPi dan foydalansangiz, u holda Arduino 5V pinidan oqim etarli bo'lishi kerak.

Elektr ta'minotini boshqarish uchun yana bir nechta ingredientlar kerak bo'ladi: quvvat tugmasi va yuqori oqimlarni boshqarishga qodir narsa. Ushbu maqsadlar uchun men MOSFET tranzistoridan foydalandim. To'g'ridan-to'g'ri ishlatilgan qismlarga o'tamiz.

Kerakli apparat va dasturiy ta'minot
Men quyidagi "temir" qismlardan foydalanardim:
  • Raspberry Pi B rev. 2;
  • Arduino Nano V3.0;
  • quvvatni boshqarish uchun tugma (men signalli sim bilan qulflash tugmachasidan foydalanganman);
  • MOSFET tranzistor (menda IRF530N bor edi);
  • Breadboard va bir nechta simlar.
Uchun arduino dasturiy ta'minoti IDE kerak, men BETA 1.5.8 versiyasidan foydalandim, ammo barqaror 1.0.6 ham ishlaydi. Menga PowerButton uchun kichik kutubxonam kerak (kommunal xizmatlar bo'limidagi maqolaning oxiridagi havola).
Sxema
Ulanish diagrammasi quyidagicha:

Sxema diagrammasi quyidagicha:

Diagrammalar uchun tushuntirishlar:

  1. D2 tugmachaning SIG piniga ulangan.
  2. D4 tugmachaning VCC piniga ulangan.
  3. D5 MOSFET eshigiga ulangan.

D2 piniga ulanish tasodifiy emas: tugma uchun kutubxonada uzilishlar ishlatiladi va Arduino Nano-da faqat shu maqsadlar uchun D2 / D3 pinlari mavjud (siz Arduino-ning qo'llab-quvvatlovchilarining qaysi pinlarini tekshirishingiz mumkin).

Manba kodi Arduino uchun dasturlar
# shu jumladan

# POWER_PIN_SIG 2-ni aniqlang
# POWER_PIN_VCC-ni aniqlang 4
# POWER_FET_GATE-ni aniqlang 5
# POWER_PIN_INT 0-ni aniqlang

PowerButtonSwitch pbs;

bekor onPowerOn () (
Serial.println ("Quvvatni yoqish");
digitalWrite (POWER_FET_GATE, 1); // Darvozani oching (darvoza)
}

bekor onPowerOff () (
Serial.println ("Quvvatni o'chirish");
// Darvozani yoping (darvoza)
}

bekor o'rnatish () {
Serial.begin (9600);

// Arduino-dan MOSFET-ga chiqish eshigi (eshik)
pinMode (POWER_FET_GATE, OUTPUT);
digitalWrite (POWER_FET_GATE, 0);

// Dastlabki sozlash quvvat tugmalari
pbs.setupPowerButton (POWER_PIN_SIG, POWER_PIN_VCC, POWER_PIN_INT);

// Joriy qiymatni o'qing
// Agar tugmachadan signal bo'lsa,
// Raspberry Pi-ni yoqing
int st \u003d pbs.getSwitchStatus ();
agar (st \u003d\u003d POWER_ON) (
onPowerOn ();
}

// Voqealar ishlovchilarini qo'shing
pbs.onPowerOn (onPowerOn);
pbs.onPowerOff (onPowerOff);
}

void loop () {
// Bo'sh pastadir
kechikish (1000);
Serial.println ("Amallar yo'q");
}

Ishlarning aksariyati kutubxona tomonidan amalga oshiriladi, shuning uchun kod juda oddiy.

Eritmani sinovdan o'tkazish
Sinov bilan qisqa video:

Ko'rib turganingizdek, hamma narsa ingl. Shunga qaramay, siz TP1 / TP2 pinlari orasidagi kuchlanishni tekshirishingiz kerak (metodika). Men ~ 4.6V qiymatini oldim, tavsiya etilgan qiymat 4.75V dan yuqori.
Xulosa
Hamma narsa ishlashiga qaramay, atrofni ulashda Arduinoning 5V pinidan oqim etarli bo'lmaydi degan shubha mavjud. MOSFET va tugma juda yaxshi ishlaydi, bunday to'plam kelajakdagi loyihalar uchun foydali bo'lishi mumkin.

Yozish uchun ishlatiladigan kommunal xizmatlar va kutubxonalar:

  • Fritzing: diagrammalar chizish uchun ishlatiladi, mavjud.
  • uchun haqiqiy kutubxona PowerButton: GitHub-dan olinishi mumkin.

Bu mening birinchi xabarim bo'lgani uchun, mulohazalar va sharhlar juda foydali bo'ladi.

Raspberry PI - bu etarli darajada ishlaydigan qurilmadir, shuning uchun uning asosida tasvirlarni taniy oladigan, inson ishini bajaradigan va boshqa shunga o'xshash moslamalarni murakkab hisoblash ishlarini bajaradigan robotlar yaratilishi mumkin. Chunki soat chastotasi Raspberry PI protsessori 3 mb. 1,2 gigagertsli va uning bit kengligi 32 bitni tashkil qiladi, keyin Raspberry PI 3 odatdagi Arduino-dan ancha yuqori, uning soat chastotasi odatda 16 MGts va mikrokontroller biti 8 bitni tashkil qiladi, Arduino, albatta, juda yaxshi ishlashni talab qilmaydigan operatsiyalarni bajarishda o'z o'rnini egallaydi, ammo endi malina PI yetarli emas " yordamga keladi "va shu qadar keng doirani qamrab oladi mumkin bo'lgan dasturlar Raspberry PI 3 ushbu bitta taxtali kompyuterni sotib olishning maqsadga muvofiqligiga to'liq ishonch hosil qilishingiz mumkin (siz havola orqali buyurtma berishingiz mumkin). Chunki Raspberry PI - bu kompyuter, undan foydalanish uchun unga operatsion tizimni o'rnatishingiz kerak (garchi vaqtinchalik echimlar mavjud bo'lsa ham, operatsion tizimni o'rnatish yanada yaxshi va osonroq (OS bundan keyin)). Raspberry Pi-ga o'rnatiladigan ko'plab operatsion tizimlar mavjud, ammo yangi boshlanuvchilar uchun eng mos bo'lgan (Raspberry Pi bilan ishlatish uchun) eng ommaboplaridan biri bu Raspbian OS. Raspberry Pi-da operatsion tizimni o'rnatish uchun sizga kengaytirgichli micro SD-karta kerak, shunda uni kiritish mumkin oddiy kompyuter va ustiga ari yozing. SD karta to'liq Raspbian versiyasini o'rnatishda kamida 4 Gb, eng kam Raspbian versiyasini o'rnatishda kamida 8 Gb xotiraga ega bo'lishi kerak. Minimal versiyalar bo'lmasligi mumkin (va ehtimol yo'q) grafik interfeys ortiqcha va bo'sh joyni egallashi mumkin bo'lgan boshqa hamma narsalar. Yo'qolish bilan bog'liq muammolarni oldini olish uchun kerakli fayllar, qo'yishingiz mumkin to'liq versiyasi... Siz 32 Gb xotiraga ega bo'lgan 10-sinf SD-kartadan foydalanishingiz mumkin (ishlash uchun sinovdan o'tgan (quyidagi videoga qarang)). Xotira kartasini sotib olganingizdan so'ng, uni kompyuterga mos keladigan uyaga kiritishingiz kerak, so'ngra diskning qaysi harfida "mening kompyuterim" bo'limida paydo bo'lganligini ko'rib chiqing va esda tuting, keyin OSni rasmiy veb-saytidan https://www.raspberrypi.org/downloads/raspbian yuklab olishingiz kerak. / to'liq versiyasini yuklab olish uchun "RASPBIAN JESSIE" ostidagi "ZIPni yuklab olish" tugmachasini bosish yoki engil versiyasini yuklab olish uchun "RASPBIAN JESSIE LITE" ostida, lekin yangi boshlanuvchilar uchun "RASPBIAN JESSIE" ni tanlash yaxshidir to'liq versiyasi. "RASPBIAN JESSIE" arxivini yuklab olgandan so'ng uni ochishingiz kerak, so'ngra dasturni yuklab oling (yoki bu erdan https://yadi.sk/d/SGGe1lMNs69YQ), uni o'rnating, oching, so'ngra o'ng tomondagi yuqori burchakda disk harfini (oldinroq yodlangan) ko'rsatishingiz kerak, ochilmagan os tasvirini topish

Va "yozish" tugmachasini bosing.

Shundan so'ng ogohlantirish oynasi paydo bo'ladi va ushbu oynada "Ha" tugmasini bosishingiz kerak,

Yozib olish tugagandan so'ng va muvaffaqiyatli yozuv haqida ma'lumot beruvchi oyna paydo bo'lgandan so'ng (Yozish muvaffaqiyatli), ushbu oynadagi "Ok" tugmasini bosishingiz kerak.

Keyin dasturni yoping, SD-kartani chiqarib oling xavfsiz tarzda va Raspberry Pi-ga joylashtiring.

Keyin siz Raspberry Pi-ga ulanishingiz mumkin usb klaviaturasi (yoki ps2 orqali), usb sichqonchasi va monitor yoki televizor orqali hdmi kabeli yoki chekilgan kabelni ulashingiz mumkin (lekin bu ilg'or foydalanuvchilar uchun, shuning uchun quyida birinchi variantni ko'rib chiqamiz). Shundan so'ng siz quvvatni ulashingiz kerak mikro usb masalan zaryadlovchi smartfondan. Quvvatni ulab bo'lgandan so'ng, o'rnatish boshlanadi operatsion tizim... Odatda, operatsion tizimning yangi (ushbu yozuv paytida) Raspberry Pi bilan SSH orqali aloqa qilish imkoniyati allaqachon tuzilgan va shuning uchun Raspberry Pi 3 bilan wifi orqali aloqani sozlash uchun faqat wifi-ni sozlash kifoya, buni amalga oshirish uchun ekranning yuqori o'ng burchagida belgi mavjud tugmachasini bosishingiz va Wi-Fi-ni tanlashingiz kerak,

Keyin parolni kiriting bu wifi paydo bo'lgan matn maydoniga,

Bulardan keyin harakat WiFi Raspberry Pi 3-da konfiguratsiya qilinadi va keyin Raspberry Pi 3-ni wifi orqali masofadan dasturlash uchun simlarni ishlatmasdan amalga oshirish mumkin bo'ladi. Raspberry Pi 3-ni sozlaganingizdan so'ng, uni kiritish orqali o'chirib qo'yishingiz mumkin buyruq satri (dastur ikonkasini ikki marta bosish orqali ochilishi mumkin bo'lgan LXTerminal dasturida) sudo to'xtatish buyrug'i yoki grafik rejimida tegishli o'chirish tugmachalarini bosish bilan yakuniy o'chirgandan so'ng siz Raspberry Pi 3 quvvatlanganda quvvatni o'chirib, wifi bilan yoqishingiz mumkin. Raspberry Pi 3-ni wifi orqali dasturlash uchun uning ip manzili nima ekanligini bilib olishingiz kerak. Buni amalga oshirish uchun siz Raspberry Pi 3-ga quvvat etkazib berishingiz kerak, operatsion tizim o'rnatilguncha kuting, yo'riqchining veb-interfeysiga o'ting (brauzer qatoriga 192.168.1.1 kiriting yoki veb-interfeysga kirishingiz kerak bo'lgan narsa, login va parolingizni kiriting), DHCP yorlig'ini toping Ijaraga olish yoki shunga o'xshash narsalar, Raspberry Pi 3-ning malina va ip manzili bilan chiziq toping.

Keyinchalik, siz PuTTY dasturini ochishingiz kerak (agar u erda bo'lmasa, yuklab oling (yoki) o'rnating) 22-portni qo'ying, SSH orqali ulaning, "Host Name (yoki IP-manzil)" maydoniga Raspberry Pi 3-ning ip-manzilini kiriting,

Keyin oynaning pastki qismidagi "Ochish" tugmachasini bosing, keyin u paydo bo'ladi qora oyna kirishni taklif qilish bilan. Odatiy kirish "pi" - uni kiritishingiz va enter tugmachasini bosishingiz kerak. Keyinchalik, parolni kiritishingiz kerak, sukut bo'yicha "malina". Parolni kiritganingizda, u ko'rsatilmaydi - bu normal holat. Parol ko'rinmas harflar bilan kiritilgandan so'ng, enter tugmachasini bosishingiz kerak va agar hamma narsa to'g'ri bajarilgan bo'lsa, biz Raspberry Pi 3-ga kirish huquqiga ega bo'lamiz, agar bo'lmasa, amallarni takrorlashingiz kerak. Raspberry Pi 3-ga kirish huquqini qo'lga kiritgandan so'ng, uni dasturlashingiz mumkin, avval "pi" papkasini kiritishingiz kerak, buning uchun buyruqni kiritishingiz kerak

Va Enter tugmachasini bosing (CD dan keyin bo'sh joy kerak).
Endi siz ochishingiz mumkin matn muharriri nanoSIM. Nano - Raspberry Pi uchun dasturlar yozishingiz mumkin bo'lgan Linuxga o'xshash OSlarning aksariyat qismida joylashgan maxsus matn muharriri. Ushbu tahrirlovchini ochish va shu bilan birga "birinchi" nomi va "py" kengaytmasi bilan fayl yaratish uchun sizga buyruq kiritishingiz kerak

Va Enter tugmasini bosing. Nano muharriri ochiladi va uning interfeysi biroz boshqacha ekanligini ko'rishingiz mumkin, lekin asosan buyruqlarni kiritishingiz kerak bo'lgan bir xil qora maydon. Chunki biz umumiy kirish / chiqish portlarini (GPIO) boshqarishni xohlaymiz, keyin ushbu portlarni boshqarish dasturini boshlashdan oldin, siz ularga biron bir qurilmani ulashingiz kerak, shunda siz boshqaruvning ishlaganligini ko'rishingiz mumkin. Shuni ham ta'kidlash kerakki, Raspberry Pi-ning chiqishi sifatida tuzilgan pinlar juda kichik oqim hosil qilishi mumkin (men 25mA gacha deb o'ylayman) va Raspberry Pi hali ham eng arzon qurilma emasligini hisobga olsak, pinlar ustidagi yuk juda katta emasligiga e'tibor berish tavsiya etiladi. Raspberry Pi bilan kam quvvatli indikatorli LEDlar odatda ishlatilishi mumkin. ularning porlashi uchun kichik oqim etarli. Birinchi marta siz konnektorli qurilmani, ikkita qarshi parallel LEDni va 220 Ohm qarshilik bilan LED bilan ketma-ket ulangan qarshilikni yaratishingiz mumkin. Chunki rezistorning qarshiligi 220 Ohm, oqim bu rezistor orqali o'tishi kerak va uning o'tishi uchun parallel yo'llar yo'q, terminallardagi kuchlanish 3.3V, keyin oqim 3.3 / 220 \u003d 0.015A \u003d 15mA dan oshmaydi. Siz buni bepul GPIO-larga ulashingiz mumkin, masalan, diagrammada bo'lgani kabi 5 va 13-ga

(https://en.wikipedia.org/wiki/Raspberry_Pi-dan olingan pinout), shunga o'xshash bo'lishi mumkin:

Har bir narsa toza va to'g'ri ulanganidan so'ng va hech narsa yoqilmasligi aniq bo'lsa, Python-dagi birinchi oddiy dasturni NANO muharririga ko'chirishingiz mumkin

RPi.GPIO-ni GPIO sifatida import qiling
import vaqti
GPIO.setmode (GPIO.BCM)
GPIO.setup (13, GPIO.OUT)
GPIO.setup (5, GPIO.OUT)
GPIO.output (13, to'g'ri)
GPIO.output (5, noto'g'ri)
vaqt (uyqu) (1)
GPIO.output (13, noto'g'ri)
GPIO.output (5, to'g'ri)
vaqt (uyqu) (1)
GPIO.output (13, to'g'ri)
GPIO.output (5, noto'g'ri)
vaqt (uyqu) (1)
GPIO.output (13, noto'g'ri)
GPIO.output (5, to'g'ri)
vaqt (uyqu) (1)
GPIO.output (13, to'g'ri)
GPIO.output (5, noto'g'ri)
vaqt (uyqu) (1)
GPIO.output (13, noto'g'ri)
GPIO.output (5, to'g'ri)
vaqt (uyqu) (1)
GPIO.cleanup ()

Keyin bosing

NANO muharriridan chiqqandan so'ng, buyruqni kiritishingiz mumkin

Sudo python first.py

Keyin LEDlar bir necha marta yonib-o'chib turadi. O'sha. umumiy maqsadli kirish / chiqish portlarini wifi orqali boshqarishga muvaffaq bo'ldi! Endi dasturni ko'rib chiqamiz va bu qanday sodir bo'lganligini bilib olamiz.
Qator:

RPi.GPIO-ni GPIO sifatida import qiling

Bu pinlarni boshqarish uchun "GPIO" kutubxonasiga ulanish.
Qator:

Bu kechikishlar uchun "vaqt" kutubxonasining aloqasi.
Keyinchalik GPIO rejimini sozlash keladi:

GPIO.setmode (GPIO.BCM)

5 va 13 pinlarini chiqish sifatida sozlash:

GPIO.setup (13, GPIO.OUT)
GPIO.setup (5, GPIO.OUT)

13-pinda mantiqiyni o'rnatish, 5-pinda mantiqiy nolni o'rnatish:

GPIO.output (13, to'g'ri)
GPIO.output (5, noto'g'ri)

Kechiktirish

13-pinda mantiqiy nolni o'rnatish, 5-pinda mantiqiy nolni o'rnatish:

GPIO.output (13, noto'g'ri)
GPIO.output (5, to'g'ri)

Barcha xulosalarni tarjima qiladi dastlabki holat va dastur tugaydi. Shunday qilib har qanday bepul pinni WiFi orqali boshqarishingiz mumkin va agar siz batareyadan 5V quvvat olsangiz, unda siz allaqachon qilishingiz mumkin avtonom robot yoki biron bir harakatsiz narsaga simlar bilan bog'lanmagan moslama. Til python dasturlash (python) C-ga o'xshash tillardan farq qiladi, masalan, buyruqni bajarish uchun nuqta-vergul o'rniga, python chiziqli ozuqani ishlatadi, jingalak qavslar o'rniga, chap tugmachadan indent ishlatiladi, bu Tab tugmachasi yordamida amalga oshiriladi. Umuman olganda, Python o'qilishi oson bo'lgan oddiy kod ishlab chiqaradigan juda qiziqarli til. Raspberry PI 3 bilan ishlash (yoki o'ynash) tugagandan so'ng, uni buyruq bilan o'chirib qo'yishingiz mumkin

Va to'liq o'chirgandan so'ng, quvvatni chiqarib oling. Quvvat qo'llanilganda, Raspberry PI 3 yonadi va siz u bilan yana ishlashingiz (yoki o'ynashingiz) mumkin. Raspberry pi 3-ga http://ali.pub/91xb2 saytida buyurtma berishingiz mumkin. Bu qanday amalga oshiriladi malinani o'rnatish PI 3 va uning pinlarini boshqarishni videoda ko'rish mumkin:

LEDlarning muvaffaqiyatli yonib turgandan so'ng, siz to'liq hajmdagi tadqiqotni boshlashingiz mumkin ushbu kompyuter va faqat sizning tasavvuringiz bilan cheklangan Raspberry PI 3 imkoniyatlaridan foydalangan holda loyihalar yaratish!

Hammaga salom! Bugun men sizga Raspberry Pi-da portlarni qanday qilib tejashga muvaffaq bo'lganimni aytib beraman. Men uzoq vaqtdan beri ushbu displeyli kompyuterga chiziqli displeyni ulashni xohlar edim va hatto uni wiringpi kutubxonasi yordamida bajarishga harakat qilardim, ammo bunday ulanish juda ko'p pinlarni oladi. Aqlga kelgan birinchi narsa smenali registrlardan foydalanish edi, ammo baribir men I2C yoki SPI avtobusiga qarashga qaror qildim. Internetdagi mavzularni o'qib chiqib, men ajoyib echim topdim - RGB LCD SHIELD KIT W / 16X2 CHARACTER DISPLAY - FAQAT 2 PIN-kod ishlatilgan! ... SD2 va SCK-ni I2C avtobusi orqali boshqarish uchun taxta faqat ikkita pimdan foydalanadi, bundan tashqari beshta soat tugmachasi uchun joy etarli. IN ushbu qurilma tezlik unchalik muhim emas, shuning uchun I2C avtobusi men uchun yaxshi edi. Kengashning "yuragi" Microchip chipidir, port kengaytiruvchisi MCP23017.

Hammaga salom!

Amaliyotda vaqti-vaqti bilan, ba'zi oddiy loyihalarimning orqa tomoni sifatida veb-server bo'lsa yaxshi bo'lardi deb xayol bilan o'ylagan vaziyatlar yuzaga keldi. Xo'sh, shunday bo'lishi kerak bo'lgan xost nomi bo'lishi uchun va tashqi tomondan siz unga ba'zi ma'lumotlarni berishingiz va ba'zi ma'lumotlarni olishingiz mumkin, ehtimol siz API-shechni burab qo'yishingiz mumkin, yoki ehtimol sizning blogingizni joylashtirasiz.

Men o'zimning xayolimda darhol pichoqli javonlarni ko'rib chiqdim, Raqamli Okeanda virtual mashinani ijaraga oldim, yoki eng yomoni, stol ostida kecha-kunduz gumburlayotgan kompyuter.

Lekin siz jim, nafis, jim va tarjixon bepul narsani xohlaysiz ...

To'xta! Ammo hamma narsa allaqachon bizdan oldin ixtiro qilingan!

Bugun men qanday qilib bir tiyinga minimal bilimga ega bo'lgan holda, sizning orqa ehtiyojlaringizning 90 foizini ta'minlaydigan mashinani yoqib yuborishingiz mumkinligi haqida gaplashmoqchiman.
Hikoya o'zi uchun yozuvlar xususiyatiga ega bo'ladi - nima qilish kerakligini unutmaslik uchun, masalan, keyingi safar takrorlash uchun)

Kimga g'amxo'rlik qiladi - kesilgan joyning ostiga o'ting (aytmoqchi, taxtadagi chiplar sendvich bilan qanday lehimlanganiga e'tibor bering).

Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: