🔋 باتری بزرگ (D) (D Battery)
| اسم انگلیسی | D Battery |
|---|---|
| در ووکوی (Wokwi) | نسخهی آمادهای سراغ نداریم |
| دسته | 🔋 باتری و منبع تغذیه |
| در شبیهساز فارسی | مود ساده (بدون کد) و مود آردوینو · رایگان |
باتری بزرگ D (D Battery) درشتترین سلول ۱٫۵ ولتی رایج است؛ ظرفیتش حدود ۱۲۰۰۰ تا ۱۸۰۰۰ میلیآمپرساعت است، یعنی چند برابر یک قلمی. جایش در پروژههایی است که باید روزها بدون دست زدن کار کنند: یک ثبتکنندهی دما در انباری، یک چراغ اضطراری یا غرفهای در نمایشگاه که از صبح تا شب روشن است. سؤال اصلی اینجاست: «واقعاً چند روز؟» و بهترین جواب، اندازه گرفتن است.
باتری D در ووکوی (Wokwi)
تا جایی که میدانیم ووکوی نسخهی آمادهی این قطعه را ندارد؛ ووکوی هیچ قطعهی باتری ندارد و برق از پایههای 5V و 3V3 برد میآید. منطق کد پایین را میتوانی روی wokwi-arduino-uno یا هر شبیهساز دیگری امتحان کنی، ولی تمام شدن باتری را باید در دنیای واقعی تجربه کنی. باتری D در تینکرکد فارسی (مود ساده و مود آردوینو) رایگان شبیهسازی میشود و برای مقایسهی نور یک LED با سلولهای مختلف به کار میآید.
شش باتری D برای آردوینو اونو
پایهی VIN و جک آداپتور اونو حدود ۷ تا ۱۲ ولت میخواهند. شش سلول D سری حدود ۹ ولت میدهند و تا وقتی ولتاژشان بالای حدود ۷ ولت است، رگولاتور برد ۵ ولت تمیز میسازد.
| پایهی قطعه | وصل به |
|---|---|
| + جاباتری ششتایی D | VIN آردوینو (یا جک DC با فیش مناسب) |
| − جاباتری | GND آردوینو |
| پایهی 5V آردوینو | به باتری وصل نشود |
حساب سرانگشتی: عمر (ساعت) = ظرفیت ÷ جریان. با ۱۲۰۰۰ میلیآمپرساعت و ۵۰ میلیآمپر مصرف، حدود ۲۴۰ ساعت یعنی ده روز. در اتصال سری ظرفیت جمع نمیشود؛ شش باتری همان ظرفیت یکی را با ولتاژ بیشتر دارند. ماشینحساب عمر باتری این حساب را برایت انجام میدهد.
کد نمونه: باتری چند ساعت دوام آورد؟
این برنامه هر ده دقیقه یک بار تعداد دقیقههای روشن ماندن را در حافظهی EEPROM مینویسد. وقتی باتری تمام شد، برد را با USB به کامپیوتر وصل کن؛ اولین خطی که در سریال مانیتور میبینی، عمر باتری قبلی است.
// How long did the battery last? Saves uptime to EEPROM every 10 minutes.
#include <EEPROM.h>
const int ADDR = 0;
const unsigned long SAVE_EVERY_MS = 600000UL; // 10 minutes
unsigned long lastSave = 0;
unsigned long minutesOn = 0;
void setup() {
Serial.begin(9600);
unsigned long lastRun = 0;
EEPROM.get(ADDR, lastRun);
if (lastRun == 0xFFFFFFFFUL) {
lastRun = 0; // fresh chip, nothing saved yet
}
Serial.print("Previous run lasted about ");
Serial.print(lastRun / 60.0, 1);
Serial.println(" hours");
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (millis() - lastSave >= SAVE_EVERY_MS) {
lastSave += SAVE_EVERY_MS;
minutesOn += 10;
EEPROM.put(ADDR, minutesOn); // replaces the old record after the first 10 minutes
}
// a short blink every 5 s shows it is alive without wasting power
digitalWrite(LED_BUILTIN, (millis() % 5000) < 50 ? HIGH : LOW);
}
نوشتن هر ده دقیقه یعنی حدود ۱۴۴ بار در روز؛ هر خانهی EEPROM اونو حدود صد هزار بار نوشتن را تحمل میکند، پس برای نزدیک دو سال آزمایش پشت سر هم جا دارد. یادت باشد بعد از وصل کردن USB، ده دقیقه وقت داری عدد را ببینی؛ بعد از آن رکورد تازه جایش را میگیرد.
اشتباههای رایج
- پنج سلول بهجای شش: پنج D حدود ۷٫۵ ولت میدهند و خیلی زود به زیر ۷ ولت میرسند؛ از آن به بعد ۵ ولت برد پایین میآید و رفتار مدار عجیب میشود.
- هدر دادن انرژی در رگولاتور: رگولاتور خطی اونو اختلاف ۹ و ۵ ولت را به گرما تبدیل میکند. برای عمر بیشتر، یک مبدل کاهندهی LM2596 را روی ۵ ولت تنظیم کن و خروجیاش را به پایهی 5V بده.
- فراموش کردن مصرف خود برد: LED پاور و تراشهی USB اونو حتی وقتی کد کاری نمیکند جریان میکشند؛ برای پروژههای خیلی طولانی بردهای کممصرفتر مناسبترند.
آموزشهای مرتبط
- باتری متوسط C و افت ولتاژ زیر بار
- باتری کتابی ۹ ولت برای آردوینو
- اونو، نانو یا مگا؟ مقایسهی بردها
- خواب عمیق و کار طولانی با باتری
سؤالهای رایج
آردوینو اونو با باتری D چقدر روشن میماند؟
شش باتری D سری حدود ۹ ولت میدهند. اونو با چند قطعهی کوچک حدود ۵۰ میلیآمپر میکشد، پس با ظرفیتی حدود ۱۲۰۰۰ میلیآمپرساعت، از نظر تئوری حدود ده روز کار میکند؛ در عمل کمی کمتر.
چرا با یک باتری D نمیشود LED آبی را روشن کرد؟
چون ولتاژ یک سلول D فقط ۱٫۵ ولت است و LED آبی حدود ۳ ولت میخواهد. اندازهی بزرگ باتری فقط عمرش را زیاد میکند، نه ولتاژش را.