Steins;Lab

  • 项目
  • 折腾
  • 笔记
  • 图册
  • 杂谈
  • 文章索引 - 博主自荐博文
  • 关于/留言
Steins;Lab
某团的自留研究所
  1. 首页
  2. 图册
  3. 正文

[图册]第九届全国大学生节能减排竞赛图册@2016.8.9~8.12,镇江·江苏大学

2016年8月15日 2941点热度 0人点赞 0条评论

先更新展示系统 的代码,随后更新图图

 

第一次使用Arduino,纯是按照新手的51思路写的,异常冗杂,但是蛮好用= =

没有使用中断服务,纯键盘扫描

#if ARDUINO >= 100
#include "Arduino.h"
#else
#include "WProgram.h"
#endif 
//官方的库
#include "LedControl.h"

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>


const int button1=13;
const int button2=12;
int button3=11;
int step_next=3;
int step_before=2;
int switch1=0;
int switch2=1;
int step_stop=10;
int mode_flag=0;
int step_flag=0;

int light=3;
int mode_temp=0;
int step_temp=0;

/*led部分相关定义*/
/*
Now we need a LedControl to work with.
***** These pin numbers will probably not work with your hardware *****
第一个参数:pin 4 is connected to the DataIn 
第二个参数:pin 6 is connected to the CLK 
第三个参数:pin 5 is connected to LOAD 
第四个参数:We have only a single MAX72XX.
*/
LedControl lc=LedControl(4,6,5,2);
LedControl dig=LedControl(7,8,9,1);
/* we always wait a bit between updates of the display */
unsigned long delaytime=100;
unsigned long delaytime1=2000;

//舵机部分定义

// called this way, it uses the default address 0x40
//Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
// you can also call it with a different address you want
Adafruit_PWMServoDriver servo_pwm1 = Adafruit_PWMServoDriver(0x40);
//Dervo x16 #1
Adafruit_PWMServoDriver servo_pwm2 = Adafruit_PWMServoDriver(0x41);
//Dervo X16 #2
// Depending on your servo make, the pulse width min and max may vary, you 
// want these to be as small/large as possible without hitting the hard stop
// for max range. You'll have to tweak them as necessary to match the servos you
// have!
#define SERVOMIN  150 // this is the 'minimum' pulse length count (out of 4096)
#define SERVOMAX  600 // this is the 'maximum' pulse length count (out of 4096)
void setServoPulse(uint8_t n, double pulse) {
  double pulselength;
  
  pulselength = 1000000;   // 1,000,000 us per second
  pulselength /= 60;   // 60 Hz
  Serial.print(pulselength); Serial.println(" us per period"); 
  pulselength /= 4096;  // 12 bits of resolution
  Serial.print(pulselength); Serial.println(" us per bit"); 
  pulse *= 1000;
  pulse /= pulselength;
  Serial.println(pulse);
  servo_pwm2.setPWM(n, 0, pulse);
}



void setup() {
  mode_flag=0;
  step_flag=0;
  Serial.begin(9600);
  Serial.println("16 channel Servo test!");

  pinMode(button1,INPUT);
  pinMode(button2,INPUT);
  pinMode(button3,INPUT);
  pinMode(step_next,INPUT);
  pinMode(step_before,INPUT);
  pinMode(switch1,OUTPUT);
  pinMode(switch2,OUTPUT);
  pinMode(light,OUTPUT);
  digitalWrite(light,1);
 /*初始化led部分*/
 /*
   The MAX72XX is in power-saving mode on startup,
   we have to do a wakeup call
   */
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,8);
  /* and clear the display */
  lc.clearDisplay(0);

  lc.shutdown(1,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(1,8);
  /* and clear the display */
  lc.clearDisplay(1);

  //此块为数码管(温度)
    dig.shutdown(0,false);
  /* Set the brightness to a medium values */
  dig.setIntensity(0,8);
  /* and clear the display */
  dig.clearDisplay(0);

  //初始化舵机部分

  servo_pwm1.begin();
  
  servo_pwm1.setPWMFreq(50);
  
  servo_pwm2.begin();
  
  servo_pwm2.setPWMFreq(50);  // Analog servos run at ~60 Hz updates

  yield();

         unsigned int servo_position01[18]{ 475,475,475,475,475,475,475,475
         ,475,475,475,475,475,475,475,475,475,475};
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);

          

}
}

