Exportar datos con un sensor de movimiento

Hola Grupo.

Soy nuevo en esta comunidad de arduino y no tengo la suficiente experiencia como considerarme un amateur siquiera, he buscado en muchos lugares de internet de habla hispana pero no encontré solución a mi proyecto y espero de corazón que me puedan ayudar.
En resumidas cuentas, necesito hacer un proyecto para mi taller. Acerca de un sensor de movimiento que al detectar con el PIR infrarrojo del sensor pueda enviar ciertos datos que son Fecha, Hora,minutos y segundos. A una base de datos tipo excel o de mysql (Mientras sea una base de datos no me importa de donde venga). El problema que tengo es que tengo muy poco conocimiento del lenguaje arduino o el derivado de c++ si se le puede decir. Y necesito el código de envío para la fecha, hora, minutos y segundos que este marcado en mi sistema ( Por supuesto que para que el proyecto funcione no debo disponer de internet) y mas que nada necesito hacerlo funcionar por que no he encontrado código que pueda enviar los datos que detecte el sensor a una base de datos.
Sinceramente no me importa si se usa como intermediario el lenguaje PHP o otro método parecido, se los agradecería muchísimo si me pueden ayudar con este proyecto. Acá abajo dejo mi código arduino e una imagen en Fritzing

int ct = 10;   
int pirPin = 2;    
int ledPin = 13;
int buzzerPin = 10;
 
void setup(){
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  digitalWrite(pirPin, LOW);
  digitalWrite(ledPin, LOW);
  digitalWrite(buzzerPin, LOW);
   
  Serial.println("Espere, ahora calibrando el sensor....");
    for(int i = 0; i <= ct; i++){
      Serial.print(((i*100)/ct));
      Serial.print("% ");
      Serial.println("COMPLETANDO.....");
      delay(1000);
      }
    Serial.println("Calibracion Completada Satisfactoriamente.");
    Serial.println("** SENSOR ACTIVO **");
    delay(50);
  }
 
void loop(){
     if(digitalRead(pirPin) == HIGH)
     {
       digitalWrite(ledPin, HIGH);
       digitalWrite(buzzerPin, HIGH);
       Serial.println("------------------------");
       Serial.println("** MOVIMIENTO DETECTADO **");
       Serial.println("------------------------");
       Serial.println("");
       delay(1000);   
   }
    
     else
     {
       digitalWrite(ledPin, LOW); 
       digitalWrite(buzzerPin, LOW); 
     }
}

Moderador: Las imágenes en este foro deben hacerse visibles, no alcanza con subirlas como adjunto. Nadie o muy pocos las van a descargar para verlas asi que si quieres respuestas, mejor lo haces por tu cuenta. Además no hacerlo es una falta a las normas. En esta oportunidad lo he editado por ti, pero no lo voy a repetir.

Hay muchos ejemplos en este foro donde se ha consultado como conectarse a una DB MySQL porque no usas la lupa (búsqueda) y los lees.

He leído algunas de las publicaciones en este grupo, pero nada especifico al problema que tengo. Necesitaría de una guía mas especifica al proyecto que estoy haciendo, para que se solucione mi problema de código. Desde ya gracias por contestar

Y cual es tu problema específico, enviar datos de un PIR a una base de datos MySQL?
Tu dices que eso no esta hecho? O sea que si yo busco en este foro conexiones Arduino MySQL y no encuentro un PIR, me afirmas que no puedes extraer lo que necesitas para comenzar tu proyecto?

Te comento. Un PIR no deja de ser mas que un switch o un pulsador que se activa por movimiento, o cualquier dispositivo del mundo que le diga SI/NO, HIGH/LOW y que ese sea el valor que quieras almacenar en tu DB ademas de la fecha, y lo que gustes almacenar.
Eso te aseguro que es exactamente lo mismo que enviar un dato de temperatura o humedad.
En ambos terminas usando una secuencia SQL con un INSERT que le dice a tu tabla ubicada en tu DB que campos guardar.

Asi que el proceso de un ejemplo cualquiera es válido para resolver tu problema.
Si no lo veías de este modo, tomate un tiempo para hacerlo porque por eso te dije y tal vez no comprendiste, busca que encontrarás ayuda viendo los ejemplos de temas similares.

Pero además no necesitas un ejemplo.
Los ejemplos siempre comienzan con las librerías y si entiendes sus ejemplos resuelves tus problemas

MySQL Connector es una de las posibles soluciones. Link

Y acá su ejemplo básico que se llama basic_insert.ino

Que copio y pego aca usando etiquetas (para que sepas como posteamos los códigos).

#include <Ethernet.h>
#include <MySQL_Connection.h>
#include <MySQL_Cursor.h>

byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server_addr(10,0,1,35);  // IP of the MySQL *server* here
char user[] = "root";              // MySQL user login username
char password[] = "secret";        // MySQL user login password

// Sample query
char INSERT_SQL[] = "INSERT INTO test_arduino.hello_arduino (message) VALUES ('Hello, Arduino!')";

EthernetClient client;
MySQL_Connection conn((Client *)&client);

void setup() {
  Serial.begin(115200);
  while (!Serial); // wait for serial port to connect
  Ethernet.begin(mac_addr);
  Serial.println("Connecting...");
  if (conn.connect(server_addr, 3306, user, password)) {
    delay(1000);
  }
  else
    Serial.println("Connection failed.");
}


void loop() {
  delay(2000);

  Serial.println("Recording data.");

  // Initiate the query class instance
  MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);
  // Execute the query
  cur_mem->execute(INSERT_SQL);
  // Note: since there are no results, we do not need to read any data
  // Deleting the cursor also frees up memory used
  delete cur_mem;
}

Este es tu INSERT

INSERT INTO test_arduino.hello_arduino (message) VALUES ('Hello, Arduino!')

que supone que tienes una base de datos llamada test_arduino y una tabla llamada hello_arduino con un campo message donde insertarás “Hello, Arduino!”

Dime, de esto no puedes resolver como insertar un SI/NO?