Professional Documents
Culture Documents
Battery Tester
Battery Tester
ﻓ ﻫﺬا اﻟﻤﺸﺮوع ﺳﻨﺘﻌﻠﻢ ﻛﻴﻔﻴﺔ اﺳﺘﺨﺪام اﻷردوﻳﻨﻮ ﻟﻌﻤﻞ ﺟﻬﺎز ﺑﺴﻴﻂ ﻳﺴﺘﺨﺪم ﻹﺧﺘﺒﺎر ﺣﺎﻟﺔ اﻟﺒﻄﺎرﻳﺔ.
اﻟﻤﻮﻧﺎت اﻟﻤﻄﻠﻮﺑﺔ
Arduino Uno
1/8
Blue LED
Green LED
Red LED
2/8
Ohm Resistors 220
3/8
Breadboard
Wires
اﻟﺒﻄﺎرﻳﺔ Battery
اﻟﺒﻄﺎرﻳﺔ اﺣﺪ اﻫﻢ اﻟﻮﺳﺎﺋﻞ ﻟﻠﺤﺼﻮل ﻋﻠ ﺟﻬﺪ ﻛﻬﺮﺑﺎﺋ ﻟﺘﺸﻐﻴﻞ ﻣﺨﺘﻠﻒ اﻷﺟﻬﺰة .وﻫ ﻋﺒﺎرة ﻋﻦ وﻋﺎء ﻳﺤﺘﻮي ﻋﻠ ﻣﻮاد ﻛﻴﻤﻴﺎﺋﻴﺔ ﺗﺘﻔﺎﻋﻞ
ﻣﻊ ﺑﻌﻀﻬﺎ ﻟﺘﻮﻟﻴﺪ ﺳﻴﻞ ﻣﻦ اﻹﻟﺘﺮوﻧﺎت .وﻣﻊ ﻣﺮور اﻟﻮﻗﺖ واﻹﺳﺘﺨﺪام ﻳﻘﻞ ﻫﺬا اﻟﺘﻔﺎﻋﻞ اﻟﻴﻤﻴﺎﺋ ﻣﻤﺎ ﻳﺆدي إﻟ ﻗﻠﺔ اﻟﺸﺤﻨﺎت اﻟﻬﺮﺑﺎﺋﻴﺔ
وﺑﺎﻟﺘﺎﻟ اﻧﺘﺎج ﻓﻮﻟﺘﻴﺔ اﻗﻞ.
4/8
ﻛ ﻧﺘﻌﺮف ﻋﻠ ﺣﺎﻟﺔ اﻟﺒﻄﺎرﻳﺔ ،ﺳﻨﻘﻮم ﺑﻘﻴﺎس ﺟﻬﺪﻫﺎ ﻟﻤﻌﺮﻓﺔ ﻣﺎ إذا ﻛﺎﻧﺖ اﻟﺒﻄﺎرﻳﺔ ﺿﻌﻴﻔﺔ أم ﻣﺘﻮﺳﻄﺔ أم ﺟﻴﺪة اﻟﺸﺤﻦ.
ﺗﻮﺻﻴﻞ اﻟﺪارة
ﻗﻢ ﺑﺘﻮﺻﻴﻞ اﻟﺪارة ﻛﻤﺎ ﻫﻮ ﻣﺒﻴﻦ ﺑﺎﻟﺸﻞ اﻟﺘﺎﻟ:
اﻻردوﻳﻨﻮ اﻟﺒﻄﺎرﻳﺔ
A0 اﻻﺣﻤﺮ
Ground اﻻﺳﻮد
5/8
ﺳﻴﻘﻮم اﻷردوﻳﻨﻮ ﺑﻘﻴﺎس ﺟﻬﺪ اﻟﺒﻄﺎرﻳﺔ وﻣﻘﺎرﻧﺘﻪ ﻣﻊ ﻗﻴﻢ ﻣﺤﺪدة ،واﻋﺘﻤﺎدا ﻋﻠ ﺟﻬﺪ اﻟﺒﻄﺎرﻳﺔ ﺳﻴﺘﻢ إﺿﺎءة واﺣﺪ ﻣﻦ .LEDsﻋﻠ ﺳﺒﻴﻞ
اﻟﻤﺜﺎل إذا ﻛﺎﻧﺖ اﻟﺒﻄﺎرﻳﺔ ﺟﻴﺪة ﺳﻴﺘﻢ إﺿﺎءة الـ LEDاﻻﺧﻀﺮ ،وإذا ﻛﺎﻧﺖ ﺿﻌﻴﻔﺔ ﻳﻀء اﻷﺣﻤﺮ ،وإذا ﻛﺎﻧﺖ ﻣﺘﻮﺳﻄﺔ ﻳﻀء اﻷﺻﻔﺮ.
6/8
ﻮد اﻟﺒﺮﻣﺠاﻟ
// new indicator
#define gled 2
// ok indicator
#define yled 4
// old indicator
#define rled 6
int analogVal = 0;
float voltage = 0;
void setup() {
// put your setup code here, to run once:
pinMode(gled, OUTPUT);
pinMode(yled, OUTPUT);
pinMode(rled, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
analogVal = analogRead(0);
voltage = 0.0048*analogVal;
if(voltage > 1.6)
{
digitalWrite(gled, HIGH);
delay(2000);
digitalWrite(gled, LOW);
delay(1000);
}
else if(voltage < 1.6 && voltage > 1.4)
{
digitalWrite(yled, HIGH);
delay(2000);
digitalWrite(yled, LOW);
delay(1000);
}
else if(voltage <= 1.4)
{
digitalWrite(rled, HIGH);
delay(2000);
digitalWrite(rled, LOW);
delay(1000);
}
}
: ﻮدﺷﺮح اﻟ
ﺳﻨﺤﺘﺎﺟﻬﺎ ﻓ ﺛﻢ ﻳﺘﻢ اﻹﻋﻼن ﻋﻦ اﻟﻤﺘﻐﻴﺮات اﻟﺘ.ﺘﺮوﻧﻴﺔ ﺗﻢ ﺗﻮﺻﻴﻠﻬﺎ ﻣﻊ اﻟﻘﻄﻊ اﻻﻟ ﻧﻘﻮم ﺑﺘﺴﻤﻴﺔ ﻣﻨﺎﻓﺬ اﻻردوﻳﻨﻮ اﻟﺘ، اﻟﺒﺪاﻳﺔﻓ
ﺑﻌﺪ ﻟﺘﺴﺠﻴﻞ ﺟﻬﺪ اﻟﺒﻄﺎرﻳﺔ اﻟﻔﻌﻠvoltage واﻟﻤﺘﻐﻴﺮ. ﻟﺘﺴﺠﻴﻞ ﻗﺮاءة اﻷردوﻳﻨﻮ ﻟﻠﺒﻄﺎرﻳﺔanalogVal ﺳﻴﺘﻢ اﺳﺘﺨﺪام اﻟﻤﺘﻐﻴﺮ.اﻟﺒﺮﻧﺎﻣﺞ
. ﻗﻴﻤﺔ اﻟﺠﻬﺪ اﻟﻔﻌﻠﺗﺤﻮﻳﻠﻬﺎ إﻟ
7/8
// new indicator
#define gled 2
// ok indicator
#define yled 4
// old indicator
#define rled 6
int analogVal = 0;
float voltage = 0;
void setup() {
// put your setup code here, to run once:
pinMode(gled, OUTPUT);
pinMode(yled, OUTPUT);
pinMode(rled, OUTPUT);
}
. ﻗﻴﻤﺔ اﻟﺠﻬﺪ اﻟﻔﻌﻠﻴﺔ ﻧﻘﻮم ﺑﻘﺮاءة ﻗﻴﻤﺔ ﺟﻬﺪ اﻟﺒﻄﺎرﻳﺔ ﺛﻢ ﺗﺤﻮﻳﻠﻬﺎ إﻟ،loop() اﻟﺪاﻟﺔﻓ
analogVal = analogRead(0);
voltage = 0.0048*analogVal;
. اﻟﺬي ﻳﻌﺒﺮ ﻋﻦ ﺣﺎﻟﺔ اﻟﺒﻄﺎرﻳﺔLED ﻫﺬا اﻟﺠﻬﺪ ﻳﺘﻢ إﺿﺎءة الـ وإﻋﺘﻤﺎدا ﻋﻠ،ﺛﻢ ﻧﻘﻮم ﺑﻌﻤﻠﻴﺔ اﻟﻤﻘﺎرﻧﻪ ﻟﻠﺠﻬﺪ ﺑﻘﻴﻢ ﻣﻌﻴﻨﺔ
8/8