void key_scan()
{
  if(digitalRead(button1)==1)
  { 
      delay(8);
        if(digitalRead(button1)==1)
          {
            mode_flag=1;
            step_flag=0;         
          }
           while(digitalRead(button1)==1);
    }
    
     if(digitalRead(button2)==1)
  { 
      delay(8);
        if(digitalRead(button2)==1)
          {
            mode_flag=2;
            step_flag=0;

          }
        while(digitalRead(button2));
    }  
    
    if(digitalRead(button3)==1)
  { 
      delay(100);
        if(digitalRead(button3)==1)
          {
            mode_flag=3;
            step_flag=0;
          }
       while(digitalRead(button3));
    }

      if(digitalRead(step_next)==1)
  { 
      delay(8);
        if(digitalRead(step_next)==1)
          {
            step_flag=step_flag+1;
   
          }
      while(digitalRead(step_next));
    }


      if(digitalRead(step_before)==1)
  { 
      delay(100);
        if(digitalRead(step_before)==1)
          {
            if(step_flag!=0)
            step_flag=step_flag-1;
            while(digitalRead(step_before));
          }
    }

  
      if(digitalRead(step_stop)==1)
  { 
      delay(100);
        if(digitalRead(step_stop)==1)
          {
            step_flag=0;
            mode_flag=0;
            while(digitalRead(step_stop));
          }
    }

  
}

int wait()
{
    while(digitalRead(button1)==0);
    while(digitalRead(button1)==1);
    return 1;
  }

int select()
{
    int temp=0;
    dig.clearDisplay(0);
    dig.setDigit(0,0,0x0,false);
    do{
        if(digitalRead(button2)==0)
        {
          delay(50);
          if(digitalRead(button2)==0)
          {
              if(temp<4)
              temp++;
              else temp=0;
              dig.setDigit(0,0,temp,false);
            }
            while(digitalRead(button2)==0);
        }

        if(digitalRead(button1)==0)
        {
            delay(50);
             if(digitalRead(button1)==0)   return temp;
          }

      }while(1);
  
  
  }
void mode1()
{
          dig.clearDisplay(0);
                unsigned int servo_position01[18]{ 280,250,250,
                                    280,280,280,270,
                                    270,270,250,250,
                                   260,260,255,250,
                                     270,270,270};
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, 270);
            delay(50);
          }
          dig.setDigit(0,0,0x5,false);
          dig.setDigit(0,1,0x5,false);
          dig.setDigit(0,4,0x0,false);
          dig.setDigit(0,5,0x3,false);
          delay(300);
          lc.setRow(1,2,B00000010);
          delay(300);
          lc.setRow(1,2,B00000001);
          delay(300);
          lc.setRow(1,2,B00001000);
          delay(300);
          lc.setRow(1,2,B00000100);
            delay(300);
          lc.setRow(1,2,B00010000);
            delay(300);
            delay(700);
          lc.setRow(1,2,B00010010);
          delay(300);
          lc.setRow(1,2,B00010001);
          delay(300);
          lc.setRow(1,2,B00011000);
          delay(300);
          lc.setRow(1,2,B00010100);
          delay(300);
          delay(700);
          lc.setRow(1,2,B00010110);
          delay(300);
          lc.setRow(1,2,B00010101);
          delay(300);
          lc.setRow(1,2,B00011100);
          delay(300);
                   
       

wait();

 
          
          //!继电器2开启
digitalWrite(light,0);
        
      
      
      
      


                 byte led1[8]={
                         B11111111,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000
                                      } ;

                 byte led2[8]={
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B10111111,
                         B10000000
                                      } ;
          byte led3[8]={
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B11111111,
                         B00000000,
                         B00000000,
                         B00000000
                                      } ;
          byte led4[8]={
                         B00000000,
                         B00000000,
                         B11111111,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000
                                      } ;
