diff --git a/docs/files/finalproject/Fullcycles/Fullcycles.ino b/docs/files/finalproject/Fullcycles/Fullcycles.ino index 5b304b6b602eaf8185e559c3111a12da660c6a5d..110e8dace2fccef9f37c8223688d97640a0f52a3 100644 --- a/docs/files/finalproject/Fullcycles/Fullcycles.ino +++ b/docs/files/finalproject/Fullcycles/Fullcycles.ino @@ -14,10 +14,17 @@ const int DRUM_FAST = 30; const int DRUM_STOP = 0; int potVal; Servo esc; +const int HX_OUT_PIN = D4; +const int HX_SCK_PIN = D5; -void setup() { +enum HX_MODE { NONE, DIFF_10Hz, TEMP_40Hz, DIFF_40Hz}; +const byte HX_MODE = DIFF_40Hz; + +void setup() { + pinMode(HX_SCK_PIN, OUTPUT); + pinMode(HX_OUT_PIN, INPUT); pinMode(LED_PIN, OUTPUT); pinMode(WASH_BUTTON_PIN, INPUT_PULLUP); pinMode(DRY_BUTTON_PIN, INPUT_PULLUP); @@ -34,6 +41,7 @@ void setup() { void loop() { // Wait for the wash button press + Serial.println(readHX()); if (digitalRead(WASH_BUTTON_PIN) == LOW) { // Check the water level and lid status if (digitalRead(WATER_SENSOR_PIN) == HIGH && digitalRead(LID_SENSOR_PIN) == LOW) { @@ -117,3 +125,32 @@ void loop() { } + +unsigned long readHX() { + + // pulse clock line to start a reading + for (char i = 0; i < HX_MODE; i++) { + digitalWrite(HX_SCK_PIN, HIGH); + digitalWrite(HX_SCK_PIN, LOW); + } + + // wait for the reading to finish + while (digitalRead(HX_OUT_PIN)) {} + + // read the 24-bit pressure as 3 bytes using SPI + byte data[3]; + for (byte j = 3; j--;) { + data[j] = shiftIn(HX_OUT_PIN, HX_SCK_PIN, MSBFIRST); + } + + data[2] ^= 0x80; // see note + + // shift the 3 bytes into a large integer + long result; + result += (long)data[2] << 16; + result += (long)data[1] << 8; + result += (long)data[0]; + + return result; +} + diff --git a/docs/projects/Plate/watercap1.jpg b/docs/projects/Plate/watercap1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d430d4bca977f7a5e9b817104b9bde4114aec270 Binary files /dev/null and b/docs/projects/Plate/watercap1.jpg differ diff --git a/docs/projects/Plate/watercap2.jpg b/docs/projects/Plate/watercap2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ba32efb748a50ebe979adb85051e9a665f254859 Binary files /dev/null and b/docs/projects/Plate/watercap2.jpg differ diff --git a/docs/projects/Plate/watercap3.jpg b/docs/projects/Plate/watercap3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..96ac15ef638bc6fa55faf8fb35b56dc5a1eea101 Binary files /dev/null and b/docs/projects/Plate/watercap3.jpg differ diff --git a/docs/projects/finalvideodraft.mp4 b/docs/projects/finalvideodraft.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..64fc66891c8635f1a3c7b8b0d941050f9d010f76 Binary files /dev/null and b/docs/projects/finalvideodraft.mp4 differ