From eaa0ce0349874c7928b5954248770216f43ede00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=85=95=E7=82=8E?= <29385962@qq.com> Date: Mon, 10 Jan 2022 06:14:10 +0000 Subject: [PATCH] =?UTF-8?q?CS1237=E6=B0=94=E6=B3=B5=E5=8F=82=E8=80=83?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CS1237气泵参考代码.txt | 69 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 CS1237气泵参考代码.txt diff --git a/CS1237气泵参考代码.txt b/CS1237气泵参考代码.txt new file mode 100644 index 0000000..2c1ea2e --- /dev/null +++ b/CS1237气泵参考代码.txt @@ -0,0 +1,69 @@ +int ndrdy = A4; +int clck = A5; +int pwm = 3; + +void setup() { + Serial.begin(115200); + pinMode(pwm, OUTPUT); + + while (!Serial) {} + digitalWrite(ndrdy, LOW); + pinMode(ndrdy, INPUT); + + digitalWrite(clck, LOW); + pinMode(clck, OUTPUT); + + while (digitalRead(ndrdy)) {} + while (!digitalRead(ndrdy)) {} +} + +long readADC() +{ + if (digitalRead(ndrdy)) + return -1; + + long result = 0; + + for (int i = 0; i < 24; i++) + { + digitalWrite(clck, HIGH); + delayMicroseconds(1); + int new_bit = digitalRead(ndrdy); + digitalWrite(clck, LOW); + delayMicroseconds(1); + result <<= 1; + result |= new_bit; + } + + for (int i = 0; i < 3; i++) + { + digitalWrite(clck, HIGH); + delayMicroseconds(1); + digitalWrite(clck, LOW); + delayMicroseconds(1); + } + + return result; +} + + +void loop() { + long adcValue = readADC(); + Serial.print("ADC reading: "); + Serial.print(adcValue); + if (adcValue >= 3400000) + { + delay(500); + analogWrite(pwm,0); + Serial.println(" End of Run "); + delay(500); + } + else + { + if (is_run == true) + { + analogWrite(pwm,255); + delay(500); + } + } +}