for(int i=0;i<8;i++)
{
          lc.setRow(0,0,led1[0]);
          lc.setRow(0,1,led1[1]);
          lc.setRow(0,2,led1[2]);
           lc.setRow(0,3,led1[3]);
           lc.setRow(0,4,led1[4]);
           lc.setRow(0,5,led1[5]);
           lc.setRow(0,6,led1[6]);
           lc.setRow(0,7,led1[7]);
           delay(300);

          lc.setRow(0,0,led2[0]);
          lc.setRow(0,1,led2[1]);
          lc.setRow(0,2,led2[2]);
           lc.setRow(0,3,led2[3]);
           lc.setRow(0,4,led2[4]);
           lc.setRow(0,5,led2[5]);
           lc.setRow(0,6,led2[6]);
           lc.setRow(0,7,led2[7]);
           delay(300);
          lc.setRow(0,0,led3[0]);
          lc.setRow(0,1,led3[1]);
          lc.setRow(0,2,led3[2]);
           lc.setRow(0,3,led3[3]);
           lc.setRow(0,4,led3[4]);
           lc.setRow(0,5,led3[5]);
           lc.setRow(0,6,led3[6]);
           lc.setRow(0,7,led3[7]);
           delay(300);
          lc.setRow(0,0,led4[0]);
          lc.setRow(0,1,led4[1]);
          lc.setRow(0,2,led4[2]);
           lc.setRow(0,3,led4[3]);
           lc.setRow(0,4,led4[4]);
           lc.setRow(0,5,led4[5]);
           lc.setRow(0,6,led4[6]);
           lc.setRow(0,7,led4[7]);
           delay(300);
}

wait();

        lc.clearDisplay(1);
        dig.clearDisplay(0);
          dig.setDigit(0,0,0x0,false);
          delay(5);
          dig.setDigit(0,1,0x4,false);
          delay(5);
          dig.setDigit(0,4,0x0,false);
          delay(5);
          dig.setDigit(0,5,0x3,false);
        delay(500);
        for(int i=0;i<8;i++)
{
          lc.setRow(0,0,led1[0]);
          lc.setRow(0,1,led1[1]);
          lc.setRow(0,2,led1[2]);
           lc.setRow(0,3,led1[3]);
           lc.setRow(0,4,led1[4]);
           lc.setRow(0,5,led1[5]);
           lc.setRow(0,6,led1[6]);
           lc.setRow(0,7,led1[7]);
           delay(300);

          lc.setRow(0,0,led2[0]);
          lc.setRow(0,1,led2[1]);
          lc.setRow(0,2,led2[2]);
           lc.setRow(0,3,led2[3]);
           lc.setRow(0,4,led2[4]);
           lc.setRow(0,5,led2[5]);
           lc.setRow(0,6,led2[6]);
           lc.setRow(0,7,led2[7]);
           delay(300);
          lc.setRow(0,0,led3[0]);
          lc.setRow(0,1,led3[1]);
          lc.setRow(0,2,led3[2]);
           lc.setRow(0,3,led3[3]);
           lc.setRow(0,4,led3[4]);
           lc.setRow(0,5,led3[5]);
           lc.setRow(0,6,led3[6]);
           lc.setRow(0,7,led3[7]);
           delay(300);
          lc.setRow(0,0,led4[0]);
          lc.setRow(0,1,led4[1]);
          lc.setRow(0,2,led4[2]);
           lc.setRow(0,3,led4[3]);
           lc.setRow(0,4,led4[4]);
           lc.setRow(0,5,led4[5]);
           lc.setRow(0,6,led4[6]);
           lc.setRow(0,7,led4[7]);
           delay(300);
          }
        wait();



      }
 

void mode2()
{
    dig.clearDisplay(0);
                unsigned int servo_position01[18]{475,475,475,
                                                    475,475,475,475,
                                                    475,475,475,475,
                                                    475,475,475
                                                    };
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);
          }
          dig.setDigit(0,0,0x5,false);
          delay(5);
          dig.setDigit(0,1,0x5,false);
          delay(5);
          dig.setDigit(0,4,0x0,false);
          delay(5);
          dig.setDigit(0,5,0x3,false);
          delay(5);
          wait();

          for(int i=0;i<8;i++)
           { lc.setRow(1,2,B11111111);
              delay(400);
            lc.setRow(1,2,B00000000);
              delay(400);
           }
           lc.setRow(1,2,B11111111);
           wait();

           digitalWrite(light,1);
        

                 byte led1[8]={
                         B10000000,
                         B10000000,
                         B10000000,
                         B10000000,
                         B10000000,
                         B10000000,
                         B11000000,
                         B00000000
                                      } ;

                 byte led2[8]={
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010
                                      } ;
          byte led3[8]={
                         B00001000,
                         B00001000,
                         B00001000,
                         B00001000,
                         B00001000,
                         B00001000,
                         B00000000,
                         B00000000
                                      } ;
          byte led4[8]={
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000
                                      } ;
