Daftar Isi:

Pengubah Perilaku Anak: 5 Langkah (dengan Gambar)
Pengubah Perilaku Anak: 5 Langkah (dengan Gambar)

Video: Pengubah Perilaku Anak: 5 Langkah (dengan Gambar)

Video: Pengubah Perilaku Anak: 5 Langkah (dengan Gambar)
Video: Mengenal Anak Lewat Gambar: 5 Manfaat menggambar bagi anak.... 2024, November
Anonim
Pengubah Perilaku Anak
Pengubah Perilaku Anak

Pengubah Perilaku Anak mencatat berapa kali anak Anda mendapat masalah (alias Mogok) dan ketika mereka mencapai tiga, bel berbunyi dan layar lcd mengumumkan bahwa mereka di-ground.

Langkah 1: Mulai Sederhana: Tambahkan Tombol

Mulai Sederhana: Tambahkan Tombol
Mulai Sederhana: Tambahkan Tombol

Langkah pertama dalam Proyek ini sederhana. Tambahkan 1 Tombol. Pada langkah ini Anda membutuhkan, 4 Kabel Male to Male, 1220 Resisitor dan tombol tekan.

  1. Hubungkan 5V di sisi Daya ke baris positif di papan tempat memotong roti
  2. Hubungkan GND ke sisi negatif papan tempat memotong roti

  3. Masukkan tombol tekan ke papan tempat memotong roti
  4. Hubungkan daya pada baris postive ke bagian kiri bawah tombol tekan

  5. Ground tombol dengan menggunakan resistor ke bagian kanan bawah tombol tekan ke baris negatif papan tempat memotong roti.
  6. Hubungkan #13 di sisi Digital Arduino ke sisi kanan atas tombol.

Verifikasi dengan kode Anda bahwa tombol sedang mendaftar:

int child1ButtonPin = 13;//Ini adalah pin yang terhubung dengan tombol push kita

int child1ButtonState = 0;//Membaca status tombol (on/off)

int child1Strike = 0; // Berapa banyak pukulan yang dilakukan anak itu

// fungsi pengaturan berjalan sekali ketika Anda menekan reset atau menyalakan papan

void setup() { Serial.begin(9600); pinMode(child1ButtonPin, INPUT); } // fungsi loop berjalan berulang-ulang selamanya void loop() { //membaca status tombol (on atau off) child1ButtonState = digitalRead(child1ButtonPin); if(child1ButtonState == HIGH)//Tombol ditekan { Serial.println("HIGH"); penundaan(5000); }

if(child1ButtonState == RENDAH)

{ Serial.println("RENDAH"); penundaan(5000); } }

Langkah 2: Ubah Kode untuk Menekan Tombol Daftar

Ubah Kode untuk Menekan Tombol Daftar
Ubah Kode untuk Menekan Tombol Daftar
Ubah Kode untuk Menekan Tombol Daftar
Ubah Kode untuk Menekan Tombol Daftar

Ubah Kode untuk mendaftar tekan tombol:

int child1ButtonPin = 13;//Ini adalah pin yang terhubung dengan push button kita keint child1ButtonState = 0;//Membaca status tombol (on/off) int child1PreviousState = 0; // Status tombol sebelumnya int child1Strike = 0;

// fungsi pengaturan berjalan sekali ketika Anda menekan reset atau menyalakan papan

void setup() { Serial.begin(9600); pinMode(child1ButtonPin, INPUT); } // fungsi loop berjalan berulang-ulang selamanya void loop() { //membaca status tombol (on atau off) child1ButtonState = digitalRead(child1ButtonPin); if(child1ButtonState != child1PreviousState) { if(child1ButtonState == HIGH)//Tombol ditekan { child1Strike ++; Serial.println(child1Strike); penundaan (1000); } }

}

Selanjutnya Ubah Kode sehingga anak mendapat 3 teguran setelah itu mereka akan menerima pesan bahwa mereka dihukum:

int child1ButtonPin = 13;//Ini adalah pin yang terhubung dengan push button kita keint child1ButtonState = 0;//Membaca status tombol (on/off) int child1PreviousState = 0; int child1Strike = 0;

// fungsi pengaturan berjalan sekali ketika Anda menekan reset atau menyalakan papan

void setup() { Serial.begin(9600); pinMode(child1ButtonPin, INPUT); } // fungsi loop berjalan berulang-ulang selamanya void loop() { //membaca status tombol (on atau off) child1ButtonState = digitalRead(child1ButtonPin); if(child1ButtonState != child1PreviousState) { if(child1ButtonState == HIGH)//Tombol ditekan { child1Strike ++; Serial.println(child1Strike);

