Arduino Uno

**Arduino Uno** ochiq manbali mikrokontroller platasi boʻlib, Microchip ATmega328P mikrokontrolleriga asoslangan va Arduino.cc tomonidan ishlab chiqilgan va dastlab 2010-yilda chiqarilgan. **Arduino Uno** turli xil kengaytirish platalari (qalqonlari) va boshqa kontaktlarning zanglashiga olib kirishi mumkin boʻlgan raqamli va analog kirish/chiqish (I/O) pinlari bilan jihozlangan. **Arduino Uno** 14 ta raqamli kiritish/chiqarish pinlari (oltitasi PWM chiqishi mumkin), 6 ta analog I/U pinlari mavjud va B tipidagi USB kabeli orqali Arduino IDE (Integrated Development Environment) bilan dasturlashtiriladi. U USB kabeli yoki tashqi 9 voltli akkumulyator bilan quvvatlanishi mumkin, garchi u 7 dan 20 voltgacha kuchlanishni qabul qilsa. Bu Arduino Nano va Leonardo bilan bir xil. Uskuna maʼlumotnomasi dizayni Creative Commons Attribution Share-Alike 2.5 litsenziyasi ostida tarqatiladi va Arduino veb-saytida mavjud. Uskunaning ayrim versiyalari uchun tartib va ishlab chiqarish fayllari ham mavjud.

„“ soʻzi italyancha „bir“ degan maʼnoni anglatadi va Arduino dasturiy taʼminotining dastlabki versiyasini belgilash uchun tanlangan. Uno platasi USBga asoslangan Arduino platalari seriyasining birinchisidir; Arduino UNO va Arduino IDE ning 1.0 versiyasi Arduinoning mos yozuvlar versiyalari edi, ular endi yangiroq versiyalarga aylandi. Bortdagi ATmega328 yuklash moslamasi bilan oldindan dasturlashtirilgan boʻlib, unga tashqi apparat dasturchisidan foydalanmasdan yangi kodni yuklash imkonini beradi.

Uno asl STK500 protokoli yordamida muloqot qilsada, u oldingi barcha platalardan FTDI USB dan seriyali drayver chipidan foydalanmasligi bilan farq qiladi. Buning oʻrniga u USB-seriyali konvertor sifatida dasturlashtirilgan Atmega16U2 (R2 versiyasigacha Atmega8U2) dan foydalanadi.

## Tarix

Arduino loyihasi Italiyaning Ivrea shahridagi Ivrea Interaction Design Institute (IDII) da boshlandi. Oʻsha paytda talabalar BASIC Stamp mikrokontrolleridan foydalanganlar, bu esa koʻplab talabalar uchun katta xarajat edi. 2003-yilda Hernando Barragan IDIIda magistrlik dissertatsiyasi loyihasi sifatida *[[Simlarni ulash (ishlab chiqish platformasi)|Wiring]]* ishlab chiqish platformasini yaratdi, ular qayta ishlash tili boʻyicha ish bilan mashhur Massimo Banzi va Keysi Reas rahbar edi. Loyihaning maqsadi muhandis boʻlmaganlar tomonidan raqamli loyihalarni yaratish uchun oddiy, arzon vositalarni yaratish edi. Wiring platformasi ATmega 168 mikrokontrolleriga ega bosilgan elektron platadan (PCB), qayta ishlashga asoslangan IDE va mikrokontrollerni oson dasturlash uchun kutubxona funktsiyalaridan iborat edi. 2003-yilda Massimo Banzi yana bir IDII talabasi Devid Mellis va Devid Kuartielles bilan Wiring-ga arzonroq ATmega8 mikrokontrollerini qoʻllab-quvvatladi. Ammo Wiring boʻyicha ishni davom ettirish oʻrniga, ular loyihani *ajratib, Arduino* nomini oʻzgartirdilar. Ilk arduino platalarida FTDI USB-dan seriyali drayver chipi va ATmega 168 ishlatilgan. Uno oldingi barcha platalardan ATmega328P mikrokontrolleri va USB-dan seriyali konvertor sifatida dasturlashtirilgan ATmega16U2 (Atmega8U2 dan R2 versiyasigacha) bilan ajralib turardi.

## Texnik spetsifikatsiyalar

