From 3e4d4c2df4f4be8447ce268f4de0688610c0bbda Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Fri, 20 May 2022 13:41:12 +0000 Subject: [PATCH] Added python script --- firmware/trigger_firmware/trigger_firmware.ino | 51 ++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 44 insertions(+), 7 deletions(-) diff --git a/firmware/trigger_firmware/trigger_firmware.ino b/firmware/trigger_firmware/trigger_firmware.ino index a76cd54..8ac69bd 100644 --- a/firmware/trigger_firmware/trigger_firmware.ino +++ b/firmware/trigger_firmware/trigger_firmware.ino @@ -1,14 +1,37 @@ +/* There was a help from these two pages: +https://forum.arduino.cc/t/connect-nrf24l01-to-esp32/678710/4 +https://electropeak.com/learn/wireless-communication-w-arduino-and-nrf24l01/ +*/ + +#include <RF24_config.h> +#include <nRF24L01.h> +#include <RF24.h> +#include <printf.h> + #include<WiFi.h> -#define IN_TRIGGER 18 -#define OUT_TRIGGER 19 +#define IN_TRIGGER 17 +#define OUT_TRIGGER 16 + +RF24 radio(22, 21); // CE, CSN + +const byte address[6] = {'R','E','C','V', '1'}; +char dataToSend[4] = "TRG"; void IRAM_ATTR isr() { - digitalWrite(OUT_TRIGGER, HIGH); - delay(1); - digitalWrite(OUT_TRIGGER,LOW); +// detachInterrupt(digitalPinToInterrupt(IN_TRIGGER)); + digitalWrite(OUT_TRIGGER, LOW); + long time=micros(); + while(micros()-time<4000); + digitalWrite(OUT_TRIGGER,HIGH); +// radio.write( &dataToSend, sizeof(dataToSend) ); + +// attachInterrupt(digitalPinToInterrupt(IN_TRIGGER), isr, RISING); + } + + void setup() { // put your setup code here, to run once: @@ -16,13 +39,27 @@ WiFi.mode(WIFI_OFF); btStop(); - pinMode(IN_TRIGGER, INPUT_PULLUP); + + radio.begin(); + radio.openWritingPipe(address); + radio.setPALevel(RF24_PA_MAX); + radio.setDataRate( RF24_250KBPS ); + + //pinMode(IN_TRIGGER, INPUT_PULLUP); pinMode(OUT_TRIGGER, OUTPUT); - attachInterrupt(IN_TRIGGER, isr, RISING); + digitalWrite(OUT_TRIGGER,HIGH); + attachInterrupt(digitalPinToInterrupt(IN_TRIGGER), isr, FALLING); + Serial.begin(115200); } void loop() { // put your main code here, to run repeatedly: +Serial.print(micros()); +Serial.println(": ---> TRG"); +radio.write( &dataToSend, sizeof(dataToSend) ); +Serial.print(micros()); +Serial.println(": TRG--->"); + delay(5000); } -- Gitblit v1.9.3