در اینجا قصد داریم یک فن DC با دمای کنترل شده بسازیم. سنسور DHT22 برای تشخیص دمای اتاق استفاده میشود و سپس سرعت فن/موتور DC را با استفاده از PWM ( مدولاسیون عرض پالس ) تنظیم میکنیم. Arduino Uno قلب این پروژه است و یک آی سی درایور L293D برای راه اندازی فن/موتور DC استفاده می شود.
اجزای مورد نیاز
- آردوینو اونو
- آی سی درایور موتور L293D
- سنسور DHT22
- نمایشگر LCD 16×2
- فن/موتور DC
- باتری 9 ولت
- پتانسیومتر 10KΩ
- مقاومت 220Ω
- تخته نان
مدار
توضیح
ابتدا می توانیم آی سی درایور موتور L293D را به صورت زیر به آردوینو وصل کنیم. برای اطلاعات بیشتر در مورد عملکرد L293D می توانید مقالات آی سی موتور درایور L293D و رانندگی موتور H-Bridge را مطالعه کنید.
- پایه 1 (فعال کردن 1) L293D را به پایه 5 آردوینو وصل کنید.
- پایه 2 (ورودی 1) L293D را به پایه 4 آردوینو وصل کنید.
- پایه 3 (خروجی 1) L293D را به یک ترمینال موتور DC وصل کنید.
- پایه های 4 و 5 L293D پایه های زمین هستند، آنها را به زمین مشترک (زمین باتری + زمین آردوینو) وصل کنید.
- پایه 6 (خروجی 2) L293D را به ترمینال باقی مانده موتور DC وصل کنید.
- پایه 7 (ورودی 2) L293D را به پایه 3 آردوینو وصل کنید.
- پایه 8 Vcc2 است که ورودی برق درایور/موتور است، آن را به مثبت باتری وصل کنید.
- پایه 16 Vcc1 است که ورودی ولتاژ منطقی است (سطح ولتاژ سیگنال های کنترل ارائه شده توسط آردوینو). آن را به خروجی 5 ولت آردوینو وصل کنید.
پس از اتصال سنسور DHT22 به آردوینو، از یک گذرگاه سیمی برای ارتباط استفاده می کند.
- پایه اول ورودی برق VCC است، آن را به خروجی 5 ولت آردوینو وصل کنید.
- پایه دوم خروجی DATA است، آن را به پایه 6 آردوینو وصل کنید.
- پین سوم استفاده نمی شود.
- پایه چهارم Ground است، آن را به زمین وصل کنید.
اکنون می توانیم LCD 16×2 را به آردوینو متصل کنیم.
- پایه 1 VSS است، آن را به زمین وصل کنید.
- پایه 2 VDD است، آن را به خروجی 5 ولت آردوینو وصل کنید.
- پایه 3 برای تنظیم کنتراست صفحه نمایش VEE است. آن را به ترمینال متغیر پتانسیومتری که پایه های ثابت آن به زمین و 5 ولت متصل است وصل کنید.
- پین 4 RS (انتخاب ثبت نام) است، برای انتخاب داده یا ثبت فرمان استفاده می شود. آن را به پایه 12 آردوینو وصل کنید.
- پایه 5 R/W (خواندن/نوشتن) است. آن را به زمین وصل کنید زیرا در این پروژه فقط داده ها را روی LCD می نویسیم.
- پین 6 EN (فعال) است، برای نشان دادن یک داده / فرمان معتبر در خطوط داده (D0 ~ D7) استفاده می شود. آن را به پایه 11 آردوینو وصل کنید.
- پین 7 تا 10 پین های داده (D0 ~ D3) هستند که برای انتقال داده/فرمان به کنترل کننده LCD استفاده می شوند. اما این پین ها در رابط LCD 4 بیتی استفاده نمی شوند، بنابراین آن را به زمین وصل کنید.
- پین 11 ~ 14 پین های داده (D4 ~ D7) هستند که برای انتقال داده ها / دستورات به کنترل کننده LCD استفاده می شوند. آن را به ترتیب به پین های 10، 9، 8 و 7 آردوینو متصل کنید.
بیشتر بخوانید: فن با کنترل دما با استفاده از آردوینو
در ادامه، متن انگلیسی این مطلب را میتوانید مشاهده نمایید:
Here we are going to make a temperature controlled DC fan. DHT22 sensor is used to sense the room temperature and then we adjust speed of a DC fan/motor accordingly using PWM (Pulse Width Modulation). Arduino Uno is the heart of this project and a L293D driver IC is used to drive the DC fan/motor.
Components Required
- Arduino Uno
- L293D Motor Driver IC
- DHT22 Sensor
- 16×2 LCD Display
- DC Fan/motor
- 9V Battery
- 10KΩ Potentiometer
- 220Ω Resistor
- Breadboard
Circuit Diagram
Explanation
First we can connect L293D motor driver IC to Arduino as below. You can read articles L293D Motor Driver IC and H-Bridge Motor Driving for more information about the working of L293D.
- Connect pin 1 (Enable 1) of L293D to pin 5 of Arduino.
- Connect pin 2 (Input 1) of L293D to the pin 4 of Arduino.
- Connect pin 3 (Output 1) of L293D to one terminal of the DC motor.
- Pins 4 and 5 of the L293D are ground pins, connect these to common ground (battery ground + arduino ground).
- Connect pin 6 (Output 2) of L293D to the remaining terminal of the DC motor.
- Connect pin 7 (Input 2) of L293D to the pin 3 of Arduino.
- Pin 8 is Vcc2, which is the driver/motor power input, connect it to positive of the battery.
- Pin 16 is Vcc1, which is logic voltage input (voltage level of control signals provided by Arduino). Connect it to 5V output of Arduino.
After that connect DHT22 sensor to the Arduino, it is using a single wire bus for communication.
- First pin is VCC power input, connect it to 5V output of Arduino.
- Second pin is DATA output, connect it to pin 6 of Arduino.
- Third pin is NOT USED.
- Fourth pin is Ground, connect it to ground.
Now we can connect 16×2 LCD to the Arduino.
- Pin 1 is VSS, connect it to ground.
- Pin 2 is VDD, connect it to 5V output of Arduino.
- Pin 3 is VEE, for adjusting display contrast. Connect it to the variable terminal of a potentiometer whose fixed terminals are connected to ground and 5V.
- Pin 4 is RS (Register Select), it is used to select data or command register. Connect it to pin 12 of Arduino.
- Pin 5 is R/W (Read/Write). Connect it to ground since we are only writing data to LCD in this project.
- Pin 6 is EN (Enable), it is used to indicate a valid data/command in data lines (D0 ~ D7). Connect it to pin 11 of Arduino.
- Pin 7 ~ 10 are data pins (D0 ~ D3), used to transmit data/command to LCD controller. But these pins are not used in 4 bit LCD interfacing, so connect it to ground.
- Pin 11 ~ 14 are data pins (D4 ~ D7), used to transmit data/commands to LCD controller. Connect it to Arduino pins 10, 9, 8 and 7 respectively.
Read More: Temperature Controlled Fan using Arduino