جدول المحتويات
مقدمة. الحادي عشر
1. البدء. 1
1.0 مقدمة 1
1.1 تثبيت بيئة التطوير المتكاملة (IDE) 6
1.2 إعداد لوحة Arduino 10
1.3 استخدام بيئة التطوير المتكاملة لإعداد Arduino
1.4 تحميل وتشغيل Blink Sketch 17
1.5 إنشاء رسم تخطيطي وحفظه 19
1.6 مشروع اردوينو أول سهل 22
1.7 استخدام Arduino مع اللوحات غير المدرجة في التوزيع القياسي 27
1.8 باستخدام Arduino 32 بت (أو متوافق) 31
2. برمجة اردوينو. . 35
2.0 مقدمة 35
2.1 رسم نموذجي لاردوينو 36
2.2 استخدام الأنواع الأولية البسيطة (المتغيرات) 38
2.3 استخدام الأعداد العائمة 40
2.4 العمل مع مجموعات القيم 43
2.5 باستخدام وظيفة سلسلة Arduino 48
2.6 استخدام سلاسل أحرف C 53
2.7 تقسيم نص مفصول بفواصل إلى مجموعات 54
2.8 تحويل رقم إلى سلسلة 57
2.9 تحويل سلسلة إلى رقم 59
2.10 هيكلة الكود الخاص بك في كتل وظيفية 62
2.11 إرجاع أكثر من قيمة من دالة 66
2.12 اتخاذ الإجراءات بناءً على الشروط 69
13.2 تكرار تسلسل البيانات 71
2.14 تكرار البيانات مع عداد 73
2.15 كسر الحلقات 76
2.16 اتخاذ مجموعة متنوعة من الإجراءات بناءً على متغير واحد 77
2.17 مقارنة قيم الأحرف والقيم الرقمية 79
2.18 مقارنة السلاسل 82
2.19 إجراء مقارنات منطقية 83
2.20 تنفيذ عمليات Bitwise 84
2.21 الجمع بين العمليات والتخصيص 87
3. العمليات الحسابية. . 89
3.0 مقدمة 89
3.1 الجمع والطرح والضرب والقسمة 89
3.2 القيم المتزايدة والمتناقصة 91
3.3 إيجاد الباقي بعد قسمة قيمتين 92
3.4 تحديد القيمة المطلقة 94
3.5 تقييد رقم على نطاق من القيم 94
3.6 إيجاد الحد الأدنى أو الأقصى لبعض القيم 95
3.7 رفع رقم إلى قوة 97
3.8 أخذ الجذر التربيعي 97
3.9 تقريب الأعداد العائمة لأعلى ولأسفل 98
3.10 باستخدام الدوال المثلثية 99
3.11 توليد أرقام عشوائية 100
3.12 بتات الإعداد والقراءة 103
3.13 تحويل القطع 106
3.14 استخراج البايت العالية والمنخفضة في عدد صحيح أو طويل 107
3.15 تكوين عدد صحيح أو طويل من البايت المرتفعة والمنخفضة 109
4. الاتصالات التسلسلية. 113
4.0 مقدمة 113
4.1 إرسال المعلومات من Arduino إلى جهاز الكمبيوتر الخاص بك 121
4.2 إرسال نص منسق وبيانات رقمية من Arduino 125
4.3 تلقي البيانات التسلسلية في Arduino 129
4.4 إرسال حقول نصية متعددة من Arduino في رسالة واحدة 134
4.5 تلقي حقول نصية متعددة في رسالة واحدة في Arduino 141
4.6 إرسال البيانات الثنائية من Arduino 144
4.7 استلام بيانات ثنائية من Arduino على جهاز كمبيوتر 149
4.8 إرسال القيم الثنائية من المعالجة إلى Arduino 151
4.9 إرسال قيم دبابيس Arduino المتعددة 155
4.10 تسجيل بيانات Arduino في ملف على جهاز الكمبيوتر الخاص بك 159
4.11 إرسال البيانات إلى أكثر من جهاز تسلسلي واحد 162
4.12 استلام البيانات التسلسلية من أكثر من جهاز تسلسلي واحد 167
رابعا | جدول المحتويات
4.13 استخدام Arduino مع Raspberry Pi 172
5. المدخلات الرقمية والتناظرية البسيطة. 177
5.0 مقدمة 177
5.1 استخدام مفتاح 181
5.2 استخدام مفتاح بدون مقاومات خارجية 185
5.3 الاكتشاف الموثوق (Debounce) عند الضغط على مفتاح 188
5.4 تحديد مدة الضغط على المفتاح 191
5.5 قراءة لوحة المفاتيح 196
5.6 قراءة القيم التناظرية 200
5.7 تغيير نطاق القيم 202
5.8 قراءة أكثر من ستة مدخلات تناظرية 205
5.9 قياس الفولتية حتى 5 فولت 208
5.10 الاستجابة للتغيرات في الجهد 211
5.11 قياس الفولتية أكثر من 5 فولت (فواصل الجهد) 213
6. الحصول على المدخلات من أجهزة الاستشعار. 217
6.0 مقدمة 217
6.1 أنت تريد Arduino مزودًا بالعديد من المستشعرات المدمجة 219
6.2 كشف الحركة 223
6.3 كشف الضوء 226
6.4 كشف حركة الأشياء الحية 228
6.5 قياس المسافة 230
6.6 قياس المسافة بدقة 236
6.7 كشف الاهتزاز 239
6.8 كشف الصوت 240
6.9 قياس درجة الحرارة 245
6.10 قراءة علامات RFID (NFC) 249
6.11 تتبع الحركة الدوارة 252
6.12 تتبع الحركة الدورانية في مخطط مشغول مع المقاطعات 255

6.13 استخدام الماوس 258
6.14 الحصول على الموقع من GPS 262
6.15 كشف الدوران باستخدام جيروسكوب 267
6.16 كشف الاتجاه 271
6.17 تسريع القراءة 274
7. الإخراج المرئي. 277
7.0 مقدمة 277
7.1 توصيل واستخدام المصابيح 281
7.2 ضبط سطوع 285 LED
7.3 قيادة المصابيح عالية الطاقة 286
7.4 ضبط لون LED 289
جدول المحتويات | الخامس
7.5 التحكم في الكثير من مصابيح LED الملونة 292
7.6 تسلسل مؤشرات LED المتعددة: إنشاء رسم بياني شريطي 295
7.7 تسلسل المصابيح المتعددة: عمل تسلسل مطاردة 300
7.8 التحكم في مصفوفة LED باستخدام Multiplexing 301
7.9 عرض الصور على مصفوفة LED 305
7.10 التحكم في مصفوفة المصابيح: Charlieplexing 309
7.11 قيادة شاشة LED من 7 أجزاء 315
7.12 شاشة عرض LED متعددة الأرقام ، 7 أجزاء: مضاعفة 318
7.13 شاشة عرض LED متعددة الأرقام ، 7 أجزاء مع أقل عدد من الدبابيس 320
7.14 التحكم في صفيف من المصابيح باستخدام MAX72xx Shift Registers 323
7.15 زيادة عدد المخرجات التناظرية باستخدام PWM Extender Chips 325
7.16 استخدام عداد لوحة تناظري كشاشة 328
8. المخرجات المادية. 331
8.0 مقدمة 331
8.1 التحكم في موضع الدوران باستخدام مؤازر 334
8.2 التحكم في دوران المؤازرة باستخدام مقياس الجهد أو المستشعر 337
8.3 التحكم في سرعة أجهزة الدوران المستمر 339
8.4 التحكم في الماكينات باستخدام أوامر الكمبيوتر 341
8.5 قيادة محرك بدون فرش (باستخدام أداة التحكم في سرعة الهواية) 342
8.6 التحكم في الملفات اللولبية والمرحلات 344
8.7 اهتزاز جسم ما 346
8.8 قيادة محرك ناعم باستخدام ترانزستور 348
8.9 التحكم في اتجاه المحرك المصقول باستخدام H-Bridge 350
8.10 التحكم في اتجاه وسرعة المحرك المصقول باستخدام HBridge
8.11 استخدام المستشعرات للتحكم في اتجاه وسرعة المحركات المصقولة 355
8.12 قيادة محرك خطوي ثنائي القطب 362
8.13 قيادة محرك متدرج ثنائي القطب (باستخدام لوحة EasyDriver) 365
8.14 قيادة محرك متدرج أحادي القطب باستخدام رقاقة السائق ULN2003A 369
9. إخراج الصوت. 373
9.0 مقدمة 373
9.1 نغمات التشغيل 376
9.2 عزف لحن بسيط 379
9.3 توليد أكثر من نغمة واحدة 381
9.4 توليد نغمات صوتية دون التداخل مع PWM 383
9.5 التحكم في MIDI 385
9.6 صنع مُركب صوتي 389
9.7 الحصول على توليف صوتي عالي الجودة 391
سادسا | جدول المحتويات
10. التحكم عن بعد في الأجهزة الخارجية. 395
10.0 مقدمة 395
10.1 الاستجابة لجهاز التحكم عن بعد بالأشعة تحت الحمراء 396
10.2 فك إشارات التحكم عن بعد بالأشعة تحت الحمراء 399
10.3 تقليد إشارات التحكم عن بعد 403
10.4 التحكم في الكاميرا الرقمية 406
10.5 التحكم في أجهزة التيار المتردد عن طريق اختراق مفتاح التحكم عن بعد 408
11. استخدام شاشات العرض. . 413
11.0 مقدمة 413
11.1 توصيل واستخدام شاشة عرض LCD نصية 414
11.2 تنسيق النص 418
11.3 تشغيل المؤشر والعرض أو إيقاف تشغيله 420
11.4 نص متحرك 422
11.5 عرض الرموز الخاصة 425
11.6 إنشاء أحرف مخصصة 428
11.7 عرض رموز أكبر من حرف واحد 430
11.8 عرض وحدات البكسل أصغر من حرف واحد 433
11.9 اختيار شاشة عرض LCD رسومية 435
11.10 التحكم في شاشة LCD بالألوان الكاملة 437
11.11 التحكم في شاشة OLED أحادية اللون 441
12. استخدام الوقت والتواريخ. . 447
12.0 مقدمة 447
12.1 استخدام المللي لتحديد المدة 447
12.2 إنشاء فترات توقف مؤقت في رسمك التخطيطي 449
12.3 قياس مدة النبضة بدقة أكثر 453
12.4 استخدام Arduino كساعة 455
12.5 إنشاء إنذار لاستدعاء الوظيفة بشكل دوري 463
12.6 استخدام ساعة الوقت الحقيقي 466
13. التواصل باستخدام I2C و SPI. 471
13.0 مقدمة 471
13.1 توصيل أجهزة I2C متعددة 477
13.2 توصيل أجهزة SPI متعددة 481
13.3 العمل مع دائرة متكاملة I2C 484
13.4 زيادة الإدخال / الإخراج باستخدام I2C Port Expander 488
13.5 التواصل بين لوحتين أو أكثر من ألواح الأردوينو 492
13.6 استخدام مقياس التسارع Wii Nunchuck 496
14. اتصالات لاسلكية بسيطة. 503
14.0 مقدمة 503
جدول المحتويات | السابع
14.1 إرسال الرسائل باستخدام وحدات لاسلكية منخفضة التكلفة 503
14.2 توصيل Arduino عبر شبكة ZigBee أو 802.15.4 511
14.3 إرسال رسالة إلى XBee معين 519
14.4 إرسال بيانات المستشعر بين XBees 522
14.5 تنشيط مشغل متصل بـ XBee 528
14.6 الاتصال بأجهزة البلوتوث الكلاسيكية 533
14.7 الاتصال بأجهزة Bluetooth منخفضة الطاقة 536
15. WiFi و Ethernet. 541
15.0 مقدمة 541

15.1 التوصيل بشبكة إيثرنت 543
15.2 الحصول على عنوان IP الخاص بك تلقائيًا 548
15.3 إرسال واستقبال الرسائل البسيطة (UDP) 549
15.4 استخدم Arduino مع WiFi 557 المدمج
15.5 الاتصال بشبكة WiFi بوحدات منخفضة التكلفة 560
15.6 استخراج البيانات من استجابة الويب 566
15.7 طلب البيانات من خادم ويب باستخدام XML 571
15.8 إعداد Arduino ليكون خادم ويب 573
15.9 معالجة طلبات الويب الواردة 579
15.10 التعامل مع الطلبات الواردة لصفحات محددة 583
15.11 استخدام HTML لتنسيق استجابات خادم الويب 588
15.12 طلب بيانات الويب باستخدام النماذج (POST) 592
15.13 خدمة صفحات الويب التي تحتوي على كميات كبيرة من البيانات 596
15.14 إرسال رسائل تويتر 604
15.15 تبادل البيانات لإنترنت الأشياء 607
15.16 نشر البيانات على وسيط MQTT 608
15.17 الاشتراك في البيانات على وسيط MQTT 610.0
15.18 الحصول على الوقت من خادم إنترنت خاص بالوقت 612
16. استخدام وتعديل وإنشاء المكتبات. . 619
16.0 مقدمة 619
16.1 استخدام المكتبات المدمجة 619
16.2 تثبيت مكتبات الطرف الثالث 623
16.3 تعديل مكتبة 625
16.4 إنشاء مكتبتك الخاصة 628
16.5 إنشاء مكتبة تستخدم مكتبات أخرى 634
16.6 تحديث مكتبات الطرف الثالث لـ Arduino 1.0 640
17. معالجة الترميز والذاكرة المتقدمة. . 643
17.0 مقدمة 643
17.1 فهم عملية بناء Arduino 645
17.2 تحديد مقدار ذاكرة الوصول العشوائي المجانية والمستخدمة 648
ثامنا | جدول المحتويات
17.3 تخزين واسترجاع القيم الرقمية في ذاكرة البرنامج 651
17.4 تخزين واسترجاع السلاسل في ذاكرة البرنامج 654
17.5 استخدام #define و const بدلاً من الأعداد الصحيحة 656
17.6 استخدام التجميعات الشرطية 657
18. باستخدام جهاز تحكم رقاقة الأجهزة. . 661
18.0 مقدمة 661
18.1 تخزين البيانات في ذاكرة EEPROM الدائمة 666
18.2 اتخاذ الإجراءات تلقائيًا عندما تتغير حالة رقم التعريف الشخصي 669
18.3 أداء الإجراءات الدورية 672
18.4 ضبط عرض النبض والمدة في المؤقت 675
18.5 إنشاء مولد النبض 677
18.6 تغيير تردد PWM للمؤقت 679
18.7 عد البقول 682
18.8 قياس النبضات بدقة أكبر 684
18.9 قياس القيم التناظرية بسرعة 687
18.10 تقليل استنزاف البطارية 689
18.11 ضبط الدبابيس الرقمية بسرعة 691
18.12 تحميل الرسومات باستخدام مبرمج 694
18.13 استبدال محمل الإقلاع Arduino 696
18.14 حرك مؤشر الماوس على جهاز كمبيوتر شخصي أو جهاز Mac 697
أ. المكونات الإلكترونية. 701
ب. استخدام المخططات التخطيطية وأوراق البيانات. . 707
ج- بناء وتوصيل الدائرة. . 713
د. تلميحات حول استكشاف مشكلات البرامج وإصلاحها. 717
هـ. تلميحات حول استكشاف مشكلات الأجهزة وإصلاحها. . 721
F. دبابيس رقمية وتناظرية. 725
G. ASCII ومجموعات الأحرف الموسعة. 729
فهرس. 733

 

 

 

 

رابط التحميل