无意中挖到一份以前自己写的代码,拿出来给大家猜

2018-03-091.7万
AI 快速预览详细 收起
这篇帖子提供了一份在Arduino IDE环境下编写的程序,配有硬件实现其功能。代码中使用了多种传感器(如人体传感器、超声波传感器、声音传感器)和执行器,并通过特定的逻辑判断来触发执行动作。通过解析注解中的线索,读者可以猜测代码的具体用途。适合对Arduino编程感兴趣的用户进行挑战。
无意中挖到一份以前自己写的代码,拿出来给大家猜。秀硬件功能求代码的帖子网上多了,现在倒过来玩,看看大家口味如何。
这是一份Arduino IDE环境下写的程序,配有硬件实现其功能。代码后有注解,作为大家推理的线索。注解需要中文知识进行分析。

int Human_Sensor1 = 52; //凡闺房事,人所为也。
int Human_Sensor2 = 53;
int Ultra_Sonic[23]; //廿四耳目藏身下
int Ultra_Sonic_Trigger = 22;
float US_Distance[23]; //静待塌上春意闹。
float US_Previous_Distance[23];
float US_Former_Distance[23];
int Sound_Sensor = 49; //巫山云雨比翼时,承欢男女东窗刻。
int X_Vibration = 50; //卿卿我我,摇摇晃晃歪歪。
int Y_Vibration = 51;
int Execute = 48; //棒打鸳鸯
int Alert = 12; //当头棒喝
long Period = 60000;  //是贞是奸,尘埃落定终有时。
int Time_Stopper = 0; //凭谁记,司辰者。
int XY_Stopper = 0; //或牡丹花下,或龙虎相济。
int Sound_Stopper = 0; //亦莺声浪语。
float Z_Initial = 20; //塌上起伏多寡,盖以此计。
int Executed = 0; //一失足成千古恨,再回首已是百年身。
unsigned long Sampling_Period; //春宵一刻值千金,春宵三十分之一刻值三十三金。
unsigned long XY_Start;
unsigned long XY_Timer;
unsigned long XY_Ratio;
unsigned long Sound_Start;
unsigned long Sound_Timer;
String Message = ""; //运筹帷幄千里之外
int i;
long Manual_Delay = 0; //听回音,毋忘计时。
void setup() {
  Serial.begin(9600);
  for (i = 0; i < 24; i = i + 1) {
    Ultra_Sonic = i + 23;
  }
  for (i = 0; i < 24; i = i + 1) {
    pinMode(Ultra_Sonic, INPUT);
  }
  pinMode(Sound_Sensor, INPUT);
  pinMode(X_Vibration, INPUT);
  pinMode(Y_Vibration, INPUT);
  pinMode(Human_Sensor1, INPUT);
  pinMode(Human_Sensor2, INPUT);
  pinMode(Ultra_Sonic_Trigger, OUTPUT);
  pinMode(Execute, OUTPUT);
}
void loop() {
  if (digitalRead(Human_Sensor1) || digitalRead(Human_Sensor2) != 0) { //举头三寸无神明,乃机关也。人影莆动,视为号也。
    if (Time_Stopper == 0) { //观察期届,一元复始。
      Sampling_Period = millis();
      Time_Stopper = 1;
    }
    if (millis() - Sampling_Period <= Period) { //断一期内之贞奸
      Communication(); //通风报信
      if (digitalRead(X_Vibration) || digitalRead(Y_Vibration)) { //牵一发动全身
        if (XY_Stopper == 0) { //甫动,计时。
          XY_Start = millis();         
          XY_Stopper = 1;
        }
      }
      else { //入静,结算之。
        XY_Timer = XY_Timer + (millis() - XY_Start);
        XY_Stopper = 0;
      }
      if (millis() - Sampling_Period >= 0.5 * Period) { //情到浓时满室春,声震屋瓦却陷囵。
        if (digitalRead(Sound_Sensor)) { //大呼,计时。
          if (Sound_Stopper == 0) {
            Sound_Start = millis();
            Sound_Stopper = 1;
          }
        }
        else { //入静,结算之。
          Sound_Timer = Sound_Timer + (millis() - Sound_Start);
          Sound_Stopper = 0;
        }
        if (Sound_Timer >= 0.2 * Period) { //向使当初声未始,一生贞猥复谁知。
          Executed = 1; //一失声成千古恨,再回首已是百年身。
          Execution();
        }
      }
    }
    else {
      if (XY_Timer >= 0.5 * Period) { //无风起浪,非奸即盗。
        Executed = 1; //一失足成千古恨,再回首已是百年身。
        Execution();
      }
      Communication(); //通风报信
      XY_Timer = 0; //一期一判
      Time_Stopper = 0;
      Sound_Timer = 0;
      Sound_Stopper = 0;
    }
    Ultra_Sonic_Sensor(); //龙翻龟腾兔吮毫,百般动静皆为过。
  }
}
void Ultra_Sonic_Sensor() {
  pinMode(Ultra_Sonic_Trigger, LOW);
  Manual_Delay = 0; //休言光阴待人事,怠慢尔等监视工。
  Manual_Delay = 0;
  pinMode(Ultra_Sonic_Trigger, HIGH);
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  Manual_Delay = 0;
  pinMode(Ultra_Sonic_Trigger, LOW);
  for (i = 0; i < 24; i = i + 1){
    US_Distance = Z_Initial - pulseIn(Ultra_Sonic, HIGH) /58.00; //二十四桥明月夜,玉人何处教吹箫。
  }
}
void Communication() {
  for (i = 0; i < 24; i = i + 1) {
    Message = Message + String(US_Distance) + String('|');
  }
  XY_Ratio = XY_Timer / Period;
  Message = Message + String(XY_Ratio);
  Serial.println(Message);
  Message = "";
}
void Execution() {
  if (millis() %1000 < 500) { //亮灭
    pinMode(Execute, HIGH);
  }
  else {
    pinMode(Execute, LOW);
  }
}

P.S. 蘑菇云会员众欢迎猜测,猜中后本人亲手制作个吨位级的奖品。以上。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(5)
1973742214
1973742214
打呀打呀打飞机
Zer02
Zer02
除了能知道老王来了,还能知道老王“功夫”之高低,然后再“飞鸽传书”,又以绝学狮子吼击之...... 实在佩服佩服!
kalimov
kalimov
作者
不止捉老王,提示还能把老王变成老土或者老士……
yoyojacky
yoyojacky
有超声波传感器,有人体红外热释传感器, 你是要捉奸隔壁老王啊.
DGG
DGG
这个是用来捉奸的么
- 没有更多了 -