فهرست مطالب:

اصلاح کننده رفتار کودک: 5 مرحله (همراه با تصاویر)
اصلاح کننده رفتار کودک: 5 مرحله (همراه با تصاویر)

تصویری: اصلاح کننده رفتار کودک: 5 مرحله (همراه با تصاویر)

تصویری: اصلاح کننده رفتار کودک: 5 مرحله (همراه با تصاویر)
تصویری: آیا س*کس از پشت را دوست دارید ؟😱😂😂😱(زیرنویس فارسی) 2024, نوامبر
Anonim
اصلاح کننده رفتار کودک
اصلاح کننده رفتار کودک

اصلاح کننده رفتار کودک ثبت می کند که فرزند شما چند بار دچار مشکل شده است (با نام مستعار Strikes) و هنگامی که به سه می رسد ، صدای زنگ خاموش می شود و یک صفحه LCD اعلام می کند که زمین خورده است.

مرحله 1: ساده شروع کنید: یک دکمه اضافه کنید

شروع ساده: یک دکمه اضافه کنید
شروع ساده: یک دکمه اضافه کنید

اولین قدم در این پروژه ساده است. 1 دکمه اضافه کنید. در این مرحله به 4 سیم نر به نر ، 1 220 Resisitor و یک دکمه نیاز دارید.

  1. 5 ولت را در قسمت Power به ردیف مثبت روی نان برد وصل کنید
  2. GND را به قسمت منفی تخته نان متصل کنید

  3. دکمه فشاری را روی تخته نان قرار دهید
  4. منبع تغذیه ردیف را به قسمت پایین سمت چپ دکمه فشار وصل کنید

  5. با استفاده از یک مقاومت در قسمت پایین سمت راست دکمه فشار دهید تا ردیف منفی تخته نان را فشار دهید.
  6. شماره 13 سمت دیجیتال آردوینو را به سمت راست بالای دکمه وصل کنید.

با کد خود تأیید کنید که دکمه در حال ثبت است:

int child1ButtonPin = 13؛ // این پینی است که دکمه فشار ما به آن متصل شده است

int child1ButtonState = 0؛ // وضعیت دکمه (روشن/خاموش) را می خواند

int child1Strike = 0 ؛ // کودک چند ضربه دارد

// هنگامی که تنظیم مجدد یا تغذیه برد را فشار می دهید ، عملکرد راه اندازی یکبار اجرا می شود

void setup () {Serial.begin (9600)؛ pinMode (child1ButtonPin ، INPUT) ؛ } // عملکرد حلقه بارها و بارها اجرا می شود حلقه void () {// خواندن وضعیت دکمه (روشن یا خاموش) child1ButtonState = digitalRead (child1ButtonPin) ؛ if (child1ButtonState == HIGH) // دکمه {Serial.println ("HIGH") فشار داده شده است؛ تأخیر (5000) ؛ }

if (child1ButtonState == LOW)

{Serial.println ("LOW")؛ تأخیر (5000) ؛ }}

مرحله 2: کد را برای ثبت فشارهای دکمه اصلاح کنید

اصلاح کد برای ثبت فشارهای دکمه
اصلاح کد برای ثبت فشارهای دکمه
کد را برای ثبت فشارهای دکمه اصلاح کنید
کد را برای ثبت فشارهای دکمه اصلاح کنید

برای ثبت یک دکمه ، کد را اصلاح کنید:

int child1ButtonPin = 13؛ // این پینی است که دکمه فشار ما به آن متصل شده است // دکمه قبلی وضعیت int child1Strike = 0؛

// هنگامی که تنظیم مجدد یا تغذیه برد را فشار می دهید ، عملکرد راه اندازی یکبار اجرا می شود

void setup () {Serial.begin (9600)؛ pinMode (child1ButtonPin ، INPUT) ؛ } // عملکرد حلقه بارها و بارها اجرا می شود حلقه void () {// وضعیت دکمه را بخوانید (روشن یا خاموش) child1ButtonState = digitalRead (child1ButtonPin) ؛ if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // دکمه {child1Strike ++؛ Serial.println (child1Strike) ؛ تاخیر (1000) ؛ }}

}

