找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2747|回复: 1
收起左侧

我今天编的一个交通灯小程序(Arduino)

[复制链接]
ID:815969 发表于 2020-8-29 10:22 | 显示全部楼层 |阅读模式
这是我编的交通灯程序:(萌新的程序,若编的不好请谅解)
程序简介:
1)东⻄向道路绿灯亮为5秒,绿灯结束后黄灯闪烁3秒,黄灯结束后红灯点亮。
2)南北向道路绿灯亮为5秒,绿灯结束后黄灯闪烁3秒,黄灯结束后红灯点亮。
3)东西向绿灯亮或黄灯闪烁时,南北向交通灯为红灯。
4)南北向绿灯亮或⻄灯闪烁时,东西向交通灯为红灯。
5)通过旋转电位器,实现主干道(东西向)绿灯通⾏时间在5~10秒之间变化。
程序代码:
  1. volatile int 主红;
  2. volatile int 主黄;
  3. volatile int 主绿;
  4. volatile int 支红;
  5. volatile int 支黄;
  6. volatile int 支绿;
  7. volatile int 电位器;

  8. void setup(){
  9.   主红 = 0;
  10.   主黄 = 1;
  11.   主绿 = 2;
  12.   支红 = 4;
  13.   支黄 = 5;
  14.   支绿 = 6;
  15.   电位器 = 0;
  16. }

  17. void loop(){
  18.   while (true) {
  19.     电位器 = analogRead(A1);
  20.     电位器 = (map(电位器, 0, 1023, 0, 5000));
  21.     pinMode(主红, OUTPUT);
  22.     digitalWrite(主红,LOW);
  23.     pinMode(主黄, OUTPUT);
  24.     digitalWrite(主黄,LOW);
  25.     pinMode(主绿, OUTPUT);
  26.     digitalWrite(主绿,HIGH);
  27.     pinMode(支红, OUTPUT);
  28.     digitalWrite(支红,HIGH);
  29.     pinMode(支黄, OUTPUT);
  30.     digitalWrite(支黄,LOW);
  31.     pinMode(支绿, OUTPUT);
  32.     digitalWrite(支绿,LOW);
  33.     delay(5000);
  34.     delay(电位器);
  35.     pinMode(主红, OUTPUT);
  36.     digitalWrite(主红,LOW);
  37.     pinMode(主绿, OUTPUT);
  38.     digitalWrite(主绿,LOW);
  39.     pinMode(支红, OUTPUT);
  40.     digitalWrite(支红,HIGH);
  41.     pinMode(支黄, OUTPUT);
  42.     digitalWrite(支黄,LOW);
  43.     pinMode(支绿, OUTPUT);
  44.     digitalWrite(支绿,LOW);
  45.     for (int i = 1; i <= 3; i = i + (1)) {
  46.       pinMode(主黄, OUTPUT);
  47.       digitalWrite(主黄,HIGH);
  48.       delay(500);
  49.       pinMode(主黄, OUTPUT);
  50.       digitalWrite(主黄,LOW);
  51.       delay(500);
  52.     }
  53.     pinMode(主红, OUTPUT);
  54.     digitalWrite(主红,HIGH);
  55.     pinMode(主黄, OUTPUT);
  56.     digitalWrite(主黄,LOW);
  57.     pinMode(主绿, OUTPUT);
  58.     digitalWrite(主绿,LOW);
  59.     pinMode(支红, OUTPUT);
  60.     digitalWrite(支红,LOW);
  61.     pinMode(支黄, OUTPUT);
  62.     digitalWrite(支黄,LOW);
  63.     pinMode(支绿, OUTPUT);
  64.     digitalWrite(支绿,HIGH);
  65.     delay(5000);
  66.     pinMode(主红, OUTPUT);
  67.     digitalWrite(主红,HIGH);
  68.     pinMode(主黄, OUTPUT);
  69.     digitalWrite(主黄,LOW);
  70.     pinMode(主绿, OUTPUT);
  71.     digitalWrite(主绿,LOW);
  72.     pinMode(支红, OUTPUT);
  73.     digitalWrite(支红,LOW);
  74.     pinMode(支绿, OUTPUT);
  75.     digitalWrite(支绿,LOW);
  76.     for (int i = 1; i <= 3; i = i + (1)) {
  77.       pinMode(支黄, OUTPUT);
  78.       digitalWrite(支黄,HIGH);
  79.       delay(500);
  80.       pinMode(支黄, OUTPUT);
  81.       digitalWrite(支黄,LOW);
  82.       delay(500);
  83.     }
  84.   }

  85. }
复制代码

望各位大神看看有没有什么问题

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:815969 发表于 2020-8-29 19:49 | 显示全部楼层
抱歉,程序简介中第四条输入时产生输入法卡住的情况,望各位大神谅解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表