for(int i=0;i<8;i++)
{
          lc.setRow(0,0,led1[0]);
          lc.setRow(0,1,led1[1]);
          lc.setRow(0,2,led1[2]);
           lc.setRow(0,3,led1[3]);
           lc.setRow(0,4,led1[4]);
           lc.setRow(0,5,led1[5]);
           lc.setRow(0,6,led1[6]);
           lc.setRow(0,7,led1[7]);
           delay(300);

          lc.setRow(0,0,led2[0]);
          lc.setRow(0,1,led2[1]);
          lc.setRow(0,2,led2[2]);
           lc.setRow(0,3,led2[3]);
           lc.setRow(0,4,led2[4]);
           lc.setRow(0,5,led2[5]);
           lc.setRow(0,6,led2[6]);
           lc.setRow(0,7,led2[7]);
           delay(300);
          lc.setRow(0,0,led3[0]);
          lc.setRow(0,1,led3[1]);
          lc.setRow(0,2,led3[2]);
           lc.setRow(0,3,led3[3]);
           lc.setRow(0,4,led3[4]);
           lc.setRow(0,5,led3[5]);
           lc.setRow(0,6,led3[6]);
           lc.setRow(0,7,led3[7]);
           delay(300);
          lc.setRow(0,0,led4[0]);
          lc.setRow(0,1,led4[1]);
          lc.setRow(0,2,led4[2]);
           lc.setRow(0,3,led4[3]);
           lc.setRow(0,4,led4[4]);
           lc.setRow(0,5,led4[5]);
           lc.setRow(0,6,led4[6]);
           lc.setRow(0,7,led4[7]);
           delay(300);
}
          dig.clearDisplay(0);
          dig.setDigit(0,0,0x0,false);
          delay(5);
          dig.setDigit(0,1,0x4,false);
          delay(5);
          dig.setDigit(0,4,0x0,false);
          delay(20);
          dig.setDigit(0,5,0x3,false);
          delay(5);
          lc.setRow(1,2,B00000000);
          wait();

           
  }

 
void mode3()
{
               dig.clearDisplay(0);
                unsigned int servo_position01[18]{ 475,475,475,
                                    270,475,475,270,
                                    270,270,250,250,
                                   270,475,475,260,
                                     475,475,475};
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, servo_position01[16]);
            delay(50);
          }
          wait();
          dig.setDigit(0,0,0x9,false);
          delay(5);
          dig.setDigit(0,1,0x0,false);
          delay(5);
          dig.setDigit(0,4,0x2,false);
          delay(5);
          dig.setDigit(0,5,0x0,false);
          delay(300);
          wait();
                    for(int i=0;i<8;i++)
           { lc.setRow(1,2,B11111111);
              delay(400);
            lc.setRow(1,2,B00000000);
              delay(400);
           }
           lc.setRow(1,2,B11111111);
           wait();
  }

void mode4()
{
                dig.clearDisplay(0);
               lc.clearDisplay(0);
                unsigned int servo_position01[18]{ 280,250,250,
                                    280,280,280,270,
                                    270,270,250,250,
                                   260,260,255,250,
                                     270,270,270};
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position01[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, 270);
            delay(50);
          }
          dig.setDigit(0,0,0x5,false);
          dig.setDigit(0,1,0x5,false);
          dig.setDigit(0,4,0x0,false);
          dig.setDigit(0,5,0x3,false);
          delay(300);
          lc.setRow(1,2,B00000010);
          delay(300);
          lc.setRow(1,2,B00000001);
          delay(300);
          lc.setRow(1,2,B00001000);
          delay(300);
          lc.setRow(1,2,B00000100);
            delay(300);
          lc.setRow(1,2,B00010000);
            delay(300);
            delay(700);
          lc.setRow(1,2,B00010010);
          delay(300);
          lc.setRow(1,2,B00010001);
          delay(300);
          lc.setRow(1,2,B00011000);
          delay(300);
          lc.setRow(1,2,B00010100);
          delay(300);
          delay(700);
          lc.setRow(1,2,B00010110);
          delay(300);
          lc.setRow(1,2,B00010101);
          delay(300);
          lc.setRow(1,2,B00011100);
          delay(300);
                   
       

          delay(3000);

 
          
          //!继电器2开启

        
      
      
      
      


                 byte led1[8]={
                         B11111111,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000
                                      } ;

                 byte led2[8]={
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B10111111,
                         B10000000
                                      } ;
          byte led3[8]={
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B11111111,
                         B00000000,
                         B00000000,
                         B00000000
                                      } ;
          byte led4[8]={
                         B00000000,
                         B00000000,
                         B11111111,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000,
                         B00000000
                                      } ;
for(int i=0;i<8;i++)
{
          lc.setRow(0,0,led1[0]);
          lc.setRow(0,1,led1[1]);
          lc.setRow(0,2,led1[2]);
           lc.setRow(0,3,led1[3]);
           lc.setRow(0,4,led1[4]);
           lc.setRow(0,5,led1[5]);
           lc.setRow(0,6,led1[6]);
           lc.setRow(0,7,led1[7]);
           delay(300);

          lc.setRow(0,0,led2[0]);
          lc.setRow(0,1,led2[1]);
          lc.setRow(0,2,led2[2]);
           lc.setRow(0,3,led2[3]);
           lc.setRow(0,4,led2[4]);
           lc.setRow(0,5,led2[5]);
           lc.setRow(0,6,led2[6]);
           lc.setRow(0,7,led2[7]);
           delay(300);
          lc.setRow(0,0,led3[0]);
          lc.setRow(0,1,led3[1]);
          lc.setRow(0,2,led3[2]);
           lc.setRow(0,3,led3[3]);
           lc.setRow(0,4,led3[4]);
           lc.setRow(0,5,led3[5]);
           lc.setRow(0,6,led3[6]);
           lc.setRow(0,7,led3[7]);
           delay(300);
          lc.setRow(0,0,led4[0]);
          lc.setRow(0,1,led4[1]);
          lc.setRow(0,2,led4[2]);
           lc.setRow(0,3,led4[3]);
           lc.setRow(0,4,led4[4]);
           lc.setRow(0,5,led4[5]);
           lc.setRow(0,6,led4[6]);
           lc.setRow(0,7,led4[7]);
           delay(300);
}

           delay(3000);

        lc.clearDisplay(1);
        dig.clearDisplay(0);
          dig.setDigit(0,0,0x0,false);
          delay(5);
          dig.setDigit(0,1,0x4,false);
          delay(5);
          dig.setDigit(0,4,0x0,false);
          delay(5);
          dig.setDigit(0,5,0x3,false);
        delay(500);
        for(int i=0;i<8;i++)
{
          lc.setRow(0,0,led1[0]);
          lc.setRow(0,1,led1[1]);
          lc.setRow(0,2,led1[2]);
           lc.setRow(0,3,led1[3]);
           lc.setRow(0,4,led1[4]);
           lc.setRow(0,5,led1[5]);
           lc.setRow(0,6,led1[6]);
           lc.setRow(0,7,led1[7]);
           delay(300);

          lc.setRow(0,0,led2[0]);
          lc.setRow(0,1,led2[1]);
          lc.setRow(0,2,led2[2]);
           lc.setRow(0,3,led2[3]);
           lc.setRow(0,4,led2[4]);
           lc.setRow(0,5,led2[5]);
           lc.setRow(0,6,led2[6]);
           lc.setRow(0,7,led2[7]);
           delay(300);
          lc.setRow(0,0,led3[0]);
          lc.setRow(0,1,led3[1]);
          lc.setRow(0,2,led3[2]);
           lc.setRow(0,3,led3[3]);
           lc.setRow(0,4,led3[4]);
           lc.setRow(0,5,led3[5]);
           lc.setRow(0,6,led3[6]);
           lc.setRow(0,7,led3[7]);
           delay(300);
          lc.setRow(0,0,led4[0]);
          lc.setRow(0,1,led4[1]);
          lc.setRow(0,2,led4[2]);
           lc.setRow(0,3,led4[3]);
           lc.setRow(0,4,led4[4]);
           lc.setRow(0,5,led4[5]);
           lc.setRow(0,6,led4[6]);
           lc.setRow(0,7,led4[7]);
           delay(300);
          }
           delay(3000);



     
 

        delay(3000);

               dig.clearDisplay(0);
               lc.clearDisplay(0);        
    dig.clearDisplay(0);
                unsigned int servo_position03[18]{475,475,475,
                                                    475,475,475,475,
                                                    475,475,475,475,
                                                    475,475,475
                                                    };
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position03[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, servo_position03[counter1]);
            delay(50);
          }
          dig.setDigit(0,0,0x5,false);
          delay(5);
          dig.setDigit(0,1,0x5,false);
          delay(5);
          dig.setDigit(0,4,0x0,false);
          delay(5);
          dig.setDigit(0,5,0x3,false);
          delay(5);
                  delay(3000);

          for(int i=0;i<8;i++)
           { lc.setRow(1,2,B11111111);
              delay(400);
            lc.setRow(1,2,B00000000);
              delay(400);
           }
           lc.setRow(1,2,B11111111);
               delay(3000);

           
        

                 byte led11[8]={
                         B10000000,
                         B10000000,
                         B10000000,
                         B10000000,
                         B10000000,
                         B10000000,
                         B11000000,
                         B00000000
                                      } ;

                 byte led12[8]={
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010,
                         B00000010
                                      } ;
          byte led13[8]={
                         B00001000,
                         B00001000,
                         B00001000,
                         B00001000,
                         B00001000,
                         B00001000,
                         B00000000,
                         B00000000
                                      } ;
          byte led14[8]={
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000,
                         B00100000
                                      } ;
for(int i=0;i<8;i++)
{
          lc.setRow(0,0,led11[0]);
          lc.setRow(0,1,led11[1]);
          lc.setRow(0,2,led11[2]);
           lc.setRow(0,3,led11[3]);
           lc.setRow(0,4,led11[4]);
           lc.setRow(0,5,led11[5]);
           lc.setRow(0,6,led11[6]);
           lc.setRow(0,7,led11[7]);
           delay(300);

          lc.setRow(0,0,led12[0]);
          lc.setRow(0,1,led12[1]);
          lc.setRow(0,2,led12[2]);
           lc.setRow(0,3,led12[3]);
           lc.setRow(0,4,led12[4]);
           lc.setRow(0,5,led12[5]);
           lc.setRow(0,6,led12[6]);
           lc.setRow(0,7,led12[7]);
           delay(300);
          lc.setRow(0,0,led13[0]);
          lc.setRow(0,1,led13[1]);
          lc.setRow(0,2,led13[2]);
           lc.setRow(0,3,led13[3]);
           lc.setRow(0,4,led13[4]);
           lc.setRow(0,5,led13[5]);
           lc.setRow(0,6,led13[6]);
           lc.setRow(0,7,led13[7]);
           delay(300);
          lc.setRow(0,0,led14[0]);
          lc.setRow(0,1,led14[1]);
          lc.setRow(0,2,led14[2]);
           lc.setRow(0,3,led14[3]);
           lc.setRow(0,4,led14[4]);
           lc.setRow(0,5,led14[5]);
           lc.setRow(0,6,led14[6]);
           lc.setRow(0,7,led14[7]);
           delay(300);
}
          dig.clearDisplay(0);
          dig.setDigit(0,0,0x0,false);
          delay(5);
          dig.setDigit(0,1,0x4,false);
          delay(5);
          dig.setDigit(0,4,0x0,false);
          delay(20);
          dig.setDigit(0,5,0x3,false);
          delay(5);
          lc.setRow(1,2,B00000000);
           delay(300);
          delay(3000);
           
 

 

               dig.clearDisplay(0);
               lc.clearDisplay(0);
                unsigned int servo_position02[18]{ 475,475,475,
                                    270,475,475,270,
                                    270,270,250,250,
                                   270,475,475,260,
                                     475,475,475};
          for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm1.setPWM(counter1, 0, servo_position02[counter1]);
            delay(50);
          }
           for (uint16_t counter1=0;counter1<16;counter1++)
          {
            servo_pwm2.setPWM(counter1, 0, servo_position02[16]);
            delay(50);
          }
               delay(3000);
          dig.setDigit(0,0,0x9,false);
          delay(5);
          dig.setDigit(0,1,0x0,false);
          delay(5);
          dig.setDigit(0,4,0x2,false);
          delay(5);
          dig.setDigit(0,5,0x0,false);
                  delay(3000);
                    for(int i=0;i<8;i++)
           { lc.setRow(1,2,B11111111);
              delay(400);
            lc.setRow(1,2,B00000000);
              delay(400);
           }
           lc.setRow(1,2,B11111111);
                delay(3000);
  }
  
