Làm thế nào để tạo bộ điều khiển đèn giao thông dựa trên Arduino?
Đèn Giao thông là thiết bị báo hiệu được sử dụng để điều khiển luồng giao thông trên các giao lộ của đường, phần đường dành cho người đi bộ qua đường và các vị trí khác. Nó là sự kết hợp của ba màu ánh sáng là Đỏ, Vàng và Xanh lục. Đèn đỏ báo cho mọi người biết dừng lại, đèn vàng báo hiệu chuẩn bị sẵn sàng hoặc nổ máy nếu xe bị tắt và đèn xanh cho biết bạn đã đi trước rõ ràng.
Trong dự án này, chúng tôi sẽ tạo ra một hệ thống tín hiệu giao thông 4 chiều sử dụng một bộ vi điều khiển. Chúng tôi sẽ đốt cháy một Mã C trên bảng Arduino Uno để cho nó biết cách bật và tắt đèn LED để có thể đạt được thời điểm chuyển đổi hoàn hảo trong quá trình truyền tín hiệu. 4 tổ hợp 4 đèn LED sẽ được sử dụng và đặt trên breadboard cho mục đích thử nghiệm.
Làm thế nào để tạo tín hiệu giao thông 4 chiều bằng Seeeduino v4.2?
Tín hiệu giao thông là thứ quan trọng nhất được lắp đặt trên các con đường để giữ cho dòng xe lưu thông được ổn định và trôi chảy và giảm thiểu khả năng xảy ra tai nạn. Chúng tôi có thể thực hiện dự án này trên một breadboard nhỏ. Hãy để chúng tôi thu thập một số thông tin về dự án này và bắt đầu làm việc.
Bước 1: Thu thập các thành phần
Cách tiếp cận tốt nhất để bắt đầu bất kỳ dự án nào là lập danh sách các thành phần hoàn chỉnh khi bắt đầu và thực hiện nghiên cứu ngắn gọn về từng thành phần. Điều này giúp chúng tôi tránh được những bất tiện khi ở giữa dự án. Dưới đây là danh sách đầy đủ của tất cả các thành phần được sử dụng trong dự án này.
Bước 2: Nghiên cứu các thành phần
Bây giờ, khi chúng ta đã biết tóm tắt về dự án của mình và chúng ta cũng có một danh sách đầy đủ của tất cả các thành phần, chúng ta hãy đi trước một bước và xem qua một nghiên cứu ngắn gọn về các thành phần mà chúng ta sẽ sử dụng.
Seeeduino v4.2là một trong những bo mạch tương thích với Arduino tốt nhất trên thế giới dựa trên vi điều khiển Atmega 328 MCU. bởi vì nó dễ sử dụng, ổn định hơn và nó trông đẹp hơn nhiều bảng khác. Nó dựa trên bộ nạp khởi động Arduino. nó có ATMEGA16U2 như một bộ chuyển đổi UART-to-USB vì nó có thể được sử dụng như một chip FTDI. nó được kết nối với máy tính bằng cáp micro USB thường được gọi là cáp Android. Một giắc cắm DC cũng có thể được sử dụng để cấp nguồn cho bo mạch. nguồn điện đầu vào phải từ 7V đến 15V.
A Breadboardlà một thiết bị không hàn. Nó được sử dụng để chế tạo và thử nghiệm các thiết kế và mạch điện tử nguyên mẫu tạm thời. Hầu hết các thành phần điện tử được kết nối đơn giản với một breadboard chỉ bằng cách cắm các chân của chúng vào breadboard. Một dải kim loại được đặt xuống các lỗ của breadboard và các lỗ được kết nối theo một cách cụ thể. Các kết nối của các lỗ được thể hiện trong sơ đồ dưới đây:
Bước 3: Nguyên tắc làm việc
Hãy cùng chúng tôi giới thiệu sơ qua về nguyên lý hoạt động của dự án Tín hiệu giao thông 4 chiều. Vì đây là 4 chiều, chúng tôi sẽ cần mười hai đèn LED và bốn kết hợp ba đèn LED. Mã được viết để nếu một tổ hợp hiển thị đèn xanh, thì tất cả các kết hợp khác sẽ hiển thị đèn đỏ. Nếu tín hiệu chuyển từ xanh sang vàng hoặc đỏ sang vàng, thì một tổ hợp đèn LED khác cũng sẽ hiển thị giao dịch từ đỏ sang vàng hoặc vàng sang đỏ tương ứng.
Tất cả điều này sẽ được thực hiện với một khoảng thời gian trễ giữa quá trình chuyển đổi của các tín hiệu. Ví dụ: một đèn LED sẽ vẫn xanh trong gần mười lăm giây, một đèn LED sẽ giữ nguyên màu vàng trong gần hai giây. Thời lượng của đèn LED đỏ phụ thuộc vào thời lượng của đèn LED xanh. Có nghĩa là nếu một đèn LED có màu xanh lục trong mười lăm giây, thì tất cả các đèn LED màu đỏ khác sẽ vẫn sáng trong mười lăm giây.
Bước 4: Tạo mạch
Bây giờ khi chúng ta biết hoạt động chính của các thành phần, chúng ta hãy tiếp tục và bắt đầu lắp ráp các thành phần để tạo thành mạch. Thực hiện các bước sau để kết nối chính xác tất cả các thành phần trong breadboard.
- Trước hết, lấy tất cả các đèn LED và kết nối chúng trong breadboard theo đúng thứ tự là đỏ, vàng và xanh lá cây.
- Thực hiện một kết nối chung của các cơ sở của đèn LED. Tốt hơn là kết nối điện trở 220-ohm với cực dương của đèn LED.
- Bây giờ Kết nối các dây kết nối cho phù hợp.
- Bây giờ kết nối các đèn LED với Arduino như thể hiện trong sơ đồ mạch bên dưới. LED-1, LED-2 đến LED-12 sẽ được kết nối với pin1, pin2 lên đến pin12 của bảng Arduino Uno.
- Tải lên mã trong Arduino Uno và cấp nguồn cho nó bằng cách sử dụng Máy tính xách tay hoặc bộ chuyển đổi AC sang DC.
- Mạch sẽ giống như hình bên dưới:
Bước 5: Bắt đầu với Arduino
Nếu bạn chưa quen với Arduino IDE trước đây, đừng lo lắng vì dưới đây, bạn có thể thấy các bước ghi mã rõ ràng trên bảng vi điều khiển bằng Arduino IDE. Bạn có thể tải xuống phiên bản Arduino IDE mới nhất từ đây và làm theo các bước được đề cập bên dưới:
1). Khi bảng Arduino được kết nối với PC của bạn, hãy mở “Bảng điều khiển” và nhấp vào “Phần cứng và Âm thanh”. Sau đó nhấp vào “Thiết bị và Máy in”. Tìm tên của cổng mà bảng Arduino của bạn được kết nối. Trong trường hợp của tôi, nó là “COM14” nhưng nó có thể khác trên PC của bạn.
2). Bây giờ hãy mở Arduino IDE. Từ Công cụ, đặt bảng Arduino thành Arduino / Genuino UNO.
3). Từ cùng một menu Công cụ, hãy đặt số cổng mà bạn đã thấy trong bảng điều khiển.
4). Tải xuống mã được đính kèm bên dưới và sao chép nó vào IDE của bạn. Để tải mã lên, hãy nhấp vào nút tải lên.
Bạn có thể tải xuống mã bằng cách nhấp vào đây.
Bước 6: Mã
Mã được nhận xét tốt và tự giải thích nhưng vẫn còn, một số phần của mã được giải thích ngắn gọn bên dưới.
1. Khi bắt đầu, tất cả các chân đều được đặt tên, các chân này sẽ được kết nối với Arduino sau này.
int led1 = 1; // đèn đỏ 1 int led2 = 2; // đèn vàng 1 int led3 = 3; // đèn xanh 1 int led4 = 4; // đèn đỏ 2 int led5 = 5; // đèn vàng 2 int led6 = 6; // đèn xanh 2 int led7 = 7; // đèn đỏ 3 int led8 = 8; // đèn vàng 3 int led9 = 9; // đèn xanh 3 int led10 = 10; // đèn đỏ 4 int led11 = 11; // đèn vàng 4 int led12 = 12; // đèn xanh 4
2. void setup ()là một chức năng trong đó chúng ta khai báo tất cả các chân của bảng Arduino sẽ được sử dụng như INPUT hoặc OUTPUT. Tốc độ Baud cũng được thiết lập trong chức năng này. Tốc độ Baud là tốc độ giao tiếp tính bằng bit trên giây mà bo mạch vi điều khiển giao tiếp với các thiết bị bên ngoài. Chức năng này chỉ chạy một lần khi nhấn nút bật của bảng vi điều khiển.
void setup () {Serial.begin (9600;) // Tốc độ truyền được đặt thành 9600 pinMode (led1, OUTPUT); // Tất cả các chân kết nối với đèn LED được đặt là OUTPUT pinMode (led2, OUTPUT); pinMode (led3, OUTPUT); pinMode (led4, OUTPUT); pinMode (led5, OUTPUT); pinMode (led6, OUTPUT); pinMode (led7, OUTPUT); pinMode (led8, OUTPUT); pinMode (led9, OUTPUT); pinMode (led10, OUTPUT); pinMode (led11, OUTPUT); pinMode (led12, OUTPUT); }
3. void loop là một hàm chạy lặp đi lặp lại trong một vòng lặp. Trong chức năng này, chúng tôi sẽ viết mã toàn bộ quy trình mà vi điều khiển sẽ điều khiển các đèn LED bên ngoài. Dưới đây là một đoạn mã nhỏ. Ở đây, đèn xanh của mặt thứ nhất đã bật và tất cả các mặt còn lại đều bật đèn đỏ. Các đèn này sẽ duy trì trạng thái này trong 15 giây. Sau 15 giây, đèn vàng của bên thứ nhất và bên thứ hai sẽ sáng, hai bên còn lại sẽ sáng đèn đỏ. Sau hai giây, mặt thứ nhất sẽ bật đèn đỏ và mặt thứ hai bật đèn xanh. Điều này sẽ xảy ra cho đến khi tất cả bốn phía đều bật đèn xanh, đến lượt của họ và sau đó vòng lặp sẽ tự lặp lại.
digitalWrite (led1, LOW); // Đèn đỏ của mặt thứ nhất tắt digitalWrite (led2, LOW); // đèn vàng f mặt đầu tiên bị tắt digitalWrite (led3, HIGH); // Đèn xanh của mặt Đầu tiên nằm trên digitalWrite (led4, HIGH); // Đèn đỏ của mặt seconf nằm trên digitalWrite (led5, LOW); // đèn vàng của mặt thứ hai tắt digitalWrite (led6, LOW); // đèn xanh của mặt thứ hai tắt digitalWrite (led7, HIGH); // Đèn đỏ của mặt thứ ba nằm trên digitalWrite (led8, LOW); // đèn vàng của mặt thứ ba tắt digitalWrite (led9, LOW); // đèn xanh của mặt thứ ba tắt digitalWrite (led10, HIGH); // đèn đỏ của mặt thứ tư nằm trên digitalWrite (led11, LOW); // đèn vàng của mặt thứ tư tắt digitalWrite (led12, LOW); // đèn xanh của mặt thứ tư tắt delay (15000); // vì độ trễ 15 giây, đèn xanh của mặt thứ nhất và đèn đỏ của ba mặt còn lại sẽ vẫn bật trong 15 giây digitalWrite (led1, LOW); // đèn đỏ của mặt thứ nhất tắt digitalWrite (led2, HIGH); // Đèn vàng của mặt đầu tiên là trên digitalWrite (led3, LOW); // đèn xanh của mặt đầu tiên tắt digitalWrite (led4, LOW); // đèn đỏ của mặt thứ hai tắt digitalWrite (led5, HIGH); // Đèn vàng của mặt thứ hai là trên digitalWrite (led6, LOW); // đèn xanh của mặt thứ hai tắt digitalWrite (led7, HIGH); // Đèn đỏ của mặt thứ ba nằm trên digitalWrite (led8, LOW); // đèn vàng của mặt thứ ba tắt digitalWrite (led9, LOW); // đèn xanh của mặt thứ ba tắt digitalWrite (led10, HIGH); // đèn đỏ của mặt thứ tư nằm trên digitalWrite (led11, LOW); // đèn vàng của mặt thứ tư tắt digitalWrite (led12, LOW); // đèn xanh của mặt thứ tư tắt delay (2000); // do độ trễ 2 giây, đèn vàng của mặt thứ nhất và thứ hai sẽ vẫn bật
Vì vậy, đây là toàn bộ quy trình để thực hiện một tín hiệu giao thông 4 chiều. Giờ đây, bạn có thể thích làm nó cho việc học của mình hoặc cho một dự án ở trường học.