Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ESP-NOW Demo - Receive
- esp-now-demo-rcv.ino
- Reads data from Initiator
- DroneBot Workshop 2022
- https://dronebotworkshop.com
- */
- // Include Libraries
- #include <esp_now.h>
- #include <WiFi.h>
- // Define a data structure
- typedef struct struct_message {
- int b;
- } struct_message;
- // Create a structured object
- struct_message myData;
- #include <Wire.h>
- #include <SPI.h>
- #include <Adafruit_MCP4725.h>
- uint32_t dac_value = 0;
- uint32_t dac2_value = 0;
- Adafruit_MCP4725 dac;
- Adafruit_MCP4725 dac2;
- // Callback function executed when data is received
- void OnDataRecv(const uint8_t * mac, const uint8_t *incomingData, int len) {
- memcpy(&myData, incomingData, sizeof(myData));
- /*Serial.print("Integer Value: ");
- Serial.println(myData.b);
- */
- }
- void setup() {
- // Set up Serial Monitor
- Wire1.begin(1); // Activate I2C link
- Serial.begin(115200);
- dac.begin(0x60);
- dac2.begin(0x61);
- // Set ESP32 as a Wi-Fi Station
- WiFi.mode(WIFI_STA);
- // Initilize ESP-NOW
- if (esp_now_init() != ESP_OK) {
- Serial.println("Error initializing ESP-NOW");
- return;
- }
- // Register callback function
- esp_now_register_recv_cb(OnDataRecv);
- }
- void loop() {
- Serial.print("looppato: ");
- Serial.println(myData.b);
- if (myData.b > 1000 && myData.b < 2000)
- {
- dac_value = 1700 ;
- dac.setVoltage(dac_value, false);
- }
- if (myData.b > 2000 && myData.b < 3000)
- {
- dac_value = 2200 ;
- dac.setVoltage(dac_value, false);
- }
- if (myData.b < 1000 )
- {
- dac_value = 1600 ;
- dac.setVoltage(dac_value, false);
- }
- dac2_value = 2000 ;
- dac2.setVoltage(dac2_value, false);
- }
Advertisement
Add Comment
Please, Sign In to add comment