if(Child1Strike >=3)

{ Serial.println("Anak 1 Dibumikan!"); } penundaan(3000); } }

}

Serial Monitor akan terlihat seperti gambar di atas.

Catatan: Pastikan Anda merasa nyaman dengan penundaan itu. Untuk sedikit penundaan dan itu akan mendaftarkan 1 tombol tekan lebih dari satu!

Langkah 3: Tambahkan Tombol Sebanyak yang Anda Punya Anak

Tambahkan Tombol Sebanyak yang Anda Punya Anak
Tambahkan Tombol Sebanyak yang Anda Punya Anak
Tambahkan Tombol Sebanyak yang Anda Punya Anak
Tambahkan Tombol Sebanyak yang Anda Punya Anak

Pada langkah ini, kita cukup menyalin beberapa langkah terakhir. Tambahkan tombol sebanyak yang Anda lakukan anak-anak. Dalam kasus saya, saya menambahkan empat. Pastikan untuk mengubah kode Anda ke pin Digital yang dihubungkan dengan tombol. Dalam kasus saya, saya menggunakan pin 12 hingga 10 untuk menambahkan tombol saya. Jika Anda perlu diingatkan di sini adalah Langkah 1:

  1. Hubungkan 5V di sisi Daya ke baris positif di papan tempat memotong roti
  2. Hubungkan GND ke sisi negatif papan tempat memotong roti

  3. Masukkan tombol tekan ke papan tempat memotong rotiHubungkan daya pada baris postive ke bagian kiri bawah tombol tekan
  4. Ground tombol dengan menggunakan resistor ke bagian kanan bawah tombol tekan ke baris negatif dari papan tempat memotong roti.

  5. Hubungkan (nomor pin Anda) di sisi Digital Arduino ke sisi kanan atas tombol.

Anda juga perlu memodifikasi kode untuk menangani semua tombol Anda. Harap diingat bahwa jika Anda perlu berhati-hati dengan String yang Anda gunakan. Anda tidak dapat menambahkan huruf kecil bersama-sama. Yang terbaik untuk mendeklarasikan 1 sebagai objek String.

int child1ButtonPin = 13;//Ini adalah pin yang terhubung dengan tombol push kita keint child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0;//Membaca status tombol (on/off) 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;

// fungsi pengaturan berjalan sekali ketika Anda menekan reset atau menyalakan papan

void setup() { Serial.begin(9600); pinMode(child1ButtonPin, INPUT); pinMode(child2ButtonPin, INPUT); pinMode(child3ButtonPin, INPUT); pinMode(child4ButtonPin, INPUT); } // fungsi loop berjalan berulang-ulang selamanya void loop() { //membaca status tombol (on atau off) child1ButtonState = digitalRead(child1ButtonPin);

child2ButtonState = digitalRead(child2ButtonPin);

child3ButtonState = digitalRead(child3ButtonPin);

child4ButtonState = digitalRead(child4ButtonPin);

if(child1ButtonState != child1PreviousState)

{ if(child1ButtonState == HIGH)//Tombol ditekan { child1Strike ++; Serial.println(String("Anak 1 Memiliki: ") + child1Strike + " strike");

if(Child1Strike >=3)

{ Serial.println("Anak 1 Dibumikan!"); } penundaan(3000); } } if(child2ButtonState != child2PreviousState) { if(child2ButtonState == HIGH)//Tombol ditekan { child2Strike ++; Serial.println(String("Anak 2 memiliki: ") + child2Strike + " strike");

if(child2Strike >=3)

{ Serial.println("Anak 2 Dibumikan!"); } penundaan(3000); } }

if(child3ButtonState != child3PreviousState)

{ if(child3ButtonState == HIGH)//Tombol ditekan { child3Strike ++; Serial.println(String("Anak 3 memiliki: ") + child3Strike + " strike");

if(Child3Strike >=3)

{ Serial.println("Anak 3 Dibumikan!"); } penundaan(3000); } }

if(child4ButtonState != child4PreviousState)

{ if(child4ButtonState == HIGH)//Tombol ditekan { child4Strike ++; Serial.println(String("Anak 4 memiliki: ") + child4Strike + " strike");

jika(child4Strike >=3)

{ Serial.println("Anak 4 Dibumikan!"); } penundaan(3000); } } }

Langkah 4: Tambahkan Buzzer

Tambahkan Buzzer
Tambahkan Buzzer
Tambahkan Buzzer
Tambahkan Buzzer

