Interruptions info complémentaires

Bonjour, j'avance d'un pas pour reculer de 3! l'apprentissage n'est pas facile!!
Dites moi, question au niveau des interruptions, j'en voudrais de 2 types:
1: une interruption externe qui sortira l'Arduino de son dodo.
2: une interruption externe qui mettra fin à l'action en cours alors que l'Arduino est entrain de faire des mesures

ça ce code de la même manière au niveau du placement dans le code. Ou, y'en a une uniquement dans le void et l'autre dans le loop?

Merci.

Bonjour Papydroïd,

Les interruptions, c'est très simple ... dès qu'on en a compris l'utilité et le principe, il faut "un certain temps".

Il faut, grosso modo, trois bouts de programme pour finaliser une interruption :

  1. la config du périphérique devant générer l'interruption

  2. la validation de l'interruption

  3. le traitement de l'interruption, par écriture de la routine adéquate

Les étapes 1 et 2 ne sont dans une boucle que si les conditions de déclenchement de l'interruption doivent changer en cours d'execution programme

L'étape 3 n'est jamais dans un boucle, c'est une routine appelée par l'interruption.

Salut,

Tu n'as pas besoin d’interruption pour le point numéro 2).
Par contre pour sortir le uC du sommeil, il te faut programmer une interruption interne/externe.

Tu as ton programme principal (fonction loop() ) qui appelle ce qu'on nomme l'ISR (interrupt service routine) qui interrompt le sommeil du uC, effectue une/des tache(s) dans cette fonction et ensuite reprend la suite du programme.

ISR(nom_interruption)
{
//code le plus court possible, cela sert juste à réveiller le uC (microcontrôleur).
}

void loop()
{

// code
// sommeil
// appel de l'ISR
// calcul
//sommeil

}

Pour renvoyer le uC en sommeil, un bouton poussoir relié à une pin mise à l'état HIGH et à la masse et un while(pin == HIGH) suffise à la faire sortir de la boucle de calcul et le renvoyer en sommeil.

Super, merci du coup de main! Je galère pas mal! Petite question très sérieuse, je vois bien que je vais devoir en baver un bon moment et le temps et pas trop un lux que j'ai avec ma vie de famille. Existe t-il un service d'aide à la personne dans ce domaine ? Je suis prêt à mettre la main à la poche pour que quelqu'un écrive mes lignes de code. J'ai 70 pourcents du synoptique général et détaillé du programme mais je suis pas doué pour le code.

Salut,

C'est sur que le temps est la variable plus importante, si tu n'en as pas, cela va être dur.

Normalement si tu ne sais pas très bien coder, il faut, avant de prendre en main le coté matériel (hardware) se perfectionner en programmation, soit en C ou C++, sur l'environnement de développement d'Arduino (IDE en anglais = environnement de dev. intégré) tu peux utiliser les deux langages, c'est la partie software.

Il faut avoir un niveau moyen dans ces deux domaines pour faire des choses intéressantes sur l'Arduino, et cela prends un peu de temps et d'investissement (livre(s) sur uC + livre(s) sur C/C++).

Normalement il y'a plusieurs forums où tu peux trouver de l'aide et ce GRATUITEMENT, donc profites en, par contre faut pas être pressé.

Quelle est l'application que tu développes au fait ? Dans combien de temps doit-elle être prête ? est-ce une appli. pour ton propre bénéfice, ou bien veux-tu en faire un produit manufacturé ?