- ابزارآلات و آهنربا
-
ابزارآلات
- ابزار اندازه گیری (مولتیمتر، کولیس و . . .)
- ابزار سوراخکاری (مته، سه نظام، چهار نظام، پنج نظام و . . .)
- ابزار و تجهیزات کار (پیچ گوشتی، انبردست، سیمچین، پنس و . . .)
- برد بورد، فیبر خام و سوراخدار (فیبر مدار چاپی و PCB)
- پیچ و اسپیسر (پیچ و مهره رباتیک و اسپیسر پلاستیکی و فلزی)
- سیم و کابل (سیم افشان، فلت، باندی، کابل شارژ، پرینتر، و . . .)
- لحیمکاری (هویه، نوک هویه، پایه هویه، سیم لحیم، روغن لحیم و . . . )
- منبع تغذیه، باتری و جاباتری (باتری قلمی، نیم قلمی، کتابی و . . . )
-
ابزارآلات
- برد هوشمند
- پرینتر سه بعدی
- رباتیک و پروازی
- ماژول
- قطعات الکترونیک
- کیت الکترونیکی و انواع جعبه
- موتور
- اصناف مختلف
ساخت مدار نشانگر دمای محیط با RGB LED
در این پروژه میخواهیم به کمک یک ترمیستور و چند LED، اقدام به ساخت مدار نشانگر دمای محیط با RGB LED بکنیم و دما را با رنگ نمایش دهیم. لازم به ذکر است که رنگ آبی برای حداقل دما (یعنی 20 درجه) و رنگ قرمز برای حداکثر دما (یعنی 50 درجه) خواهد بود و ترکیبهای مختلف این دو رنگ نیز دمای بین دو عدد گفته شده را نشان میدهند.
فهرست مطالب
لوازم مورد نیاز برای پروژه ساخت مدار نشانگر دمای محیط با RGB LED
دو LED چهار پایه کاتد مشترک RGB
ترمیستور
یک مقاومت 10 کیلو اهم
سه مقاومت 330 اهم
برد آردوینو Uno
برد بورد
سیم جامپر
ترمیستور چیست؟
ترمیستور یک المان الکتریکی از خانواده مقاومتها است که مقاومت آن با تغییرات دما تغییر میکند به همین خاطر میتوان آن را با یک مقاومت موازی، تغییرات را به ولتاژ و سپس ولتاژ را به دما تبدیل کرد.
نحوه فعالیت پروژه ساخت مدار نشانگر دمای محیط با RGB LED
در این پروژه میخواهیم به کمک یک ترمیستور، دمای محیط را اندازهگیری کنیم و آن را با رنگ نمایش دهیم. رنگ آبی برای حداقل دما (یعنی 20 درجه) و قرمز برای حداکثر دما (یعنی 40 درجه) خواهد بود و ترکیبهای مختلف این دو رنگ نیز دمای بین این دو مقدار را نشان خواهند داد.
مدار پروژه ساخت مدار نشانگر دمای محیط با RGB LED
شما باید مدار این پروژه را طبق تصویر زیر سیمکشی کنید.
شدت نور هر رنگ LED توسط PWM کنترل میشود و مقدار PWM نیز وابسته به دمای خوانده شده از ترمیستور میباشد.
در تابع readThermistor()، مقدار ولتاژ خوانده شده را به دما بر حسب سلسیوس (سانتیگراد) تبدیل کردیم و در بخش Loop با استفاده از این دما، دو رنگ آبی و قرمز LED را کنترل میکنیم. برای آزمایش مدار و گرم شدن ترمیستور، میتوانید آن را میان انگشتان خود بگیرید و برای سرد شدن، آن را فوت کنید!
کدنویسی پروژه ساخت مدار نشانگر دمای محیط با RGB LED
کدهای زیر را برای این پروژه آردوینو آپلود کنید.
#define TEMP_PIN A0
#define RED_PIN 9
#define GREEN_PIN 10
#define BLUE_PIN 11
int adc = 0;
int blue = 0, red = 0;
double ReadThermistor(int adc) {
double resistance = ((1024.0/adc) - 1); //calculate from voltage divider, for 10k resistor
double Temp = log(resistance);
// calculate the temperature, in K, using 4 thermistor model/material specific parameters A, B, C, D
// here we use the values for the Sparkfun/Hactronics version of the Vishay 10k NTC thermistor
Temp = 1 / (0.003354016 + 0.0002569850 * Temp + 0.000002620131 * Temp * Temp + 0.00000006383091 * Temp * Temp * Temp);
Temp = Temp - 273.15; // Convert Kelvin to Celsius
return Temp;
}
void setLED(int blue, int red){
analogWrite(BLUE_PIN, blue);
analogWrite(RED_PIN, red);
}
void setup(){
Serial.begin(9600);
pinMode(BLUE_PIN, OUTPUT);
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(TEMP_PIN, INPUT);
}
void loop(){
adc = analogRead(TEMP_PIN);
int temp = ReadThermistor(adc);
Serial.println(temp);
red = map(temp, 20, 40, 0, 255);
blue = 255 - rsetLED(blue, red);
ed;}
توضیحات کدهای پروژه ساخت مدار نشانگر دمای محیط با RGB LED
در بخش ابتدایی این کدها، برای هر پین یک متغیر و یک نشانگر LED تعریف کردهایم.
#define TEMP_PIN A0
#define RED_PIN 9
#define GREEN_PIN 10
#define BLUE_PIN 11
int adc = 0;
int blue = 0, red = 0;
با استفاده از چند خط کد زیر، دما را به واحد سلسیوس (سانتیگراد) تبدیل کردهایم.
// calculate the temperature, in K, using 4 thermistor model/material specific parameters A, B, C, D
// here we use the values for the Sparkfun/Hactronics version of the Vishay 10k NTC thermistor
Temp = 1 / (0.003354016 + 0.0002569850 * Temp + 0.000002620131 * Temp * Temp + 0.00000006383091 * Temp * Temp * Temp);
Temp = Temp - 273.15; // Convert Kelvin to Celsius
در بخش Setup، سریال مانیتور را با بادریت 9600 آغاز میکنیم.
}
void setup(){
Serial.begin(9600);
در ادامه، پینهای LED و سنسور دما را به ترتیب خروجی و ورودی تعریف میکنیم.
pinMode(BLUE_PIN, OUTPUT);
pinMode(RED_PIN, OUTPUT);
pinMode(GREEN_PIN, OUTPUT);
pinMode(TEMP_PIN, INPUT);
در پایان اشاره کنیم که هر چهقدر دما بالاتر برود، نور LED RGB قرمزتر میشود و میتوان از آن به عنوان نمایشگر دما استفاده کرد.