Sekarang mari kita pastikan bahwa anak-anak Anda tahu bahwa mereka dihukum. Mari tambahkan buzzer. Untuk menghubungkan buzzer, ikuti langkah-langkah mudah ini.

  1. Tambahkan Buzzer ke papan tempat memotong roti Anda, rencanakan ruang karena layar LCD akan muncul.
  2. Hubungkan sisi Postive (bel harus memiliki tanda + di sisi postive) ke Pin pilihan Anda. saya melakukan 9.
  3. Hubungkan sisi lain ke rel ground dari papan tempat memotong roti Anda.

Selanjutnya, ubah kode Anda untuk mematikan bel saat anak di-ground. Ada beberapa cara berbeda untuk mengkodekan buzzer Anda, tetapi saya suka nada (buzzerName, hertz, durasi) karena kesederhanaannya Jadi contohnya adalah nada (buzzer, 4000, 300).

int child1ButtonPin = 13;//Ini adalah pin yang terhubung dengan tombol push kita keint child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0;//Membaca status tombol (on/off) 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 bel = 2;

// fungsi pengaturan berjalan sekali ketika Anda menekan reset atau menyalakan papan

void setup() { Serial.begin(9600); pinMode(child1ButtonPin, INPUT); pinMode(child2ButtonPin, INPUT); pinMode(child3ButtonPin, INPUT); pinMode(child4ButtonPin, INPUT); pinMode(buzzer, OUTPUT); } // fungsi loop berjalan berulang-ulang selamanya void loop() { //membaca status tombol (on atau off) child1ButtonState = digitalRead(child1ButtonPin);

child2ButtonState = digitalRead(child2ButtonPin);

child3ButtonState = digitalRead(child3ButtonPin);

child4ButtonState = digitalRead(child4ButtonPin);

if(child1ButtonState != child1PreviousState)

{ if(child1ButtonState == HIGH)//Tombol ditekan { child1Strike ++; Serial.println(String("Anak 1 Memiliki: ") + child1Strike + " strike");

if(Child1Strike >=3)

{ Serial.println("Anak 1 Dibumikan!"); nada (bel, 5000, 500); // Mengirim suara 5 hertz selama 5 milidetik

}

penundaan(3000); } } if(child2ButtonState != child2PreviousState) { if(child2ButtonState == HIGH)//Tombol ditekan { child2Strike ++; Serial.println(String("Anak 2 memiliki: ") + child2Strike + " strike");

if(child2Strike >=3)

{ Serial.println("Anak 2 Dibumikan!"); nada (bel, 5000, 500); } penundaan(3000); } }

if(child3ButtonState != child3PreviousState)

{ if(child3ButtonState == HIGH)//Tombol ditekan { child3Strike ++; Serial.println(String("Anak 3 memiliki: ") + child3Strike + " strike");

if(Child3Strike >=3)

{ Serial.println("Anak 3 Dibumikan!"); nada (bel, 5000, 500); } penundaan(3000); } }

if(child4ButtonState != child4PreviousState)

{ if(child4ButtonState == HIGH)//Tombol ditekan { child4Strike ++; Serial.println(String("Anak 4 memiliki: ") + child4Strike + " strike");

jika(child4Strike >=3)

{ Serial.println("Anak 4 Dibumikan!"); nada (bel, 5000, 500); } penundaan(3000); } } }

Langkah 5: Tambahkan Layar LCD

Image
Image
Tambahkan Layar LCD
Tambahkan Layar LCD

Sekarang memungkinkan layar LCD untuk pembacaan yang jelas dan mudah.

  1. Pertama, tambahkan potensiometer ke papan tempat memotong roti Anda untuk mengontrol layar lcd. Hati-hati di mana Anda meletakkannya karena Anda mungkin kehabisan ruang sekarang.
  2. Gunakan kiri depan untuk menghubungkan potensiometer Anda ke rel daya
  3. Gunakan kanan depan untuk membumikan potensiometer Anda.
  4. Bagian belakang akan terhubung ke layar lcd.
  5. Tambahkan layar LCD ke papan tempat memotong roti Anda
  6. Ground pin layar pertama ke rel grounding
  7. Pasang pin kedua ke rel daya.
  8. Pin LCD ketiga masuk ke Pin 8 di Arduino
  9. Pin LCD keempat masuk ke Pin 7 di Arduino
  10. Kelima pergi ke Pin 6 di Arduino
  11. Pin keenam masuk ke pin 5 di Arduino
  12. Pin 7 hingga 10 pada layar LCD kosong
  13. Pin 11 masuk ke Pin 5 di Arduino
  14. Pin 12 menuju ke rel yang diarde
  15. Pin 13 masuk ke Pin 4 di Arduino
  16. Pin 14 pergi ke bagian belakang potensiometer
  17. Pin 15 menuju ke Power rail
  18. Pin 16 menuju Ground Rail.

Sekarang Anda harus memperbarui kode Anda untuk menggunakan layar lcd. Untuk itu Anda akan menggunakan Liquid Crystal perpustakaan. Hati-hati dengan pernyataan cetak lcd Anda. Ingatlah untuk membersihkan layar saat Anda membutuhkan pesan baru. Juga ingat untuk mengatur kursor ketika Anda ingin menggunakan dua baris.

#termasuk

LiquidCrystal lcd(3, 4, 5, 6, 7, 8); //Menyetel Layar LCD

int child1ButtonPin = 13;//Ini adalah pin yang terhubung dengan push button kita int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0;//Membaca status tombol (on/off) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Status tombol sebelumnya ditekan int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; //Berapa Banyak Pukulan yang dimiliki seorang anak int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int bel = 9; // Buzzer

// fungsi pengaturan berjalan sekali ketika Anda menekan reset atau menyalakan papan

void setup() { Serial.begin(9600); lcd.begin(16, 2); lcd.print("Anak"); lcd.setCursor(0, 1); lcd.print("Pengubah Perilaku"); pinMode(child1ButtonPin, INPUT); pinMode(child2ButtonPin, INPUT); pinMode(child3ButtonPin, INPUT); pinMode(child4ButtonPin, INPUT); pinMode(buzzer, OUTPUT); } // fungsi loop berjalan berulang-ulang selamanya void loop() { lcd.setCursor(0, 0); //baca status tombol (hidup atau mati) child1ButtonState = digitalRead(child1ButtonPin);

child2ButtonState = digitalRead(child2ButtonPin);

child3ButtonState = digitalRead(child3ButtonPin);

child4ButtonState = digitalRead(child4ButtonPin);

if(child1ButtonState != child1PreviousState)

{ if(child1ButtonState == HIGH)//Tombol ditekan { lcd.clear(); child1Strike ++; Serial.println(String("Anak 1 Memiliki: ") + child1Strike + " strike"); lcd.print("Anak 1 Memiliki:"); lcd.setCursor(0, 1); lcd.print(child1Strike); lcd.print("Teguran!");

if(Child1Strike >=3)

{ Serial.println("Anak 1 Dibumikan!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Anak 1 adalah"); lcd.setCursor(0, 1); lcd.print("Dibumikan!");

nada (bel, 5000, 500); // Mengirim suara 5 hertz selama 5 milidetik

}

penundaan(3000); } } if(child2ButtonState != child2PreviousState) { lcd.clear(); if(child2ButtonState == HIGH)//Tombol ditekan { child2Strike ++; Serial.println(String("Anak 2 memiliki: ") + child2Strike + " strike"); lcd.print("Anak 2 Memiliki:"); lcd.setCursor(0, 1); lcd.print(child2Strike); lcd.print("Teguran!"); if(child2Strike >=3) { Serial.println("Anak 2 Di-ground!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Anak 2 adalah"); lcd.setCursor(0, 1); lcd.print("Dibumikan!"); nada (bel, 5000, 500); } penundaan(3000); } }

if(child3ButtonState != child3PreviousState)

{ lcd.clear(); if(child3ButtonState == HIGH)//Tombol ditekan { child3Strike ++; Serial.println(String("Anak 3 memiliki: ") + child3Strike + " strike"); lcd.print("Anak 3 Memiliki:"); lcd.setCursor(0, 1); lcd.print(child3Strike); lcd.print("Teguran!"); if(Child3Strike >=3) { Serial.println("Anak 3 Di-ground!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Anak 3 adalah"); lcd.setCursor(0, 1); lcd.print("Dibumikan!"); nada (bel, 5000, 500); } penundaan(3000); } }

if(child4ButtonState != child4PreviousState)

{ lcd.clear(); if(child4ButtonState == HIGH)//Tombol ditekan { child4Strike ++; Serial.println(String("Anak 4 memiliki: ") + child4Strike + " strike"); lcd.print("Anak 4 Memiliki:"); lcd.setCursor(0, 1); lcd.print(child4Strike); lcd.print("Teguran!");

jika (child4Strike >=3)

{ Serial.println("Anak 4 Dibumikan!"); lcd.clear(); lcd.setCursor(0, 0); lcd.print("Anak 4 adalah"); lcd.setCursor(0, 1); lcd.print("Dibumikan!"); nada (buzzer, 5000, 500); } penundaan(3000); } } } Dan hanya itu, itu saja yang Anda butuhkan untuk membangun Modifer Perilaku Anak Anda sendiri

Direkomendasikan: