You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.4 KiB
C++
82 lines
2.4 KiB
C++
#include "ST25DVSensor.h"
|
|
#include <SPI.h>
|
|
#include <SD.h>
|
|
#include <Wire.h> // Include Wire library for I2C communication
|
|
|
|
#if defined(ARDUINO_B_L4S5I_IOT01A)
|
|
#define GPO_PIN PE4
|
|
#define LPD_PIN PE2
|
|
#define SDA_PIN PB11
|
|
#define SCL_PIN PB10
|
|
TwoWire MyWire(SDA_PIN, SCL_PIN); // Define TwoWire instance for I2C
|
|
ST25DV st25dv(12, -1, &MyWire); // Initialize ST25DV sensor with MyWire
|
|
#else
|
|
#define DEV_I2C Wire
|
|
ST25DV st25dv(12, -1, &DEV_I2C); // Initialize ST25DV sensor with default Wire
|
|
#endif
|
|
|
|
String last_read;
|
|
bool cleared = false;
|
|
const int chipSelect = 7;
|
|
|
|
void beep(int pitch, int duration, int loudness){
|
|
tone(24, pitch, loudness);
|
|
delay(duration);
|
|
noTone(24);
|
|
delay(10);
|
|
}
|
|
|
|
void printStart(){
|
|
Serial.println(F(" ╔═══╦═══╦══╦═══╗"));
|
|
Serial.println(F(" ║╔═╗║╔══╩╣╠╩╗╔╗║"));
|
|
Serial.println(F(" ║╚═╝║╚══╗║║─║║║║"));
|
|
Serial.println(F(" ║╔╗╔╣╔══╝║║─║║║║"));
|
|
Serial.println(F(" ║║║╚╣║──╔╣╠╦╝╚╝║"));
|
|
Serial.println(F(" ╚╝╚═╩╝──╚══╩═══╝"));
|
|
Serial.println(F("By Ruben Schoonbaert"));
|
|
Serial.println(F("Written 29/12/2023"));
|
|
}
|
|
|
|
void setup() {
|
|
Serial.begin(9600);
|
|
pinMode(24, OUTPUT);
|
|
pinMode(25, OUTPUT);
|
|
digitalWrite(25, HIGH);
|
|
printStart();
|
|
|
|
// Initialize ST25DV sensor
|
|
if(st25dv.begin() == 0) {
|
|
Serial.println(F("ST25DV Sensor initialized successfully."));
|
|
beep(2000, 100, 50);
|
|
} else {
|
|
Serial.println(F("ST25DV Sensor initialization failed!"));
|
|
digitalWrite(25, HIGH);
|
|
while(1);
|
|
}
|
|
|
|
delay(500);
|
|
digitalWrite(25, LOW);
|
|
|
|
// Begin I2C communication (only if using MyWire instance)
|
|
#if !defined(ARDUINO_B_L4S5I_IOT01A)
|
|
DEV_I2C.begin();
|
|
// Send message to ESP8266
|
|
String message = "Test!";
|
|
DEV_I2C.beginTransmission(8); // Replace with your ESP8266's I2C address
|
|
DEV_I2C.print(message);
|
|
byte error = DEV_I2C.endTransmission();
|
|
|
|
if (error == 0) {
|
|
Serial.println("Message sent successfully to ESP8266.");
|
|
} else {
|
|
Serial.print("Error sending message to ESP8266. Error code: ");
|
|
Serial.println(error);
|
|
}
|
|
#endif
|
|
}
|
|
|
|
void loop() {
|
|
// Your main loop code here
|
|
|
|
}
|