نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی
  • خانه
  • اشتباهات
  • کنترلر شارژ خورشیدی PWM آردوینو. دستگاه ارزان قیمت مبتنی بر آردوینو برای نابینایان (سخت افزار باز)

کنترلر شارژ خورشیدی PWM آردوینو. دستگاه ارزان قیمت مبتنی بر آردوینو برای نابینایان (سخت افزار باز)



القای مغناطیسی فناوری است که احتمالاً از کلاس های فیزیک دبیرستان به یاد دارید. برای انتقال برق به صورت بی سیم، به دو سیم پیچ نیاز دارید: یک سیم پیچ فرستنده و یک سیم پیچ گیرنده. جریان متناوب در سیم پیچ فرستنده یک میدان مغناطیسی ایجاد می کند که باعث القای ولتاژ در سیم پیچ گیرنده می شود. این ولتاژ را می توان برای تغذیه یک دستگاه تلفن همراه یا برای شارژ باتری استفاده کرد.


عناصر کم اهمیت تر، القاگرهایی خواهند بود که می توانید خودتان بسازید. این کویل های ساده با سیم های مسی پیچیده می شوند و به آنها کویل های هسته هوا می گویند. ایجاد چنین سیم پیچی برای هدف ما کار بسیار ساده ای است. یک استوانه گرد به قطر حدود 5 سانتی متر پیدا کنید و سیم را به دور آن بپیچید تا هر پیچ روی پیچ دیگر همپوشانی نداشته باشد و در عین حال تا حد امکان به پیچ دیگر نزدیک شود. سیلندر گرد می تواند، به عنوان مثال، یک لوله PVC باشد. ممکن است لازم باشد در ۲ تا ۳ مکان از نوار چسب یا نوار چسب استفاده کنید تا ساختار پایدار بماند.


علاوه بر آردوینو و سلف ها، به: یک ترانزیستور 2N3055 NPN، یک پل دیود 1 آمپر (مجموعه دیود، آنها دارای چهار لید)، یک LED، یک مقاومت 100 اهم، دو خازن 47 nF، یک باتری 9 ولتی نیاز خواهیم داشت. قدرت آردوینو و ترجیحاً دو برد نمونه اولیه. نمودار اتصال قطعات برای ایجاد یک دستگاه انتقال داده بی سیم در شکل زیر نشان داده شده است.



مدار را می توان با کد آردوینو ساده زیر تست کرد.


void setup() (pinMode(13,OUTPUT)؛ ) void loop() (digitalWrite(13,HIGH)؛ delay(0.5); digitalWrite(13,LOW); delay(0.5)؛ )

با این حال، یک دستگاه انتقال انرژی بی سیم ساده را می توان بدون آردوینو ساخت. در اصل، ما فقط می توانیم از یک ترانزیستور 2N2222 استفاده کنیم. سرب پایه آن را به انتهای اول سیم پیچ و کلکتور را به انتهای دیگر سیم پیچ وصل کنید. ترمینال امیتر به باتری متصل است. در نتیجه، چنین ساخت و ساز ساده ممکن است شبیه به این باشد:




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

کنترلر شارژ خورشیدی PWM آردوینو
چگونه یک کنترلر شارژ خورشیدی PWM بسیار کوچک، ساده و ارزان با آردوینو پرو مینی برای تنظیمات 12 ولتی خارج از شبکه بسازیم. PCB به اندازه مینی برد Pro است، بنابراین می توان آنها را به هم متصل کرد. PCB برای یک برد نمونه جهانی برنامه ریزی می کند.

اتصال و استفاده از این کنترلر شارژ خورشیدی آردوینو بسیار ساده است - 2 سیم ورودی از پنل خورشیدی (+ و -) وجود دارد و 2 سیم خروجی به باتری اسید سرب می رود. پایه پنل خورشیدی و باتری ها به هم متصل شده اند. هر بار باید مستقیماً به پایانه های باتری متصل شود و کنترل کننده شارژ به طور خودکار بقیه را کنترل می کند.