void loop() 
{
    mode_flag=select();
    if(mode_flag==1) mode1();
    if(mode_flag==2) mode2();
     if(mode_flag==3) mode3();
     if(mode_flag==4) do{mode4();}while(1);
    setup();
 


    
    
    

  }


 

相关

标签: 暂无
最后更新:2016年8月18日

SPtuan

SPtuan 是一名普通的工程师,最大的愿望是度过平静的时光。 研究生时做过一点自动驾驶算法,当前对网络/后端技术比较感兴趣。

点赞
< 上一篇
下一篇 >
0 0 votes
文章评分
Subscribe
Login
提醒
guest

guest

0 评论
Inline Feedbacks
View all comments

SPtuan

SPtuan 是一名普通的工程师,最大的愿望是度过平静的时光。
研究生时做过一点自动驾驶算法,当前对网络/后端技术比较感兴趣。

分类
  • Uncategorized
  • 图册
  • 学习笔记
  • 库
  • 折腾
  • 杂谈
  • 瞎**扯
  • 碎碎念
  • 项目跟踪
最近评论
三五笑话 发布于 2 个月前(01月23日) 不知道说啥,开心快乐每一天吧!
rantrism 发布于 3 个月前(01月13日) 您好~我是腾讯云开发者社区运营,关注了您分享的技术文章,觉得内容很棒,我们诚挚邀请您加入腾讯云自媒体...
qw23123 发布于 4 个月前(11月22日) 你好,我也是这个问题,怎么确认板子有没有正常联网呢?板子用网线和电脑连了,可以正常使用pynq的ju...
luckf 发布于 5 个月前(11月12日) 谢谢博主的回复,的确是pynq-z2开发板的时间有问题,后来自己发现pynq板没有联网,连上网以后便...
luckf 发布于 5 个月前(11月11日) pip安装时报错信息“ERROR: Command errored out with exit st...
热门主题 & 页面
  • 100 Go Mistakes 阅读随记 - 01 Code and project organization
  • 基于openvpn的校园网ipv6免流量方案 |ipv6|校园网|免流量
  • 在Nvidia Jetson Xavier开发者套件上启用CAN总线
  • 100 Go Mistakes 阅读随记 - 03 Control Structures, Functions and Methods, Error Management
  • 关于/留言
归档
  • 2023年1月
  • 2022年12月
  • 2022年10月
  • 2022年9月
  • 2022年7月
  • 2022年6月
  • 2022年2月
  • 2021年12月
  • 2021年11月
  • 2021年2月
  • 2021年1月
  • 2020年9月
  • 2020年4月
  • 2020年3月
  • 2020年1月
  • 2019年8月
  • 2019年7月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2018年12月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年5月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年9月
  • 2017年7月
  • 2017年6月
  • 2017年5月
  • 2017年4月
  • 2017年3月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年9月
  • 2016年8月
  • 2016年7月
  • 2016年6月
  • 2016年5月
  • 2016年4月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年9月

友情链接:

Blessing Studio hahaschool 绘枫和畅 魔法少女Fandy monsterx Clarke的博客 Luminous’ Home Shintaku's Blog
蓝黑的博客 haruhi.club Yida的博客 Bo2SS 涛叔 TangBao 同和君Hocassian

Steins;Lab 团子神社 zdfmc.net

steinslab.io built with ❤. Thanks for all 2015-2022.

Theme Kratos Made By Seaton Jiang

wpDiscuz