Thiết bị khóa đơn giản và rẻ tiền với Arduino

I. Chuẩn bị

II. KẾT NỐI

Chắc hẳn các bạn đã biết về hàm analogRead. Đó chính là hàm đọc giá trị điện thế và chuyển nó thành các mức dữ liệu từ 0 => 1023 (tượng chưng cho 0V và 5V). Như vậy ta sẽ dùng điện trở để đo giá trị điện áp đi qua điện trở đó, mỗi điện trở có 1 trị số khác nhau vì thế giá trị mà hàm analogread đọc được cũng sẽ khác nhau

Theo sơ đồ mình mô phỏng các bạn có thể thấy 2 led xanh và đỏ là 2 led báo trạng thái của thiết bị (các bạn có thể xem thêm ở phần code bên dưới), usb hỏng ta sẽ tận dụng tháo ra, hàn 1 con điện trở vào giữa 2 chân. Tương tự như vậy ở giắc usb cái các bạn đấu dây tương ứng 1 về +5V, 1 về A0 của arduino. Mục đích là để đọc tín hiệu analog của điện trở mà ta hàn vào usb.

III. CODE

int USBpin = A0;  // Chân A0 sẽ được kết nối tới điện trở gắn trên usb
void setup(){
    pinMode(2, OUTPUT); //led đỏ
    pinMode(3, OUTPUT); //led xanh
    Serial.begin(9600);
}
void loop(){
    Serial.println(analogRead(USBpin));
//Đèn xanh sáng
    if(analogRead(USBpin) == 1023 ){   //giá trị analog của điện trở
        digitalWrite(2, HIGH);
         }
         else
        {
        digitalWrite(2, LOW);
        }

//đèn đỏ sáng
    if(analogRead(USBpin) == 0 ){    
        digitalWrite(3, HIGH);
        }   
        else
        {
        digitalWrite(3, LOW);
   
 delay(5000); //giữ chậm 5 giây để tránh bị bẻ khóa bằng biến trở
} 

 

Đoạn code rất đơn giản, bạn chỉ cần test trước xem giá trị analog mà nó đọc được từ điện trở của bạn là bao nhiêu rồi thay vào vị trí số 1023 trên đoan code trên là xong.

Như vậy mỗi khi bạn cắm usb của mình vào, thực chất là cắm điện trở của mình vào chân A0, arduino sẽ đọc tín hiệu Analog tại đó, nếu trùng thì sẽ cho đèn xanh bật, đèn đỏ tắt. Các bạn có thể dựa vào đó để làm thiết bị đóng mở cửa đơn giản và cực kỳ khó hack. Nhiều bạn nghĩ rằng, nếu tôi đặt 1 biến trở vào vị trí đó và xoay đến đúng giá trị thì sẽ mở được cửa. Nhưng chúng ta hãy cùng làm 1 bài toán. cứ 5 giây arduino xác nhận 1 giá trị => 5x1023 =5115 giây / 3600 = 1 giờ 40 phút. Có ai kiên nhẫn ngồi xoay cái biến trở 5 giây 1 lần trong suốt 1 giờ 40 phút không? Ngoài ra các bạn có thể thấy cổng usb có tận 4 chân, chúng ta có thể tăng thêm thành 2 biến trở, đọc ở 2 chân Analog khác nhau. và việc bẻ khóa nó gần như là quá nản laugh.

Tất nhiên là các bạn cũng nên chọn điện trở loại tốt, để tránh sai số trong mỗi lần đọc tín hiệu nhé

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

lên
33 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Công cụ vẽ đồ thị trên arduino IDE - Serial Plotter

Bắt đầu từ bản cập nhật arduino IDE 1.6.6, Arduino IDE đã giới thiệu một tính năng mới tuyệt vời. Nó được gọi là Serial Plotter, gọi nôm na là vẽ nối tiếp và bạn có thể tìm thấy nó trong Arduino IDE của bạn dưới menu Tools. Bài viết này mình sẽ giới thiệu với các bạn công cụ Plotter này

lên
15 thành viên đã đánh giá bài viết này hữu ích.

Giao tiếp I2C giữa nhiều arduino với nhau

Đôi khi chúng ta muốn chia sẻ khối lượng công việc của một Arduino với 1 arduino khác. Hoặc có khi chúng ta muốn nhiều chân digital hoặc analog hơn để xử lý công việc.I2C là giải pháp tốt nhất. Bài viết này mình sẽ hướng dẫn các bạn cách giao tiếp giữa 2 boad arduino với nhau qua giao thức I2C.

lên
24 thành viên đã đánh giá bài viết này hữu ích.