Arduino - bu virtuallikdan tashqariga chiqmaydigan standart shaxsiy kompyuterlarga qaraganda, atrofdagi jismoniy muhit bilan yaqinroq aloqada bo'lgan elektron qurilmalarni (elektron dizayner) loyihalash uchun vositadir. Bu dasturiy ta'minotni yozish uchun zamonaviy muhitga ega oddiy bosilgan elektron platada qurilgan ochiq kodli "jismoniy hisoblash" platformasi.
Ne ushın
Arduino unga ulanishi mumkin bo'lgan turli xil raqamli va analog sensorlardan signallarni qabul qilish va turli aktuatorlarni boshqarish qobiliyatiga ega elektron qurilmalarni yaratish uchun ishlatiladi. Arduino-ga asoslangan qurilma dizaynlari mustaqil ravishda ishlashi yoki kompyuterdagi dasturiy ta'minot bilan o'zaro ta'sir qilishi mumkin. Plitalar foydalanuvchi tomonidan mustaqil ravishda yig'ilishi yoki to'plam sifatida sotib olinishi mumkin. Ochiq manbali ishlab chiqish muhiti bepul yuklab olish mumkin.
Arduino dasturlash tili Processing multimedia dasturlash muhitiga asoslangan shunga o'xshash "jismoniy hisoblash" platformasi bo'lgan Wiring dasturini amalga oshirishdir.
Processing - Java kodini yaratish, o'zgartirish, kompilyatsiya qilish va ishga tushirish imkonini beruvchi dasturiy ta'minot. Bu MIT Media Lab tomonidan yaratilgan ochiq kodli Java-ga o'xshash dasturlash tili va shu bilan birga ishlab chiqish muhitidir.Qayta ishlash sizga vizual interaktiv foydalanuvchi interfeyslarini juda tez yaratish imkonini beradi.
Shaxsiy kompyuter - bu inson-kompyuter-kompyuter-inson tizimidagi aloqani o'rganishga yondashuv bo'lib, u odamlarning jismoniy o'zini namoyon qilish usullarini tushunishga urinishga asoslangan.
Arduino mikrokontrollerlar bilan ishlash jarayonini soddalashtiradi va boshqa qurilmalarga nisbatan bir qator afzalliklarga ega:
Arduino platalari boshqa platformalarga nisbatan nisbatan arzon. Arduino modulining eng arzon versiyasini qo'lda qurish mumkin, ba'zi tayyor modullar esa 10 dollardan kamroq turadi.
Kross-platforma - Arduino dasturi Windows, Macintosh OSX va Linuxda ishlaydi. Aksariyat mikrokontrollerlar Windows operatsion tizimi bilan cheklangan.
Oddiy va tushunarli dasturlash muhiti - Arduino muhiti yangi boshlanuvchilar uchun ham, tajribali foydalanuvchilar uchun ham mos keladi. Arduino Processing dasturlash muhitiga asoslangan.
Kengaytiriladigan va ochiq kodli dasturiy ta'minot - Arduino dasturi ilg'or foydalanuvchilar tomonidan kengaytirilishi mumkin bo'lgan vosita sifatida chiqariladi. Til C++ kutubxonalari bilan to'ldirilishi mumkin. Texnik jihatlarni tushunmoqchi bo'lgan foydalanuvchilar C++ asosidagi AVR C tiliga o'tish imkoniyatiga ega. Shunga ko'ra, Arduino dasturiga AVR-C muhitidan kod qo'shish mumkin.
Ochiq elektronli kengaytiriladigan apparat - ATMEGA8 va ATMEGA168 mikrokontrollerlari Arduino ning asosidir. Modul sxemalari Creative Commons litsenziyasi ostida chiqariladi, ya'ni tajribali muhandislar modullarning o'z versiyalarini yaratish, ularni kengaytirish va to'ldirish imkoniyatiga ega. Hatto oddiy foydalanuvchilar ham xarajatlarni tejash va tushunish uchun prototiplarni ishlab chiqishlari mumkin.
Arduino Uno boshqaruvchisi ATmega328-ga asoslangan. Platformada 14 ta raqamli kiritish/chiqish (ulardan 6 tasi PWM chiqishi sifatida ishlatilishi mumkin), 6 ta analog kirish, 16 MGts kristalli osilator, USB ulagichi, quvvat ulagichi, ICSP ulagichi va tiklash tugmasi mavjud. Ishlash uchun siz platformani USB kabeli orqali kompyuterga ulashingiz yoki AC/DC adapteri yoki batareyadan foydalanib quvvatni ta'minlashingiz kerak.
USB aloqasi uchun FTDI USB mikrokontrolleridan foydalangan barcha oldingi platalardan farqli o'laroq, yangi Arduino Uno ATmega8U2 mikrokontrolleridan foydalanadi.
"Uno" italyan tilidan tarjima qilingan va shu bilan ishlab chiquvchilar Arduino 1.0 ning yaqinlashib kelayotgan versiyasiga ishora qiladilar. Yangi plata Arduino platalari liniyasining flagmani bo'ldi. Oldingi versiyalar bilan taqqoslash uchun Arduino platalarining to'liq ro'yxatiga murojaat qilishingiz mumkin.
Arduino Uno USB ulanishi yoki tashqi quvvat manbai orqali quvvatlanishi mumkin. Quvvat manbai avtomatik ravishda tanlanadi.
Tashqi quvvat (USB emas) AC/DC kuchlanish konvertori (quvvat manbai) yoki qayta zaryadlanuvchi batareya orqali ta'minlanishi mumkin. Voltaj konvertori musbat markaziy qutbli 2,1 mm vilka orqali ulanadi. Batareyadan simlar quvvat ulagichining Gnd va Vin pinlariga ulangan.
Platforma 6V dan 20V gacha bo'lgan tashqi quvvat manbai bilan ishlashi mumkin. Besleme zo'riqishida 7V dan past bo'lsa, 5V pin 5V dan kam chiqishi mumkin va platforma beqaror bo'lishi mumkin. 12V dan yuqori kuchlanishlardan foydalanilganda, kuchlanish regulyatori haddan tashqari qizib ketishi va taxtaga zarar etkazishi mumkin. Tavsiya etilgan diapazon 7V dan 12V gacha.
Quvvat pinlari:
VIN. Kirish tashqi manbadan quvvatni ta'minlash uchun ishlatiladi (USB ulagichidan yoki boshqa tartibga solinadigan quvvat manbasidan 5 V bo'lmaganda). Besleme kuchlanishi ushbu pin orqali beriladi.
5V. Mikrokontroller va platadagi komponentlarni quvvatlantirish uchun ishlatiladigan regulyatsiya qilingan kuchlanish manbai. Quvvat VIN pinidan kuchlanish regulyatori orqali yoki USB ulagichi yoki boshqa tartibga solinadigan 5V ta'minotdan ta'minlanishi mumkin.
3v3. Chiqishdagi kuchlanish bortda o'rnatilgan regulyator tomonidan ishlab chiqarilgan 3,3 V ni tashkil qiladi. Maksimal oqim iste'moli 50 mA.
GND. Topraklama terminallari.
Uno-ning 14 ta raqamli pinlarining har biri pinMode(), digitalWrite() va digitalRead() funksiyalari yordamida kirish yoki chiqish sifatida sozlanishi mumkin. Pinlar 5V da ishlaydi.Har bir pinda 20-50kŌ gacha tortuvchi qarshilik (sukut bo'yicha o'chirilgan) mavjud va 40mA gacha ko'tara oladi. Ba'zi pinlar maxsus funktsiyalarga ega:
Seriyali avtobus: 0 (RX) va 1 (TX). Pinlar TTL ma'lumotlarini qabul qilish (RX) va uzatish (TX) uchun ishlatiladi. Ushbu pinlar ATmega8U2 USB-to-TTL seriyali avtobus chipining mos keladigan pinlariga ulangan.
Tashqi uzilish: 2 va 3. Ushbu pinlar past qiymatda, ko'tarilgan yoki pasaygan chekkada yoki qiymat o'zgarishida uzilishni ishga tushirish uchun sozlanishi mumkin. Tafsilotlar uchun attachInterrupt() funksiyasining tavsifiga qarang.
PWM: 3, 5, 6, 9, 10 va 11. Ikkala pin ham analogWrite() funksiyasidan foydalangan holda 8-bitli PWMni taʼminlaydi.
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ushbu pinlar orqali SPI aloqasi amalga oshiriladi, buning uchun SPI kutubxonasi ishlatiladi.
LED: 13. Raqamli pinga ulangan o'rnatilgan LED 13. Pimdagi qiymat yuqori bo'lsa, LED yonadi.
Uno platformasi 6 ta analog kirishga ega (A0 .. A5 deb belgilangan), har biri 10 bit ruxsatga ega (ya'ni 1024 xil qiymatni qabul qilishi mumkin). Odatiy bo'lib, pinlar erga nisbatan 5 V gacha bo'lgan o'lchov diapazoniga ega, ammo AREF pin va analogReference() funksiyasi yordamida yuqori chegarani o'zgartirish mumkin. Ba'zi pinlar qo'shimcha funktsiyalarga ega:
I2C: 4 (SDA) va 5 (SCL). Chiqishlar orqali I2C (TWI) aloqasi amalga oshiriladi, uni yaratish uchun Wire kutubxonasi ishlatiladi.
Platforma pinlarining qo'shimcha juftligi:
AREF. Analog kirishlar uchun mos yozuvlar kuchlanishi. AnalogReference() funksiyasi bilan foydalaniladi.
qayta o'rnatish. Chiqishdagi past signal darajasi mikrokontrollerni qayta o'rnatadi. Odatda Arduino platasining o'zida tugmachaga kirishni bloklaydigan kengaytiruvchi platadagi qayta o'rnatish tugmachasini ulash uchun ishlatiladi.
Arduino Uno platformasida kompyuter, boshqa Arduino qurilmalari yoki mikrokontrollerlar bilan bog'lanish uchun bir nechta qurilmalar o'rnatilgan. ATmega328 0 (RX) va 1 (TX) pinlari tomonidan amalga oshirilgan UART TTL (5V) seriyali interfeysni qo'llab-quvvatlaydi. Bortga o'rnatilgan ATmega8U2 chipi ushbu interfeysni USB orqali boshqaradi, kompyuter tomonidagi dasturlar virtual MAQOMOTI porti orqali plata bilan "muloqot qiladi". ATmega8U2 proshivka standart USB COM drayverlaridan foydalanadi, uchinchi tomon drayverlari talab qilinmaydi, lekin Windows tizimida ulanish uchun ArduinoUNO.inf fayli kerak bo'ladi. Arduino Serial Monitor platformaga ulanganda matnli ma’lumotlarni yuborish va qabul qilish imkonini beradi. Platformadagi RX va TX LEDlari ma'lumotlar FTDI chipi yoki USB ulanishi orqali uzatilayotganda yonib-o'chib turadi (lekin 0 va 1 pinlarida ketma-ket aloqadan foydalanilganda emas).
SoftwareSerial kutubxonasi yordamida Uno-ning istalgan raqamli pinlari orqali ketma-ket ma'lumotlar uzatishni yaratish mumkin.
ATmega328 I2C (TWI) va SPI interfeyslarini qo'llab-quvvatlaydi. Arduino I2C avtobusidan qulay foydalanish uchun Wire kutubxonasini o'z ichiga oladi.
Arduino ning Uno turi texnik ko'rsatkichlari:
Mikrokontroller: ATmega328;
Ishlash kuchlanishi: 5 V;
Kirish kuchlanishi(tavsiya etilgani): 7-12 V;
Kirish kuchlanishi(eng yuqori): 6-20 V;
Raqamli kirish/chiqish: 14 ta(ulardan 6tasi KIM(Широтно-Импульсная модуляция)
sifatida foydalanish mumkin);
Analog kirish: 6 ta;
Kirish/chiqish orqali o'zgarmas tok: 40 mA;
3.3 V kiritish uchun o'zgarmas tok: 50 mA;
Flesh xotira: 32 KB(ATmega328) undan 0.5 KB yuklovchi sifatida foydalaniladi;
Tezkor xotira: 2 KB(ATmega328);
EEPROM: 1 KB(ATmega328);
Chastota: 16 MGs;
Xullas, Arduino bu dasturchilar va robototexniklar o'yinchog'i emas dasyori, yordamchisi!