Sunday, May 11, 2014

توصيل الأردوينو بمجس الحرارة TMP01FPZ



اشتريت دائرة أردوينو جاهزة الصنع منذ يومين و أردت تجربتها مع مجس الحرارة التناظرى

TMP01FPZ










المكونات 


دائرة الأردوينو أونو مع الكابل الخاص بها

Arduino UNO Board

مجس الحرارة 

TMP01FPZ

لوحة بريد بورد

Breadboard

أسلاك صغيرة 

























توصيل الدائرة 

الدائرة بسيطة جدا . 

قم بوضع مجس الحرارة على دائرة البريد بورد

و قم بتوصيل طرف الفولت الموجب - تغذية مجس الحرارة 

Vcc

بطرف الفولت 

5 volt

على دائرة الأردوينو باستخدام الأسلاك

و قم بتوصيل طرف 

Gnd

فى مجس الحرارة بطرف 

Gnd 

على دائرة الأردوينو

 و قم بتوصيل طرف الخرج التناظرى من المجس

Analog Output 

بطرف 
A0

على دائرة الأردوينو









 البرنامج : كود  الأردوينو

 يقوم البرنامج فى البداية بتعريف منفذ الدخل التناظرى  فى الأردوينو

Analog Input ------>     A0


 ثم يقوم بقراءة القيم التناظرية من مجس الحرارة باستمرار 

ثم يتم تحويل هذه القيم من أرقام إلى قيم تمثل قراءة درجة الحرارة المقاسة بالدرجة السلسيوس

ملحوظة : هذه الخطوة تمت بناءاً على القيم المكتوبة و المواصفات الخاصة بالمجس فى ملف المواصفات 

Sensor Data Sheet

 و منها قمت برسم الخط البيانى الذى يمثل استجابة المجس لدرجة الحرارة المحيطة ثم حولته إلى المعادلة فى البرنامج


 ثم يقوم البرنامج بإرسال القيم إلى المنفذ المتسلسل 




يمكنك قراءة هذه المقالة باللغة الانجليزية هنا

You can this post in English


http://embedded-egypt.blogspot.com/2014/05/arduino-temperature-sensor-tmp01fpz.html



يمكنك قراءة هذه المقالة على صفحتى بموقع
instructables.com

http://www.instructables.com/id/Ten-Minutes-Arduino-Temprature/




Wednesday, May 7, 2014

مطلوب فوراً للتعيين فى شركة برمجيات مضمنة فى القاهرة

مطلوب فوراً للتعيين فى شركة برمجيات مضمنة فى القاهرة


Urgently Required for an Embedded Software Company in Cairo , Egypt
Embedded Software Engineer
required skills
- Around 2-4 years of real embedded development experience.
- Proven experience for embedded development in areas of 'Ethernet Communication', 'USB Communication'.
- Proven experience in Real Time Operation System usage within Embedded Project (Any Known RTOS).
- Highly preferable to have experience with Embedded Linux development.
- Preferable to have experience with GSM module interfacing & GPS module interfacing.
Please send the CVs on
recruitment@hlogictec.com

Thursday, March 6, 2014

Pinguino Egypt - إصنع بنفسك دائرة مشابهة للأردوينو









قرأت مؤخرا جداً عن دائرة الأردوينو و أعجبتنى فكرة عمله . فبرغم استخدامى لدوائر البرمجة المضمنة من شركات متخصصة من قبل و احتوائها على كل المكونات المطلوبة لبدء تعلم البرمجة بالمتحكم الدقيق الذى تنتجه الشركة المصنعة مثل برمجة ملف التشغيل 
HEX File
باستخدام مخرج الـ
USB 
و غير ذلك من الوسائل المساعدة للبرمجة مثل الـ
Debugger