در مرحله بعد ، کد را اصلاح کنید تا کودک 3 ضربه دریافت کند و پس از آن پیامی مبنی بر غیرفعال شدن دریافت کند:

int child1ButtonPin = 13؛ // این پینی است که دکمه فشار ما به آن متصل شده است int child1Strike = 0؛

// هنگامی که تنظیم مجدد یا تغذیه برد را فشار می دهید ، عملکرد راه اندازی یکبار اجرا می شود

void setup () {Serial.begin (9600)؛ pinMode (child1ButtonPin ، INPUT) ؛ } // عملکرد حلقه بارها و بارها اجرا می شود حلقه void () {// وضعیت دکمه را بخوانید (روشن یا خاموش) child1ButtonState = digitalRead (child1ButtonPin) ؛ if (child1ButtonState! = child1PreviousState) {if (child1ButtonState == HIGH) // دکمه {child1Strike ++؛ Serial.println (child1Strike) ؛

if (child1Strike> = 3)

{Serial.println ("کودک 1 زمین خورده است!") ؛ } تأخیر (3000) ؛ }}

}

Serial Moniter باید مانند تصویر بالا باشد.

توجه: مطمئن شوید که با تاخیر راحت هستید. با کمی تأخیر ، 1 دکمه را به عنوان بیش از یک فشار دهید!

مرحله 3: به اندازه فرزند خود دکمه اضافه کنید

به اندازه فرزند خود دکمه اضافه کنید
به اندازه فرزند خود دکمه اضافه کنید
به اندازه فرزند خود دکمه اضافه کنید
به اندازه فرزند خود دکمه اضافه کنید

در این مرحله ، ما به سادگی دو مرحله آخر را کپی می کنیم. به اندازه بچه ها دکمه اضافه کنید. در مورد من ، چهار عدد اضافه می کنم. اطمینان حاصل کنید که کد خود را با پین دیجیتال که دکمه به آن وصل شده است تغییر دهید. در مورد من از پین های 12 تا 10 برای افزودن دکمه های خود استفاده کردم. در صورت نیاز به یادآوری در اینجا مرحله 1 است:

  1. 5 ولت را در قسمت Power به ردیف مثبت روی نان برد وصل کنید

  2. GND را به سمت منفی تخته نان متصل کنید
  3. دکمه فشاری را روی نانبرد قرار دهید برق ردیف موضعی را به قسمت پایین سمت چپ دکمه فشار وصل کنید

  4. با استفاده از یک مقاومت در قسمت پایین سمت راست دکمه فشار دهید تا ردیف منفی تخته نان را فشار دهید.
  5. (شماره پین خود) را در سمت دیجیتال آردوینو به سمت راست بالای دکمه وصل کنید.

شما همچنین باید کد را تغییر دهید تا همه دکمه های شما را اداره کند. لطفاً به خاطر داشته باشید که اگر لازم است مراقب رشته هایی باشید که استفاده کرده اید. نمی توانید با هم به حروف کوچک اضافه کنید. بهتر است 1 را به عنوان یک شی String اعلام کنید.

int child1ButtonPin = 13؛ // این پینی است که دکمه فشار ما به آن متصل شده است child2ButtonPin = 12؛ int child3ButtonPin = 11؛ int child4ButtonPin = 10 ؛ int child1ButtonState = 0؛ // حالت دکمه (روشن/خاموش) را می خواند 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 ؛

// هنگامی که تنظیم مجدد یا تغذیه برد را فشار می دهید ، عملکرد راه اندازی یکبار اجرا می شود

void setup () {Serial.begin (9600)؛ pinMode (child1ButtonPin ، INPUT) ؛ pinMode (child2ButtonPin ، INPUT) ؛ pinMode (child3ButtonPin ، INPUT) ؛ pinMode (child4ButtonPin ، INPUT) ؛ } // عملکرد حلقه بارها و بارها اجرا می شود حلقه void () {// وضعیت دکمه را بخوانید (روشن یا خاموش) child1ButtonState = digitalRead (child1ButtonPin) ؛

