# آردوينو أونو

آردوينو أونو لوحة تحكم دقيقة مفتوحة المصدر تعتمد على وحدة التحكم الدقيقة Microchip ATmega328P وتم تطويرها بواسطة Arduino.cc. تم تجهيز اللوحة بمجموعات من دبابيس الإدخال/الإخراج الرقمية والتناظرية (I/O) التي يمكن توصيلها بألواح التمدد المختلفة (الدروع) والدوائر الأخرى. تحتوي اللوحة على 14 منفذ إدخال/إخراج رقمي (ستة منها قادرة على إخراج PWM)، و 6 منافذ إدخال/ إخراج تناظرية، وهي قابلة للبرمجة باستخدام Arduino IDE (بيئة التطوير المتكاملة)، عبر كبل USB من النوع B. يمكن تشغيله عن طريق كبل USB أو بواسطة بطارية خارجية 9 فولت، على الرغم من أنه يقبل الفولتية بين 7 و 20 فولت. إنه مشابه لـ Arduino Nano و Leonardo. يتم توزيع التصميم المرجعي للأجهزة بموجب ترخيص Creative Commons Attribution Share-Alike 2.5 وهو متاح على موقع Arduino الإلكتروني. تتوفر أيضًا ملفات التخطيط والإنتاج لبعض إصدارات الأجهزة.
كلمة "uno" تعني «واحد» باللغة الإيطالية وتم اختيارها لتمييز الإصدار الأولي لبرنامج Arduino. لوحة Uno هي الأولى في سلسلة لوحات Arduino التي تعتمد على USB؛ كانت النسخة 1.0 من Arduino IDE هي الإصدارات المرجعية من Arduino، والتي تطورت الآن إلى إصدارات أحدث. يأتي ATmega328 على اللوحة مبرمجًا مسبقًا مع محمل إقلاع يسمح بتحميل رمز جديد إليه دون استخدام مبرمج أجهزة خارجي.
بينما يتواصل Uno باستخدام بروتوكول STK500 الأصلي، فإنه يختلف عن جميع اللوحات السابقة من حيث أنه لا يستخدم شريحة برنامج التشغيل FTDI USB-to-serial. بدلاً من ذلك، يستخدم Atmega16U2 (Atmega8U2 حتى الإصدار R2) المبرمج كمحول USB إلى تسلسلي.

## تاريخ

بدأ مشروع Arduino في معهد التصميم التفاعلي Ivrea (IDII) في إيفريا، إيطاليا. في ذلك الوقت، استخدم الطلاب متحكم BASIC Stamp ، بتكلفة كانت تكلفة كبيرة للعديد من الطلاب. في عام 2003، أنشأ Hernando Barragán منصة التطوير Wiring كمشروع أطروحة ماجستير في IDII، تحت إشراف Massimo Banzi و Casey Reas، المعروفين بالعمل على لغة المعالجة. كان هدف المشروع هو إنشاء أدوات بسيطة ومنخفضة التكلفة لإنشاء مشاريع رقمية من قبل غير المهندسين. تتكون منصة الأسلاك من لوحة دوائر مطبوعة (PCB) مع متحكم ATmega 168، و IDE يعتمد على المعالجة، ووظائف المكتبة لبرمجة وحدة التحكم الدقيقة بسهولة. في عام 2003، أضاف ماسيمو بانزي، مع ديفيد ميليس، طالب آخر في IDII، وديفيد كوارتيليس، دعمًا لوحدة التحكم الدقيقة ATmega8 الأرخص إلى Wiring. ولكن بدلاً من مواصلة العمل على Wiring، قاموا بتقسيم المشروع وأعادوا تسميته Arduino. استخدمت لوحات اردوينو المبكرة شريحة برنامج التشغيل FTDI USB-to-serial driver وATmega 168. اختلف Uno عن جميع اللوحات السابقة من خلال عرض متحكم ATmega328P وجهاز ATmega16U2 (Atmega8U2 حتى الإصدار R2) مبرمج كمحول USB إلى تسلسلي.

