Isi kandungan:
- Langkah 1: Mulakan Ringkas: Tambah Butang
- Langkah 2: Ubahsuai Kod untuk Mendaftar Tekanan Butang
- Langkah 3: Tambah Sebilangan Butang Semasa Anda Mempunyai Anak
- Langkah 4: Tambahkan Buzzer
- Langkah 5: Tambahkan Skrin LCD
Video: Pengubah Tingkah Laku Kanak-kanak: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-02-01 14:41
Pengubah Tingkah Laku Kanak-kanak mencatatkan berapa kali anak anda menghadapi masalah (aka Strikes) dan ketika mereka mencapai tiga, bel berbunyi dan skrin lcd mengumumkan bahawa mereka dibumikan.
Langkah 1: Mulakan Ringkas: Tambah Butang
Langkah pertama dalam Projek ini adalah mudah. Tambah 1 Butang. Dalam langkah ini, anda memerlukan, 4 Kabel Male to Male, 1 220 Resisitor dan butang tekan.
- Sambungkan 5V di sisi Kuasa ke baris positif di papan roti
-
Sambungkan GND ke sisi negatif papan roti
- Masukkan butang tekan ke papan roti
-
Sambungkan kuasa pada baris pasif ke bahagian bawah kiri butang tekan
- Arahkan butang dengan menggunakan perintang ke bahagian kanan bawah butang tekan ke baris negatif papan roti.
- Sambungkan # 13 di sisi Digital Arduino ke bahagian kanan atas butang.
Sahkan dengan kod anda bahawa butang mendaftar:
int child1ButtonPin = 13; // Ini adalah pin yang disambungkan oleh butang tekan kami
int child1ButtonState = 0; // Membaca keadaan butang (hidup / mati)
int child1Strike = 0; // Berapa banyak teguran yang dilakukan oleh kanak-kanak itu
// fungsi persediaan berjalan sekali apabila anda menekan semula atau menghidupkan papan
batal persediaan () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // fungsi gelung berulang-ulang selamanya kekosongan gelung () {// baca keadaan butang (hidup atau mati) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState == TINGGI) // Butang ditekan {Serial.println ("TINGGI"); kelewatan (5000); }
jika (child1ButtonState == RENDAH)
{Serial.println ("RENDAH"); kelewatan (5000); }}
Langkah 2: Ubahsuai Kod untuk Mendaftar Tekanan Butang
Ubahsuai Kod untuk mendaftarkan butang tekan:
int child1ButtonPin = 13; // Ini adalah pin butang tekan kami disambungkan ke child1ButtonState = 0; // Membaca keadaan butang (hidup / mati) int child1PreviousState = 0; // Nyatakan butang sebelumnya int child1Strike = 0;
// fungsi penyediaan berjalan sekali apabila anda menekan semula atau menghidupkan papan
batal persediaan () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // fungsi gelung berulang-ulang kali selamanya kekosongan gelung () {// baca keadaan butang (hidup atau mati) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == TINGGI) // Butang ditekan {child1Strike ++; Serial.println (child1Strike); kelewatan (1000); }}
}
Seterusnya Ubah Kod sehingga anak mendapat 3 teguran dan selepas itu mereka akan menerima mesej bahawa mereka dibumikan:
int child1ButtonPin = 13; // Ini adalah pin butang tekan kami disambungkan ke child1ButtonState = 0; // Membaca keadaan butang (hidup / mati) int child1PreviousState = 0; int child1Strike = 0;
// fungsi persediaan berjalan sekali apabila anda menekan semula atau menghidupkan papan
batal persediaan () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); } // fungsi gelung berulang-ulang kali selamanya kekosongan gelung () {// baca keadaan butang (hidup atau mati) child1ButtonState = digitalRead (child1ButtonPin); if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == TINGGI) // Butang ditekan {child1Strike ++; Serial.println (child1Strike);
jika (child1Strike> = 3)
{Serial.println ("Anak 1 Dibumikan!"); } kelewatan (3000); }}
}
Serial Moniter harus seperti gambar di atas.
Catatan: Pastikan anda selesa dengan kelewatan. Untuk sedikit kelewatan dan ia akan mendaftar 1 butang tekan lebih dari satu!
Langkah 3: Tambah Sebilangan Butang Semasa Anda Mempunyai Anak
Dalam langkah ini, kami hanya menyalin beberapa langkah terakhir. Tambahkan seberapa banyak butang seperti yang anda lakukan kanak-kanak. Dalam kes saya, saya menambah empat. Pastikan untuk menukar kod anda pin Digital yang diikat oleh butang. Dalam kes saya, saya menggunakan pin 12 hingga 10 untuk menambah butang saya. Sekiranya anda perlu mengingatkan di sini adalah Langkah 1:
- Sambungkan 5V di sisi Kuasa ke baris positif di papan roti
-
Sambungkan GND ke sisi negatif papan roti
- Masukkan butang tekan ke papan roti Sambungkan kuasa pada baris pasif ke bahagian bawah kiri butang tekan
-
Arahkan butang dengan menggunakan perintang ke bahagian kanan bawah butang tekan ke baris negatif papan roti.
- Sambungkan (nombor pin anda) di sisi Digital Arduino ke bahagian kanan atas butang.
Anda juga perlu mengubah kod untuk mengendalikan semua butang anda. Perlu diingat bahawa jika anda perlu berhati-hati dengan Strings yang anda gunakan. Anda tidak boleh menambah huruf kecil bersama-sama. Yang terbaik untuk menyatakan 1 sebagai objek String.
int child1ButtonPin = 13; // Ini adalah pin butang tekan kami dihubungkan ke child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Membaca keadaan butang (hidup / mati) 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 persediaan berjalan sekali apabila anda menekan semula atau menghidupkan papan
batal persediaan () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); } // fungsi gelung berulang-ulang kali selamanya kekosongan gelung () {// baca keadaan butang (hidup atau mati) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
jika (child1ButtonState! = child1PreviousState)
{if (child1ButtonState == TINGGI) // Butang ditekan {child1Strike ++; Serial.println (Rentetan ("Anak 1 Mempunyai:") + child1Strike + "strike");
jika (child1Strike> = 3)
{Serial.println ("Anak 1 Dibumikan!"); } kelewatan (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == TINGGI) // Butang ditekan {child2Strike ++; Serial.println (String ("Child 2 has:") + child2Strike + "strike");
jika (child2Strike> = 3)
{Serial.println ("Anak 2 Dibumikan!"); } kelewatan (3000); }}
jika (child3ButtonState! = child3PreviousState)
{if (child3ButtonState == TINGGI) // Butang ditekan {child3Strike ++; Serial.println (String ("Child 3 has:") + child3Strike + "strike");
jika (child3Strike> = 3)
{Serial.println ("Anak 3 Dibumikan!"); } kelewatan (3000); }}
jika (child4ButtonState! = child4PreviousState)
{if (child4ButtonState == TINGGI) // Butang ditekan {child4Strike ++; Serial.println (String ("Child 4 has:") + child4Strike + "strike");
jika (child4Strike> = 3)
{Serial.println ("Anak 4 Dibumikan!"); } kelewatan (3000); }}}
Langkah 4: Tambahkan Buzzer
Sekarang mari pastikan bahawa anak-anak anda tahu bahawa mereka dibumikan. Mari tambah buzzer. Untuk menyambungkan bel, ikuti langkah mudah ini.
- Tambahkan Buzzer ke papan roti anda, rencanakan ruang kerana skrin LCD akan muncul.
- Sambungkan sisi Postive (buzzer harus mempunyai + di sisi postive) ke Pin pilihan anda. Saya melakukan 9.
- Sambungkan bahagian lain ke landasan landasan papan roti anda.
Seterusnya, ubah kod anda untuk mematikan bel semasa anak kecil dibumikan. Terdapat beberapa cara yang berbeza untuk membuat kod untuk buzzer anda tetapi saya suka nada (buzzerName, hertz, durasi) kerana kesederhanaannya. Contohnya ialah nada (buzzer, 4000, 300).
int child1ButtonPin = 13; // Ini adalah pin butang tekan kami disambungkan ke child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Membaca keadaan butang (hidup / mati) 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;
// fungsi persediaan berjalan sekali apabila anda menekan semula atau menghidupkan papan
batal persediaan () {Serial.begin (9600); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (buzzer, OUTPUT); } // fungsi gelung berulang-ulang kali selamanya kekosongan gelung () {// baca keadaan butang (hidup atau mati) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
jika (child1ButtonState! = child1PreviousState)
{if (child1ButtonState == TINGGI) // Butang ditekan {child1Strike ++; Serial.println (Rentetan ("Anak 1 Mempunyai:") + child1Strike + "strike");
jika (child1Strike> = 3)
{Serial.println ("Anak 1 Dibumikan!"); nada (bel, 5000, 500); // Menghantar bunyi 5 hertz selama 5 milisaat
}
kelewatan (3000); }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == TINGGI) // Butang ditekan {child2Strike ++; Serial.println (String ("Child 2 has:") + child2Strike + "strike");
jika (child2Strike> = 3)
{Serial.println ("Anak 2 Dibumikan!"); nada (bel, 5000, 500); } kelewatan (3000); }}
jika (child3ButtonState! = child3PreviousState)
{if (child3ButtonState == TINGGI) // Butang ditekan {child3Strike ++; Serial.println (String ("Child 3 has:") + child3Strike + "strike");
jika (child3Strike> = 3)
{Serial.println ("Anak 3 Dibumikan!"); nada (bel, 5000, 500); } kelewatan (3000); }}
jika (child4ButtonState! = child4PreviousState)
{if (child4ButtonState == TINGGI) // Butang ditekan {child4Strike ++; Serial.println (String ("Child 4 has:") + child4Strike + "strike");
jika (child4Strike> = 3)
{Serial.println ("Anak 4 Dibumikan!"); nada (bel, 5000, 500); } kelewatan (3000); }}}
Langkah 5: Tambahkan Skrin LCD
Sekarang biarkan skrin LCD untuk bacaan yang jelas dan mudah.
- Pertama, tambahkan potensiometer ke papan roti anda untuk mengawal skrin lcd. Berhati-hatilah di mana anda meletakkannya kerana sekarang anda mungkin kehabisan ruang.
- Gunakan kiri depan untuk menyambungkan potensiometer anda ke rel kuasa
- Gunakan bahagian depan kanan untuk membumikan potensiometer anda.
- Bahagian belakang akan disambungkan ke skrin lcd.
- Tambahkan skrin LCD ke papan roti anda
- Arahkan pin skrin pertama ke landasan landasan
- Kawat pin kedua ke rel kuasa.
- Pin LCD ketiga menuju ke Pin 8 di Arduino
- Pin LCD keempat menuju ke Pin 7 di Arduino
- Kelima menuju Pin 6 di Arduino
- Pin Keenam masuk ke pin 5 di Arduino
- Pin 7 hingga 10 pada skrin LCD kosong
- Pin 11 menuju ke Pin 5 di Arduino
- Pin 12 menuju ke landasan rel
- Pin 13 menuju ke Pin 4 di Arduino
- Pin 14 menuju ke bahagian belakang potensiometer
- Pin 15 menuju ke Power rail
- Pin 16 menuju ke Landasan Rel.
Sekarang anda perlu mengemas kini kod anda untuk menggunakan skrin lcd. Untuk itu anda akan menggunakan perpustakaan Liquid Crystal. Berhati-hati dengan penyata cetak lcd anda. Ingatlah untuk membersihkan skrin apabila anda memerlukan mesej baru. Juga ingat untuk menetapkan kursor semasa anda ingin menggunakan dua baris.
#sertakan
LiquidCrystal lcd (3, 4, 5, 6, 7, 8); // Menetapkan Skrin LCD
int child1ButtonPin = 13; // Ini adalah pin butang tekan kami disambungkan ke int child2ButtonPin = 12; int child3ButtonPin = 11; int child4ButtonPin = 10; int child1ButtonState = 0; // Membaca keadaan butang (hidup / mati) int child2ButtonState = 0; int child3ButtonState = 0; int child4ButtonState = 0; int child1PreviousState = 0; // Keadaan sebelumnya butang ditekan int child2PreviousState = 0; int child3PreviousState = 0; int child4PreviousState = 0; int child1Strike = 0; // Berapa Banyak Teguran seorang kanak-kanak mempunyai int child2Strike = 0; int child3Strike = 0; int child4Strike = 0; const int buzzer = 9; // Buzzer
// fungsi persediaan berjalan sekali apabila anda menekan semula atau menghidupkan papan
batal persediaan () {Serial.begin (9600); lcd.begin (16, 2); lcd.print ("Anak itu"); lcd.setCursor (0, 1); lcd.print ("Perilaku Pengubah"); pinMode (child1ButtonPin, INPUT); pinMode (child2ButtonPin, INPUT); pinMode (child3ButtonPin, INPUT); pinMode (child4ButtonPin, INPUT); pinMode (buzzer, OUTPUT); } // fungsi gelung berulang-ulang selamanya kekosongan gelung () {lcd.setCursor (0, 0); // baca keadaan butang (hidup atau mati) child1ButtonState = digitalRead (child1ButtonPin);
child2ButtonState = digitalRead (child2ButtonPin);
child3ButtonState = digitalRead (child3ButtonPin);
child4ButtonState = digitalRead (child4ButtonPin);
jika (child1ButtonState! = child1PreviousState)
{if (child1ButtonState == TINGGI) // Butang ditekan {lcd.clear (); child1Strike ++; Serial.println (Rentetan ("Anak 1 Mempunyai:") + child1Strike + "strike"); lcd.print ("Anak 1 Mempunyai:"); lcd.setCursor (0, 1); lcd.print (child1Strike); lcd.print ("Teguran!");
jika (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); // Menghantar bunyi 5 hertz selama 5 milisaat
}
kelewatan (3000); }} jika (child2ButtonState! = child2PreviousState) {lcd.clear (); if (child2ButtonState == TINGGI) // Butang ditekan {child2Strike ++; Serial.println (String ("Child 2 has:") + child2Strike + "strike"); lcd.print ("Anak 2 Mempunyai:"); lcd.setCursor (0, 1); lcd.print (child2Strike); lcd.print ("Teguran!"); if (child2Strike> = 3) {Serial.println ("Anak 2 Dibumikan!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Anak 2 adalah"); lcd.setCursor (0, 1); lcd.print ("Dibumikan!"); nada (bel, 5000, 500); } kelewatan (3000); }}
jika (child3ButtonState! = child3PreviousState)
{lcd.clear (); if (child3ButtonState == TINGGI) // Butang ditekan {child3Strike ++; Serial.println (String ("Child 3 has:") + child3Strike + "strike"); lcd.print ("Anak 3 Mempunyai:"); lcd.setCursor (0, 1); lcd.print (child3Strike); lcd.print ("Teguran!"); if (child3Strike> = 3) {Serial.println ("Anak 3 Dibumikan!"); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Anak 3 adalah"); lcd.setCursor (0, 1); lcd.print ("Dibumikan!"); nada (bel, 5000, 500); } kelewatan (3000); }}
jika (child4ButtonState! = child4PreviousState)
{lcd.clear (); if (child4ButtonState == TINGGI) // Butang ditekan {child4Strike ++; Serial.println (String ("Child 4 has:") + child4Strike + "strike"); lcd.print ("Anak 4 Mempunyai:"); 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 (bel, 5000, 500); } kelewatan (3000); }}} Itu saja, yang anda perlukan untuk membina Modifer Perilaku Anak anda sendiri
Disyorkan:
No Pee Now, Perangkat Penyesuaian Tingkah Laku Haiwan Peliharaan yang Menghentikan Kucing untuk Berjalan di Rumah Anda: 4 Langkah
No Pee Now, Perangkat Penyesuaian Tingkah Laku Haiwan yang Menghentikan Kucing untuk Kencing di Rumah Anda: Saya sangat terganggu oleh kucing saya sehingga dia suka kencing di tempat tidur saya, saya memeriksa semua yang dia perlukan dan saya juga membawanya ke doktor haiwan. Setelah saya menyelesaikan semua perkara yang dapat saya fikirkan dan mendengar kata doktor, saya menyedari dia hanya mempunyai tingkah laku buruk. Oleh itu
Helmet Pengubah Suara Spartan: 14 Langkah (dengan Gambar)
Helmet Pengubah Suara Spartan: Helo! Kami adalah sekumpulan 4 pelajar dari sekolah Politeknik Universiti Sorbonne: Louis BuchertBilal MelehiBao Tinh PiotMarco Longépé Projek ini direalisasikan sebagai sebahagian daripada kajian kami, dan bertujuan untuk mengambil beberapa alat, serta menunjukkan
Pengubah Tab yang Dilancarkan Kaki: 4 Langkah
Pengubah Tab Melancarkan Kaki: Apabila diberikan komputer riba di kelas, pelajar selalu tergoda untuk melakukan tugas, seperti menonton youtube atau bermain permainan. Oleh kerana guru bukan orang bodoh, mereka sering melakukan pemeriksaan yang tidak dijangka terhadap pelajar tersebut, dalam usaha untuk membuat mereka bersalah. Adik lelaki saya, unsur
Hack Pengubah Suara untuk Sintetik DIY: 9 Langkah (dengan Gambar)
Suara Pengubah Suara untuk DIY Synths: Bagi mereka yang mengikuti iblis terbaru saya - anda akan tahu bahawa saya telah membina beberapa 555 pemasa masa. Baru-baru ini semasa perjalanan ke depot kitar semula tempatan, saya menjumpai penukar suara kanak-kanak. Ini adalah jenis di mana anda bercakap dengan mik
Peningkatan Pengubah Isolasi untuk Amps Gitar Lama: 11 Langkah (dengan Gambar)
Peningkatan Isolasi Transformer untuk Old Guitar Amps: Selamatkan kulit anda! Tingkatkan amp lama yang menakutkan itu dengan pengubah pengasingan. Beberapa penguat lama (dan radio) pada hari itu menggunakan tenaga dengan membetulkan secara langsung rumah " sesalur " pendawaian. Ini adalah amalan yang tidak selamat. Paling