Học Arduino_Dự án 38: Dựng một đồng hồ nhiệt chỉ thị kim

No Comments

Bằng cách sử dụng servo của chúng ta và cảm biến nhiệt độ TMP36 từ các chương trước, chúng ta sẽ làm một đồng hồ nhiệt analog ( kim chỉ thị) . Chúng ta sẽ đo nhiệt độ và chuyển nhiệt độ đo được này thành góc giữa 0 và 180 độ biểu thị nhiệt độ trong khoảng 0 và 30 độ C. Servo sẽ quay tới góc khớp với nhiệt độ hiện tại.

Phần cứng

Phần cứng tối thiểu yêu cầu:

  • Một cảm biến nhiệt độ TMP36
  • Một bo mạch trắng
  • Một servo nhỏ
  • Vài dây kết nối
  • Arduino và cáp USB

Sketch

Sketch sẽ xác định nhiệt độ bằng cách sử dụng phương pháp tương tự như đã sử dụng trong Project 8. Sau đó sẽ chuyển nhiệt độ thành giá trị góc quay cho servo.

Nhập vào và nạp sketch sau:

// Project 38 – Building an Analog Thermometer

float voltage = 0;

float sensor = 0;

float currentC = 0;

int angle = 0;

#include <Servo.h>

Servo myservo;

void setup()

{

myservo.attach(4);

}

230 Chapter 12

int calculateservo(float temperature)

{

float resulta;

int resultb;

resulta = -6 * temperature;

resulta = resulta + 180;

resultb = int(resulta);

return resultb;

}

void loop()

{

// read current temperature

sensor = analogRead(0);

voltage = (sensor*5000)/1024;

voltage = voltage-500;

currentC = voltage/10;

// display current temperature on servo

angle = calculateservo(currentC);

// convert temperature to a servo position

if (angle>=0 && angle <=30)

{

myservo.write(angle); // set servo to temperature

delay(1000);

}

}

Phần lớn sketch này nên rõ ràng với bạn ở thời điểm này, nhưng hàm caculateservo() là mới. Hàm này chuyển nhiệt độ thành góc tương ứng cho servo sử dụng theo công thức sau:

Angle = ( -6 x temperature) + 180

Bạn có thể tìm thấy hữu ích khi tạo một trang bìa hiển thị dải nhiệt độ mà servo sẽ hiển thị, với một mũi tên nhỏ để tạo hiệu ứng thực tế. Một ví dụ về tấm bìa phía sau được thể thiện trong hình 12-4

Hình 12-4: Tấm bìa phía sau chỉ nhiệt độ của chúng ta

Sử dụng động cơ điện

Bước tiếp theo trong hành trình điều khiển động cơ của chúng ta là làm việc với động cơ điện nhỏ. Các động cơ điện nhỏ đưcọ sử dụng cho một số ứng dụng, từ các quạt nhỏ tới các xe hơi đồ chươi cho tới các mô hình xe lửa. Cũng như servo, bạn cần xem xét một vài thông số khi bạn chọn một động cơ điện như sau:

  • Điện áp hoạt động: có thể khác nhau từ 3V đến hơn 12V
  • Dòng điện không tải: Giá trị của dùng điện động cơ sử dụng tại điện áp hoạt động của nó trong khi quay tự do, không có bất cứ vật gì được nối với cần của động cơ
  • Dòng điện quá tải: giá trị của dòng điện được sử dụng bởi động cơ khi nó cố để quay nhưng không thể quay vì có tải tác dụng lên động cơ.

Ví dụ của chúng ta sẽ sử dụng một động cơ điện nhỏ, không đắt với tốc độ 8540 RPM khi chạy ở điện áp 3V, một động cơ thông thường như hình 12-5.Tốc độ tại điện áp hoạt động: tốc độ của động cơ tính bằng số vòng quay trên phút (RPM)

Để điều khiển động cơ của chúng ta, chúng ta sẽ sử dụng một transistor, đã được mô tả trong chương 3. Vì động cơ của chúng ta sử dụng dòng lên tới 0.7A (nhiều hơn giá trị có thể truyền qua transistor BC548), chúng ta sẽ sử dụng transistor có tên là Darlington cho dự án này

động cơ thông thường như hình 12-5

Transistor TIP120 Darlington

Một transitor Darlington có thể xử lý dòng điện và điện áp cao. TIP120 Darlington có thể cho dòng điện 5A chạy qua tại điện áp 60V, thừa đủ để điều khiển động cơ điện loại nhỏ của chúng ta. TIP120 sử dụng một kí hiệu sơ đồ mạch điện thông thường như BC548, như hình 12-6, nhưng transitor TIP120 có hình dáng lớn hơn BC548.

TIP120 sử dụng loại TO-220, như hình 12-7

Hình 12-6; Ký hiệu sơ đồ mạch điện TIP120                            hình 12-7

Khi bạn nhìn vào TIP120 từ mặt có dãn nhán, chân từ trái qua phải là chân base(B), collector và emitted (E). Tấm nhiệt kim loại được kế nối với chân collector.

Sản phẩm được quan tâm

Nhận bài viết mới

Các bài viết chia sẻ đến cộng đồng rất chât lượng, mang lại rất nhiều kiến thức mới. Đừng bỏ lỡ bất kỳ bài viết nào của chung tối, hãy đăng ký để nhận bài viết mới qua Mail của bạn

Đăng ký để không bỏ lỡ bài viết nào!

Fields marked with an * are required

Danh mục




More from our blog

See all posts
No Comments
 

Leave a Comment