child2ButtonState = digitalRead (child2ButtonPin) ؛

child3ButtonState = digitalRead (child3ButtonPin) ؛

child4ButtonState = digitalRead (child4ButtonPin) ؛

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // دکمه {child1Strike ++؛ Serial.println (String ("کودک 1 دارد:") + child1Strike + "اعتصاب") ؛

if (child1Strike> = 3)

{Serial.println ("کودک 1 زمین خورده است!") ؛ } تأخیر (3000) ؛ }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // دکمه {child2Strike ++؛ Serial.println (String ("Child 2 has:") + child2Strike + "strike")؛

if (child2Strike> = 3)

{Serial.println ("Child 2 Is Grounded!")؛ } تأخیر (3000) ؛ }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // دکمه {child3Strike ++؛ Serial.println (String ("کودک 3 دارد:") + child3Strike + "اعتصاب") ؛

if (child3Strike> = 3)

{Serial.println ("کودک 3 زمین خورده است!") ؛ } تأخیر (3000) ؛ }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // دکمه {child4Strike ++؛ Serial.println (رشته ("کودک 4 دارد:") + child4Strike + "اعتصاب") ؛

if (child4Strike> = 3)

{Serial.println ("کودک 4 زمین خورده است!") ؛ } تأخیر (3000) ؛ }}}

مرحله 4: یک سوزن اضافه کنید

زنگ را اضافه کنید
زنگ را اضافه کنید
زنگ را اضافه کنید
زنگ را اضافه کنید

حالا اجازه دهید مطمئن شویم که فرزندان شما می دانند که زمین گیر هستند. اجازه دهید یک زنگ صدا اضافه کنیم برای اتصال زنگ ، این مراحل آسان را دنبال کنید.

  1. یک بوزر به تخته نان خود اضافه کنید ، از آنجا که یک صفحه LCD در حال ظهور است ، فضا را برنامه ریزی کنید.
  2. سمت Postive (زنگ صدا باید + در سمت postive داشته باشد) را به پین دلخواه خود وصل کنید. من 9 تا کردم
  3. طرف دیگر را به ریل زمین گیر تخته نان خود وصل کنید.

در مرحله بعد ، کد خود را تغییر دهید تا هنگامی که کودک زمین گیر می شود ، زنگ را خاموش کند. چند روش مختلف برای کدگذاری برای زنگ شما وجود دارد ، اما من به دلیل سادگی تن (buzzerName ، hertz ، duration) را دوست دارم بنابراین یک مثال از این می تواند تن باشد (زنگ ، 4000 ، 300).

int child1ButtonPin = 13؛ // این پینی است که دکمه فشار ما به آن متصل شده است child2ButtonPin = 12؛ int child3ButtonPin = 11؛ int child4ButtonPin = 10 ؛ int child1ButtonState = 0؛ // حالت دکمه (روشن/خاموش) را می خواند 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؛

// هنگامی که تنظیم مجدد یا تغذیه برد را فشار می دهید ، عملکرد راه اندازی یکبار اجرا می شود

void setup () {Serial.begin (9600)؛ pinMode (child1ButtonPin ، INPUT) ؛ pinMode (child2ButtonPin ، INPUT) ؛ pinMode (child3ButtonPin ، INPUT) ؛ pinMode (child4ButtonPin ، INPUT) ؛ pinMode (زنگ ، OUTPUT) ؛ } // عملکرد حلقه بارها و بارها اجرا می شود حلقه void () {// وضعیت دکمه را بخوانید (روشن یا خاموش) child1ButtonState = digitalRead (child1ButtonPin) ؛

child2ButtonState = digitalRead (child2ButtonPin) ؛

child3ButtonState = digitalRead (child3ButtonPin) ؛

child4ButtonState = digitalRead (child4ButtonPin) ؛

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // دکمه {child1Strike ++؛ Serial.println (String ("کودک 1 دارد:") + child1Strike + "اعتصاب") ؛

if (child1Strike> = 3)