إلا أن سهولة الأردوينو و كونه مفتوح المصدر فى الدوائر ( هاردوير ) و البرامج ( سوفت وير ) و انتشار البرامج و الدوائر المصنعة من الأفراد و الشركات و التى يمكن تشغيلها مع الأردوينو و كمية البرامج المنفذة باستخدامه ( بحيث يمكنك تخيل أن كل ما يمكن تنفيذه باستخدام الأنظمة المضمنة بل و باستخدام الدوائر الألكترونية بصفة عامة يمكن تنفيذه باستخدام الأردوينو و بالإستعانة بالبرامج و الدوائر و الأمثلة التى صنعها الأفراد من قبل على شبكة الانترنت ) و بحيث يتصور من ليس له خبرة بالأنظمة المضمنة أن تعريف الأنظمة المضمنة هو الأردوينو و لأن انتشار برامجه و دوائره بنفس انتشار برامج المصدر المفتوح

لذلك قررت أن أصمم دائرة مشابهة للأردوينو و تحتوى على المعالج الدقيق من نوع 
Microchip PIC 

لذلك بدأت فى البحث عن دائرة مشابهة للأردوينو باستخدام هذه العائلة من المتحكمات الدقيقة ووجدت مشروع 

Pinguino

و هو مشروع بدأ فى فرنسا و أصبح عالمياً مثلما بدأ الأردوينو فى إيطاليا و أصبح مشروعاً عالمياً

تماماً مثل الأردوينو يوجد الكثير من دوائر البينجوينو التى تستخدم أنواعاً مخلتفة من المتحكمات الدقيقة من عائلة 
Microchip

  و قد قررت البدء فى بناء البنجوينو باستخدام المتحكم الدقيق 
PIC 18F4550


















المكونات المستخدمة



1          Copper Board ( VeroBoard or Stripboard or Perfboard )
1          PIC 18F4550
1          40 Pin IC Socket
1          USB Type B Socket
1          20MHz Crystal
1          220nF Capacitor
1          100nF Capacitor
2          22pF Capacitors
1          Push Button
1          Dip Switch
1         10k Ohm Resistor
1         7805 Voltage Regulator
1         9v Battery Connector
1         Female Pin Header
1         1N4001 Diode ( or any other general purpose diode )
2         Rows of Pin Headers












هذه هى الدائرة كما فى الموقع





و هذه هى الدائرة التى قمت ببنائها















ابدأ لحام المكونات

































 استخدمت قطعة كبيرة من اللوحة النحاسية المثقبة الموصلة على شكل خطوط و تسمى 

verro board

و لم أقم بقطعها إلا عندما انتهيت من لحام المكونات لأننى لم أعلم مساحة القطعة التى تشغلها المكونات

و بعد أن انتهيت من لحام المكونات قمت بقص اللوحة حول المكونات بمنشار أركت 




































تثبيت برنامج البوت لودر
Bootloader


برنامج البوت لودر هو البرنامج الأولى الذى يمكن المتحكم الدقيق من الإتصال بجهاز الكمبيوتر عن طريق منفذ يو إس بى

USB

و أيضا يمكن المتحكم الدقيق من برمجة نفسه ذاتيا و تحميل البرنامج الذى يستقبله من الكمبيوتر عن طريق منفذ يو إس بى


هذا هو رابط تحميل ملفات برنامج البوت لودر المناسب لجميع أنواع المتحكمات الدقيقة المستخدمة فى دائرة بينجوينو مع سرعات الكريستالات المختلفة

استخدمت هنا سرعة كريستال 20 ميجا هرتز مع المتحكم الدقيق

PIC 18F4550

النسخة   

4.14







المتحكم الدقيق 
18F4550
 هو متحكم دقيق ذاتى البرمجة بمعنى أنه يستطيع تشغيل برنامج يقوم بتحميل برنامج آخر جديد و تحديث وظيفته ليقوم بوظيفة و برنامج جديد بدون استخدام دائرة برمجة 
Programmer

فى البداية عندما لا يوجد برنامج على المتحكم الدقيق لا يستطيع الإتصال بالكمبيوتر بوصلة يو إس بى و لكن يمكن برمجته عن طريق دائرة برمجة توصل بالكومبيوتر بالمنفذ المتسلسل 
Serial Port
أو دائرة برمجة تتصل بالكومبيوتر بمنفذ يو إس بى 
USB
ثم بعد ذلك تضع المتحكم الدقيق فى دائرة البنجوينو و تستطيع أن تجعله يتصل مباشرة بمنفذ يو إس بى 

تحتاج القيام بهذه الخطوة مرة واحدة فقط . و بمجرد تحميل المتحكم الدقيق ببرنامج بوت لودر البنجوينو و وضعه فى الدائرة لن تحتاج إلى دائرة برمجة أخرى

  لقد قمت بتحميل برنامج  بوت لودر البنجوينو باستخدام دائرة برمجة بسيطة صنعتها بنفسى و تتصل بالكومبيوتر بالمنفذ المتسلسل

Serial Port

تستطيع أنت أيضا بناء هذه الدائرة فهى بسيطة و سهلة  و موجودة على المدونة فى هذا الرابط




http://www.instructables.com/id/18F4550-Programmer-in-Ten-years/

















قمت باستخدام برنامج 

PicPGM  

مع دائرة البرمجة 

JDM programmer

لتحميل برنامج بوت لودر البنجوينو 


Bootloader_v4.13_18f4550_X20MHz.hex





بعد تحميل بوت لودر البنجوينو تستطيع أن تضع المتحكم الدقيق فى الدائرة بعد بنائها و بذلك فقد أصبحت جاهزة للإستخدام

بذلك تكون قد أكملت بناء الدائرة من ناحية الهاردوير



 Pinguino IDE Installation                                                             تثبيت بيئة برمجة بنجوينو   



   بيئة برمجة بنجوينو هو جزء السوفت وير من المشروع و هو الجزء الذى يتم فيه كتابة تطبيقات البنجوينو الفعلية ثم تحميلها على دائرة البنجوينو








خطوات  تثبيت بيئة برمجة بنجوينو على ويندوز إكس بى


Here is how to install the Pinguino IDE on Windows Xp

http://wiki.pinguino.cc/index.php/Windows


و هذه هى الخطوات الفعلية التى قمت بها




1-  Download and extract Pinguino IDE for window form here

https://code.google.com/p/pinguino32/downloads/detail?name=Pinguino-IDE-snapshot-i386-unknown-win32-20131209-rev959.7z&can=2&q=

2- Download vcredist_x86.exe (for win32) --- If you encounter the message of not existing msvc*90.dll in Windows,it has to be installed from here

http://www.microsoft.com/en-us/download/details.aspx?id=5582&WT.mc_id=MSCOM_EN_US_DLC_DETAILS_131Z4ENUS22004



3- Download and Install Python from here:

http://www.python.org/ftp/python/2.6.6/python-2.6.6.msi

4- Download and install wxPython 2.8.12.1(unicode) for Python 2.6
http://downloads.sourceforge.net/wxpython/wxPython2.8-win32-unicode-2.8.12.1-py26.exe



5- Download and install pyusb-1.0.0a2-py2.6

http://sourceforge.net/projects/pyusb/files/PyUSB%201.0/1.0.0-alpha-2/pyusb-1.0.0a2.zip/download



6 - Download and install libusb-win32

http://downloads.sourceforge.net/libusb-win32/libusb-win32-filter-bin-0.1.12.1.exe?modtime=1174387137&big_mirror=0

(Don't discard this file yet. In some cases the library has to be installed twice to work.)



7- Download and install pyserial

http://sourceforge.net/projects/pyserial/files/pyserial/2.5/pyserial-2.5.win32.exe/download


Now , with a printer USB cable, connect your Pinguino board to the PC. You 'll get the Found New Hardware popup message.















8- Download and Extract Driver from here:

http://www.hackinglab.org/pinguino/download/driver%20pinguino%20windows/driver%20pinguino%20windows.tar.gz


Now, from the folder of Pinguino IDE ( ..\PINGUINO\x4-easy-rev959\ ) start pinguino.exe file.

That's it.

Now you can open any example or Arduino sketch, compile it and then upload it into your Pinguino board and start your application.














HELLO WORLD


The example here

http://wiki.pinguino.cc/index.php/Basics#Hello_World

Show you how to send text on the USB port using CDC emulated RS232

Just copy and paste the code

/*
-------------------------------------------------
HELLO WORLD CDC
-------------------------------------------------
*/

void setup()
{
   // put your setup code here, to run once:
}

void loop()
{
   // put your main code here, to run repeatedly:
  if (CONTROL_LINE) CDC.println("\n\r Hello World !!!");


}




And windows xp will ask for a driver software .

You can find it under Pinguino IDE Folder

..\PINGUINO\x4-easy-rev959\extra\drivers\CDC


Run Hyper terminal 

with the following settings:




Choose the com port which the Pinguino driver you installed has created. ( ex. Com 4 )





Speed (Baud): 115200
Data bits: 8
Stop bits: 1
Parity: None
Flow control: XON/XOFF




You can read this article in English



http://embedded-egypt.blogspot.com/2014/02/pinguino-egypt-do-it-yourself-pic.html


Here is the article on my instructables.com page :

http://www.instructables.com/id/Pinguino-Egypt-PIC-Based-Arduino/



Thank you for visiting my blog. Have fun.

Saturday, February 1, 2014

مروحة الكومبيوتر -----> مولد طاقة الرياح

هذه المقالة ليست عن الأنظمة المضمنة و لكنها عن مشروع بسيط جداً قمت به فى وقت الفراغ . فى هذا المشروع قمت بتحويل مروحة كومبيوتر قديمة إلى مولد طاقة 


كنت أود كثيرا استخدام طاقة الرياح فى توليد الطاقة ولو حتى بصورة بسيطة و لو حتى لإضاءة صمام ثنائي مضئ ( لد )

و كانت تواجهنى مشكلة تثبيت المروحة بالمولد الصغير ( الموتور الذى سأستخدمه كمولد ) ففكرت أن أستخدم المراوح الصغيرة القديمة التى تستخدم لتبريد الكمبيوتر




تستخدم فى مراوح تبريد الكمبيوتر مواتير مدمجة بالمروحة و هذه المواتير من نوعية الموتور

BLDC MOTOR




يمكن تحويل هذا الموتور إلى مولد للكهرباء فى خمس دقائق

فكرة العمل :

فكرة عمل هذا الموتور يمكن تلخيصها كالتالى ( و يمكنك أن تتخطى هذا الجزء إلى جزء التعديل مباشرة )

الجزء الثابت فى الموتور هو المغناطيس أما الجزء المتحرك هو الملفات . و توجد بالموتور دائرة متكاملة صغيرة تعمل عمل الفرش التى تعكس التيار الكهربى . و هذه الدائرة تعمل عمل العاكس الالكترونى و تحول التيار الثابت إلى تيار متردد


لنحصل على التيار المتولد من هذا الموتور المستخدم كمولد نقوم بنزع هذه الدائرة المتكاملة من دائرة الملفات بالطريقة التالية



تحويل الموتور إلى مولد كهربى :

قم بنزع اللاصق الذى يغطى الموتور لمنع الأتربة من الأسفل 



تحت اللاصق مباشرة سوف ترى محور دوران المروحة مثبت فى الإطار الثابت للمروحة و حول هذا المحور توجد قطعة صغيرة من البلاستيك و هى التى تثبت المحور فى مكانه كى لا يخرج .

قم بفك هذه القطعة البلاستيكية بدون أن تكسرها ( لأنها مهمة جدا ) . و يمكنك نزعها بسهولة باستخدام أحد مشابك التمساح المستخدم فى التوصيل الكهربى .













يوجد فى هذه المروحة أربع مجموعات من الملفات موصلة على التوالى . كل ما عليك أن تأخذ الأطراف النهائية للمجموعات الموصلة معاً و بذلك يوجد لديك مصدر للتيار المتردد المتولد باستخدام طاقة الرياح .

قم بنزع الدائرة المتكاملة باستخدام مكواة اللحام














ثم قم بفك أطراف توصيل التيار الكهربى الأسود و الأحمر من مكانيهما ثم ثبتهما مكان الدائرة المتكاملة .









قم بتجميع المروحة عن طريق تثبيت المحور مكانه و تثبيته باسخدام قطعة البلاستيك المثبتة له .

و قم بوضع اللاصق مكانه



قم بتوصيل صمام ثنائى مضيئ ( لد ) بأطراف المروحة بعد التعديل . لا تقلق من إتجاه توصل أطراف اللد  و ذلك لأن التيار المتردد سوف يعمل على إضاءة اللد إذا تم توصيله فى أى من الإتجاهين


قم بتشغيل المروحة بوضعها فى اتجاه الرياح السريعة




                         


فيديو للمروحة و هى تتحرك بواسطة الرياح و اللد يضئ 


رابط المشروع على موقع     instructables.com





يمكنك قراءة هذه المقالة باللغة الإنجليزية 

You can read this article in English










Tuesday, December 24, 2013

18F4550 Serial Programmer

فى صيف عام 2003 صنعت أول دائرة الكترونية لبرمجة المتحكم الدقيق
16F84A
و منذ ذلك الوقت و أنا لم أتوقف عن بناء الدوائر الالكترونية التى تستخدم هذا المتحكم الدقيق و بالفعل تعلمت برمجة الأنظمة المضمنة باستخدام عائلات مختلفة من المتحكمات الدقيقة  و لكن بالطبع فإن أول نوع تعلمته هو أكثر ما أتقنه و أحبه . و أيضأ أكثر دائرة برمجة استخدمته هو مبرمج
JDM

  






أول دائرة ألكترونية صنعتها لبرمجة المتحكم الدقيق




 JDM تصميم دائرة




بالبحث عن دوائر برمجة أنواع أخرى من المتحكمات الدقيقة وجدت أن دائرة الـ
JDM 

يمكن استخدامها فى الكثير من المتحكمات الدقيقة الأخرى

18F2220 فبينما كنت أبحث عن مبرمج للمتحكم الدقيق 

JDM وجدت أنه يمكن برمجته بنفس دائرة البرمجة التى لدى و هى دائرة

LOADER و أيضا وجدت برنامج

الذى يمكن استخدامه للبرمجة

و لذلك قمت بتركيب سوكيت للدائرة المتكاملة ذات الـ 28 رجل 





18F4550  و بعد ذلك بينما كنت أقوم بالبحث عن مبرمج للمتحكم الدقيق

USB  و الذى يتميز بإمكانية إتصاله مباشرة بالكمبيوتر الشخصى عن طريق الـ


وجدت أيضا أنه يمكن برمجته بالستخدام نفس الدائرة  و لكن أحتاج إلى تركيب سوكيت إضافى للدائرة المتكاملة ذات  الـ 40 طرف

و لكن بسبب نفاذ المساحة على اللوحة الخاصة بالدائرة فقد اضطررت إلى تركيب جزء إضافى

ملحق بالدائرة الأساسية و به السوكيت الخاص بالدائرة المتكاملة ذات الـ40 طرف




 MICROCHIP   هذه هى الأطراف التى تستخدم فى برمجة المتحكم الدقيق من عائلة


Basically, nearly all the PIC Microcontrollers use the same pins for programming.

Five pins are used for basic serial programming :

Vpp             -----   Programming voltage

Vdd             -----   Vcc

Vss             -----   Gnd

Data            -----   Serial Data

Clock



This is the 40 pin IC connector on a piece of plastic

 قمت بلحام الأسلاك و توصيلها للسوكيت باستخدام قلم الحبر الموصل للكهرباء






الدائرة بعد التعديلات الأخيرة 






Programmer software loader used with this circuit :

PicPGM           http://picpgm.picprojects.net/









Read this post in English                                                      اقرأ هذه المقالة باللغة الإنجليزية




instructables.com      اقرأ المشروع على صفحتى على موقع