## المواصفات الفنية

* متحكم دقيق: Microchip ATmega328P
* جهد التشغيل: 5 فولت
* جهد الإدخال: من 7 إلى 20 فولت
* منافذ الإدخال/الإخراج الرقمية: 14 (منها 6 يمكن أن توفر إخراج PWM)
* UART: 1
* I2C: 1
* SPPI: 1
* منافذ الإدخال التناظرية: 6
* تيار DC لكل I/O Pin: 20 مللي أمبير
* منفذ تيار مستمر ل 3.3 فولت: 50 مللي أمبير
* ذاكرة فلاش: 32 كيلو بايت منها 0.5 كيلو بايت يستخدمها برنامج bootloader
* SRAM : 2 كيلو بايت
* إيبروم: 1 كيلو بايت
* سرعة الساعة: 16 ميغا هيرتز
* الطول: 68.6 مم
* العرض: 53.4 مم
* الوزن: 25 جرام

## الرؤوس
### وظائف المنافذ العامة

* LED: يوجد مصباح LED مدمج يتم تشغيله بواسطة دبوس رقمي 13. عندما يكون الدبوس ذو قيمة عالية، يكون مؤشر LED قيد التشغيل، وعندما يكون الدبوس منخفضًا، يكون مغلقًا.
* VIN: جهد الإدخال للوحة Arduino/Genuino عند استخدام مصدر طاقة خارجي (على عكس 5 فولت من اتصال USB أو مصدر طاقة منظم آخر). يمكنك إمداد الجهد من خلال هذا المنفذ، أو في حالة توفير الجهد عبر مقبس الطاقة، يمكنك الوصول إليه من خلال هذا المنفذ.
* 5 فولت: يخرج هذا المنفذ 5 فولت منظم من المنظم الموجود على اللوحة. يمكن تزويد اللوحة بالطاقة إما من مقبس طاقة التيار المستمر (7 - 20 فولت)، أو موصل USB (5 فولت)، أو منفذ VIN باللوحة (7-20 فولت). إن إمداد الجهد عبر منافذ 5V أو 3.3V يتجاوز المنظم، ويمكن أن يتلف اللوحة.
* 3V3: مصدر 3.3 فولت يولده منظم على متن الطائرة. الحد الأقصى للسحب الحالي هو 50 مللي أمبير.
* GND: منافذ مؤرضة.
* IOREF: يوفر هذا المنفذ الموجود على لوحة Arduino/Genuino مرجع الجهد الذي يعمل به المتحكم الدقيق. يمكن للدرع الذي تم تكوينه بشكل صحيح قراءة جهد منفذ IOREF وتحديد مصدر الطاقة المناسب، أو تمكين مترجمي الجهد على المخرجات للعمل مع 5V أو 3.3V.
* Reset: تُستخدم عادةً لإضافة زر إعادة الضبط للدروع التي تحجب الزر الموجود على اللوحة.

### وظائف المنافذ الخاصة