* Mikrokontroller : Microchip ATmega328P
* Ishlash kuchlanishi: 5 volt
* Kirish kuchlanishi: 7 dan 20 voltgacha
* Raqamli kiritish/chiqarish pinlari: 14
* PWM pinlari: 6 (pin № 3, 5, 6, 9, 10 va 11)
* UART: 1
* I2C: 1
* SPI: 1
* Analog kirish pinlari: 6
* Kirish/chiqish pinidagi doimiy oqim: 20 mA
* 3.3V pin uchun doimiy oqim: 50 mA
* Flash xotira : 32 KB, shundan 0,5 KB yuklovchi tomonidan ishlatiladi
* SRAM : 2 KB
* EEPROM : 1 KB
* Soat tezligi: 16&nbsp;MGts
* Uzunligi: 68.6&nbsp;mm
* Kengligi: 53.4&nbsp;mm
* Ogʻirligi: 25 g
* ICSP sarlavhasi: Ha
* Quvvat manbalari: DC quvvat ulagichi, USB port va VIN pin (faqat +5 volt)

## Sarlavhalar

### Umumiy pin funktsiyalari

* **LED** : Raqamli pin 13 tomonidan boshqariladigan oʻrnatilgan LED mavjud. PIN qiymati yuqori boʻlsa, LED yonadi, pin past boʻlsa, u oʻchadi.
* **VIN** : Arduino/Genuino platasi tashqi quvvat manbaidan foydalanilganda kirish kuchlanishi (USB ulanishi yoki boshqa tartibga solinadigan quvvat manbasidan 5 voltdan farqli oʻlaroq). Siz ushbu pin orqali kuchlanishni taʼminlashingiz mumkin, yoki quvvat ulagichi orqali kuchlanishni taʼminlasangiz, unga ushbu pin orqali kiring.
* **5V** : Bu pin platadagi regulyatordan regulyatorli 5V chiqaradi. Kengash toʻgʻridan-toʻgʻri quvvat ulagichidan (7 – 20 V), USB ulagichidan (5 V) yoki plataning VIN pinidan (7-20 V) quvvat bilan taʼminlanishi mumkin. 5V yoki 3.3V pinlar orqali kuchlanishni etkazib berish regulyatorni chetlab oʻtadi va plataga zarar etkazishi mumkin.
* **3V3** : Bort regulyatori tomonidan ishlab chiqarilgan 3,3 voltli quvvat manbai. Maksimal oqim 50 mA ni tashkil qiladi.
* **GND** : Tuproq pinlari.
* **IOREF** : Arduino/Genuino platasidagi ushbu pin mikrokontroller ishlaydigan kuchlanish maʼlumotnomasini beradi. Toʻgʻri sozlangan ekran IOREF pin kuchlanishini oʻqishi va tegishli quvvat manbasini tanlashi yoki chiqishlardagi kuchlanish translyatorlarini 5V yoki 3.3V bilan ishlashga imkon berishi mumkin.
* Qayta **oʻrnatish** : Odatda platadagini bloklaydigan qalqonlarga qayta oʻrnatish tugmasi qoʻshish uchun ishlatiladi.

### Maxsus pin funktsiyalari
Uno-dagi 14 raqamli pin va 6 analog pinning har biri dasturiy taʼminot nazorati ostida (pinMode(), digitalWrite() va digitalRead() funksiyalari yordamida) kirish yoki chiqish sifatida ishlatilishi mumkin. Ular 5 voltda ishlaydi. Har bir pin tavsiya etilgan ish sharoiti sifatida 20 mA ni taʼminlashi yoki qabul qilishi mumkin va 20-50K ohm ichki tortishish qarshiligiga (sukut boʻyicha uzilgan) ega. Mikrokontrollerga doimiy shikast yetkazmaslik uchun har qanday kirish/chiqarish pinida maksimal 40mA dan oshmasligi kerak. Uno A0 dan A5 gacha etiketlangan 6 ta analog kirishga ega; har biri 10 bit ruxsatni (yaʼni 1024 xil qiymat) taʼminlaydi. Odatiy boʻlib, ular yerdan 5 voltgacha oʻlchanadi, ammo AREF pin va analogReference() funksiyasi yordamida diapazonning yuqori uchini oʻzgartirish mumkin.

Bundan tashqari, baʼzi pinlar maxsus funktsiyalarga ega:

* **Seriya** / UART: pinlar 0 (RX) va 1 (TX). TTL seriyali maʼlumotlarini qabul qilish (RX) va uzatish (TX) uchun ishlatiladi. Ushbu pinlar ATmega8U2 USB-to-TTL seriyali chipining mos keladigan pinlariga ulangan.
* **Tashqi uzilishlar**: 2 va 3-pinlar. Ushbu pinlar past qiymatda uzilishni, koʻtarilish yoki pasayish yoki qiymat oʻzgarishini ishga tushirish uchun sozlanishi mumkin.
* **PWM** (impuls kengligi modulyatsiyasi): pinlar 3, 5, 6, 9, 10 va 11. AnalogWrite() funksiyasi bilan 8-bitli PWM chiqishini taʼminlay oladi.
* **SPI** (seriyali periferik interfeys): pinlar 10 (SS), 11 (MOSI), 12 (MISO) va 13 (SCK). Ushbu pinlar SPI kutubxonasidan foydalangan holda SPI aloqasini qoʻllab-quvvatlaydi.
* **TWI** (ikki simli interfeys) / I²C : pin SDA (A4) va pin SCL (A5). Wire kutubxonasi yordamida TWI aloqasini qoʻllab-quvvatlang.
* **AREF** (analog mos yozuvlar): Analog kirishlar uchun mos kuchlanish.

## Aloqa
Arduino/Genuino Uno kompyuter, boshqa Arduino/Genuino platasi yoki boshqa mikrokontrollerlar bilan aloqa qilish uchun bir qator imkoniyatlarga ega. ATmega328 0 (RX) va 1 (TX) raqamli pinlarida mavjud boʻlgan UART TTL (5V) seriyali aloqani taʼminlaydi. Bortdagi ATmega16U2 ushbu ketma-ket aloqani USB orqali uzatadi va kompyuterdagi dasturiy taʼminotga virtual aloqa porti sifatida koʻrinadi. 16U2 proshivka standart USB COM drayverlaridan foydalanadi va tashqi drayverga ehtiyoj yoʻq. Biroq, Windows-da .inf fayli talab qilinadi. Arduino dasturiy taʼminoti (IDE) oddiy matnli maʼlumotlarni doskaga va undan yuborish imkonini beruvchi ketma-ket monitorni oʻz ichiga oladi. Maʼlumotlar USB-seriyali chip va kompyuterga USB ulanishi orqali uzatilayotganda platadagi RX va TX LEDlari yonib-oʻchib turadi (lekin 0 va 1 pinlarida ketma-ket aloqa uchun emas). SoftwareSerial kutubxonasi Uno ning istalgan raqamli pinlarida ketma-ket ulanish imkonini beradi.

### Avtomatik (dasturiy taʼminot) tiklash
Arduino/Genuino Uno platasi yuklashdan oldin tiklash tugmachasini jismoniy bosishni talab qilish oʻrniga, ulangan kompyuterda ishlaydigan dasturiy taʼminot orqali uni qayta oʻrnatishga imkon beradigan tarzda ishlab chiqilgan. ATmega8U2/16U2 ning apparat oqimini boshqarish liniyalaridan biri (DTR) 100 nanofaradli kondansatör orqali ATmega328 ning qayta oʻrnatish liniyasiga ulangan. Bu chiziq tasdiqlansa (past olingan), qayta oʻrnatish chizigʻi chipni qayta oʻrnatish uchun etarlicha uzoqqa tushadi.

Ushbu sozlash boshqa taʼsirlarga ega. Uno Mac OS X yoki Linux operatsion tizimida ishlaydigan kompyuterga ulanganda, har safar unga dasturiy taʼminotdan (USB orqali) ulanish oʻrnatilganda u qayta tiklanadi. Keyingi yarim soniya yoki undan koʻproq vaqt davomida yuklash moslamasi Unoʻda ishlaydi. U notoʻgʻri shakllangan maʼlumotlarni (yaʼni, yangi kodni yuklashdan tashqari) eʼtiborsiz qoldirish uchun dasturlashtirilgan boʻlsa-da, ulanish ochilgandan soʻng plataga yuborilgan maʼlumotlarning dastlabki bir necha baytlarini ushlab oladi.

## Yana qarang

* AVR mikrokontrollerlari
* Atmel AVR koʻrsatmalar toʻplami
* Tizim ichidagi dasturlash

## Manbalar
**Atribut:**

 This article incorporates text available under the CC BY-SA 3.0 license.

## Havolalar

* 
** Uno Rev3 Schematic
* Board comparisons:
** Differences Between Official Arduino Uno Board Revisions (R1/R2/R3)
** Comparison of Various Arduino Boards
* Arduino Software Cheat Sheet

; Pinout diagrammalar

* Arduino Uno kengashi
* ATmega328 DIP
* ATmega328 SMD