查看: 583|回复: 4

[未解决] 求助, 请帮我看看是零件接触不良还是程序有问题

[复制链接]
  • TA的每日心情
    无聊
    2019-10-16 08:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2019-10-14 20:20 | 显示全部楼层 |阅读模式
    本帖最后由 BYC616 于 2019-10-14 20:21 编辑

    我想做一个带数字显示的小游戏, 给两个数字, 猜第二个数字比第一个数字大还是小的那种, 我用arduino软件验证了也没问题, 但是街上电路板后就没反应, 请大神帮我看看是我电路板的问题还是程序里面有问题
    这是我写的程序
    int guessTimes;
    int guessOne;
    int guessTwo;
    int guessCheck;
    const int buttonReset = 5;
    const int buttonLarge = 6;
    const int buttonSmall = 7;
    const int dataPin = 8;
    const int latchPin = 10;
    const int clockPin = 11;
    int dataArray[10] = {0B11111100, 0B01100000, 0B11011010, 0B11110010, 0B01100110, 0B10110110, 0B10111110, 0B11100000, 0B11111110, 0B11110110};


    void setup()
    {
      Serial.begin(9600);
      pinMode(buttonReset,INPUT_PULLUP);
      pinMode(buttonLarge,INPUT_PULLUP);
      pinMode(buttonSmall,INPUT_PULLUP);
      pinMode(latchPin, OUTPUT);
      pinMode(dataPin, OUTPUT);
      pinMode(clockPin, OUTPUT);
    }

    void loop()
    {
        guessOne = random(0,10);
        guessTwo = random(0,10);

        for(int guessTimes = 0; guessTimes < 0; guessTimes++);
       {
        randomSeed(analogRead(A0));
        digitalWrite(latchPin,LOW);
        shiftOut(dataPin,clockPin, MSBFIRST ,dataArray[guessOne]);
        digitalWrite(latchPin,HIGH);
        int guessCheck = guessOne - guessTwo;
        while(digitalRead(buttonLarge) == LOW && digitalRead(buttonSmall) == LOW)
          {}
        if(digitalRead(buttonLarge) == HIGH)
        {
            if(guessCheck <= 0)
            {
            guessOne = guessTwo;
            guessTwo = random(10);
            Serial.println("Correct, guess next");  
            }   
            else
            {
            Serial.print("Wrong, total guesses = ");
            Serial.println(guessTimes);
            guessTimes = -10;
            }
        }

        if(digitalRead(buttonSmall) == HIGH)
        {
          if(guessCheck >= 0)
          {
          guessOne = guessTwo;
          guessTwo = random(10);
          Serial.println("Correct, guess next");
          }

          else
          {
          Serial.print("Wrong, total guesses = ");
          Serial.println(guessTimes);
          guessTimes = -10;}

        }
      }
    }

    软件认证后也没问题啊

    还有我用了一个移位寄存器来节省插口位置 是74HC595, 然后用的七段数字显示器是供阴的那种
    真的不明白为什么运行文件后就是没反应......
  • TA的每日心情
    擦汗
    2019-7-29 00:08
  • 签到天数: 47 天

    [LV.5]常住居民I

    发表于 2019-10-14 23:40 | 显示全部楼层
    HC595 的 MR、OE 信号接对了么
  • TA的每日心情
    无聊
    2019-10-16 08:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2019-10-15 07:41 | 显示全部楼层
    t3486784401 发表于 2019-10-14 23:40
    HC595 的 MR、OE 信号接对了么

    谢谢回复, DS接的8号, SH接的11号, ST接的10号, MR跟VCC一起接正极, OE和GND一起接地线, 我倒是希望接错了, 就不会这么麻烦了.....
  • TA的每日心情
    无聊
    2019-10-16 08:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2019-10-15 15:26 | 显示全部楼层
    没人看出来问题吗, 所以是我的面包板或者导线出问题了吗
  • TA的每日心情
    无聊
    2019-10-16 08:24
  • 签到天数: 3 天

    [LV.2]偶尔看看I

     楼主| 发表于 2019-10-16 18:19 | 显示全部楼层
    顶一下求帮忙
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    求助,用l298n模块控制电机转速,老是无缘无故的转动怎么...
    求助,用l298n模块控制电
    代码如下:int state1=0; int state2=0; void setup() { pinMode(9,OUTPUT); pinMode(
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    绑定github账号,免费增加设备额度
    绑定github账号,免费增加
    免费增加blinker设备额度的方法: 1.登录点灯管理台( https://admin.diandeng.tech/
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表