آردوینو به طور مرتب ولتاژ باتری سرب و اسید را با توجه به مقدار مشخصی اندازه گیری می کند، برای شارژ باتری از پنل خورشیدی به ماسفت سوئیچ می کند و زمانی که باتری کاملاً شارژ شد، ماسفت را خاموش می کند. هنگامی که بار از باتری برق می گیرد، کنترل کننده افت ولتاژ را تشخیص می دهد و بلافاصله شروع به شارژ مجدد باتری می کند. در طول شب که تولید پنل خورشیدی متوقف می شود، کنترلر منتظر می ماند تا پانل دوباره شروع به خروجی کند.


سیم مثبت پانل خورشیدی به یک دیود محافظ شاتکی نیاز دارد که مستقیماً روی کابل (پیچیده شده در لوله انقباض حرارتی) نصب شده باشد. این در PCB اصلی گنجانده نشده است زیرا تعویض آن و خنک شدن همزمان آن را آسان تر می کند. شما به راحتی می توانید برد را کمی طولانی تر کنید تا در نوع دیگری از دیود قرار گیرد.

شرح شماتیک و توابع:

این عملکرد بر اساس ماسفت کانال N IRF3205 در سمت بالای مدار است. برای روشن کردن صحیح ماسفت به ولتاژ گیت بالاتر از 12 ولت نیاز است. برای از بین بردن نیاز به درایور ماسفت خارجی، توسط یک پمپ شارژ ایجاد شده با دیودها، 2 خازن و دو پایه خروجی PWM آردوینو (3 و 11) هدایت می شود. پایه A1 ولتاژ باتری را اندازه گیری می کند و پایه 9 چرخه روشن/خاموش ماسفت را کنترل می کند. یک LED یکپارچه Arduino Pro Mini متصل به پایه 13 برای نشان دادن چرخه فعلی سیگنال PWM استفاده می شود.

تنظیم کننده ولتاژ و تمام خازن های اطراف (C6، C5 و C4) را می توان حذف کرد زیرا یک تنظیم کننده در آردوینو پرو مینی وجود دارد. با این حال، چون من از یک برد کلون ارزان استفاده می کردم، نمی خواهم به توانایی آن برای پشتیبانی از ولتاژهای بالاتر از 12 ولت برای مدت زمان طولانی تری تکیه کنم. LP2950 تا 30 ولت بسیار ارزان و کارآمد است، بنابراین به هر حال ارزش داشتن آن را دارد.


لیست قطعات: رگولاتور ولتاژ پایین LP2950ACZ-5.0 ترانزیستور 2N3904 2N3906 x 2 MOSFET IRF3205 N-channel مقاومت 82K (1%) 20K (1%) 220K x3 (0.4W کافی است) 4K7 x4N کافی است (0.4W کافی است) 4K7 x4N کافی است (0. P6KE33CA 90SQ035 (یا هر دیود شاتکی مشابه 35 ولت در دقیقه 9 آمپر) خازن های 47 N / 50 ولت x2 سرامیک 220P / 100 ولت سرامیک 1M / 50 ولت (1000nF) سرامیک 4M7 / 10MV / tantalum x2V5

شماتیک و کد این کنترلر شارژ توسط جولیان یلت است، او الهام بخش این چیز هوشمند است. همه اینها فقط مستندات پیچیده و طراحی PCB منطبق برای مطابقت کامل با برد Arduino Pro Mini است. این یک ویدیو از تنظیم کننده شارژ کارآمدتر آردوینو MPPT به اشتراک می گذارد، اما ساخت آن بسیار پیچیده تر است و پروژه هنوز کامل نشده است. اگر می توانید کد یا طراحی را به هر نحوی بهبود بخشید، لطفاً پیشرفت های خود را در نظرات به اشتراک بگذارید.

نه تنها یک پروژه جالب، بلکه یک پروژه مفید برای آردوینو در زندگی روزمره توسط تیم Electro-Labs در وبلاگ خود ارائه شد. در این پروژه یک محافظ قابل برنامه ریزی برای آردوینو ساخته شد که به عنوان شارژر باتری های لیتیومی عمل می کند. این محافظ شامل یک صفحه نمایش LCD و یک رابط فشاری است که به کاربر اجازه می دهد ولتاژ را از 2 ولت به 10 ولت و جریان را از 50 میلی آمپر به 1.1 آمپر تنظیم کند. این دستگاه همچنین قابلیت کنترل فرآیند شارژ را نیز فراهم می کند.

این محافظ بر اساس تراشه LT1510 ساخته شده و توسط Arduino Uno کنترل می شود. این نمایشگر از یک LCD ساده و مقرون به صرفه نوکیا 5110 استفاده می کند. از طریق رابط SPI متصل می شود و با ولتاژ 3.3 ولت تغذیه می شود. از آنجایی که پین ​​های ورودی/خروجی آردوینو با ولتاژ 5 ولت کار می کنند، توصیه می شود ماژول LCD را از طریق مقاومت هایی که به صورت سری به خطوط سیگنال متصل هستند وصل کنید. دو کانکتور برای اتصال باتری های Li-Ion موجود است. چهار دکمه کنترل به پین ​​های آردوینو A2-A5 متصل می شوند. ولتاژ باتری و جریان شارژ از طریق پین های آنالوگ A0 و A1 کنترل می شود. جزئیات تبدیل آنالوگ به دیجیتال در کد منبع پروژه توضیح داده شده است. برای نشان دادن عملکرد دستگاه از دو LED SMD استفاده شده است.

نمودار شماتیک پروژه در SoloCapture از بسته SoloPCBtools توسعه یافته است. Shield می تواند بدون کنترل میکروکنترلر کار کند. هنگامی که آردوینو برنامه ریزی نشده باشد، شارژر به طور پیش فرض دارای ولتاژ قطع 4.2 ولت و حداکثر جریان شارژ 1.1 آمپر است. برد مدار چاپی در SoloPSB طراحی شده است. طراحی PCB و خود برنامه SoloPSB را می توان از electro-labs.com دانلود کرد. ابعاد سپر برای قرار گرفتن آن در Arduino Uno انتخاب شده است. LED ها، رابط دکمه، صفحه نمایش LCD و کانکتورهای باتری برای راحتی در بالا قرار گرفته اند. تمام عناصر دیگر در سمت عقب سپر قرار دارند.

نمایشگر LCD طوری برنامه ریزی شده است که چهار صفحه را نمایش می دهد که به کاربر اجازه می دهد پارامترهای شارژ را وارد کرده و فرآیند شارژ را کنترل کند. در صفحه اول کاربر می تواند ولتاژ قطع و حداکثر جریان شارژ را تنظیم کند، به صفحه وضعیت باتری رفته و شروع به شارژ کند. دکمه های بالا و پایین برای حرکت بین گزینه ها استفاده می شود، در حالی که دکمه های راست و چپ برای تغییر پارامترها و انتخاب گزینه ها استفاده می شوند. صفحه دوم وضعیت باتری را نشان می دهد. در آن می توانید ولتاژ فعلی باتری را مشاهده کنید. صفحه سوم ولتاژ و جریان شارژ را نشان می دهد. دکمه چپ یا راست در این صفحه می تواند فرآیند شارژ را متوقف کند و به صفحه تنظیمات بازگردد. هنگامی که ولتاژ باتری به مقدار تنظیم شده رسید، شارژر متوقف می شود و پیام "شارژ کامل" را نمایش می دهد. برای خروج، کلید سمت چپ را فشار دهید.

از آردوینو و مدار شارژ اضافه شده به آن می توان برای نظارت و کنترل شارژ باتری های NiMH استفاده کرد، مانند موارد زیر:

دستگاه تمام شده

باتری های قابل شارژ یک راه عالی برای تغذیه وسایل الکترونیکی قابل حمل شما هستند. آنها در صورت شارژ صحیح می توانند در هزینه های شما صرفه جویی زیادی داشته باشند. برای اینکه بیشترین استفاده را از باتری های خود ببرید، باید به درستی شارژ شوند. این بدان معناست که شما به یک شارژر خوب نیاز دارید. می توانید برای خرید یک شارژر آماده پول زیادی خرج کنید یا خودتان از ساخت آن لذت ببرید. در این مقاله، نحوه ایجاد یک شارژر کنترل شده آردوینو را بررسی خواهیم کرد.

ابتدا، توجه به این نکته مهم است که هیچ روش شارژ جهانی وجود ندارد که برای همه باتری ها مناسب باشد. انواع مختلف باتری ها از فرآیندهای شیمیایی مختلفی برای کارکرد آنها استفاده می کنند. در نتیجه، انواع مختلف باتری ها نیاز به شارژ متفاوت دارند. در این مقاله نمی‌توان به انواع باتری‌ها و روش‌های شارژ اشاره کرد. بنابراین، برای سادگی، ما بر روی رایج ترین نوع باتری سایز AA، باتری نیکل متال هیدرید (NiMH) تمرکز خواهیم کرد.

تجهیزات جانبی

لیست قطعات از چپ به راست:

  • مقاومت قدرتمند 10 اهم (حداقل 5 وات)؛
  • مقاومت 1 MΩ؛
  • خازن 1uF؛
  • ترانزیستور ماسفت IRF510;
  • سنسور دما TMP36;
  • منبع تغذیه 5 ولت؛

نحوه شارژ باتری های NiMH AA

افزایش نرخ شارژ، خطر آسیب دیدن باتری را افزایش می دهد.

راه های زیادی برای شارژ باتری های NiMH وجود دارد. اینکه از کدام روش استفاده می کنید عمدتاً به سرعت شارژ باتری خود بستگی دارد. میزان شارژ با توجه به ظرفیت باتری اندازه گیری می شود. اگر باتری شما 2500 میلی آمپر ساعت ظرفیت دارد و آن را با 2500 میلی آمپر شارژ می کنید، آن را با سرعت 1C شارژ می کنید. اگر همان باتری را با 250 میلی آمپر شارژ کنید، آن را با C/10 شارژ می کنید.

هنگام شارژ سریع باتری (بالای C/10)، باید ولتاژ و دمای باتری را به دقت کنترل کنید تا بیش از حد شارژ نشود. این می تواند آسیب جدی به باتری وارد کند. با این حال، هنگامی که باتری را به آرامی شارژ می کنید (با نرخ کمتر از C/10)، در صورت شارژ بیش از حد آن، احتمال آسیب رساندن به باتری بسیار کمتر است. بنابراین، روش‌های شارژ آهسته به طور کلی ایمن‌تر در نظر گرفته می‌شوند و به شما در افزایش عمر باتری کمک می‌کنند. بنابراین در شارژر خانگی خود از نرخ شارژ C/10 استفاده خواهیم کرد.

مدار شارژ

برای این شارژر، اساس مداری برای کنترل منبع تغذیه با استفاده از آردوینو است. مدار توسط یک منبع 5 ولتی مانند آداپتور AC یا منبع تغذیه کامپیوتر تغذیه می شود. اکثر پورت های USB به دلیل محدودیت های فعلی برای این پروژه مناسب نیستند. منبع 5 ولت باتری را از طریق یک مقاومت قدرتمند 10 اهم و یک ترانزیستور قدرتمند MOSFET شارژ می کند. ترانزیستور ماسفت میزان جریان عبوری از باتری را کنترل می کند. مقاومت به عنوان یک راه آسان برای کنترل جریان اضافه شده است. کنترل جریان با اتصال هر پایه مقاومت به پایه های ورودی آنالوگ آردوینو و اندازه گیری ولتاژ در هر طرف انجام می شود. ترانزیستور ماسفت توسط پین خروجی PWM آردوینو هدایت می شود. پالس های سیگنال مدولاسیون عرض پالس توسط یک فیلتر روی یک مقاومت 1 MΩ و یک خازن 1 μF تا یک ولتاژ ثابت صاف می شوند. این مدار به آردوینو اجازه می دهد تا جریان عبوری از باتری را نظارت و کنترل کند.


حسگر دما

سنسور دما برای جلوگیری از شارژ بیش از حد باتری و اطمینان از ایمنی کار می کند.

به عنوان یک اقدام احتیاطی اضافی، یک سنسور دمای TMP36 برای نظارت بر دمای باتری به شارژر اضافه شده است. این سنسور ولتاژی تولید می کند که به طور خطی به دما وابسته است. بنابراین، بر خلاف ترمیستورها، نیازی به کالیبراسیون یا تعادل ندارد. سنسور در یک سوراخ حفر شده در محفظه نگهدارنده باتری نصب شده و به سوراخ چسبانده شده است تا زمانی که باتری در نگهدارنده نصب می شود، روی آن فشار داده شود. پایه های سنسور به ریل 5 ولت، به کیس و به پایه ورودی آنالوگ آردوینو متصل می شوند.

نگهدارنده باتری AA قبل و بعد از نصب روی تخته نان

کد


کد این پروژه بسیار ساده است. متغیرهای ابتدای کد منبع به شما این امکان را می دهند که با وارد کردن ظرفیت باتری و مقاومت دقیق مقاومت برق، شارژر را شخصی سازی کنید. متغیرهای آستانه ایمن نیز اضافه شده است. حداکثر ولتاژ مجاز باتری روی 1.6 ولت تنظیم شده است. حداکثر دمای باتری روی 35 درجه سانتیگراد تنظیم شده است. حداکثر زمان شارژ روی 13 ساعت تنظیم شده است. اگر هر یک از این آستانه های ایمنی فراتر رود، شارژر خاموش می شود.

در بدنه برنامه مشاهده می کنید که سیستم به طور مداوم ولتاژهای خروجی یک مقاومت قدرتمند را اندازه گیری می کند. این برای محاسبه مقادیر ولتاژ روی باتری و جریان عبوری از آن استفاده می شود. جریان با مقدار هدف مقایسه می شود که C/10 است. اگر جریان محاسبه شده با مقدار هدف بیش از 10 میلی آمپر متفاوت باشد، سیستم به طور خودکار مقدار خروجی را برای اصلاح آن تنظیم می کند.

آردوینو از رابط سریال برای نمایش تمام داده های فعلی استفاده می کند. اگر می‌خواهید شارژر خود را کنترل کنید، می‌توانید آردوینو را به پورت USB رایانه خود وصل کنید، اما این کار ضروری نیست زیرا آردوینو از منبع تغذیه 5 ولت شارژر تغذیه می‌کند.

ظرفیت باتری داخلی = 2500; // مقدار ظرفیت باتری در مقاومت شناور میلی آمپر ساعت = 10.0; // مقاومت مقاومت قدرت اندازه گیری شده در داخل قطع ولتاژ = 1600; // حداکثر ولتاژ باتری (بر حسب میلی ولت) که نباید از آن بیشتر شود. // حداکثر دمای باتری که نباید از آن بیشتر شود (در درجه سانتیگراد) //float cutoffTemperatureF = 95; // حداکثر دمای باتری که نباید از آن بیشتر شود (در درجه فارنهایت) زمان قطع طولانی = 46800000; // حداکثر زمان شارژ 13 ساعت، که نباید از خروجی int بیشتر شودPin = 9; // سیم خروجی متصل به پین ​​دیجیتال 9 int outputValue = 150; // مقدار خروجی PWM int analogPinOne = 0; // اولین پروب ولتاژ متصل به پین ​​آنالوگ 0 float valueProbeOne = 0; // متغیر برای ذخیره مقدار در analogPinOne float voltageProbeOne = 0; // ولتاژ محاسبه شده در analogPinOne int analogPinTwo = 1; // پروب ولتاژ دوم متصل به پایه آنالوگ 1 float valueProbeTwo = 0; // متغیر برای ذخیره مقدار در analogPinTwo float voltageProbeTwo = 0; // ولتاژ محاسبه شده در analogPinTwo int analogPinThree = 2; // پروب ولتاژ سوم متصل به پین ​​آنالوگ 2 float valueProbeThree = 0; // متغیر برای ذخیره مقدار در analogPinThree float tmp36Voltage = 0; // ولتاژ محاسبه شده روی آنالوگPinThree float temperatureC = 0; // دمای سنسور محاسبه شده بر حسب درجه سانتیگراد // دمای شناورF = 0; // دمای سنسور محاسبه شده بر حسب درجه فارنهایت ولتاژ شناور اختلاف = 0; // تفاوت بین ولتاژهای analogPinOne و analogPinTwo float battery Voltage = 0; // ولتاژ محاسبه شده باتری جریان شناور = 0; // جریان محاسبه شده از طریق بار در (mA) float targetCurrent = ظرفیت باتری / 10; // جریان خروجی هدف (بر حسب میلی آمپر) روی // C/10 یا 1/10 ظرفیت باتری جریان شناور تنظیم شده استError = 0; // تفاوت بین جریان هدف و جریان واقعی (بر حسب میلی آمپر) void setup() (Serial.begin(9600)؛ // راه اندازی رابط سریال pinMode(outputPin, OUTPUT)؛ // تنظیم پین به عنوان خروجی ) void loop() (analogWrite ( outputPin، outputValue)؛ // مقدار خروجی را در پین خروجی بنویسید Serial. print("Output:")؛ // مقادیر خروجی را برای کنترل در رایانه نشان می دهد Serial. println(outputValue); valueProbeOne = analogRead(analogPinOne )؛ // خواندن مقدار ورودی در اولین پروب voltageProbeOne = (valueProbeOne*5000)/1023 // محاسبه ولتاژ روی پروب اول بر حسب میلی ولت Serial.print("Voltage Probe One (mV):"); // نشان دادن ولتاژ در پروب اول Serial.println(voltageProbeOne); valueProbeTwo = analogRead(analogPinTwo)؛ // مقدار ورودی را در پروب دوم بخوانید voltageProbeTwo = (valueProbeTwo*5000)/1023؛ // ولتاژ را در پروب دوم محاسبه کنید Serial.print("Voltage Probe Two (mV): ")؛ // نشان دادن ولتاژ در پروب دوم Serial.println(voltageProbeTwo); باتری ولتاژ = 5000 - voltageProbeTwo; // محاسبه ولتاژ باتری Serial.print("ولتاژ باتری (mV): "); // نمایش ولتاژ باتری Serial.println(batteryVoltage); جریان = (voltageProbeTwo - voltageProbeOne) / مقاومت؛ // محاسبه جریان شارژ Serial.print("Target Current (mA):"); // نشان دادن هدف فعلی Serial.println(targetCurrent); Serial.print ("جریان باتری (mA): "); // نمایش واقعی فعلی Serial.println(current); currentError = targetCurrent - فعلی; // تفاوت بین جریان های هدف و اندازه گیری شده Serial.print("Current Error (mA):"); // نمایش خطای تنظیمات فعلی Serial.println(currentError); valueProbeThree = analogRead(analogPinThree); // مقدار ورودی سومین پروب را بخوانید، tmp36Voltage = valueProbeThree * 5. 0; // تبدیل آن به ولتاژ tmp36Voltage /= 1024.0; درجه حرارتC = (tmp36ولتاژ - 0.5) * 100 ; // تبدیل بر اساس 10 میلی ولت در هر درجه با افست 500 میلی ولت // ((ولتاژ - 500 میلی ولت) ضرب 100) سریال. print("دما (درجه سانتیگراد)"); // نمایش دما بر حسب درجه سلسیوس Serial.println(temperatureC); /* درجه حرارتF = (دما C * 9.0 / 5.0) + 32.0؛ //convert to Fahrenheit Serial.print("دما (درجه فارنهایت)"); Serial.println(temperatureF); */ Serial.println(); // خطوط خالی اضافی برای آسان تر خواندن داده ها هنگام اشکال زدایی Serial.println(); if(abs(currentError) > 10) // اگر خطای تنظیم جریان به اندازه کافی بزرگ است، ولتاژ خروجی را تنظیم کنید (outputValue = outputValue + currentError / 10; if(outputValue< 1) // выходное значение никогда не может быть ниже 0 { outputValue = 0; } if(outputValue >254) // مقدار خروجی هرگز نمی تواند بیشتر از 255 باشد (outputValue = 255; ) analogWrite(outputPin, outputValue); // مقدار خروجی جدید را بنویسید) if(temperatureC > cutoffTemperatureC) // توقف شارژ اگر دمای باتری از آستانه ایمن فراتر رفت (outputValue = 0; Serial.print ("Max Temperature Exceeded"); ) /* if(temperatureF > cutoffTemperatureF) / / اگر دمای باتری از آستانه ایمن فراتر رفت، شارژ را متوقف کنید (مقدار خروجی = 0؛ ) */ if(ولتاژ باتری > ولتاژ قطع) // اگر ولتاژ باتری از آستانه ایمن فراتر رفت، شارژ را متوقف کنید (مقدار خروجی = 0؛ چاپ سریال ("حداکثر ولتاژ بیش از حد")؛ ) اگر (millis() > cutoffTime) // توقف شارژ اگر زمان شارژ از آستانه فراتر رفت ( outputValue = 0; Serial.print ("Max Charge Time Exceeded"); ) delay(10000); // تاخیر 10 ثانیه قبل از تکرار بعدی حلقه )

نسخه قابل دانلود کد منبع را می توانید در لینک زیر پیدا کنید.

برترین مقالات مرتبط