آی پی امداد
abtahi
آریا الکترونیک mehrinfo تکشو

کمک برای ساخت چراغ راهنمایی و رانندگی

kataag

VIP+ افتخاری
کاربر
2012-03-27
679
974
با سلام میخام یه چراغ راهنمایی درست کنم اما میخام فقط از یک کلید استفاده کنم.امکانش هست؟
 

Hamidii.

کاربر vip
vip
کاربر
2022-07-05
21
30
اصفهان
با سلام میخام یه چراغ راهنمایی درست کنم اما میخام فقط از یک کلید استفاده کنم.امکانش هست؟
سلام
منظورتون چیه؟
برای کاردستی میخاین درست کنین یا نه تایمر داشته باشه و به درستی کار بکنه؟
 
  • Like
واکنش‌ها[ی پسندها]: kataag

kataag

VIP+ افتخاری
کاربر
2012-03-27
679
974
سلام
منظورتون چیه؟
برای کاردستی میخاین درست کنین یا نه تایمر داشته باشه و به درستی کار بکنه؟
برای کاردستی میخام.ترجیحا یک کلید باشه.اگرم اتوماتیک کار کنه که خیلی عالیتر هست.تایمش هم مهم نیست
 

Navid-Aref

کاربر vip
vip
کاربر
2008-11-23
385
797
درود. با کمک یک عدد آردوینو نانو(یا اونو) و پروگرام کردن آن با کد زیر می تونین بسازین. در ابتدا بر روی برِد بورد تست کنین و بعد می تونین براش یک PCB مناسب طراحی کنین. سه حالت ارائه شده و هر کدوم که مورد نظرتون هست رو می تونین انتخاب کنین. من کد حالت دوم و سوم رو پیوست کردم. حالت دوم یک تک سوئیچ داره و دستی عمل می کنه. حالت سوم کاملترین مود هست و نزدیک به حالت واقعی است یعنی چراغ های سه گانه دو چراغ راهنمایی رو مدیریت می کنه. منبع

اگر قصد راه اندازی چراغ های واقعی 220 ولتی به جای LED رو دارین میشه در خروجی از ماژول های آماده رله و یا حتی از ترایاک استفاده کنین.

برنامه نویسی پروژه در حالت دوم:​


C:
int red = 10;
int yellow = 9;
int green = 8;
int button = 12; // switch is on pin 12
void setup() {
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(button, INPUT);
  digitalWrite(green, HIGH);
}
 
void loop() {
  if (digitalRead(button) == HIGH) {
    delay(15); // software debounce
    if (digitalRead(button) == HIGH) {
      // if the switch is HIGH, ie. pushed down - change the lights!
      changeLights();
      delay(15000); // wait for 15 seconds
    }
  }
}
 
void changeLights() {
  // green off, yellow on for 3 seconds
  digitalWrite(green, LOW);
  digitalWrite(yellow, HIGH);
  delay(3000);
 
  // turn off yellow, then turn red on for 5 seconds
  digitalWrite(yellow, LOW);
  digitalWrite(red, HIGH);
  delay(5000);
 
  // red and yellow on for 2 seconds (red is already on though)
  digitalWrite(yellow, HIGH);
  delay(2000);
 
  // turn off red and yellow, then turn on green
  digitalWrite(yellow, LOW);
  digitalWrite(red, LOW);
  digitalWrite(green, HIGH);
  delay(3000);
}


برنامه نویسی پروژه در حالت سوم:​



C:
// light one
int red1 = 10;
int yellow1 = 9;
int green1 = 8;
 
// light two
int red2 = 13;
int yellow2 = 12;
int green2 = 11;
 
void setup(){
    // light one
    pinMode(red1, OUTPUT);
    pinMode(yellow1, OUTPUT);
    pinMode(green1, OUTPUT);
 
    // light two
    pinMode(red2, OUTPUT);
    pinMode(yellow2, OUTPUT);
    pinMode(green2, OUTPUT);
}
void loop(){
    changeLights();
    delay(15000);
}
void changeLights(){
    // turn both yellows on
    digitalWrite(green1, LOW);
    digitalWrite(yellow1, HIGH);
    digitalWrite(yellow2, HIGH);
    delay(5000);
 
    // turn both yellows off, and opposite green and red
    digitalWrite(yellow1, LOW);
    digitalWrite(red1, HIGH);
    digitalWrite(yellow2, LOW);
    digitalWrite(red2, LOW);
    digitalWrite(green2, HIGH);
    delay(5000);
 
    // both yellows on again
    digitalWrite(yellow1, HIGH);
    digitalWrite(yellow2, HIGH);
    digitalWrite(green2, LOW);
    delay(3000);
 
    // turn both yellows off, and opposite green and red
    digitalWrite(green1, HIGH);
    digitalWrite(yellow1, LOW);
    digitalWrite(red1, LOW);
    digitalWrite(yellow2, LOW);
    digitalWrite(red2, HIGH);
    delay(5000);
}
 

پیوست‌ها

  • 49.3 کیلوبایت بازدیدها: 18
  • 46.2 کیلوبایت بازدیدها: 19
آخرین ویرایش:

Hamidii.

کاربر vip
vip
کاربر
2022-07-05
21
30
اصفهان
برای کاردستی میخام.ترجیحا یک کلید باشه.اگرم اتوماتیک کار کنه که خیلی عالیتر هست.تایمش هم مهم نیست
تا حالا کار نکردم ولی میتونین از آیسی آپ امپ مثل lm324 یا دوتا 555 استفاده کنین برا اتوماتیک کردنش که دردسر زیادی داره و برای کاردستی مناسب نیست و به خازن و مقاومت و... نیاز داره همچنین میتونین از روش دوستمون با برد آردینو این کارو بکنین ولی اگه برای کاردستی یچیز خیلی معمولی میخاین میتونین از این مدار استفاده کنین که برای روشن کردن هر لامپ یه کلید استفاده شده ولی برای اینکه هر سه با یک کلید روشن بشن دقیقا بعد از باتری یه کلید بزارید
 

پیوست‌ها

  • Like
واکنش‌ها[ی پسندها]: kataag

Hamidii.

کاربر vip
vip
کاربر
2022-07-05
21
30
اصفهان
تا حالا کار نکردم ولی میتونین از آیسی آپ امپ مثل lm324 یا دوتا 555 استفاده کنین برا اتوماتیک کردنش که دردسر زیادی داره و برای کاردستی مناسب نیست و به خازن و مقاومت و... نیاز داره همچنین میتونین از روش دوستمون با برد آردینو این کارو بکنین ولی اگه برای کاردستی یچیز خیلی معمولی میخاین میتونین از این مدار استفاده کنین که برای روشن کردن هر لامپ یه کلید استفاده شده ولی برای اینکه هر سه با یک کلید روشن بشن دقیقا بعد از باتری یه کلید بزارید
اینم مدار استفاده از ایسی آپ امپ 555 برای ساخت چراغ راهنمایی
 

پیوست‌ها

بالا