{Serial.println ("کودک 1 زمین خورده است!") ؛ تن (زنگ ، 5000 ، 500) ؛ // صدای 5 هرتزی را به مدت 5 میلی ثانیه ارسال می کند

}

تاخیر (3000) ؛ }} if (child2ButtonState! = child2PreviousState) {if (child2ButtonState == HIGH) // دکمه {child2Strike ++؛ Serial.println (String ("Child 2 has:") + child2Strike + "strike")؛

if (child2Strike> = 3)

{Serial.println ("Child 2 Is Grounded!")؛ تن (زنگ ، 5000 ، 500) ؛ } تأخیر (3000) ؛ }}

if (child3ButtonState! = child3PreviousState)

{if (child3ButtonState == HIGH) // دکمه {child3Strike ++؛ Serial.println (String ("کودک 3 دارد:") + child3Strike + "اعتصاب") ؛

if (child3Strike> = 3)

{Serial.println ("کودک 3 زمین خورده است!") ؛ تن (زنگ ، 5000 ، 500) ؛ } تأخیر (3000) ؛ }}

if (child4ButtonState! = child4PreviousState)

{if (child4ButtonState == HIGH) // دکمه {child4Strike ++؛ Serial.println (رشته ("کودک 4 دارد:") + child4Strike + "اعتصاب") ؛

if (child4Strike> = 3)

{Serial.println ("کودک 4 زمین خورده است!") ؛ تن (زنگ ، 5000 ، 500) ؛ } تأخیر (3000) ؛ }}}

مرحله 5: یک صفحه LCD اضافه کنید

Image
Image
یک صفحه LCD اضافه کنید
یک صفحه LCD اضافه کنید

اکنون یک صفحه LCD برای خواندن واضح و آسان به شما اجازه می دهد.

  1. ابتدا یک پتانسیومتر به صفحه نان خود اضافه کنید تا صفحه LCD را کنترل کنید. مراقب محل قرار دادن آن باشید زیرا احتمالاً در حال حاضر فضای شما در حال اتمام است.
  2. از قسمت چپ جلو برای اتصال پتانسیومتر خود به ریل قدرت استفاده کنید
  3. از قسمت جلویی راست برای زمین زدن پتانسیومتر خود استفاده کنید.
  4. قسمت پشتی به صفحه LCD متصل می شود.
  5. صفحه LCD را به تخته نان خود اضافه کنید
  6. اولین پین صفحه را به ریل زمین متصل کنید
  7. پین دوم را به ریل برق وصل کنید.
  8. پین LCD سوم به پین 8 در آردوینو می رود
  9. چهارمین پین LCD به پین 7 در آردوینو می رود
  10. پنجم به پین 6 در آردوینو می رود
  11. پین ششم به پین 5 در آردوینو می رود
  12. پین های 7 تا 10 روی صفحه LCD خالی است
  13. پین 11 به پین 5 در آردوینو می رود
  14. پین 12 به راه آهن متصل می شود
  15. پین 13 به پین 4 در آردوینو می رود
  16. پین 14 به پشت پتانسیومتر می رود
  17. پین 15 به ریل برق می رود
  18. پین 16 به راه آهن زمینی می رود.

اکنون برای استفاده از صفحه LCD باید کد خود را به روز کنید. برای این کار از Libary Liquid Crystal استفاده می کنید. مراقب دستورات چاپ LCD خود باشید. به یاد داشته باشید که در صورت نیاز به پیام جدید صفحه را پاک کنید. همچنین به یاد داشته باشید که وقتی می خواهید از دو خط استفاده کنید مکان نما را تنظیم کنید.

#عبارتند از

LCD مایع LiquidCrystal (3 ، 4 ، 5 ، 6 ، 7 ، 8) ؛ // صفحه LCD را تنظیم می کند

int child1ButtonPin = 13؛ // این پینی است که دکمه فشار ما به int child2ButtonPin = 12 وصل شده است. int child3ButtonPin = 11؛ int child4ButtonPin = 10؛ int child1ButtonState = 0؛ // حالت دکمه (روشن/خاموش) را می خواند 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 = 9؛ // زنگ

// هنگامی که تنظیم مجدد یا تغذیه برد را فشار می دهید ، عملکرد راه اندازی یکبار اجرا می شود

void setup () {Serial.begin (9600)؛ lcd.begin (16 ، 2) ؛ lcd.print ("کودک") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("اصلاح کننده رفتار") ؛ pinMode (child1ButtonPin ، INPUT) ؛ pinMode (child2ButtonPin ، INPUT) ؛ pinMode (child3ButtonPin ، INPUT) ؛ pinMode (child4ButtonPin ، INPUT) ؛ pinMode (زنگ ، OUTPUT) ؛ } // تابع حلقه بارها و بارها برای همیشه void loop () {lcd.setCursor (0 ، 0) اجرا می شود ؛ // خواندن وضعیت دکمه (روشن یا خاموش) child1ButtonState = digitalRead (child1ButtonPin) ؛

child2ButtonState = digitalRead (child2ButtonPin) ؛

child3ButtonState = digitalRead (child3ButtonPin) ؛

child4ButtonState = digitalRead (child4ButtonPin) ؛

if (child1ButtonState! = child1PreviousState)

{if (child1ButtonState == HIGH) // دکمه {lcd.clear () فشار داده شده است؛ child1Strike ++؛ Serial.println (String ("کودک 1 دارد:") + child1Strike + "اعتصاب") ؛ lcd.print ("کودک 1 دارد:") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print (child1Strike) ؛ lcd.print ("اعتصاب می کند!") ؛

if (child1Strike> = 3)

{Serial.println ("کودک 1 زمین خورده است!") ؛ lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("Child 1 is")؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("Grounded!") ؛

تن (زنگ ، 5000 ، 500) ؛ // صدای 5 هرتزی را به مدت 5 میلی ثانیه ارسال می کند

}

تاخیر (3000) ؛ }} if (child2ButtonState! = child2PreviousState) {lcd.clear ()؛ if (child2ButtonState == HIGH) // دکمه {child2Strike ++؛ Serial.println (String ("Child 2 has:") + child2Strike + "strike")؛ lcd.print ("Child 2 Has:")؛ lcd.setCursor (0 ، 1) ؛ lcd.print (child2Strike) ؛ lcd.print ("اعتصاب می کند!") ؛ if (child2Strike> = 3) {Serial.println ("Child 2 Is Grounded!")؛ lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("Child 2 is")؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("Grounded!") ؛ تن (زنگ ، 5000 ، 500) ؛ } تأخیر (3000) ؛ }}

if (child3ButtonState! = child3PreviousState)

{lcd.clear ()؛ if (child3ButtonState == HIGH) // دکمه {child3Strike ++؛ Serial.println (String ("کودک 3 دارد:") + child3Strike + "اعتصاب") ؛ lcd.print ("کودک 3 دارد:") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print (child3Strike) ؛ lcd.print ("اعتصاب می کند!") ؛ if (child3Strike> = 3) {Serial.println ("Child 3 Is Grounded!")؛ lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("Child 3 is")؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("Grounded!") ؛ تن (زنگ ، 5000 ، 500) ؛ } تأخیر (3000) ؛ }}

if (child4ButtonState! = child4PreviousState)

{lcd.clear ()؛ if (child4ButtonState == HIGH) // دکمه {child4Strike ++ را فشار دهید ؛ Serial.println (رشته ("کودک 4 دارد:") + child4Strike + "اعتصاب") ؛ lcd.print ("کودک 4 دارد:") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print (child4Strike) ؛ lcd.print ("اعتصاب می کند!") ؛

if (child4Strike> = 3)

{Serial.println ("کودک 4 زمین خورده است!") ؛ lcd.clear ()؛ lcd.setCursor (0 ، 0) ؛ lcd.print ("کودک 4 ساله است") ؛ lcd.setCursor (0 ، 1) ؛ lcd.print ("Grounded!") ؛ تن (زنگ ، 5000 ، 500) ؛ } تأخیر (3000) ؛ }}} و تمام ، این تنها چیزی است که شما برای ایجاد اصلاح کننده رفتار کودک خود نیاز دارید

توصیه شده: