Projet de centrale de pêche pour la carpe

Bonjour à tous, j'ouvre ce post pour vous expliquer mon projet arduino et également pour demander de l'aide et des conseils.
Tout d'abord, présentation du projet:

Je souhaite réaliser une centrale de pêche pour la carpe. En d'autre terme, un boitier, qui pourra recevoir le signal venant de mes détecteurs de pêche qui sonneront lorsqu'il y aura une touche. Ce boîtier devra avoir une portée d'environ 100 mètres, il comportera 4 leds et un buzzer. Un autre boitier sera disposé a coté des cannes a pêches et des détecteurs de touche et se chargera de transmettre le signal au boitier de reception (la centrale).

Pour ce projet, j'ai choisis d'utiliser des Arduino Uno pour la partie prototype, associés a des NRF24L01+ (ceux ayant une antenne externe) pour la communication entre les boitiers, ainsi que des leds adressables. Mon émetteur sera relié a mes détecteurs par leurs prises jack qui délivre une tension de 2,5V lorsqu'une touche se produit.

Pour la partie programme: je souhaite que lorsqu'il y a une touche, la tension envoyée sur une des entrées analogique de l'émetteur soit détectée et qu'il y ait une transmission du signal. Je souhaite également que si plusieurs détecteurs sonnent en meme temps les informations soient transmises en meme temps ( je pensais codé cela sur un octet avec un bit pour l'état de chaque détecteurs). Coté récepteur : je souhaite que lorsqu'il reçoit une information de touche, il allume la led associé au bon détecteur pendant un certain temps ainsi qu'il fasse sonner le buzzer.

Mon principal problème pour l'instant ce serait la gestion de l'autonomie, je souhaiterai placé l'émetteur et le récepteur en veille pour économiser l'énergie et réveiller ceux ci par une interruption, j'ai déjà regardé des dizaines d'articles mais je n'arrive pas a comprendre le fonctionnement du réveil par interruption.

Voici un bout de code que j'ai essayé mais je ne peux pas le tester en reel car je n'ai pas encore les arduinos et le code n'est pas accepté par Tinkercad pour la simulation. Pouvez vous me dire si la syntaxe est correcte et si vous voyez de grossières erreurs? je continuerai a alimenter ce sujet au fur et a mesure de mon avancement dans le projet et de mes questions. (pour information je souhaiterai une autonomie d'une semaine minimum voir un peu plus dans l'ideal)


// C++ code
//

#include "Arduino.h"
#include <avr/sleep.h>



void setup()
{
 
 pinMode(13, OUTPUT);
 pinMode(2, INPUT);

 // Flashing LED just to show the µController is running
 digitalWrite(13, LOW);
 
 
}

void loop()

{
 
 if (digitalRead(2)==LOW)
   set_sleep_mode (SLEEP_MODE_PWR_DOWN);
   sleep_enable();
 attachInterrupt(digitalPinToInterrupt(2),tensiondereveil,HIGH);





 digitalWrite(13, HIGH);
 delay(1000); // Wait for 1000 millisecond(s)
 digitalWrite(13, LOW);
 delay(1000); // Wait for 1000 millisecond(s)
}


void tensiondereveil()
 {
 
 sleep_disable();
 
 }

Cordialement,
Anthony

:warning: La rédaction de votre message ne répond pas aux critères attendus. Il n’aura sans doute pas de réponse tant que vous n’aurez pas pris en compte et mis en application les recommandations listées dans “Les bonnes pratiques du Forum Francophone”

Et voici c’est modifié, je m’étais trompé en choisissant l’outil excusez moi .

Bonsoir
Pour la syntaxe , il te suffit d'installer l'IDE arduino et de compiler le progrmme , tu verra si il y a des erreurs de syntaxe ( :warning: spoiler la reponse est pas d'erreurs)

il y a déjà eu 1 ou 2 topics avec de "carpistes"
un ici

Les petits modules LORA tout intégrés pourraient vous simplifier la vie plutôt que de passer en nRf24

oui tout à fait
en 3 ans , les technos évoluent

D’accord pour l’IDE, et pour les modules LORA je ne connais pas, c’est un peu le même type de module que les nrf? Niveau portée de transmission ça donne quoi comme résultat?
Ensuite, j’avais déjà vu le post du carpiste mais comme je l’ai expliqué je voudrais si possible gérer l’économie d’énergie via une mise en veille du uC et je ne comprend pas bien comment utiliser ces fonctions

La technologie Lora permet une "securisation " de transmission

les modules ne sont pas trés onereux et faciles à interfacer

Le signal de "reveil" issu detecteur de touche c'est quoi exactement ? un contact "sec" ?

D’accord pour le LORA,

Le signal de réveil serait un +2,5v, ce qui est pas forcément top car ça suffira pas à déclencher le passage à l’état haut d’une broche Int0 à mon avis…

çà dépend du MCU choisi , mais 2.5V c'est suffisamment haut dans la plupart des cas

Je vois que le LORA est basé sur un atmega168, il se suffit à lui même pour mon projet ou je devrais le coupler à un MCU comme un atmega328?

Lora c'est un protocole de transmission , on prend le MCU que l'on veut avec un module lora

D’accord désolé pour mes imprécisions je débute :sweat_smile:
Le fait d’utiliser Lora sera plus simple à coder qu’avec un Nrf?

Il existe des libs simples

D’accord merci pour ces premières infos, je vais continuer de me renseigner sur les module Lora j’aurai une autre question, concernant le code pour passer le MCU en veille, est ce que les fonctions

  • sleep_enable
  • sleep_disable
    Sont connu par le MCU? Je n’ai pas besoin de les définir? Il saura qu’en envoyant cette fonction il doit repasser en état actif ou rester en veille?

la syntaxe exacte peut différer selon le MCU choisi

Le plus simple est de partir sur un MCU en 3.3V

Pourquoi ce serait plus simple avec un MCU en 3.3v?

Vous auriez un module Lora à me conseiller?

parce qu’aujourd’hui la grande majorité des modules de com sont en 3.3V , ça evite d'avoir à translater les niveaux d'IO

D’accord et du coup pour l’alimentation du tout, vous utiliseriez quoi? Sachant que je dois avoir une autonomie d’environ 7 jours.