哪位大师帮忙解释一下这个程序

[复制链接]
901|9
 楼主 | 2019-6-8 00:54 | 显示全部楼层 |阅读模式
/**
* Copyright(C), 2018-2038, KenRobot.com
* FileName: sketch_mar28a.ino
* Author: 啃萝卜
* Create: 2019/03/29
* Modify: 2019/03/29
*/

#include <Stepper.h>
#include <U8glib.h>

int led_0 = 2;
Stepper stepper_0(100, 7, 5, 6, 4);
U8GLIB_SSD1306_128X64 u8g_0(U8G_I2C_OPT_NONE);
float dishu = 0;
int count;
int count1;
int lbapjing;
int v;
int l;
int vs;
int flag;
int time;
int time2;
void int2() {
    time = 0;
    dishu = (dishu + 1);
    count = millis();
    if ((count - count1) < 5000) {
        v = (600000 / (count - count1));
    }
    l = (25000 - ((dishu * 10) / 2));
    count1 = count;
    flag = 1;
}

void setup() {
    pinMode(led_0, OUTPUT);
    stepper_0.setSpeed(60);
    lbapjing = 20;
    vs = 500;
    l = 25000;
    digitalWrite(3, 1);
    attachInterrupt(digitalPinToInterrupt(3), int2, FALLING);
    stepper_0.setSpeed(150);
    digitalWrite(led_0, LOW);
    delay(500);
    digitalWrite(led_0, HIGH);
}

void loop() {
    u8g_0.firstPage();
    do {
        u8g_0.setFont(u8g_font_9x18);
        u8g_0.setPrintPos(0, 10);
        u8g_0.print("V:");
        u8g_0.print(((v / 1000) % 10));
        u8g_0.print(((v / 100) % 10));
        u8g_0.print(".");
        u8g_0.print(((v / 10) % 10));
        u8g_0.print((v % 10));
        u8g_0.print("ml/min");
        u8g_0.setPrintPos(0, 35);
        u8g_0.print("Vs:");
        u8g_0.print(((vs / 100) % 10));
        u8g_0.print(".");
        u8g_0.print(((vs / 10) % 10));
        u8g_0.print((vs % 10));
        u8g_0.print("ml/min");
        u8g_0.setPrintPos(0, 60);
        u8g_0.print("L:");
        u8g_0.print(((l / 10000) % 10));
        u8g_0.print(((l / 1000) % 10));
        u8g_0.print(((l / 100) % 10));
        u8g_0.print(".");
        u8g_0.print(((l / 10) % 10));
        u8g_0.print((l % 10));
        u8g_0.print("ml");
        u8g_0.setPrintPos(95, 60);
        u8g_0.print(((lbapjing / 10) % 10));
        u8g_0.print((lbapjing % 10));
        u8g_0.print("ml");
    } while (u8g_0.nextPage());
    if (l < (lbapjing * 100)) {
        digitalWrite(led_0, LOW);
    }
    if (flag == 1) {
        flag = 0;
        time2 = (time2 + 1);
        if (time2 > 4) {
            time2 = 0;
            if (v > 100) {
                if (v > (vs + 200)) {
                    stepper_0.step(100);
                    delay(50);
                }
                if (v < (vs - 200)) {
                    stepper_0.step(-100);
                    delay(50);
                }
            }
        }
    }
    time = (time + 1);
    if (time > 100) {
        time = 0;
        v = 0;
    }
}

使用特权

评论回复

评论

blade55 2019-6-8 21:30 回复TA
有步进电机驱动 
| 2019-6-8 09:06 | 显示全部楼层
木有注释、木有用途,木有硬件,鬼知道是干嘛的?电机调速?

使用特权

评论回复
 楼主 | 2019-6-8 09:42 | 显示全部楼层
xyz549040622 发表于 2019-6-8 09:06
木有注释、木有用途,木有硬件,鬼知道是干嘛的?电机调速?

就是这个设计的名字是基于Arduino的静脉滴注辅助装置的设计,拜托拜托啦

使用特权

评论回复

评论

blade55 2019-6-8 21:29 回复TA
不就是输液泵吗 
| 2019-6-8 09:45 | 显示全部楼层
大师更加不会看这个低级不符合规范的代码了

使用特权

评论回复
| 2019-6-8 15:26 | 显示全部楼层
需要有硬件连接图的,才能知道哪个i哦做什么

使用特权

评论回复
| 2019-6-8 21:33 | 显示全部楼层
以其昏昏使人昭昭

使用特权

评论回复
| 2019-6-10 09:40 | 显示全部楼层
只有程序 看不出来是啥

使用特权

评论回复
| 2019-6-11 13:57 | 显示全部楼层
太多写不完

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /2 下一条

在线客服 快速回复 返回顶部 返回列表