Mundarija:
- 1 -qadam: dasturiy ta'minot va materiallar
- 2 -qadam: Arduino -ga ulaning va COM portini aniqlang
- 3 -qadam: Matlab kodi
- 4 -qadam: Flex sensorini ulash
- 5 -qadam: Arduino -ni LCD -ga ulang
- 6 -qadam: Yumshoq potansiyometrni ulash
- 7 -qadam: O'zingizning yaxshilanishlaringizni aqlli temir yo'l tizimida sinab ko'ring
Video: LifeGuard 2.0: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Siz hech qachon matematik operatsiyalarni bajarishni, sensorlar o'qilishini, analog va raqamli kirishni kuzatishni, elektronika tajribasi bo'lmagan analog va raqamli chiqishni boshqarishni xohlaganmisiz? Ha bo'lsa, bu loyiha aynan siz uchun! Biz EF Express SMART RAIL tizimini kuzatish va takomillashtirish uchun ishlatilishi mumkin bo'lgan qurilmani yaratish uchun mikrokontroller va MATLABdan foydalanamiz. Mikrokontroller yordamida kirish va chiqish imkoniyatlari (signal/ma'lumot taxtaga va taxtadan chiquvchi signal) cheksizdir. Kirish sifatida biz moslashuvchan sensor va potansiyometrdan foydalanamiz. Ularning chiqishlari LCD displey va LED yoritgichlar orqali signal bo'ladi. SMART RAIL tizimiga kiritmoqchi bo'lgan yaxshilanishlar tizim xavfsizligini yaxshilash bilan bog'liq. Noutbukni va mikrokontroldorni oling, boshlaylik!
1 -qadam: dasturiy ta'minot va materiallar
Kerakli dasturiy ta'minot
1.) MATLAB
- Kompyuteringizga MATLAB -ning mahalliy versiyasini yuklab olishingiz kerak bo'ladi. Mathworks.com saytiga o'ting va MATHWORKS hisob qaydnomasini o'rnating, fayllarni yuklab oling va litsenziyangizni faollashtiring.
-Siz eng yangi versiya uchun barcha mavjud asboblar qutilarini (R2016a yoki R2016b) yuklab olishingiz va o'rnatishingiz kerak.
-Mac foydalanuvchilari: R2015b -ni ishga tushirish uchun sizda OSX 10.9.5 yoki undan keyingi versiyasi bo'lishi kerak, MATLAB -ning oldingi versiyasini ishlatish yaxshi.
2.) Arduino uskunalarini qo'llab -quvvatlash to'plami:
-Arduino uskunalarini qo'llab -quvvatlash paketini o'rnating. MATLAB -ni oching. "MATLAB Home" yorlig'idagi "Atrof-muhit" menyusida "Qo'shimchalarni oling" "Uskunani qo'llab-quvvatlash paketlarini olish" -ni tanlang. "Arduino uchun MATLAB-ni qo'llab-quvvatlash paketi" -ni tanlang. MATHWORKS hisobingizga kirishingiz kerak bo'ladi
- Agar sizning o'rnatishingiz uzilib qolsa va sizda apparat paketini o'rnatishda ketma -ket muvaffaqiyatsiz urinishlar/xatolar bo'lsa - qattiq diskda Arduino yuklangan papkani toping va o'chirib tashlang va boshidan boshlang.
Kerakli materiallar
1.) Laptop yoki ish stoli kompyuter
2.) SparkFun Arduino kengashi
3.) Flex sensori
4.) Potansiyometr
5.) LCD displey
6.) LED chiroq
7.) SparkFun ixtirochilar to'plami (Internetda toping)
8.) USB kabeli va mini USB
9.) o'tish simlari
10.) Piezo ovozli signal
2 -qadam: Arduino -ga ulaning va COM portini aniqlang
(Har safar plagin o'rnatilganda sizning MAQOMOTI portingiz o'zgarishi mumkin) Arduino USB kabelini kompyuterga va mini USB -ni Arduino kartasiga ulang. Haydovchilarni yuklab olish uchun bir necha daqiqa kutish kerak bo'lishi mumkin.
COM portini aniqlash uchun:
Kompyuterda
1 -usul: MATLAB -da - fopen (ketma -ket ('nada')) buyrug'idan foydalaning.
-aloqa portini aniqlash. Siz shunday xatoga yo'l qo'yishingiz mumkin: ketma -ket ishlatishda xato (72 -qator) Ochilmadi: Port: NADA mavjud emas. Mavjud portlar: COM3. Bu xato sizning portingiz 3 ekanligini ko'rsatadi.
-Agar kompyuteringizda 1 -usul ishlamasa, qurilma menejerini oching va portlar (COM va LPT) ro'yxatini kengaytiring. USB seriyali portidagi raqamga e'tibor bering. masalan 'USB Serial Port (COM *)' Port raqami bu erda *.
-Agar port ko'rsatilmasa, MATLAB -ni yoping va kompyuterni qayta ishga tushiring. MATLAB -ni oching va fopen (serial ('nada')) ni qayta urinib ko'ring.
-Agar bu bajarilmasa, siz SparkFun drayverlarini CDM_v2.12.00_WHQL_Certified.exe faylidan yuklab olishingiz kerak bo'ladi, CDM_v2.12.00_WHQL_Certified.exe faylini oching va ishga tushiring va O'chirish -ni tanlang. (Faylni Explorer -dan ochishingiz kerak bo'lishi mumkin, sichqonchaning o'ng tugmachasini bosing va "Administrator sifatida ishga tushirish").
-MATLAB buyruqlar oynasida Arduino obyektini yarating - a = arduino ('comx', 'uno'); % x - shaxsiy kompyuterlar uchun yuqoridan sizning port raqamingiz (oldingi nolsiz!)
Mac -da
1 -usul: MATLAB buyruq satridan yoki Mac terminalida yozing: 'ls /dev/tty.*' dev/tty.usbmodem*yoki dev/tty.usbserial*uchun ko'rsatilgan port raqamiga e'tibor bering. Bu erda port raqami *.
-Agar 1 -usul sizning MAC -da ishlamasa, sizga kerak bo'lishi mumkin
-MATLAB -dan chiqish
-Arduino dasturini yoping va Arduino USB kabelini ajratib oling
-Java 6 ish vaqtini o'rnating
-USB drayverining yadro kengaytmasini o'rnating
-Kompyuteringizni qayta ishga tushiring
-Arduino USB kabelini qayta ulang
-MATLAB buyruq satridan yoki Mac terminalidan ishga tushirish: ls /dev/tty.*
-Dev/tty.usbmodem* yoki dev/tty.usbserial* uchun ko'rsatilgan port raqamini ko'rsating. Bu erda port raqami *.
-MATLAB buyruqlar oynasida Arduino obyektini yarating - a = arduino ('/dev/tty.usbserial*', 'uno'); % * - bu sizning MAC -lar uchun port raqamingiz yoki '/dev/tty.usbmodem*'
3 -qadam: Matlab kodi
Kirishlar:
1.) Flex sensori
2.) Potansiyometr
Chiqish:
1.) "Poezd kelmoqda" yozuvi yozilgan LCD displey
2.) LED chiroq
3.) Piezo ovozli signal
Bu bosqichda biz Arduino platasidagi kirishni tahlil qiladigan va MATLAB tahlilining natijalari asosida chiqadigan kodni tuzamiz. Quyidagi kod sizga bir nechta funktsiyalarni bajarishga imkon beradi: potansiyometr ishga tushirilganda, piezo -signal, o'zgaruvchan chastotalarni chiqaradi va qizil LED yonadi. Agar poezd aniqlanmasa, yashil LED yonadi. Flex Sensor ishga tushirilganda, ochko'zlik LED o'chadi, qizil LED yonadi va LCD displeyda "Poezd kelmoqda" yozuvi paydo bo'ladi.
MATLAB kodi:
%remery1, shornsb1, wmurrin
%Maqsad: poezd haqida ogohlantirish
%IInput: potentsiometr, egiluvchan sensor
%chiqish: LCD, tovush, yorug'lik
%Agar taxta boshlanmagan bo'lsa yoki ulanish bilan bog'liq muammolar mavjud bo'lsa, uni bajaring
izohlarda %buyruqlar ostida. Ular har safar bajarilishi shart emas
%hammasini tozalamoq
%hamma yopiladi
%clc
%a = arduino ('/dev/tty.usbserial-DN01DXOM', 'uno');
%lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
%Ulangach, taxtani sozlang
configurePin (a, 'D8', 'tortish');%D8 ni sozlaydi
configurePin (a, 'D9', 'PWM');%D9 ni sozlaydi
vaqt = 50; %vaqtni 50 ga o'rnatdi
clearLCD (lcd) %LCD -ni ishga tushiradi
%Loopni ishga tushirish
vaqt> 0
%Flex sensori kuchlanishi yorug'lik yashil yoki yorug'lik ekanligini aniqlaydi
%qizil va LCD displey "poezd keladi"
flex_status = readVoltage (a, 'A0'); %moslashuvchan sensorning o'qish kuchlanishi
agar flex_status> 4 %, agar kuchlanish 4 dan katta bo'lsa, tetikli pastadir
writeDigitalPin (a, 'D12', 0) %yashil o'chadi
writeDigitalPin (a, 'D11', 1) %qizil rangni yoqadi
printLCD (LCD, "Kelayotgan poezd") %displeyi "kelayotgan poezd" ni LCD displeyda aks ettiradi
pauza (5) %5 soniya kuting
clearLCD (LCD) %LCD -dan xabarni tozalash
writeDigitalPin (a, 'D11', 0) %Qizil LEDni o'chiring
boshqa
oxiri
pe_status = readVoltage (a, 'A2'); %Potentsiometr kuchlanishini o'qing
agar pe_status> 2 %, agar kuchlanish 2 dan katta bo'lsa, tetikli pastadir
writeDigitalPin (a, 'D13', 1);%qizil LEDni yoqadi
playTone (a, 'D9', 400,.25);% 400 gigagertsli signal piezo signalida,.25 sek.
writeDigitalPin (a, 'D13', 0)%qizil LEDni o'chiradi
pauza (.25)%kutish.25 soniya
writeDigitalPin (a, 'D13', 1) %Yuqorida takrorlang, 200 gigagertsli signal bilan
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
writeDigitalPin (a, 'D13', 1);%Yuqorida takrorlang
playTone (a, 'D9', 400,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
writeDigitalPin (a, 'D13', 1)
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
writeDigitalPin (a, 'D13', 1) %Yuqorida takrorlang
playTone (a, 'D9', 400,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
writeDigitalPin (a, 'D13', 1)
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
writeDigitalPin (a, 'D13', 1) %Yuqorida takrorlang
playTone (a, 'D9', 400,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
writeDigitalPin (a, 'D13', 1)
playTone (a, 'D9', 200,.25);
writeDigitalPin (a, 'D13', 0)
pauza (.25)
boshqa
writeDigitalPin (a, 'D12', 1)%, agar kuchlanish 2dan past bo'lsa, yashil LEDni yoqing.
writeDigitalPin (a, 'D13', 0)%qizil LEDning burilishi
oxiri
oxiri
4 -qadam: Flex sensorini ulash
Kerakli materiallar
1.) 1 ta moslashuvchan sensor
2.) 1 10K Ohmli rezistor
3.) 8 ta o'tish simlari
*O'z navbatida rasmlarga qarang.
Ushbu sxemada biz egiluvchanlikni o'lchaymiz. Moslashuvchan sensor o'zgaruvchan rezistor kabi harakat qilish uchun plastmassa tasmasidagi ugleroddan foydalanadi, lekin qarshilikni tugmachani burish orqali o'zgartirish o'rniga, siz komponentni egish orqali o'zgarasiz. Qarshilik o'zgarishini aniqlash uchun kuchlanish bo'luvchi. Bizning holatimizda, "poezd kelmoqda" degan xabarni o'qish uchun LCD displeyga (rasmga qarang) o'tayotgan poezdni aniqlash uchun egiluvchan sensor ishlatiladi.
*Flex Sensorni ulash bo'yicha ko'rsatmalarni ko'rsatadigan rasmlarda faqat Flex Sensorni ulashga tegishli simlarga qarang. Servo simlariga e'tibor bermang.
Simli pinlar quyidagicha:
1 -qadam: POWER bo'limidagi Arduino kartasida 1 simni 5V kirishiga va 1 simni GND (erga) kiriting. 5V simining ikkinchi uchini elektron kartadagi musbat (+) kirishga ulang. GND simining ikkinchi uchini elektron kartadagi manfiy (-) kirishga ulang.
2 -qadam: ANALOG IN bo'limidagi Arduino taxtasida A0 kirishini 1 ga ulang. Ushbu simning uchini elektron kartadagi j20 kirishiga ulang.
3 -qadam: DIGITAL I / U bo'limidagi Arduino platasida 1 simni 9 -kirishga ulang. Boshqa uchini a3 kirishiga ulang.
4 -qadam: O'chirish kartasida 1 simni musbat (+) kirishga ulang. Boshqa uchini h24 kirishiga ulang.
5 -qadam: elektron platada 1 ta simni manfiy (+) kirishga ulang. Boshqa uchini a2 kirishiga ulang.
6-qadam: elektron platada 1 ta simni manfiy (-) kirishga ulang. Boshqa uchini b1 kirishiga ulang.
7-qadam: elektron platada 1 ta simni manfiy (-) kirishga ulang. Boshqa uchini i19 kirishiga ulang.
8 -qadam: Elektron platada rezistorni i20 va i24 kirishiga joylashtiring.
*Oxirgi rasm haqiqiy dunyodagi ilovalarga tegishli.
5 -qadam: Arduino -ni LCD -ga ulang
*Bu havolaga o'ting (https://ef.engr.utk.edu/ef230-2017-08/projects/ard…) va LCDni Arduino-ga ulash uchun men quyida ko'rsatgan qadamlarga qarang:
1 -qadam: zip faylini oching
2 -qadam: ReadMe faylini oching va ko'rsatmalarga amal qiling
Kerakli materiallar
1.) SparkFun -dan ushbu qurilmaga o'xshash 16x2 LCD -
2.) o'tish simlari
*O'z navbatida rasmlarga qarang.
Bu qadamda LCD qo'shimcha kutubxonasini yaratish va LCD displeyda "Kelayotgan poezd" ko'rsatilishi ko'rsatiladi.
Simli pinlar quyidagicha:
LCD pin -> Arduino pin
1 (VSS) -> Er
2 (VDD) -> 5V
3 (V0) -> Flex sensoridagi o'rta pin
4 (RS) -> D7
5 (R/V) -> Er
6 (E) -> d6
11 (DB4) - D5 (PWM)
12 (DB5) -> D4
13 (DB6) -> D3 (PWM)
14 (DB7) -> D2
15 (LED+) -> 5 V
16 (LED-) -> Tuproq
6 -qadam: Yumshoq potansiyometrni ulash
Kerakli materiallar
1.) 1 ta LED
2.) 1 yumshoq potentsiometr
3.) Jumper simlari
4.) 3 330 Ohm qarshilik
5.) 10K Ohmli rezistor
*O'z navbatida rasmlarga qarang.
Ushbu sxemada biz boshqa turdagi o'zgaruvchan qarshilik, yumshoq potansiometrdan foydalanamiz. Bu ingichka va egiluvchan chiziq bo'lib, u bosim o'tkaziladigan joyni aniqlay oladi. Ipning turli qismlarini bosib, qarshilikni 100 dan 10 K ohmgacha o'zgartirish mumkin. Siz potentsiometrda yoki tugma sifatida harakatni kuzatish uchun bu qobiliyatdan foydalanishingiz mumkin. Ushbu sxemada biz RGB LEDni boshqarish uchun yumshoq potansiometrni ishga tushiramiz.
1 -qadam: DIGITAL I / U bo'limidagi Arduino platasida 1 pinni 10 -kirishga va 1 -pinni 11 -kirishga ulang. Mos ravishda, bu pinlarning ikkinchi uchini h6 va h7 kirishiga ulang.
2 -qadam: elektron platada LEDni a4, a5, a6 va a7 kirishiga ulang.
3-qadam: Elektron platada 3 430 ohmli rezistorlarni e4-g4, e6-g6 va e7-g7 kirishiga joylashtiring.
4 -qadam: elektron platada 1 pinni e5 kirishiga ulang. Pinning ikkinchi uchini manfiy (-) kirishga ulang.
5-qadam: O'chirish platasida 10K ohmli rezistorni i19-salbiy (-) kirishiga joylashtiring.
6 -qadam: elektron platada 1 pinni j18 ga ulang. Ipning ikkinchi uchini musbat (+) kirishga ulang.
7 -qadam: elektron platada 1 pinni j20 kirishiga ulang. Bu pinning ikkinchi uchini manfiy (-) kirishga ulang.
7 -qadam: O'zingizning yaxshilanishlaringizni aqlli temir yo'l tizimida sinab ko'ring
Bu erda sizning MATLAB kodingiz funktsional bo'lishi kerak va Arduino kartasi barcha qo'shilgan komponentlar bilan to'g'ri ulangan bo'lishi kerak. Buni sertifikatlangan Smart Rail tizimida sinab ko'ring va yaxshilanishlaringiz tizimni xavfsizroq qilishini tekshiring.
Tavsiya:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
OpenLH: Biologiya bilan ijodiy tajriba o'tkazish uchun ochiq suyuqlik bilan ishlash tizimi: 9 qadam (rasmlar bilan)
OpenLH: Biologiya bilan ijodiy eksperimentlar uchun ochiq suyuqlik bilan ishlash tizimi: Biz bu ishni moddiy, ko'milgan va mujassamlangan o'zaro ta'sir xalqaro konferentsiyasida (TEI 2019) taqdim etganimizdan faxrlanamiz. Tempe, Arizona, AQSh | 17-20 mart. Hamma yig'ish fayllari va qo'llanmalar bu erda mavjud. Oxirgi kod versiyasi
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam