نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
مهدی دمیرچیلو

آموزش جامع آردوینو جلسه ۱۶ پروتکول i2c twi

به نام خدا : این مطلب رو بنا به درخواست برادر “حامد کاظمی” مینویسم، تو این مطلب از سری مطالب آموزش آردوینو میخوایم درباره ارتباط دو سیمه سخت افزاری و نرم افزاری توضیح بدم(حالا این که نرم افزاری رو TWI میگفتن یا سخت افزاری رو I2C میگفتن یا برعکس دقیقا خاطرم نیست، اگه کسی میدونه بگه.) و پروژه آردوینو هم یه چند تایی میزارم(تعدادش زیاده نگران نباشید، از تعداد پروژه های خود سایت آردوینو هم بیشتره laugh )، در ضمن فرا رسیدن ایام فاطمیه رو هم تسلیت میگم خدمت شما دوستان گلم. cry، راستی سلام داشای گلم laugh امان از فراموشی
آموزش جامع آردوینو جلسه ۱۶ پروتکول i2c twi

آموزش جامع آردوینو جلسه ۱۶ پروتکول i2c twi


داستان : خب داستانی به ذهنم نمیرسه بگم sarcastic، عوضش یه سخن از حضرت آقا میزارم تا دل بچه حزب اللهی ها حال بیاد heart ، ایشاالله چشم همه بدخواه های ملت ایران کور بشه که چش دیدن پیشرفت و عزت و وحدت و… ایران رو ندارن، مخصوصا این انگلیسی های نفله روباه صفت پدرسوخته :-D، بگذریم از این حرفا و بریم سر اصل مطلب……به امید پیشرفت ایران و نابودی دشمناش.
سخنان حضرت آقا

کتابخونه پروتکول نرم افزاری I2C
برای این موضوع لینک زیر رو ببینید حال توضیح دادن ندارم :
Software I2C library

فرق سنکرون با غیر سنکرون(آسنکرون)
لپ کلوم، پروتکول هایی همچون I2C/TWI سنکرون هستن چون با کلاک دیتا رو میفرستن و پروتکول هایی همچون USART نسخه های ۲۳۲(برای مسافت هایی با ماکس طول ۱۰-۱۵ متر) , ۴۸۵(برای مسافت های زیاد و حدود ۸۰ متر ماکزیمم) آسنکرون هستن چون خط کلاک ندارن…..توضبحات بیشتر تو گوگل >>>سرچ>>>مطالعه :-D، مطلب زیر رو بخونید یه فایل توش هستش که تو بخش سومش سنکرون و آسنکرون رو توضیح داده که خوب هم توضیح داده :
آنالوگ و دیجیتال، سری و موازی، سنکرون و آسنکرون

توضیح پروتکول ارتباط دو سیمه TWI و I2C
برای این موضوع فایل زیر رو دانلود کنید که تقریبا تمام فایل های موجود در نت درباره I2C/TWI هستش.(یعنی دیگه من توضیح نمیدم براش diablo )

توضیح پروتکول ارتباط دو سیمه TWI و I2C

فرق TWI با I2C
چیزی که من میدونم اینه که TWI سخت افزاری هستش و I2C نرم افزار، سخت افزاری و نرم افزار رو هم که حتما میدونید یعنی چی…

انواع پروتکول دو سیمه

  1. سخت افزاری(از پایه های خاصی از برد آردوینو باید استفاده کرد)، TWI
  2. نرم افزاری(انتخاب پایه ها دست خودمون هستش.)، I2C

Master و Slave چیست
خب این دو همون فرستنده و گیرنده هستن، به Master فرستنده میگن و به Slave گیرنده هر چند که Master هم میدونه از Slave درخواست دیتا بکنه و Slave هم باید بفرسته(فقط در این حالته که مستر دیتا دریافت میکنه و اسلیو دتا ارسال)، و یه مستر میتونه به چندین اسلیو وصل بشه و بهشون دیتا بده و بعضا ازشون دیتا هم بگیره،

نحوه اتصال پروتکول دوسیمه i2c / twi
خب عکس زیر بهترین توضیح هستش که همین طور که میبینید به کمک این پروتکول i2c / twi با تموم قطعات و ic ها میتونیم تبادل داده داشته باشیم باهاشون و کنترلشون کنیم، که چیزی که تو این پروتکول هستش اینه که :

  1. زمین تمام مدار هایی که از این پروتکول استفاده میکنن باید مشترک باشد(به هم دیگه باید وصل باشه)
  2. پایه های SDA و SCL رو باید پول آپ کنیم، که ۲ پایه ارتباطی رو با یه مقاومت به Vcc وصل میکنیم
    (اگه پول آپ نمیدونید چیه مطلب مقابل رو بخونید : آموزش جامع میکروکنترلر AVR جلسه۱۲)
  3. نحوه اتصال دو پایه ارتباطی رو هم که میبینید، که ۱ مستر داریم و ۳ تا Slave

نحوه اتصال پروتکول دوسیمه i2c

توضیح پایه های i2c / twi
خب این پروتکول دو تا پایه به نام های SDA و SCL داره که در زیر یه کوچولو توضیح میدم دربارشون :
SDA : دیتا رو این پایه قرار میگیره.
SCL : کلاک روی این پایه قرار میگیره.

چطور میتونیم یه متغییر رو به عنوان پارامتر به تابع بدیم و بعد تابع داخلش دیتا ذخیره کنه؟
چون تو کدنویسی ها و تو توابع بالا که توضیح دادم یه متغییر به تابع میدادیم به عنوان پارامتر و بعد تابع اونو ویرایش میکرد، که این شاید براتون عحیب باشه که این موضوع مربوطه به بحث انواع ارجاع در برنامه نویسی C که اینو بعدا تو یه مطلب جدا توضیح میدم چون خودش یه مطلب هستش، حالا عنوان موضوش رو گفتم اگه علاقه دارید و یا عجله میتونید تو نت بسرچید و مطالب و آموزش های موجود رو بخونید وکه انسافا مطالب بدی هم کم نیست تو نت.

آموزش ارتباط دو سیمه TWI

آموزش ارتباط دو سیمه سخت افزاری TWI
آردوینو DUE دو تا ارتباط دوسیمه TWIداره، که در زیر تعداد ارتباط های دوسیمه و شماره پایه متناظر در برد آردوینو رو برا چند مدل از بردهای آردوینو میبینید :
ارتباط دو سیمه سخت افزاری TWI
اول از هر کاری باید این کتابخونه رو فراخونی کنیم؛ اگه میخوایم از ارتباط دوسیمه TWI استفاده کنیم.
منبع کتابخونه Wire
شروع برقراری ارتباط دو سیمه
این تابع به دو صورت نوشته میشه که تو یه مورد نیازی به آدرس Slave نیستش و تو مورد بعدی باید آدرس Slave مورد نظر رو وارد کنیم، اگه فقط ۲ تا دستگاه دارید که قراره با هم ارتباط برقرار کنن نیازی به قرار دادن آدرس نیست ولی اگه چندین دستگاه داشتین که با هم از طریق ارتباط دو سیمه باید ارتباط برقرار کنن، باید آدرس رو داخل این تابع قرار بدید تا بگید که این دیتا برا کدوم دستگاه هستش.
این تابع چیزی رو برنمیگردونه.
منبع تابع begin
این تابع تعداد بایت هایی که در دسترس هستن برای خوندن رو نشون میده و این تابع پارامتری نداره.(یعنی داخل اون پراتز بعد از نام تابع، نمیخواد چیزی بزاری یا بنویسی O_o)
در دستگاه Master این تابع باید استفاده بشه بعد از این که تابع requestFrom فراخونی شد
و در دستگاه Slave باید داخل تابع تعریف شده توسط onReceive قرار بگیره.(این توابع رو در ادامه میگم، فعلا زیاد گیر ندید.)
منبع تابع available
این تابع ۱ بایت دیتا رو میخونه که :

  1. این دیتا ارسال شده از سمت Slave به سمت Master بعد از فراخونی تابع requestFrom
  2. یا دیتایی که از سمت Master به سمت Slave ارسال شده است.

منبع تابع Read

نوشتن دیتا :

  1. از دستگاه Slave در پاسخ به درخواست Master (در ادامه میبینید که تابعی داریم که Master ّه کمکش به Slave میگه من این تعداد بایت دیتا میخوام، برام بفرست!!!)
  2. یا در صف گزاشتن دیتا برای ارسال از سمت Master  به سمت Slave (در بین دو تابع beginTransmission() و endTransmission() باید قرار گیرد این تابع.)

Value : یه متغییر
String : یه رشته
Data : یه آرایه به طول length
این تابع تعداد بایت هایی رو که مینویسه رو برمیگردونه.
توجه۱ : اگه میبینید که حداکثر تعداد بایتی که میشه فرستاد به صورت یکجا برابر ۳۲ بایت هستش فک کنم به این خاطر هستش که تابع write محدودیت داره، و مشکل از متغییر های از نوع String نیستش، این چیزی هستش که به فکر من میرسه، حالا اگه کسی دلیل اصلیش رو میدونه بگه( و این که احتمال من اشتباه هستش)
توجه۲ : چیزی که هم هستش اینه که اگه یه دیتای ۳۲ بایتی فرستادی(یا چند دیتا که مجموعش ۳۲ بایت میشه) بعد باید ارتباط رو قطع کنی و پایان بدی و دوباره از اول شروع کنی و دیتای جدید رو بفرستی و... در آخر پایان بدی | در ضمن باید بین هر بار ارسال و قطع ارتباط و ذوباره برقرار ارتباط یه delay قرار بدید(در پروژه های زیر خواهید دید.)
منبع تابع Write

برقراری ارتباط با یه دستگاه Slave برای این که دیتا بهش بدیم، این تابع یه پارامتری به نام آدرس داره که همون آدرس Slave مورد نظر هستش و این آدرس ۷ بیتی هستش(که یعنی با این کار میگید این دیتایی که به زودی ارسال میکنم برای کدوم دستگاه Slave هستش)، این تابع چیزی رو برنمیگردونه.
منبع تابع beginTransmission

پایان دادن به ارسال دیتا به دستگاه Slave که شروع شده بود به وسیله تابع beginTransmission و دیتایی که فرستاده شد به وسیله تابع write
Stop : تابع بالا مقادیر زیر رو میتونه در این متغییر قرار بده(که اگه تابع بالا کارش رو درست انجام بده عدد ۰ رو در متغییر stop ذخیره میکنه و اگه نتونه بسته به خطای رخ داده یکی از اعداد زیر رو در این متغییر ذخیره میکنه) :
۰ : قطع ارتباط با موفقیت انجام شده.
۱ : دیتا در بافر ارسال وجود دارد.
۲ :  گرفته NACK در آدرس ارسالی.
۳ : گرفته NACK در  دیتای ارسالی
۴ : ارور ها و خطاهای دیگه.
منبع تابع endTransmission

این تابع به وسیله Master استفاده میشه برای درخواست دادن دیتا از Slave، که این دیتا میتونه به وسیله تابع available متوجه بشیم از وجودش و دریافتش کنیم به وسیله تابع read
اگه این تابع کارش رو درست انجام بده از طریق پارامتر stop که بهش میدیم ما رو خبردار میکنه.
Address : یه متغییر ۷ بیتی که آدرس Slave  ما هستش.
Quantity : تعداد بایت هایی که درخواست میدیم.
Stop : این متغییر هم برا اینه که بفهمیم تابع کارش رو درست انجام داده یا نه.
این تابع تعداد بایت هایی که برگشت داده میشه از دستگاه Slave رو برمیگردونه.
منبع تابع requestFrom

فراخونی تابع handler وقتی Master درخواست دیتا میکنه از Slave، این تابع برای Slave  هستش.
که این handler  نام یه تابع هستش(که حالا میتونید نامش رو تغییر بدید)، که این تابع handler پارامتری نداره.
این تابع onRequest چیزی برنمیگردونه.
منبع تابع onRequest

یه تابعی به نام handler که فراخونی میشه وقتی Slave دریافت میکنه(وقتی دیتایی میکرو دریافت مکنه و در بافر ذخیره میشه اون وقت ما توسط توابع available میتونیم بغهمیم که دیتایی در بافر ذخیره شده یا نه و بعد توسط تابع read اون دیتا رو بخونیم/دریافت کنیم ) یه بسته از Master، تابع handler  یه پارامتر داره که اونم تعداد بایت های خونده شده از Master  هستش و چیزی برنمیگردونه.
منبع تابع onReceive

پروژه های ارتباط دو سیمه سخت افزاری TWI

خب در زیر کلی پروژه میزارم براتون که همه رو نوشتم و تست هم کردم، در هر موضوعی پروژه گزاشتم، توابع بالا رو عملکردشون رو بخونید و کد های زیر رو ببینید و متوجه میشید برنامه ها رو خودتون و لذا من توضیح خاصی ندادم برا پروژه ها، ولی اگه جایی نیاز به توضیح داشتین بگین تا توضیح بیشتر بدم.
شماتیک تمام پروژه های زیر :
آموزش I2C در آردوینو

۱) Master دیتا ارسال میکند و Slave دیتا دریافت میکند

پروژه۱) ارسال یه متغییر از نوع int توسط Master و دریافت توسط Slave
برنامه Master(یه متغییر از نوع int ارسال میکنه)
برنامه Slave(یه متغییر از نوع int دریافت میکنه)
پروژه۲) ارسال یه متغییر از نوع String توسط Master و دریافت توسط Slave
برنامه Master(یه متغییر از نوع String ارسال میکنه)
برنامه Slave(یه متغییر از نوع String دریافت میکنه)
پروژه۳) ارسال یه متغییر از نوع آرایه توسط Master و دریافت توسط Slave
برنامه Master(یه متغییر از نوع آرایه ارسال میکنه)
برنامه Slave(یه متغییر از نوع آرایه دریافت میکنه)

۲) Master دیتا دریافت میکند و Slave دیتا ارسال میکند(مستر درخواست دیتا میده و اسلیو هم براش دیتا میفرسته)

پروژه۴) دریافت یه متغییر از نوع int توسط Master و ارسال توسط Slave
برنامه Master(یه متغییر از نوع int دریافت میکنه)
برنامه Slave(یه متغییر از نوع آرایه ارسال میکنه)
پروژه۵) دریافت یه متغییر از نوع String توسط Master و ارسال توسط Slave
برنامه Master(یه متغییر از نوع String دریافت میکنه)
برنامه Slave(یه متغییر از نوع String ارسال میکنه)
پروژه۶) دریافت یه متغییر از نوع آرایه توسط Master و ارسال توسط Slave
برنامه Master(یه متغییر از نوع آرایه دریافت میکنه)
برنامه Slave(یه متغییر از نوع آرایه ارسال میکنه)

لینک های مفید :

  1. راه اندازه ماژول SRF05 با I2C
  2. راه اندازی IC پتانسومتر دیجیتال با I2C
  3. آموزش برنامه نویسی پیشرفته BASIC – ارتباط سریال I2C
  4. لینک مقابل هم فیلم های قسمت ۵۹ تا ۷۵ درباره TWI هستش و زبونش هم فارسیه و رایگان هم هستش : فیلم های آموزش AVR

خب امیدوارم از این مطلب خوشتون اومده باشه و براتون مفید بوده باشه….اگه جایی رو اشتباه گفتم/ بد گفتم/کم توضیح دادم و… لطفا ذکر کنید.
هزینه این مطلب : چون امشب ۵ شنبس یه فاتحه بخونید برا اموات خودمو و خودتون، ۱ فاتحه برای شهدا و امام شهدا و ۳ تا صلوات هم برا سلامتی مدافعان حرم.(همون طور که میدونید هزینه هر چیزی رو باس داد laugh ،جان داش بدید ها، نامردی نکنید، تنبلی هم همین طور)
یا علی در زیر یه عکسی میزارم براتون، رفته بودن بازار این عکسو دیدم تو در یه مغازه ای خوشم اومد و با گوشی عکس گرفتم، جالبه متنش، گفتم برا شما هم بزارم ظرر نداره…
این عالم فانی به یه ارزن نمی ارزد
فعلا یا علی تا مطلب بعد اگه زنده بودیم…..راستی یه خبر خوش، آموزش نوشتن کتابخونه برا قطعات رو میخوام بزارم تو سایت، و حدودا وسطای کارش هستم و آموزش طراحی PCB رو هم میخوام بزارم….
دیگه واقعا یا علی laugh

گروه پرسش و پاسخ الکترونیکی در سروش
مهدی دمیرچیلو امیدوارم مطالب ناچیز این سایت مفید باشه براتون؛ به امید روزی که دانسته هامونو به اشتراک بزاریم، حالا پولی یا رایگانش زیاد مهم نی؛ بعضی ها فک میکنن چیزی که بلدن، اگه با دیگران به اشتراک بزارن ... !
ارسال دیدگاه
33

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    mahdi

    سلام
    ممنون از مطالب مفیدتون.راجع به قسمتی که در مورد متغیر stop گفته بودید
    “Stop : تابع بالا مقادیر زیر رو میتونه در این متغییر قرار بده(که اگه تابع بالا کارش رو درست انجام بده عدد ۰ رو در متغییر stop ذخیره میکنه و اگه نتونه بسته به خطای رخ داده یکی از اعداد زیر رو در این متغییر ذخیره میکنه) :
    ۰ : قطع ارتباط با موفقیت انجام شده.
    ۱ : دیتا در بافر ارسال وجود دارد.
    ۲ : گرفته NACK در آدرس ارسالی.
    ۳ : گرفته NACK در دیتای ارسالی
    ۴ : ارور ها و خطاهای دیگه.”
    stop یک ورودی هست و اگر 0 باشه باس آزاد میشه و اگر 1 باشه یه restart ارسال میشه.

  2. Avatar

    مهمان

    مهدی

    سلام
    ممنون از زحمات شما
    آقا یه سوال
    اگر بخام یکسری پکت از نوع هگز از طریق i2c بین دوتا آردیونو انو و نانو در ارتباط بزارم (هم از طرف مستر به اسلیو هم برعکس) دقیقا باید چجوری متغیر هارو تعریف کنم ؟
    اینم بگم هگز از هردو دستگاه توسط پورت سریال حقیقی خونده میشه

  3. Avatar

    مهمان

    امین

    سلام. برای اینکه با آردوینو اسلیو دیتا از کاربر بگیریم و هر زمان که کاربر دیتا را وارد کرد برای مستر به منظور ذخیره سازی و استفاده در برنامه اصلی ارسال کنیم ، چه راه کاری هست؟ یعنی اسلیو چطور به مستر بگه که میخواد دیتا بفرسته و مستر همون موقع بره دیتا را بخونه که ذخیره کنیم؟ با تشکر

  4. Avatar

    مهمان

    ناشناس

    آخه آدم میاد چیزی نگه،راهشو بکشه بره ولی …
    یکم خجالتم خوب چیزیه، از میکرو کنترلر به خامنه ای و قدس و کعبه چه مربوطه؟
    آوردی درست گذاشتی وسط مطلب، حتما فکر میکنی مثلا خیلی آدم درست حسابی هم هستی!
    برو بشین یه گوشه خلوت، فقط نیم ساعت به خودت فکر کن…

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      آخه الزامی نی که سایت الکترونیکی مطلب متفرقه نزاره – در ضمن اینی که میبینید سایت شخصی هستش – باز انجمن بود، اون وقت یه حرفی –
      من علاقه دارم در مطالب الکترونیکیم – حدبثی – مطلبی داستانی چیز جالی پیدا کردم بزارم، حالا باید به امثال مثل شما توضیح بدم که چرا تو سایت شخصی خودم مطالبی از امام خامنه ای گزاشتم توضیح بدم؟
      حالا تو عکس این مطلب رهبر چی گفته؟ یه حرفی که آمریکایی ها زمان توافق برجام به بعضیا که میدونید میگفتن …. دولت هم به جماعت انقلابی میگفت تندرو – که بعد رهبری اومد پاسخ داد – یا مثل اون درس مذاکره گرفتن از کربلا که بعد رهبری اومد پاسخ روحانی رو داد و…. – اینا رو میزارم تا ملت آگاه بشن –

      اگه شما اصل داستان مشکل دارید و حرف حق میبینید قابل قبول نی براتون و فشار میاد بهتون که مشکل شماس و به من مربوط نی
      اگه هم فقط مشکلتون اینه که سایت الکترونیکی چرا مطلب غیر الکترونیکی گزاشته میشه که میدونم 100% مشکلتون همینه! که جوابتون رو قبلتر دادم- سایت شخصی هستش – به امثال شما باید توضیح بدم که چرا تو سایت شخصی خودم همچین مطلبی گزاشتم؟

      موفق باشید

    • Avatar

      مهمان

      #AghaMahdi79

      سایت خودشه دلش میخاد

      این همه مطالب زیبا و کاربردی گزاشته اون وسط هم 2 تا مطالب خارج الکترونیک گذاشته درباره عقایدش
      منم مخالف مطالبش هستم ولی ب خودم اجازه نمیدم چیزی بهشون بگم

  5. Avatar

    مهمان

    رسول

    سلام ببخشید من میخوام از اردینو به عنوان Master و ازavrبه عنوان Slave استفاده کنم میشه کمکم کنید

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      سلام-جفتشون avr هستن و فقط نوع میکرو فرق داره و کتابخونه هایی که داری استفاده میکنی – لذا تو سخت افزار مشکلی نداری – میمونه کدنویسی – که یه مطلب درباره i2c تو سایت هستش چند تا فایل آموزش i2c ( خود پروتکول ) هستش تو اون مطلب – اینو میخونی – رو هر دو تا کتابخونه i2c آردوینو و میکرو avr ( حالا کدویژن یا اتمل استدیو یا …) بعد… – حقیقتا من وقتشو ندارم.

  6. Avatar

    مهمان

    فرشته

    ببخشید وقتی کد های مستر و اسلیو (کدهای همین صفحه) رو در محیط پروتئوس ران میکنم ، فقط یکبار داده رو میفرسته و بعد اون اسلیو Nack میفرسته؟؟ مثلا برای برنامه اول در I2C Debug داریم: S 10 N P
    S 10 A 01 A P
    S 10 A 02 A P
    S 10 A 03 N P
    S 10 A 04 N P
    ……………..

  7. Avatar

    مهمان

    علی

    سلام ببخشید دوباره مزاحم شدم
    چطوری باید Reapeted START ذر آردوینو انجام داد؟؟؟؟ unknw

  8. Avatar

    مهمان

    Master

    مقاومت پول اپ چند اهم باید باشه

    • مهدی دمیرچیلو

      نویسنده این مطلب

      مهدی دمیرچیلو

      من 10 کیلو میزارم.

  9. Avatar

    مهمان

    Master

    چطوری تو اسلیو میشه فهمید که مستر چند بایت از ما خواسته؟

  10. Avatar

    مهمان

    Master

    سلام داداش فرض میکیم که دستگاه مستر requestFrom رو فرستاد به اسلیو اونوقت از کجا باس فهمید که این دیتایی که مستر ازمون خواسته چند بایت بوده؟
    کلا میگم چه تابعی برای رسیدن به تعداد بایت های requestFrom در اسلیو وجود داره؟

  11. Avatar

    مهمان

    Abbas

    سلام.
    آقا آرایه من کدی ۲۰ بخشی هست که تو هر بخش مفداری قرار گرفته و من این آرایه رو به صورت زیر دارم و برای ارسال خطا میگره
    byte data[20]

  12. Avatar

    مهمان

    Abbas

    سلام.
    داش مهدی من میخوام یه آرایه ۲۰ پارمتری ارسال کنم اما تو کد نمیتونم این کار رو کنم و خطا میگره
    مثلا:
    byte dataa[20];

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      همین کدت رو من تست کردم خطا نداد آردوینو

      • Avatar

        مهمان

        Abbas

        سمت گیرنده.منون بابت پاسخ های مفیدت.

  13. Avatar

    مهمان

    حسینی

    سلام من سیم بندی i2cانجام دادم (sda به sda)
    (scl به scl )
    (gndبه gnd)
    هر دوتا بردمم به لپ تاپ وصله البته اینم بگم که یه بردم مگا2560 هستش و یه برد دیگم یونو
    کدها رو هم مطابق کد پروژه 1 شما اپلود کردم اما توی سریال مانیتور چیزی مشاهده نمیکنم
    میشه راهنمایی کنید ؟؟؟

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      پایه های i2c تو مگا و یونو تو یه مکان نیستن – میدونی که…
      مقاومت پول آپ برا پایه های دیتا و کلاک هم باید قرار بدی
      مطمئن باش که 2 برنامه رو در دو میکرو ریختی و یه برنامه رو در دو میکرو نریختی

  14. Avatar

    مهمان

    احسان

    جناب فک کنم شما از اون حزب الله ی های حال بهم زن هستید…
    واقعا؟؟؟؟ نوشتی برای روح شهدا صلوات بفرستین. واقعا؟؟ بابا مردم میخندن بهت. حال مردم از کسایی که طرفداریشو میکنی بهم میخوره. آدمایی که به اسم دین فقط به فکر جیب خودشونن. از رهبرت خامنه ای بگیر تا همه ی سپاهی ها و بسیجی ها…. دیگه فقط مونده بود بگی که برای سلامتی رهبر صلوات. الهم…
    واقعا که…
    ولی وطالبتون خوب بود. ممنون واسه راهنماییا.

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      خدا رو شکر که مطلب برات مفید بود داش
      حالا ما مفید باشیم برای جامعه و شما دوستان، حالا شما هر چی دوست داری نثار ما کن، حال بهم زن و هر چی دوست داری.
      آیا نوشتن متن زیر به عنوان هزینه مطلب کار اشتباهی هستش؟
      یه فاتحه بخونید برا اموات خودمو و خودتون، ۱ فاتحه برای شهدا و امام شهدا و ۳ تا صلوات هم برا سلامتی مدافعان حرم.
      آیا این افراد دزد و اخلتلاس گر هستن/؟ آیا از این افراد نباید تقدیر بشه؟ آیا یه صلوات و فاتحه چیز زیادی هستش برای تشکر ازشون؟
      پسر خوب این شهدا اگه نبودن که من و تو الان اینجا نبودیم تو این وضعیت و امنتیت نبودیم که داش من.(جون خیلی عزیزه و هر کسی تمام زندگیش رو ول نمیکنه بره سمت مرگ)
      حال مردم از شهدا بهم میخوره؟ملت عاشق شهادت و شهدا هستن چی چی میگی تو.
      خب من میگم شهدا چه ربطی داره به حروم خورها؟ shock مسئولینی که پول بیت المال رو عین سگ دارن میخورن چه ربطی به شهدا دارن آخه shout
      وگرنه منم حالم از دزد ها و حروم خور ها بهم میخوره، نه تنها من بلکه تمام مردم ایران.
      متاسفانه مسئولین فاسد تو هر رده ای کم نداریم ولی دیگه خداییش خیلی نامردی هستش که بخوای شهدا رو فاسد و اخلاس گر بدونی و با جمله من که گفتم برا شادی روحشون صلوات و فاتحه بفرستید داری مخالفت میکنی
      ====================

      • Avatar

        مهمان

        سعید

        مهدی جان خدایی دمت گرم. راستی عکس بالا رو گذاشتم رو صفحه دسکتاپم. این عالم فانی …

  15. Avatar

    مهمان

    حمید

    خسته نباشی….آقا مهدی یه دونه ای

  16. Avatar

    مهمان

    علیرضا

    با عرض سلام خسته نباشید.
    تشکر میکنم بابت مطالب بسیار مفید سایت تون.

  17. Avatar

    مهمان

    احسان

    درود فراوان
    تشکر بابت سایت بسیار عالیتون که واقعا هیچ جای حرفی نداره..
    دوتا سوال داشتم:1-اتصال ماژول اثرانگشت و همچنین برنامه نویسی آن با آردوینو به چه شکل هست
    2- ماژول وایرلس هم میخواستم بدونم به چه شکل متصل و برنامه نویسی میشه(آردوینو)
    با تشکر از شما

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      میخوام این قطعات رو راه اندازی کنم ولی وقت ندارم شاید بره برا ماه بعد
      ولی اگه پروژه پایانی تون هستش و یا لازم دارید، میل بزنید بهم.

  18. Avatar

    مهمان

    ابوالفضل

    مهدی جان اگه میشه یه مطلب درباره وصل کردن ماژولESP8266 به اردوینو و کتابخونش بذار.مرسی

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      تو نت بگردی به راحتی کتاب خونش رو پیدا میکنی و اموزشش رو هم همین طور
      من در گیر مانیتورینگ هستم

      • Avatar

        مهمان

        سهند

        آقا مهدی خداقوت.چند دفعه سایتتون رو دیدم دیگه حیفم اومد نظر ندم و ازتون تشکر نکنم.بی نهایت سایت مفیدی دارید.

  19. Avatar

    نویسنده سایت

    رامین اصیلی

    سلام
    خیلیییییییییییییییی عالییییییییییییییییی بود
    مرسی آقا مهدی

    • مهدی دمرچیلو

      نویسنده این مطلب

      مهدی دمرچیلو

      سلام
      چطوری بی معرفت
      از این طرفا

    • Avatar

      مهمان

      علی

      دوست عزیز خدا خیرت بده بخاطر سایت خیلی خوبت
      در پناه قرآن و اهل بیت موفق باشی