يمكن استخدام كل من المنافذ 14 الرقمية و 6 منافذ التناظرية على Uno كإدخال أو إخراج، تحت تحكم البرنامج (باستخدام دوال pinMode و digitalWrite و digitalRead). تعمل بجهد 5 فولت. يمكن أن يوفر كل منفذ 20 مللي أمبير أو يستقبلها كشرط تشغيل موصى به وله مقاوم سحب داخلي (مفصول افتراضيًا) من 20-50 كيلو أوم. يجب عدم تجاوز 40 مللي أمبير كحد أقصى في أي منفذ إدخال/إخراج لتجنب حدوث تلف دائم في وحدة التحكم الدقيقة. يحتوي Uno على 6 مدخلات تماثلية، تسمى A0 إلى A5؛ يوفر كل منها 10 بتات من الدقة (أي 1024 قيمة مختلفة). بشكل افتراضي، يقيسون من الأرض إلى 5 فولت، على الرغم من أنه من الممكن تغيير الطرف العلوي من النطاق باستخدام دبوس AREF والدالة analogReference.
بالإضافة إلى ذلك، فإن بعض المنافذ لها وظائف متخصصة:
* Serial / UART: المنافذ 0 (RX) و 1 (TX). يستخدم لتلقي (RX) ونقل (TX) بيانات TTL التسلسلية. هذه المسامير متصلة بالمسامير المقابلة لشريحة ATmega8U2 USB-to-TTL التسلسلية.
* External interrupts: منافذ 2 و 3. يمكن تكوين هذه المنافذ لإطلاق مقاطعة عند قيمة منخفضة، أو حافة مرتفعة أو منخفضة، أو تغيير في القيمة.
* PWM (تعديل عرض النبضة): المنافذ 3 و 5 و 6 و 9 و 10 و 11. يمكن أن توفر إخراج PWM 8 بت مع دالة analogWrite.
* SPI (الواجهة المحيطية التسلسلية): المنافذ 10 (SS) و 11 (MOSI) و 12 (MISO) و 13 (SCK). تدعم هذه المنافذ اتصال SPI باستخدام مكتبة SPI.
* TWI (واجهة بسلكين) / I²C: pin SDA (A4) و pin SCL (A5). ادعم اتصالات TWI باستخدام مكتبة Wire.
* AREF (مرجع تناظري): الجهد المرجعي للمدخلات التناظرية.

## الاتصالات

يحتوي Arduino/Genuino Uno على عدد من التسهيلات للتواصل مع جهاز كمبيوتر أو لوحة Arduino/Genuino أخرى أو وحدات تحكم دقيقة أخرى. يوفر ATmega328 اتصال تسلسلي UART TTL (5V)، والذي يتوفر على المسامير الرقمية 0 (RX) و 1 (TX). يقوم ATmega16U2 الموجود على اللوحة بتوجيه هذا الاتصال التسلسلي عبر USB ويظهر كمنفذ com افتراضي للبرنامج الموجود على الكمبيوتر. يستخدم البرنامج الثابت 16U2 برامج تشغيل USB COM القياسية، ولا يلزم وجود برنامج تشغيل خارجي. ومع ذلك، في Windows، مطلوب ملف.inf. يتضمن برنامج Arduino (IDE) شاشة تسلسلية تسمح بإرسال بيانات نصية بسيطة من وإلى اللوحة. ستومض مؤشرات LED RX و TX الموجودة على اللوحة عند نقل البيانات عبر شريحة USB إلى تسلسلية واتصال USB بالكمبيوتر (ولكن ليس للاتصال التسلسلي على المنافذ 0 و 1). تسمح مكتبة SoftwareSerial بالاتصال التسلسلي على أي من منافذ Uno الرقمية.

### إعادة الضبط التلقائي (البرنامج)

بدلاً من طلب الضغط الفعلي على زر إعادة الضبط قبل التحميل، تم تصميم لوحة Arduino/Genuino Uno بطريقة تسمح بإعادة ضبطها بواسطة برنامج يعمل على جهاز كمبيوتر متصل. يتم توصيل أحد خطوط التحكم في تدفق الأجهزة (DTR) في ATmega8U2/16U2 بخط إعادة تعيين ATmega328 عبر مكثف 100 نانوفاراد. عندما يتم التأكيد على هذا الخط (منخفضًا)، يسقط خط إعادة الضبط لفترة كافية لإعادة ضبط الشريحة.
هذا الإعداد له آثار أخرى. عند توصيل Uno بجهاز كمبيوتر يعمل بنظام التشغيل Mac OS X أو Linux، يتم إعادة تعيينه في كل مرة يتم فيها الاتصال به من برنامج (عبر USB). لمدة نصف ثانية أو نحو ذلك، يتم تشغيل أداة تحميل التشغيل على Uno. بينما تمت برمجته لتجاهل البيانات المشوهة (أي أي شيء بخلاف تحميل رمز جديد)، فإنه سيعترض البايتات القليلة الأولى من البيانات المرسلة إلى اللوحة بعد فتح الاتصال.