Mục lục:

Công cụ sửa đổi hành vi trẻ em: 5 bước (có hình ảnh)
Công cụ sửa đổi hành vi trẻ em: 5 bước (có hình ảnh)

Video: Công cụ sửa đổi hành vi trẻ em: 5 bước (có hình ảnh)

Video: Công cụ sửa đổi hành vi trẻ em: 5 bước (có hình ảnh)
Video: Xây dần ước mơ "Bảo Tàng Tiền Tệ" 🏛 2024, Tháng mười một
Anonim
Công cụ sửa đổi hành vi trẻ em
Công cụ sửa đổi hành vi trẻ em

Công cụ sửa đổi hành vi của trẻ em ghi lại số lần con bạn gặp rắc rối (còn gọi là Đình công) và khi chúng lên ba tuổi, một còi báo động và màn hình LCD thông báo rằng chúng đã được tiếp đất.

Bước 1: Bắt đầu đơn giản: Thêm nút

Bắt đầu đơn giản: Thêm một nút
Bắt đầu đơn giản: Thêm một nút

Bước đầu tiên trong Dự án này rất đơn giản. Thêm 1 nút. Trong bước này, bạn cần có 4 dây Male to Male, 1 điện trở 220 và một nút nhấn.

  1. Kết nối 5V ở phía Nguồn với hàng dương trên bảng mạch
  2. Kết nối GND với mặt âm của bảng mạch

  3. Chèn nút bấm vào breadboard
  4. Kết nối nguồn trên hàng cố định với phần dưới cùng bên trái của nút nhấn

  5. Nối đất nút bằng cách sử dụng một điện trở vào phần dưới cùng bên phải của nút nhấn vào hàng âm của bảng mạch.
  6. Kết nối # 13 ở phía Kỹ thuật số của Arduino với phía trên cùng bên phải của nút.

Xác minh bằng mã của bạn rằng nút đang đăng ký:

int child1ButtonPin = 13; // Đây là chốt mà nút nhấn của chúng tôi được kết nối với

int child1ButtonState = 0; // Đọc trạng thái của nút (bật / tắt)

int child1Strike = 0; // Có bao nhiêu cuộc đình công đứa trẻ

// chức năng thiết lập chạy một lần khi bạn nhấn đặt lại hoặc cấp nguồn cho bo mạch

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {// đọc trạng thái của nút (bật hoặc tắt) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == HIGH) // Nút được nhấn {Serial.println ("HIGH"); chậm trễ (5000); }

if (child1ButtonState == LOW)

{Serial.println ("THẤP"); chậm trễ (5000); }}

Bước 2: Sửa đổi mã để đăng ký số lần nhấn nút

Sửa đổi mã để đăng ký các lần nhấn nút
Sửa đổi mã để đăng ký các lần nhấn nút
Sửa đổi mã để đăng ký các lần nhấn nút
Sửa đổi mã để đăng ký các lần nhấn nút

Sửa đổi Mã để đăng ký một nút bấm:

int child1ButtonPin = 13; // Đây là chốt mà nút nhấn của chúng ta được kết nối vớiint child1ButtonState = 0; // Đọc trạng thái của nút (bật / tắt) int child1PreviousState = 0; // Trạng thái nút trước int child1Strike = 0;

// chức năng thiết lập chạy một lần khi bạn nhấn đặt lại hoặc cấp nguồn cho bo mạch

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {// đọc trạng thái của nút (bật hoặc tắt) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Nút được nhấn {child1Strike ++; Serial.println (child1Strike); chậm trễ (1000); }}

}

Tiếp theo Sửa đổi mã để đứa trẻ nhận được 3 cảnh cáo, sau đó chúng sẽ nhận được thông báo rằng chúng đã có cơ sở:

int child1ButtonPin = 13; // Đây là chốt mà nút nhấn của chúng ta được kết nối vớiint child1ButtonState = 0; // Đọc trạng thái của nút (bật / tắt) int child1PreviousState = 0; int child1Strike = 0;

// chức năng thiết lập chạy một lần khi bạn nhấn đặt lại hoặc cấp nguồn cho bo mạch

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {// đọc trạng thái của nút (bật hoặc tắt) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // Nút được nhấn {child1Strike ++; Serial.println (child1Strike);

if (child1Strike> = 3)

{Serial.println ("Con 1 được nối đất!"); } delay (3000); }}

}

Serial Moniter sẽ giống như hình trên.

Lưu ý: Hãy chắc chắn rằng bạn cảm thấy thoải mái với sự chậm trễ. Để một chút chậm trễ và nó sẽ đăng ký 1 nút nhấn nhiều hơn sau đó một nút!

Bước 3: Thêm càng nhiều nút khi bạn có con

Thêm càng nhiều nút khi bạn có con
Thêm càng nhiều nút khi bạn có con
Thêm càng nhiều nút khi bạn có con
Thêm càng nhiều nút khi bạn có con

Trong bước này, chúng tôi chỉ cần sao chép vài bước cuối cùng. Thêm nhiều nút như bạn làm với trẻ em. Trong trường hợp của tôi, tôi thêm bốn. Đảm bảo thay đổi mã của bạn cho mã Pin kỹ thuật số mà nút có dây. Trong trường hợp của tôi, tôi đã sử dụng các chân từ 12 đến 10 để thêm các nút của mình. Trong trường hợp bạn cần nhắc ở đây là Bước 1:

  1. Kết nối 5V ở phía Nguồn với hàng dương trên bảng mạch

  2. Kết nối GND với mặt âm của bảng mạch
  3. Chèn nút nhấn vào breadboard Kết nối nguồn trên hàng cố định với phần dưới cùng bên trái của nút nhấn

  4. Nối đất nút bằng cách sử dụng một điện trở vào phần dưới cùng bên phải của nút nhấn vào hàng âm của bảng mạch.
  5. Kết nối (số pin của bạn) ở phía Kỹ thuật số của Arduino với phía trên cùng bên phải của nút.

Bạn cũng sẽ cần sửa đổi mã để xử lý tất cả các nút của mình. Hãy ghi nhớ rằng nếu bạn cần phải cẩn thận với các Chuỗi bạn đã sử dụng. Bạn không thể thêm vào chữ thường với nhau. Tốt nhất nên khai báo 1 là một đối tượng String.

int child1ButtonPin = 13; // Đây là chốt mà nút nhấn của chúng ta được kết nối vớiint child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Đọc trạng thái của nút (bật / tắt) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; int child2Strike = 0; int child3Strike = 0; int child4Strike = 0;

// chức năng thiết lập chạy một lần khi bạn nhấn đặt lại hoặc cấp nguồn cho bo mạch

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (con3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {// đọc trạng thái của nút (bật hoặc tắt) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Nút được nhấn {child1Strike ++; Serial.println (String ("Con 1 Có:") + child1Strike + "đình công");

if (child1Strike> = 3)

{Serial.println ("Con 1 được nối đất!"); } delay (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Nút được nhấn {child2Strike ++; Serial.println (String ("Con 2 co:") + child2Strike + "chup");

if (child2Strike> = 3)

{Serial.println ("Con 2 được nối đất!"); } delay (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Nút được nhấn {child3Strike ++; Serial.println (String ("Con 3 co:") + con3Strike + "chuoi");

if (child3Strike> = 3)

{Serial.println ("Con 3 được nối đất!"); } delay (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Nút được nhấn {child4Strike ++; Serial.println (String ("Con 4 co:") + con4Strike + "chuoi");

if (child4Strike> = 3)

{Serial.println ("Con 4 được nối đất!"); } delay (3000); }}}

Bước 4: Thêm Buzzer

Thêm một Buzzer
Thêm một Buzzer
Thêm một Buzzer
Thêm một Buzzer

Bây giờ hãy đảm bảo rằng con bạn biết rằng chúng có cơ sở. Cho phép thêm một bộ rung. Để kết nối bộ rung, hãy làm theo các bước đơn giản sau.

  1. Thêm Buzzer vào breadboard của bạn, lên kế hoạch cho không gian vì màn hình LCD sắp xuất hiện.
  2. Kết nối phía Đầu tiên (bộ rung phải có dấu + ở phía đầu phía sau) với Ghim bạn chọn. Tôi đã làm 9.
  3. Kết nối phía bên kia với đường ray nối đất của bảng mạch của bạn.

Tiếp theo, sửa đổi mã của bạn để tắt bộ rung khi trẻ tiếp đất. Có một số cách khác nhau để viết mã cho bộ rung của bạn nhưng tôi thích âm báo (buzzerName, hertz, thời lượng) vì sự đơn giản của nó Vì vậy, một ví dụ về điều này sẽ là âm báo (buzzer, 4000, 300).

int child1ButtonPin = 13; // Đây là chốt mà nút nhấn của chúng ta được kết nối vớiint child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Đọc trạng thái của nút (bật / tắt) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int buzzer = 2;

// chức năng thiết lập chạy một lần khi bạn nhấn đặt lại hoặc cấp nguồn cho bo mạch

void setup () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (con3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (buzzer, OUTPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {// đọc trạng thái của nút (bật hoặc tắt) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Nút được nhấn {child1Strike ++; Serial.println (String ("Con 1 Có:") + child1Strike + "đình công");

if (child1Strike> = 3)

{Serial.println ("Con 1 được nối đất!"); âm báo (buzzer, 5000, 500); // Gửi âm thanh 5 hertz trong 5 mili giây

}

chậm trễ (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // Nút được nhấn {child2Strike ++; Serial.println (String ("Con 2 co:") + child2Strike + "chup");

if (child2Strike> = 3)

{Serial.println ("Con 2 được nối đất!"); âm báo (buzzer, 5000, 500); } delay (3000); }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // Nút được nhấn {child3Strike ++; Serial.println (String ("Con 3 co:") + con3Strike + "chuoi");

if (child3Strike> = 3)

{Serial.println ("Con 3 được nối đất!"); âm báo (buzzer, 5000, 500); } delay (3000); }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // Nút được nhấn {child4Strike ++; Serial.println (String ("Con 4 co:") + con4Strike + "chuoi");

if (child4Strike> = 3)

{Serial.println ("Con 4 được nối đất!"); âm báo (buzzer, 5000, 500); } delay (3000); }}}

Bước 5: Thêm màn hình LCD

Image
Image
Thêm màn hình LCD
Thêm màn hình LCD

Bây giờ hãy để một màn hình LCD để đọc rõ ràng và dễ dàng.

  1. Đầu tiên, thêm một chiết áp vào breadboard của bạn để điều khiển màn hình LCD. Hãy cẩn thận về nơi bạn đặt nó vì bạn có thể sắp hết dung lượng.
  2. Sử dụng phía trước bên trái để kết nối chiết áp của bạn với đường ray điện
  3. Sử dụng bên phải phía trước để nối đất chiết áp của bạn.
  4. Mặt sau sẽ được kết nối với màn hình LCD.
  5. Thêm màn hình LCD vào breadboard của bạn
  6. Nối đất chốt màn hình đầu tiên vào thanh nối đất
  7. Nối chốt thứ hai vào thanh ray điện.
  8. Chân LCD thứ ba đi đến Chân 8 trên Arduino
  9. Chân LCD thứ tư đi đến Chân 7 trên Arduino
  10. Thứ năm chuyển đến Pin 6 trên Arduino
  11. Chân thứ sáu chuyển đến chân 5 trên Arduino
  12. Các chân từ 7 đến 10 trên màn hình LCD trống
  13. Pin 11 chuyển đến Pin 5 trên Arduino
  14. Chân 12 đi vào đường ray nối đất
  15. Pin 13 chuyển đến Pin 4 trên Arduino
  16. Chân 14 đi đến mặt sau của chiết áp
  17. Chân 15 đi đến Power rail
  18. Chân 16 đi đến Đường sắt mặt đất.

Bây giờ bạn sẽ phải cập nhật mã của mình để sử dụng màn hình LCD. Đối với điều đó, bạn sẽ sử dụng Tinh thể lỏng libary. Hãy cẩn thận với các báo cáo in LCD của bạn. Hãy nhớ xóa màn hình khi bạn cần một tin nhắn mới. Cũng nhớ đặt con trỏ khi bạn muốn sử dụng hai dòng.

#bao gồm

Màn hình LCD LiquidCrystal (3, 4, 5, 6, 7, 8); // Đặt màn hình LCD

int child1ButtonPin = 13; // Đây là chốt mà nút nhấn của chúng ta được kết nối với int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Đọc trạng thái của nút (bật / tắt) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Trạng thái trước của nút được nhấn int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; // Có bao nhiêu Strikes một đứa trẻ có int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int buzzer = 9; // Buzzer

// chức năng thiết lập chạy một lần khi bạn nhấn đặt lại hoặc cấp nguồn cho bo mạch

void setup () {Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Con"); lcd.setCursor (0, 1); lcd.print ("Modifer Hành vi"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (con3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (buzzer, OUTPUT); } // hàm lặp đi lặp lại mãi mãi void loop () {lcd.setCursor (0, 0); // đọc trạng thái của nút (bật hoặc tắt) child1ButtonState = digitalRead (child1ButtonPin);

child2ButtonState = digitalRead (child2ButtonPin);

child3ButtonState = digitalRead (child3ButtonPin);

child4ButtonState = digitalRead (child4ButtonPin);

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // Nút được nhấn {lcd.clear (); child1Strike ++; Serial.println (String ("Con 1 Có:") + child1Strike + "đình công"); lcd.print ("Con 1 Có:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Đình công!");

if (child1Strike> = 3)

{Serial.println ("Con 1 được nối đất!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Con 1 is"); lcd.setCursor (0, 1); lcd.print ("Nối đất!");

âm báo (buzzer, 5000, 500); // Gửi âm thanh 5 hertz trong 5 mili giây

}

chậm trễ (3000); }} if (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == HIGH) // Nút được nhấn {child2Strike ++; Serial.println (String ("Con 2 co:") + child2Strike + "chup"); lcd.print ("Con 2 Có:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Đình công!"); if (child2Strike> = 3) {Serial.println ("Con 2 được nối đất!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Con 2 la"); lcd.setCursor (0, 1); lcd.print ("Nối đất!"); âm báo (buzzer, 5000, 500); } delay (3000); }}

if (child3ButtonState! = child3PreviousState)

{lcd.clear (); if (child3ButtonState == HIGH) // Nút được nhấn {child3Strike ++; Serial.println (String ("Con 3 co:") + con3Strike + "chuoi"); lcd.print ("Con 3 Có:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Đình công!"); if (child3Strike> = 3) {Serial.println ("Con 3 được nối đất!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Con 3 la"); lcd.setCursor (0, 1); lcd.print ("Nối đất!"); âm báo (buzzer, 5000, 500); } delay (3000); }}

if (child4ButtonState! = child4PreviousState)

{lcd.clear (); if (child4ButtonState == HIGH) // Nút được nhấn {child4Strike ++; Serial.println (String ("Con 4 co:") + con4Strike + "chuoi"); lcd.print ("Con 4 Có:"); lcd.setCursor (0, 1); lcd.print (child4Strike); lcd.print ("Đình công!");

if (child4Strike> = 3)

{Serial.println ("Con 4 được nối đất!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Con 4 la"); lcd.setCursor (0, 1); lcd.print ("Đã nối đất!"); âm báo (buzzer, 5000, 500); } delay (3000); }}} Và đó là tất cả những gì bạn cần để xây dựng Trình sửa đổi hành vi trẻ em của riêng bạn

Đề xuất: