Bonjour,
Peut-on faire de la temporisation, base de temps et autres manip sur le temps avec de l'Arduino ?
Merci aux sachants.
-----
Bonjour,
Peut-on faire de la temporisation, base de temps et autres manip sur le temps avec de l'Arduino ?
Merci aux sachants.
oui !
> il y a la mauvaise solution : avec des delays()
> et il y a la bonne solution avec millis()Code:boolean ledState; loop() { delay(500); // ledState = !ledState; digitalwrite(LED, ledState); }
Code:boolean ledState; uint32_t lastLedToggle; loop() { if( millis()-lastLedToggle>500 ) { ledState = !ledState; digitalwrite(LED, ledState); // lastLedToggle = millis(); } }
Dernière modification par Seb.26 ; 12/04/2023 à 11h52.
<< L'histoire nous apprend que l'on apprend rien de l'histoire. >>
Ok, merci beaucoup.
Mais pfiou... C'est "chinois" les milli.
Dernière modification par Henrix ; 12/04/2023 à 11h54.
Et tant qu'on y est, pourrais-tu me donner le code pour un système:
Allumé pendant une seconde, éteint pendant 8 secondes, bouclé (sans bouton ni autre)
Je compte commander un 2N3055 avec la sortie, mais quelle sortie; j'ai lu "là bas" le terme pwm
On la trouve où cette pwm ?
Puis-je commander un 2N3055 avec une sortie digitale (0V<-->5V).
?
Et encore merci
Bonjour,Et tant qu'on y est, pourrais-tu me donner le code pour un système:
Allumé pendant une seconde, éteint pendant 8 secondes, bouclé (sans bouton ni autre)
Je compte commander un 2N3055 avec la sortie, mais quelle sortie; j'ai lu "là bas" le terme pwm
On la trouve où cette pwm ?
Puis-je commander un 2N3055 avec une sortie digitale (0V<-->5V).
Et encore merci
Si l'arduino te semble compliqué, je ne veux pas faire de prosélytisme, mais un petit picaxe 08M2 serait plus simple
Ex: on sort sur la broche C.1, les valeurs sont en ms
Pour commander des courants forts avec un µC, les mosfets dits "TTL" sont le bon choix.Code:do high C.1 pause 1000 low C.1 pause 8000 loop
MM
Si il y a des erreurs ci dessus, c'est que je n'ai pas eu le temps de les corriger...
Bjr à toi, Et c'est ou....."là bas" ??
La pwm c'est à toi à la créer. (C'est ,pour faire simple, un découpage en tranche du signal).
Les tranches ,c'est toi qui décide de leur largeur.
Commader par des 1 (5v) ou des 0 (0v), c'est commander en tout ou rien.... ton transistor saura le faire.
Bonne journée
Franchement, si tu dois appendre à programmer, évites de partir sur un truc tout obsolète comme le Basics ...
-> Du C/C++ (et dérivés) ou du MicroPython si tu préfères ... au moins tu capitaliseras sur ton apprentissage.
Pour ta boucle, si tu ne fais vraiment que ça :
Pour 10€ (fdpi) tu peux avoir une carte en USB-C natif en 5v avec un CPU à 16MHz et 2.5ko de RAM ... de quoi bien t'amuser ...Code:// Tu mettras la pin que tu veux ... ici la n° 15 #define PIN_OUT 15 // le setup est exécuté une fois au boot setup() { pinMode(PIN_OUT, OUTPUT); // on définit cette pin comme une sortie } // cette boucle se répète à l'infini loop() { digitalwrite(PIN_OUT, HIGH); // on met la pin à 'haut' delay(1000); // on attend 1000ms = 1s // digitalwrite(PIN_OUT, LOW); // on met la pin à 'bas' delay(8000); // on attend 8000ms = 8s }
( "Carte Pro Micro AtMega32U4" sur ebay par exemple )
Dernière modification par Seb.26 ; 12/04/2023 à 15h31.
<< L'histoire nous apprend que l'on apprend rien de l'histoire. >>
à: " mag1": Merci pour les infos.
à: "f6bes": "Là bas", c'est partout et nulle part sur le vaste Web.
si une sortie numérique fait l'affaire, je garderai le sauscsson entier, basta le découpage en tranches.
à: "Seb.26": Le Basic c'est très bien, j'ai tâté du python, ce langage de fous où tout peut être n'importe quoi et vice versa, au bout de vingt lignes on ne sait plus où on habite.
Mieux vaut un langage obsolète (de neuneus), mais encore efficace à un langage "évolué" qui me demandera dix ans d'apprentissage et d'utilisation intensive, pour ingurgiter de la syntaxe à dormir debout.
Alors certes, on ne fait pas de Web ni de vidéo, mais il y a quand même dans les 200 softs sur mon site de prog amateurs (très peu fréquenté je l'avoue, la faute aux réseaux sociaux que préfèrent les paresseux), et il y aussi un site américain qui fait du Basic.
Tiens au fait, je ne connais pas de sites de prog amateurs en Python, C, C++, C# et autres Ocml, Windev...Avec du contenu.
C'est pas: "AtMega" qui fait les Arduinos ?
J'ai pris une: "Mega", je vais avoir du rabe de sorties !!. Je la recyclerai.
Et gros merci pour le code.
Dernière modification par Henrix ; 12/04/2023 à 16h25.
bonsoir
arduino MEGA, c'est la rolls des arduino.
j'espère que tu va faire mieux qu'une tempo et un 3055...
https://www.carnetdumaker.net/articl...-avec-arduino/
le code arduino est très proche du C, C++, la syntaxe est la même
à: "Pascal071": Bah, j'ai déjà bricolé "Arduino", il y a très longtemps.
"Tempus fugit", et mémoire avec...
J'avais fait un truc qui prenait en entrée des contacts sous les touches de la main gauche et un boitier avec des inverseurs pour les tons majeurs et mineurs.
En sortie, ça allumait une rampe de leds au droit des notes concernées.
Une "Mega" bien truffée, avec une belle brochette de transistors.(demain je poste une image).
ça marchait comme attendu, mais je n'ai pas progressé au piano pour autant.
Le piano, c'est pas facile.
à: "Pascal071":
Un bricolage qui a demandé plus qu'une heure.
Dernière modification par Henrix ; 13/04/2023 à 08h22.
Remoi,
Généralement le probléme de l'arduino ( dans certains cas ) c'est qu'on ne cherche pas à programmer, mais simplement
à récupérer des lignes de codes....TOUTES prétes !
Ca n'emnéne rien dans la compréhension...de la programmation.
Faut commençer par créer ses algorhimes...les 3/4 du boulot est fait à ce niveau.
Bonne journée
à: "f6bes":
T'inquiète, je me suis bien pris la tête avec ce truc, et avec l'enthousiasme du débutant.
Mais ce qui m'a dégoûté, c'est qu'après avoir perdu le code, je me suis aperçu qu'on ne pouvait pas le récupérer dans le µproc.
Ce code n'ayant pas fait appel à de la gestion du temps, ce n'est qu'un soucis de gain de temps qui m'a fait demander un code tout fait.
Et dont je re remercie: "Seb.26".
Parce qu'en général, quand on demande un code, on se fait souvent jeter.
Bonjour,
Quelques précisions sur la perte ?après avoir perdu le code
A part la mise au rebus du système qui a servi, il est souvent possible de récupérer les données d'un disque ou autre.
La règle d'or, se souvenir que tout système est faillible.
Si des sauvegardes ont bien été effectuées, sur quel support ?
La moins efficace,un listing, surtout quand il y a des centaines de lignes.
Microsoft autrefois expliquait comment commencer : Press any key.
Dernière modification par Seb.26 ; 13/04/2023 à 14h34.
<< L'histoire nous apprend que l'on apprend rien de l'histoire. >>
à: "Gyrocompas": J'étais jeune et insouciant, et c'est tellement fastidieux les "backup".
Mais bon, j'ai compris la leçon, maintenant je sauve tous sur clé USB et sur SSD, ce qui à mon avis ne garanti pas d'une méga éruption solaire ou de l'impact d'un géocroiseur, faudra faire avec....
à: "Seb.26": Le code Arduino, c'est du "C" dont on a coupé les feuilles, les branches et les racines, et dont l'écorce a servi à faire des bouchons.
Salut,
chatGPT compose des codes arduino sur base de texte
ici, la requête :
devrait fonctionner(pas toujours le même résultat).Code:Code Arduino le plus simple possible : tempo(on=1500m, off=100, on=200, off=100), attente infinie
Pour des codes plus complexes, il faut être capable de corriger les erreurs.
On peut ajouter : serial 115200, attendre une entée 'A', prompt tout, ...
Plus le code est long, plus il y aura des erreurs à corriger.
GPT-4 fait mieux, Microsoft Edge moins ???
Biname
Fonctionne aussi avec, Python, Html + Javscript, et d'autres langage. Mêmes remarques concernant la longueur et les erreurs
"Attente infinie" à la fin de ta requete, ça évoque un feu tricolore coincé au rouge.
Le terme: "Boucler" serait mieux.
Que le Diable m'écorche si je demande un jour quelque chose à ce chat.
Cet animal nous promet une belle pagaille.
Je te demanderais bien "Pourquoi ?" car c'est du C++, ne t'en déplaise.
Mais je pense que je ne comprendrai jamais le Arduino-bashing ici ...
Donc : bonne route
@+
<< L'histoire nous apprend que l'on apprend rien de l'histoire. >>
bien d'accord...
Coucou me revoilou,
J'ai mis ça:
#define PIN_OUT 12;
void setup(){
pinMode(PIN_OUT, OUTPUT);
}
loop()
digitalwrite(PIN_OUT, HIGH);
//
digitalwrite(PIN_OUT, LOW);
delay(1000);
}
// Avec: "#define PIN_OUT 12;" avant ou dans le setup.
(pas trouvé balises code).
La led a été vérifiée avec R:220 Ohms, méplat sur la "grnd.
Sur la carte: un voyant vert continu et un jaune clignotant, que la carte soit alimentée ou pas.
J'ai essayé les trois prises USB.
J'ai voulu mettre des drivers, ils y étaient déjà.
ça renvoie: "at java.lang.ProcessBuilder.start (ProcessBuilder.java:1029)
... 8 more"
Je suis sous Win XP, demain j'essaierai avec un Win 10.
Note ça m'a niqué le wifi, il est revenu au redémarrage.
Que peut-il se passer ?
Merci.
Dernière modification par Henrix ; 15/04/2023 à 16h13.
bonjour
il faut une tempo entre digitalwrite(PIN_OUT, HIGH) et digitalwrite(PIN_OUT, LOW).
JR
l'électronique c'est pas du vaudou!
Je l'y ai mise
Même retour. "at java.lang.ProcessBuilder.start (ProcessBuilder.java:1029)
... 8 more"
Code:void setup(){ #define PIN_OUT 12; pinMode(PIN_OUT, OUTPUT); } loop() digitalwrite(PIN_OUT, HIGH); delay(1000); digitalwrite(PIN_OUT, LOW); delay(1000); }
Dernière modification par Henrix ; 15/04/2023 à 16h25.
bonjour
le #define se met avant le setup {}
cordialement
bonsoir
et une accolade après loop() {
Sur Win 10, ce code:
ça renvoie: expected constructor, destructor, or type conversion before';' tokenCode:#define PIN_OUT 12 setup() { pinMode(PIN_OUT, OUTPUT); } loop() { digitalwrite(PIN_OUT, HIGH); delay(1000); digitalwrite(PIN_OUT, LOW); delay(1000); }
Caisse y se passe ?
Après correction de: digitalwrite-->digitalWrite
ça renvoie encore: expectedconstructor, destructor, or type conversion before ';' tokenCode:#define PIN_OUT 12 setup() { pinMode(PIN_OUT, OUTPUT); } loop() { digitalWrite(PIN_OUT, HIGH); delay(1000); digitalWrite(PIN_OUT, LOW); delay(1000); }
bjr,
Code:void setup ()
Avec void setup et void loop, ça compile sans erreur, mais ça ne clignote pas.
"Port com 3", c'est normal ?