aide moi s'il vous plais

e programme doit produire un signal de détresse lumineux en code Morse, sur la Led L1. Voici la succession des traits et des point pour former "S O S" : - - - . . . - - -
Le message doit être répété toutes les 2 secondes.

Voici les contraintes temporelles : - durée d'un point (dot) : 0.2s - durée d'un trait (dash) : 0.6s - espace entre traits ou points : 0.2s - espace entre lettres : 0.6s - espace entre mots : 1.4s

Nous vous suggérons d'utiliser les fonctions (procédures) pour rendre lisible votre programme !
mon programme
int ledPin = 12;

void setup() {

pinMode(ledPin, OUTPUT);
}

void loop()
{
digitalWrite(ledPin, HIGH);
delay(2000);
digitalWrite(ledPin, LOW);
delay(200); // 3 second delay wich acts 1: before loop to make sure your ready and 2: act as a delay for when it starts all over again :slight_smile:
digitalWrite(ledPin, HIGH); //"S" signal starts after the one second delay
delay(2000);
digitalWrite(ledPin, LOW);
delay(600);
digitalWrite(ledPin, HIGH);
delay(2000);
digitalWrite(ledPin, LOW);
delay(200);
digitalWrite(ledPin, HIGH);
delay(2000);
digitalWrite(ledPin, LOW);
delay(1400); //3 second delay for the second letter (fisrt of 2)
digitalWrite(ledPin, HIGH);
delay(1400); // First dash of 3 wich represents the O
digitalWrite(ledPin, LOW);
delay(600);
digitalWrite(ledPin, HIGH);
delay(1400);
digitalWrite(ledPin, LOW);
delay(600);
digitalWrite(ledPin, HIGH);
delay(1400);
digitalWrite(ledPin, LOW);
delay(1400); //second 3 second delay for the third letter
digitalWrite(ledPin, HIGH);
delay(2000);
digitalWrite(ledPin, LOW);
delay(600);
digitalWrite(ledPin, HIGH);
delay(2000);
digitalWrite(ledPin, LOW);
delay(600);
digitalWrite(ledPin, HIGH);
}

s'il vous plait corriger mon programme

tu vas ouvrir combien de posts?
rien a voir avec ton autre demande.

si tu sais pas faire une recherche sur google pour delay(), là ca devient grave de chez grave. ]:slight_smile:
tu veux pas qu'on passe l'exam pour toi non plus?
premier dans les anales du forum :grin:

salim85:
...
Nous vous suggérons d'utiliser les fonctions (procédures) pour rendre lisible votre programme !
...

Bien d'accord, c'est plutot une pas trop mauvaise option initiale :grin:

SOS c'est ...---... Et pas l'inverse.
Mal barre :wink:
Jacques

Il y a une librairie qui existe et l'exemple est le code SOS:

http://arduino.cc/en/uploads/Hacking/Morse.zip

Edite ton message et mets le code entre les balises.

Et je supprime lequel de tes deux sujet avec le même titre ? (même si celui ci à SVP dedans...)

  delay(200);                // 3 second delay wich acts 1: before loop to make sure your ready and 2: act as a delay for when it starts all over again smiley

Pfffffffffffffffffffffff

Bonjour les copains,
C'est assez rigolo, car durant mes expérimentations sur Arduino, je me suis amusé à faire un tout petit programme pour envoyer SOS en code MORSE avec Arduino.
Bon, les contraintes temporelles ne sont pas forcément celle désirées, mais la structure du programme est fonctionnelle.
Voici mon programme :

/* Test du petit module LASER */
/*   Génère un SOS lumineux.  */
   int const Pilotage =  12;    //Pilotage du LASER en broche 12.
const int LED = 13;  // Broche de la DEL U.C.

void setup()   
{ pinMode(Pilotage, OUTPUT);
  pinMode(LED, OUTPUT);       // LED est une sortie.
  digitalWrite(Pilotage, LOW); // Éteindre le LASER.
  digitalWrite(LED, LOW); }   // Éteint la LED de l'U.C.

void loop()
   {S(); ESPACE(); O() ; ESPACE(); S(); delay(3000);}

void POINT()                     
   { digitalWrite(Pilotage, HIGH);
     digitalWrite(LED, HIGH);   // Allume la LED de l'U.C.  
     delay(100); digitalWrite(Pilotage, LOW);
     digitalWrite(LED, LOW); }   // Éteint la LED de l'U.C. }
     
void TRAIT()                     
   { digitalWrite(Pilotage, HIGH);
     digitalWrite(LED, HIGH);   // Allume la LED de l'U.C.   
     delay(300); digitalWrite(Pilotage, LOW);
     digitalWrite(LED, LOW); }  // Éteint la LED de l'U.C.
     
void S()                     
   {  for (int i = 1; i < 4 ; i++)
          {POINT();delay(100);}}
void O()                     
   {  for (int i = 1; i < 4 ; i++)
          {TRAIT();delay(100);}}
          
void ESPACE()                     
   {delay(400);}

Ce petit programme se contente de générer un SOS en code morse sur la sortie binaire 12. La LED (Broche 13) de la carte ARDUINO sert de répétiteur visuel local. Le LASER s'illumine à la cadence du SOS généré sur 12.
Je n'ai pas le temps actuellement pour voir si un codage plus optimisé serait le bienvenu. N'oublions pas que c'est un essai de débutant. Il a le mérite d'exister et de fournir des pistes de recherche.

@nulentout
bonjour,
pourquoi donner un code tout fait à un gars qui ne se donne même pas la peine de chercher et qui balance un code de la mort comme ca sans réfléchir une seconde?
c'est pas la bonne méthode vis à vis de ce genre de personne et cela ne va pas les aider car ils ne comprendront pas une once du code.
le but du forum n'est pas de donner du tout cuit, mais de faire apprendre et surtout comprendre le pourquoi du comment.
ceci est mon avis perso et n'engage que moi.

un gars qui se donne la peine de cherche sur le net une solution, de faire son prog, se planter et venir ici pour une explication, aura toute l'aide voulue.
mais pas un gus comme ca.

D'autant plus que j'avais déjà donné une lib entière dont l'exemple est le code SOS, donc le gars a du déjà partir depuis longtemps....

Bonjour,
Magnifique ce topic, on pose une question et puis plus rien de la part du créateur du sujet.
Le topic continue à vivre sa vie avec les membres de la communauté.
Génial non ? :smiley:

Bonjour les copains, bonjour infobarquee
Je ne suis pas du tout polémique, mais comme tu souhaites avoir une justification de ma part, je me sens un peu obligé de te la donner, même si en l’occurrence c’est un peu hors sujet.
Le monde social n’est pas binaire, tout noir ou tout blanc, c’est infiniment plus subtil.
Oui, je suis assez de ton avis quand tu affirmes que trop simplifier la vie aux copains n’est pas favorable à leur développement. Ce n’est que par nos efforts que nous grandissons : Exact.
D’un autre coté, quand qui que ce soit dit : « Aidez-moi », je suis tenté de me précipiter.
J’ai déjà souvent posé des questions sur ce Forum et obtenus des réponses précises. Mais personnellement ce qui me sert le plus, c’est un petit programme qui sur Arduino fonctionne. Sur cette base, je cherche alors à décortiquer pour comprendre ce qu’a fait le programmeur, et parfois j’y découvre des nuances de programmation très alléchantes. (Mais c’est un gouffre à temps)
Quand on me file un lien, c’est déjà très bien. Mais dans tout le verbiage technique encombré de franglais, j’ai beaucoup plus de mal à arriver à trouver un code qui passe la compilation.
En résumé, l’idéal pour moi, c’est un petit programme démonstratif qui fonctionne, et un ou des liens pour approfondir.
Revenons au cas présent. Un internaute qui désire peut être du tout cuit pour ne pas trop s’embêter. OK, c’est possible. Mais nous sommes à l’époque du copier/coller professionnellement. C’est la base. En projet bureau d’étude, on ne dessine plus le vérin ou le roulement à billes >>> Copier/Coller.
Alors dans ce contexte, pourquoi refuser cette pratique dans le cadre du loisir ?
Personnellement, je crois qu’il faut semer pour récolter. Peut être que la personne à qui tu as refilé tout cuit le logiciel clef en main, va finalement avoir l’envie de comprendre le programme … et continuer cette fois à investir des efforts.
Semez, semez, il en poussera forcément quelque chose.
Je suis intimement convaincu que la richesse d’un forum réside dans l’aide que l’on y trouve, peu importe que cette aide « soit méritée ou non ». Le débutant qui vient en passant lire quelques posts va peut être tomber sur celui-ci et se dire :
« Tiens ? … C’est rigolo ce programme , je vais l’essayer ».
Donc, le petit truc que l’on a mis en ligne profite en fait à tout le monde.
En résumé, c’est vrai que trop faciliter les choses n’aide pas forcément à la maturité, mais d’un autre coté peut pousser du bon coté. :blush:
Amicalement : Nulentout.

