اصنع بنفسك اردوينو متعدد اﻷنوية مع مضاعفة مخارج التحكم

 

اردوينو اونو Arduino Uno

https://i2.wp.com/arduino.cc/en/uploads/Main/ArduinoUno_R3_Front_450px.jpg?resize=270%2C187

تعتبر اشهر لوحات اردوينو و أقلها سعراً و كذلك اﻷكثر انتشارا بين الهواة و تعتمد على شريحة ATmega 328-pu

توفر هذه الشريحة  14 (مدخل | مخرج) للتحكم الرقمي و 6 مداخل للجهد التماثلي و هي اعداد كافية جدا من المداخل و المخارج للمشاريع اﻷولية و حتى المتقدمة, لكن ماذا عن المشاريع التي تحتوى على عدة محركات مثل أنظمة الروبوت و المشاريع التي تحتاج إلي عدد مخارج اكبر

ستكون اﻹجابة اﻷشهر هى استخدام لوحة اردوينو ميجا Arduino Mega لاحتواها اربعة اضعاف عدد المخارج و مداخل التحكم

https://i1.wp.com/arduino.cc/en/uploads/Main/ArduinoMega.jpg?resize=360%2C187

بالطبع اردوينو ميجا لوحة رائعة لكن سعرها كذلك يصل إلي 3 اضعاف سعر اردوينو اونو

الحل .. استخدام تقنية الـArduino Extra Core 

تعمل هذه التقنية على دمج أي لوحتي اردوينو و تشغيلهما ببرنامج واحد و بالطبع يمكنك ان تدمج أي نوعين معتمدين على شرائح atmega 328 مثل Arduino mini + Arduino uno و من ثم كتابة برنامج واحد يستفيد من كامل المخارج و المداخل المتوفرة فى كلا اللوحتين

لنأخذ مثال: تشغيل 2 دايود ضوئى

#include <ExtraCore.h>
#include <Wire.h> // You don't need to call Wire or EasyTransferI2C directly, just include them.
#include <EasyTransferI2C.h>
ExtraCore extraCore;
void setup()
{
  pinMode(13, OUTPUT); //set local pin13 to output.
  extraCore.beginManager();//begin Manager role.
  extraCore.setPinIOstate(6, OUTPUT);//set remote pin to output.
  extraCore.setPinIOstate(13, OUTPUT);//set remote pin to output.
  extraCore.setTriStateValue(3, TRUE);//sets remote pin to INPUT with pullup resistor active.
}
...
void loop()
{
...
  extraCore.setAnalogOutput(6, 127);//Turns on remote PWM
  extraCore.setDigitalOutput(13, HIGH);//Turns one remotes Digital 13 pin
  extraCore.sendConfig();//send the current I/O setting to the remote to execute.
... 
  int r2 = extraCore.getDigitalReading(2);
}

 

في هذا المثال تعمل لوحة اردوينو اونو علي اعطاء اﻷوامر الي لوحة اردوينو مينى و ذلك لتشغيل الدايود الضوئى و الاستفادة بالمداخل و المخارج الخاصة باردوينو مينى

 

 يمكنك تحميل المكتبة البرمجية و معرفة المزيد عن اﻷوامر المستخدمة من هنا:

Easily manage I/O on a remote Arduino using two wires and the ExtraCore library |

 

يمكنك أيضاً استخدام بروتوكول I2C مع اردوينو للحصول على المزيد من مداخل و مخارج التحكم

لمعرفة المزيد أنصحك بمراجعة هذا الموقع:

http://www.uchobby.com/index.php/2008/09/16/introduction-to-i2c/

 

4 thoughts on “اصنع بنفسك اردوينو متعدد اﻷنوية مع مضاعفة مخارج التحكم

    • هذه المكتبة البرمجية مخصصة لتوصيل لوحتي اردوينو فقط (ممكن في المستقبل تتحسن)
      لكن و مع ذلك يمكنك استخدام أوامر بروتوكول i2C لتوصيل أي عدد من لوحات اردوينو و جعلها تخاطب و تتحكم في بعضها البعض
      مع العمل ان هذه المكتبة هي أيضاً مبنيه على نفس البروتوكول i2C

لديك سؤال او تعليق...