B23 – Kiểm tra và thử nghiệm ESP8266

Hiện nay, xu thế IoTs đang rất mạnh. Mạch ESP8266 cho phép kết nối vi xử lý với internet thông qua wifi. Với giá rẻ và dễ sử dụng, ESP8266 đang được sử dụng khá rộng rãi.

Trong bài này, ta sẽ kết nối với Arduino để kiểm tra kết nối thử wifi. Đồng thời, điều chỉnh tốc độ giao tiếp của mạch để tương thích với Arduino.

Continue reading “B23 – Kiểm tra và thử nghiệm ESP8266”

B21 – Sử dụng cảm biến chuyển động (PIR Motion sensor)

Cảm biến chuyển động PIR phát hiện ánh sáng hồng ngoại của người khi đứng trước đầu thu. Sử dụng cảm biến PIR khá đơn giản. Ngoài hai chân cấp nguồn (5V và GND) thì chỉ có 1 lối ra. Bình thường lối ra có trạng thái 0, điện áp 0V. Khi có người đứng trước cảm biến, lối ra lên trạng thái 1, điện áp khoảng 3V. Thời gian chân ra có trạng thái lên cao tùy thuộc từng loại PIR, khoảng vài giây.

Continue reading “B21 – Sử dụng cảm biến chuyển động (PIR Motion sensor)”

B19 – Đo khoảng cách bằng cảm biến siêu âm (Sonar SEN136B5B)

Cảm biến siêu âm SEN136B5B là sản phẩm của hãng Seeedstudio. Nó có khả năng đo khoảng cách của vật thể đặt phía trước trong khoảng từ 3cm đến 400cm. Nó phát ra một chuỗi xung âm thanh và đo âm phản hồi. Cảm biến này đơn giản, chỉ có 3 chân, 2 chân cấp nguồn và 1 chân tín hiệu. Trong ví dụ này, bo Arduino sẽ phát ra một xung ngắn và dò tín hiệu phản hồi. Quãng thời gian của xung phản hồi tương ứng với thời gian âm thanh đi và bật trở lại. Dựa trên thông tin về vận tốc âm thanh, ta sẽ tính được quãng đường.

 

Continue reading “B19 – Đo khoảng cách bằng cảm biến siêu âm (Sonar SEN136B5B)”

B18 – Sử dụng vòng lặp While

Đối với If..Else hoặc Switch..Case, khi điều kiện đúng thì hành động được thực hiện 1 lần. Trong khi đó, nếu dùng vòng lặp While, khi điều kiện đúng thì hành động mong muốn sẽ lặp lại mãi cho đến khi điều kiện của While không còn đúng nữa. Cần chú ý điều kiện của While để tránh chương trình rơi vào vòng lặp mà không thể thoát ra, hay còn gọi là treo.

Continue reading “B18 – Sử dụng vòng lặp While”

B14 – Sử dụng mảng (Array)

Tiếp theo bài B13 kết hợp vòng lặp for()  với mảng array. Mảng là một dạng của biến với nhiều thành phần. Có thể so sánh mảng như một khay đựng trứng.

Bằng cách sử dụng mảng để đựng giá trị của chân LED trong ví dụ này, từng chân LED có thể tác động riêng biệt thay vì theo thứ tự cố định như bài trước.

Continue reading “B14 – Sử dụng mảng (Array)”