From 6bfa233a2e66945f72d20b654c489f7c5719e496 Mon Sep 17 00:00:00 2001 From: dslak Date: Sun, 5 Mar 2023 18:11:31 +0100 Subject: [PATCH] rs485 WIP --- TEST/windAll/windAll.ino | 81 ++++++++++++++++++++++++++++++++++++ TEST/windDir/windDir.ino | 45 ++++++++++++++++++++ TEST/windSpeed/windSpeed.ino | 46 ++++++++++++++++++++ 3 files changed, 172 insertions(+) create mode 100644 TEST/windAll/windAll.ino create mode 100644 TEST/windDir/windDir.ino create mode 100644 TEST/windSpeed/windSpeed.ino diff --git a/TEST/windAll/windAll.ino b/TEST/windAll/windAll.ino new file mode 100644 index 0000000..a0126c9 --- /dev/null +++ b/TEST/windAll/windAll.ino @@ -0,0 +1,81 @@ +#include +#include +#define RE 7 +#define DE 8 + +#define RE2 2 +#define DE2 3 + +const byte O1[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; +const byte O2[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; + +byte values[20]; +byte values2[20]; +SoftwareSerial mod(10, 11); // RO / DI +SoftwareSerial mod2(5, 6); // RO / DI + +void setup() { + Serial.begin(4800); + mod.begin(4800); + mod2.begin(4800); + pinMode(RE, OUTPUT); + pinMode(DE, OUTPUT); + pinMode(RE2, OUTPUT); + pinMode(DE2, OUTPUT); +} + +void loop() { + int val1 = 0 ; // SPEED + int val2 = 0 ; // DIR + + Calculate(); + //val1 = ((values[5]*256)+values[6]); + val1 = values[4]; + Serial.print("speed: "); + Serial.println(val1); + + delay(1000); + + Calculate2(); + val2 = values2[4]; + Serial.print("dir: "); + Serial.println(val2); + + delay(1000); +} + +byte Calculate() { + digitalWrite(DE, HIGH); + digitalWrite(RE, HIGH); + delay(10); + if (mod.write(O1, sizeof(O1)) == 8) { + digitalWrite(DE, LOW); + digitalWrite(RE, LOW); + for (byte i = 0; i < 11; i++) { + //Serial.print(mod.read(),HEX); + values[i] = mod.read(); + Serial.print(values[i]); + Serial.print(" "); + } + } + Serial.println(" "); +} + + +byte Calculate2() { + digitalWrite(DE2, HIGH); + digitalWrite(RE2, HIGH); + delay(10); + if (mod2.write(O2, sizeof(O2)) == 8) { + digitalWrite(DE2, LOW); + digitalWrite(RE2, LOW); + for (byte i = 0; i < 11; i++) { + //Serial.print(mod2.read(),HEX); + values2[i] = mod2.read(); + //Serial.print(values2[i]); + //Serial.print(" "); + } + } + Serial.println(" "); +} + diff --git a/TEST/windDir/windDir.ino b/TEST/windDir/windDir.ino new file mode 100644 index 0000000..3355e46 --- /dev/null +++ b/TEST/windDir/windDir.ino @@ -0,0 +1,45 @@ +#include +#include +#define RE 7 +#define DE 8 + +const byte O2[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; + +byte values[20]; +SoftwareSerial mod(10, 11); // RO / DI + +void setup() { +Serial.begin(4800); +mod.begin(4800); +pinMode(RE, OUTPUT); +pinMode(DE, OUTPUT); +} + +void loop() { + int val1 = 0 ; + Calculate(); + val1 = ((values[5]*256)+values[8]); + Serial.print("v: "); + Serial.println(val1); + + delay(1000); +} + + +byte Calculate() { +digitalWrite(DE, HIGH); +digitalWrite(RE, HIGH); +delay(10); +if (mod.write(O2, sizeof(O2)) == 8) { +digitalWrite(DE, LOW); +digitalWrite(RE, LOW); +for (byte i = 0; i < 11; i++) { +//Serial.print(mod.read(),HEX); +values[i] = mod.read(); +//Serial.print(values[i], HEX); +//Serial.print(" "); +} +Serial.println(); +} +return values[6]; +} \ No newline at end of file diff --git a/TEST/windSpeed/windSpeed.ino b/TEST/windSpeed/windSpeed.ino new file mode 100644 index 0000000..19c5bad --- /dev/null +++ b/TEST/windSpeed/windSpeed.ino @@ -0,0 +1,46 @@ +#include +#include +#define RE 7 +#define DE 8 + +const byte O2[] = {0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x02 ,0xC4 ,0x0B}; + +byte values[20]; +SoftwareSerial mod(10, 11); // RO / DI + +void setup() { +Serial.begin(4800); +mod.begin(4800); +pinMode(RE, OUTPUT); +pinMode(DE, OUTPUT); +} + +void loop() { +int val1 = 0 ; +Calculate(); +//val1 = ((values[5]*256)+values[8]); +val1 = (values[4]); +Serial.print("v: "); +Serial.println(val1); + + +delay(1000); +} + +byte Calculate() { + digitalWrite(DE, HIGH); + digitalWrite(RE, HIGH); + delay(10); + if (mod.write(O2, sizeof(O2)) == 8) { + digitalWrite(DE, LOW); + digitalWrite(RE, LOW); + for (byte i = 0; i < 11; i++) { + //Serial.print(mod.read(),HEX); + values[i] = mod.read(); + //Serial.print(values[i]); + //Serial.print(" "); + } + Serial.println(); + } + //return values[6]; +} \ No newline at end of file