je ne demandai pas une explication, mais simplement exprimais mon ressentit.
le gars vient ici juste pour son TPE (bac, ou autre on s'en tape), et après ne reviendras plus jamais.
c'est le cas de 99% de ceux qui postent ce genre de chose.
les autres ne viennent pas ou alors posent de bonnes questions avec un code et un peu de travail.

ils sont à la ramasse dans leur projet qui compte pour leur avenir et se réveillent d'un coup après avoir laché la console ou un forum de jeux qui permet de trouver des solutions pour avancer dans le jeu.

par contre pour se sortir les doigts du fion pour un code qui est des plus basiques, y a plus personne.
chaque année, on a le lot de ce genre de gars qui a son TPE en main depuis plusieurs semaines et se dit, ha ben tient c'est dans 2 jours et j'ai rien foutu.
hop je vais sur le forum arduino et y a bien un saint bernard qui va me pondre mon code en 30s chrono.
je le recopie et hop.
même pas merci, bonjour, s'il vous plait, rien.
le seul soucis est que, si l'examinateur (qui n'est pas dupe), va demander des explications sur le code et pourquoi l'avoir fait comme ca.
il va répondre quoi à ces questions le gus?
rien, car il aura juste copié le code sans chercher a comprendre.
du coup ca va lui retomber sur le coin du museau et bulle assurée.
donc ce n'est pas lui rendre service.
sinon, on prend chacun un peu d'argent et on passe à leur place l'examen. :slight_smile:

le partage des connaissances, je suis pour, le tout cuit, je suis contre.
si au moins il se donnait la peine de regarder sur internet en tapant morse sos arduino sur google, mais la rien, nada, nesquik, minuts.
pourquoi faire une exception alors que l'on sort la même chose tous ceux qui font la même chose chaque année?

la preuve, depuis certaines réponses, il est pas revenu et ne reviendra pas.

donc pourquoi le gars qui se les garde au chaud en attendant du tout cuit aurait les même faveurs et aide que le gars qui se les bouge?
dans ce cas là, personne se les bouge et on leur donne du tout cuit. pourquoi se casser le fion a bucher dans ce cas là?
ca s'appelle un wiki et non plus un forum.

Bonjour,

Le code pourra servir pour d'autres en fessant une recherche par exemple?

Faut t'il que le titre du sujet soit un peu plus explicite ^^

clementvi:
Bonjour,

Le code pourra servir pour d'autres en fessant une recherche par exemple?

Faut t'il que le titre du sujet soit un peu plus explicite ^^

oui le titre est des plus explicites pour une tv realité :slight_smile:
vais encore faire le méchant
google => sketch sos arduino
Environ 795 000 résultats (0,32 secondes)

tu crois vraiment que le code ici pourra servir?
faut quand même se sortir un peu les doigts de temps en temps, non?