Wednesday, October 8, 2014

Đèn giao thông - Traffic light

Chào các bạn
Hôm nay chúng ta cùng trở lại với Sáng tạo cùng arduino, bài học ngày hôm nay rất thú vị đó là: lập trình đèn tín hiệu giao thông với đèn 3 led, xanh đỏ và vàng.

Yêu cầu phần cứng
-      Mạch arduino uno
-      Led xanh, đỏ và vàng
-      Điện trở 220Ohm
-      Dây cắm
-      Bảng cắm breadboard

Sơ đồ nối mạch




















Code
int redled =10; // định nghĩa chân Led đỏ là chân 10
int yellowled =7; // định nghĩa chân Led vàng chân 7
int greenled =4; // định nghĩa chân Led xanh chân 4
void setup()
{
pinMode(redled, OUTPUT);// đọc tín hiệu Led đỏ
pinMode(yellowled, OUTPUT); //đọc tín hiệu Led vàng
pinMode(greenled, OUTPUT); //đọc tín hiệu Led xanh
}
void loop()
{
digitalWrite(redled, HIGH);// bật led đỏ
delay(1000);// chờ 1 giây
digitalWrite(redled, LOW); // tắt led đỏ
digitalWrite(yellowled, HIGH);//bật led vàng
delay(200);//chờ 0.2 giây
digitalWrite(yellowled, LOW);//tắt led vàng
digitalWrite(greenled, HIGH);//bật led xanh
delay(1000);//chờ 1 giây
digitalWrite(greenled, LOW);//tắt led xanh

}

Friday, September 26, 2014

Làm việc với rơ le ( relay)

Chào các bạn hôm nay chúng ta cùng trở lại với loạt bài Arduino cơ bản nhé!

Bài học ngày hôm nay làm việc với rơ le (relay)
Sau khi học xong bài học hôm nay chúng ta sẽ biết được
Thế nào là một relay?
Cách điều khiển nó bằng Arduino
Sau này khi chúng ta ứng dụng với Arduino nâng cao sẽ điều khiển các thiết bị thông qua rơ le

Yêu cầu phần cứng
- Mạch Arduino
- Rơ le
- Bảng cắm Breadboard
- Dây cắm
- Transistor

Như vậy câu hỏi đầu tiên đặt ra đó là: Thế nào là rờ le (relay)???
Rờ le là một thiết bị đóng ngắt
Cấu tạo cơ bản của rờ le như sau: Một công tắc bật tắt, một cuộn cảm(cuộn dây), có nhiều loại rờ le, Chia theo chân: có các loại 3 chân, 4 chân, 5 chân ...
Chia theo điện áp có rờ le 5v, 12v, 24v ...

Sơ đồ mạch của rơ le

Nguyên lý hoạt động của rờ le
Khi nguồn điện đi qua cuộn cảm sẽ tạo ra một từ trường hút hoặc đẩy để đóng ngắt công tắc của rờ le để điều khiển thiết bị.
Để cho rờ le hoạt động ta chỉ cần
- Nối nguồn vào chân của công tắc rơ le và nguồn đi vào cuộn cảm thông qua một bộ điều khiển ( ví dụ công tắc, nút nhấn ...)
- Chân còn lại của cuộn cảm đi ra mát và chân dương chờ của công tắc đi đến thiết bị cần điều khiển
Làm thế nào chúng ta sử dụng Arduino để điều khiển rơ le?
Để điều khiển rơ le trong ví dụ ngày ta sử dụng một transistor, (trong bài học này tôi sử dụng transistor C1815). 


Sơ đồ chân C1815

Sơ đồ kết nối với Arduino
Chân 2 của Arduino nối với chân B của transistor C1815
Chân Gnd của Arduino nối với chân E của C1815 và nối mass
Chân C của transistor nối với chân cuộn cảm của Rơ le

Code

void setup()
{
  pinMode (2, OUTPUT); // set pin 2 as an output pin
}

void loop()
{
      digitalWrite (2, HIGH);
    // Bật chân 2 một giây sau đó tắt đi
    delay (1000);
    digitalWrite (2, LOW);
    delay (1000);
 }

Tuesday, September 23, 2014

How to improve your English Listening skill

Ten minute English everyday

Welcome back!

Today, we share the ways to improve English listening skill,
Here are some ways to do that, the best way is listening English anytime, anywhere
This diagram will show you the way to improve your listening skill


Each people, depend on their purpose and their time, they have to choose the way above.

Arduino với cảm biến nhiệt độ TMP36

Ứng dụng Arduino với cảm biến nhiệt độ- tiếp theo

Chào các bạn, hôm nay chúng ta lại cùng nhau tìm hiểu về loại cảm biến nhiệt độ TMP36, và cách sử dụng Arduino để thu thập tín hiệu từ cảm biến này.

Yêu cầu về phần cứng
Mạch Arduino,
Cảm biến nhiệt độ TMP36
Breadboard
Dây cắm

Sơ lược về cảm biến nhiệt độ TMP36
datasheet TMP36
Đối với những linh kiện điện tử để biết được chính xác về thông số kỹ thuật hay chế độ làm việc cũng như ứng dụng của nó, các bạn nên tìm datasheet của nó.
Sau đây chúng ta cùng làm quen với cảm biến tương tự TMP36.
Cảm biến này nhìn qua thì chúng ta thấy giống như một transistor vậy, TMP36 sử dụng rất đơn giản, nếu nhìn thẳng vào mặt phẳng thì chân số 1 là chân cấp nguồn 5V (chân này bạn có thể cắm vào nguồn 5V của Arduino khi sử dụng nó với Arduino), chân thứ 2 là chân xuất tín hiệu tương tự (tín hiệu dạng xung), chân thứ 3 là chân nối mát hay chân GND(khi sử dụng với Arduino các bạn có thể lấy từ chân Gnd từ Arduino.
Cảm biến TMP 36 này xuất tín hiệu là tín hiệu điện áp, tín hiệu này tỷ lệ thuận với nhiệt độ. Cứ 10mV tương đương với 1 độ C, nó có thể đo được nhiệt độ từ -40 -->125 độ C.
Bởi vì nó là một tín hiệu tương tự nên khi làm việc với Arduino chúng ta sử dụng hàm AnalogRead()
Khi Arduino làm việc nó sẽ trả tín hiệu tương tự này về giá trị từ 0-1023 tùy thuộc vào điện áp từ 0-5V(5000mV). 
Điện áp thực tế sẽ là điện áp mà Arduino đọc được sau đó nhân với (5000/1024).
Sau đó chúng ta phải trừ đi điện áp bù 400 và chia cho 10 sẽ ra kết quả là độ C
Bây giờ chúng ta cùng ráp vào mạch nhé!

Sơ đồ lắp mạch
 

Sơ đồ mạch
Nhìn từ mặt phẳng của cảm biến
Chân 1 nối với nguồn 5V từ Arduino
Chân 2 nối với chân A0
Chân 3 nối với mát Gnd của Arduino

Hình ảnh sử dụng Fritzing.

Code
void setup()
{
Serial.begin(9600);   // Kết nối với màn hình hiển thị
}
float voltage = 0; // Thiết lập một số giá trị ban đầu
float sensor = 0;
float celsius = 0;
float fahrenheit = 0;
void loop()
{              // Bắt đầu đo
sensor = analogRead(0);
voltage = (sensor*5000)/1024; // Chuyển đổi tín hiệu cảm biến sang mili Volt
voltage = voltage-400;        // Trừ đi điện áp bù
celsius = voltage/10;         // Chuyển đổi mV sang độ C
fahrenheit = ((celsius * 1.8)+32); // Đổi độ C sang độ F
Serial.print("Temperature: ");
Serial.print(celsius,2);
Serial.println(" degrees C");
Serial.print("Temperature: ");
Serial.print(fahrenheit,2);
Serial.println(" degrees F");
Serial.println("_ _ _ _ _ _ _ _ _ _ _ _ _ _  ");
delay (1000); // delay 1000 ms vì trong màn hình hiển thị nhiệt độ ở môi trường Arduino dữ liệu thay đổi rất nhanh nên chúng ta cần phải trì hoãn lại.
}

Chúc các bạn thành công!

Sunday, September 21, 2014

Bài 3 - Đọc tín hiệu từ cảm biến nhiệt độ LM35

Cảm biến LM35

Chào các bạn, chúng ta lại cùng nhau quay trở lại với Sáng tạo cùng Arduino
Trong chuyên mục Arduino cơ bản hôm nay chúng ta cùng tìm hiểu việc sử dụng Arduino thu thập tín hiệu cảm biến nhiệt độ LM35 và xuất dữ hiệu trên màn hình.

Yêu cầu phần cứng
Mạch Arduio
Cảm biến nhiệt độ LM35
Cáp USB 
Phần mềm Arduino

Trước khi vào viết chương trình thu thập tín hiệu cảm biến nhiệt độ LM35 chúng ta cùng tìm hiểu về cảm biến nhiệt độ LM35

Cảm biến LM35 là một loại cảm biến sử dụng đo nhiệt đô với độ chính xác cao xem datasheet, cảm biến này gồm có 3 chân Vcc cấp nguồn 5V, chân Output xuất tín hiệu, chân GND chân mát
Tín hiệu cảm biến này xuất ra là tín hiệu điện áp
Chế độ làm việc của LM35 như sau:
Pin No
Function
Name
1
Supply voltage; 5V (+35V to -2V)
Vcc
2
Output voltage (+6V to -1V)
Output
3
Ground (0V)
Ground


Sơ đồ lắp mạch trên Arduino như sau:
Hình ảnh sử dụng Fritzing, Các ví dụ khác truy vập Fritzing page
Thực hiện
Cắm cảm biến LM35 vào breadboard theo như hình
Chân Vcc vào nguồn 5V trên Arduino
Chân Output vào chân số A0
Chân GND vào chân GND trên Arduino
Code
float temp;
int tempPin = 0;

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  temp = analogRead(tempPin);
  temp = temp * 0.48828125;
  Serial.print("TEMPRATURE = ");
  Serial.print(temp);
  Serial.print("*C");
  Serial.println();
  delay(1000);
}
Trong đoạn Code trên có thể các bạn không biết lấy số 0.48828125 ở đâu
Nguồn cung cấp cho cảm biến LM35 là 5V
Mỗi 10mV là 1 độ C đây là độ phân giải của cảm biến
Như vậy (5V*1000/1024)/10=0.48828125
Chúc các bạn thành công