Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1376 connectés 

 



 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  243  244  245  246  247  248
Auteur Sujet :

[arduino] Topic Unique blabla @ Arduino

n°385059
Lermite
Posté le 16-10-2022 à 09:26:41  profilanswer
 

Reprise du message précédent :

DayWalker II a écrit :

Ton fournisseur peut faire la demande à ENEDIS (pas EDF). J'ai failli le faire avec Ilek justement, qui m'a dit OK, c'est 30-35 euros.

30 ou 35€, ça réduit significativement l'intérêt pécuniaire de cette solution par rapport au wattmètre ajouté au tableau électrique et même l'oscillo qui devrait me permettre d'exploiter la led.
 

Bersac a écrit :

Enedis est le gestionnaire du réseau de distribution d'électricité commun à tous les fournisseurs. Tu peux donc le solliciter.
 
Voici la bible de la télé-information Linky.

Il me parait en effet logique de solliciter Enedis puis que c'est lui qui gère les compteurs et notamment les Linky.
J'ai suffisamment bataillé avec le mien pour le savoir  [:nedurb]  
 

Bersac a écrit :

Si tu choisis cette option et que tu arrives à en sortir quelque chose, ce serait sympa d'en faire retour.

Quoi que je fasse au final, je reviendrai ici m'en vanter (ou râler parce que ça ne marche pas).
 

docmaboul a écrit :

J'utilise ce shield: https://www.tindie.com/products/hallard/wemos-teleinfo/ (sur un microcontrôleur d'aliexpress :D)

Intéressant mais le brochage promet de sérieuses complications sur mon Mega 2560 déjà bien chargé en terme de connexions.
Ma crainte est notamment que certaines broches du shield ne puissent être réassignées au niveau du code.
Bref, ça me parait risqué comme solution dans le sens où elle pourrait être incompatible à mon bricolage - usine à gaz.
 

docmaboul a écrit :

Non par défaut tu as une sortie fonctionnelle sur le linky, donc tu branches et ça marche.
 
Après tu peux les contacter pour avoir le mode standard, mais ça ne sert pas à grand-chose.

En mode Historique, le linky ne donne pas ce qui m'intéresse, à savoir la puissance active instantanée et ce, à un intervalle de 3s, afin d'alimenter une courbe dans un graphique avec suffisamment de précision pour discerner le fonctionnement de chaque appareil.
 
Seul le mode Standard permet à priori d'obtenir cette valeur, via le champ "Point n de la courbe de charge active soutirée" en W.
Mais là encore, ma crainte est qu'elle ne soit mise à jour qu'au lance-pierre, à un intervalle largement supérieur aux 3s que je prévois.
 
En plus, je ne peux contacter Enedis que par écrit et je sais d'expérience que dès qu'un message posant une question un tant soit peu technique, ils ne prennent même pas la peine de répondre.
Alors cette histoire de mode Standard, je ne suis guère confiant dans l'espoir de passer mon Linky en Standard.
Ceci dit, ça ne coûte rien d'essayer. Je vais donc le tenter...
 
EDIT: Pas moyen de m'identifier sur le site d'Enedis. C'est décidément mal barré.

Message cité 2 fois
Message édité par Lermite le 16-10-2022 à 09:29:49
mood
Publicité
Posté le 16-10-2022 à 09:26:41  profilanswer
 

n°385066
rat de com​bat
attention rongeur méchant!
Posté le 16-10-2022 à 11:44:28  profilanswer
 

Lermite a écrit :

Intéressant mais le brochage promet de sérieuses complications sur mon Mega 2560 déjà bien chargé en terme de connexions.
Ma crainte est notamment que certaines broches du shield ne puissent être réassignées au niveau du code.
Bref, ça me parait risqué comme solution dans le sens où elle pourrait être incompatible à mon bricolage - usine à gaz.

Ce shield c'est en gros un optocoupleur et un MOSFET pour invertir, ça peut se bricoler sur un bout de perfboard si jamais ça aide. :o

n°385074
Lermite
Posté le 16-10-2022 à 14:36:34  profilanswer
 

rat de combat a écrit :

Ce shield c'est en gros un optocoupleur et un MOSFET pour invertir, ça peut se bricoler sur un bout de perfboard si jamais ça aide. :o

La liaison série suppose un montage un poil plus compliqué.

n°385078
rat de com​bat
attention rongeur méchant!
Posté le 16-10-2022 à 18:19:20  profilanswer
 

Bah non, le Linky sort un signal UART déjà je pense, ce shield (dont le schéma est sur le site) n'est au final rien d'autre qu'une isolation galvanique (+convertisseur de niveaux). :o

n°385080
Natopsi
☄️Just end it already!☄️
Posté le 16-10-2022 à 18:39:36  profilanswer
 

rat de combat a écrit :

Bah non, le Linky sort un signal UART déjà je pense, ce shield (dont le schéma est sur le site) n'est au final rien d'autre qu'une isolation galvanique (+convertisseur de niveaux). :o


L'isolation galvanique est théoriquement inutile car déjà présente dans le compteur. En pratique l'opto utilsé est pratique car avec deux led en antiparallèle ce qui lui permet de redresser le signal alternatif, et assez lent pour faire détecteur d'enveloppe sans rajouter de circuits autour. Le MOSFET ne sert qu'à inverser le niveau.


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°385085
Lermite
Posté le 16-10-2022 à 19:42:22  profilanswer
 

Bon, je compte sur Enedis pour mettre fin à mon dilemme.
 
Soit il satisfait ma demande de passage en mode Standard émise à l'instant, auquel cas j'exploiterai la sortie TIC.
Soit il refuse ou ne me répond même pas et se posera alors un autre dilemme:
 - acheter un oscillo dans l'espoir de parvenir à exploiter la led
 - acheter un wattmètre, mais l'idée de bidouiller mon tableau électrique ne m'enchante pas.
 
Mais demain, je ferai une autre tentative pour gérer la led, en déplaçant le petit montage (censé convertir le signal du phototransistor en impulsions propres) à proximité du phototransistor.


Message édité par Lermite le 16-10-2022 à 19:47:14
n°385095
docmaboul
Posté le 16-10-2022 à 20:47:03  profilanswer
 

Lermite a écrit :

Intéressant mais le brochage promet de sérieuses complications sur mon Mega 2560 déjà bien chargé en terme de connexions.
Ma crainte est notamment que certaines broches du shield ne puissent être réassignées au niveau du code.
Bref, ça me parait risqué comme solution dans le sens où elle pourrait être incompatible à mon bricolage - usine à gaz.


 
Sans compter le code :D
 
Après, tu peux aussi ajouter un pauvre esp à 4 ou 5 euros pour gérer cette partie.
 

Lermite a écrit :

En mode Historique, le linky ne donne pas ce qui m'intéresse, à savoir la puissance active instantanée et ce, à un intervalle de 3s, afin d'alimenter une courbe dans un graphique avec suffisamment de précision pour discerner le fonctionnement de chaque appareil.
 
Seul le mode Standard permet à priori d'obtenir cette valeur, via le champ "Point n de la courbe de charge active soutirée" en W.
Mais là encore, ma crainte est qu'elle ne soit mise à jour qu'au lance-pierre, à un intervalle largement supérieur aux 3s que je prévois.
 
En plus, je ne peux contacter Enedis que par écrit et je sais d'expérience que dès qu'un message posant une question un tant soit peu technique, ils ne prennent même pas la peine de répondre.
Alors cette histoire de mode Standard, je ne suis guère confiant dans l'espoir de passer mon Linky en Standard.
Ceci dit, ça ne coûte rien d'essayer. Je vais donc le tenter...
 
EDIT: Pas moyen de m'identifier sur le site d'Enedis. C'est décidément mal barré.


 
Oui c'est 30 minutes l'intervalle de maj. de ce compteur.

Message cité 1 fois
Message édité par docmaboul le 16-10-2022 à 20:49:37
n°385097
Lermite
Posté le 16-10-2022 à 21:11:58  profilanswer
 

docmaboul a écrit :

Oui c'est 30 minutes l'intervalle de maj. de ce compteur.

Arg, voila qui disqualifie d'office la TIC pour moi  :pfff:  
 
Je vais m'acharner sur la led  [:as253]  

n°385100
Natopsi
☄️Just end it already!☄️
Posté le 16-10-2022 à 21:25:52  profilanswer
 

Non, normalement le linky te remonte très régulièrement l'index au watt heure près dans la téléinfo. Index qui correspond exactement au nombre d'allumages de la LED.


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°385101
crazytiti
http://crazytiti.free.fr/
Posté le 16-10-2022 à 21:29:09  profilanswer
 

Je ne comprends pas le soucis : j'ai un montage branché sur la sortie teleinfo et je récupère la conso très régulièrement ainsi que la valeur instantanée.
Je m'étais basé la dessus :
https://www.magdiblog.fr/gpio/telei [...] lectrique/
J'ai modifié vraiment pas grand chose (gestion uniquement heure de base)
 
Edit voici les infos dispo et ec que j'utilsie en gras.
 
    ADCO : Identifiant du compteur
    OPTARIF : Option tarifaire (type d’abonnement)
    ISOUSC : Intensité souscrite
    BASE : Index si option = base (en Wh)
    HCHC : Index heures creuses si option = heures creuses (en Wh)
    HCHP : Index heures pleines si option = heures creuses (en Wh)
    EJP HN : Index heures normales si option = EJP (en Wh)
    EJP HPM : Index heures de pointe mobile si option = EJP (en Wh)
    BBR HC JB : Index heures creuses jours bleus si option = tempo (en Wh)
    BBR HP JB : Index heures pleines jours bleus si option = tempo (en Wh)
    BBR HC JW : Index heures creuses jours blancs si option = tempo (en Wh)
    BBR HC JW : Index heures pleines jours blancs si option = tempo (en Wh)
    BBR HC JR : Index heures creuses jours rouges si option = tempo  (en Wh)
    BBR HP JR : Index heures pleines jours rouges si option = tempo (en Wh)
    PEJP : Préavis EJP si option = EJP 30mn avant période EJP
    PTEC : Période tarifaire en cours
    DEMAIN : Couleur du lendemain si option = tempo
    IINST : Intensité instantanée (en ampères)
    ADPS : Avertissement de dépassement de puissance souscrite (en ampères)
    IMAX : Intensité maximale (en ampères)
    PAPP : Puissance apparente (en Volt.ampères)
    HHPHC : Groupe horaire si option = heures creuses ou tempo
    MOTDETAT : Mot d’état (autocontrôle)


Message édité par crazytiti le 16-10-2022 à 21:35:24

---------------
Le PC est une drogue...
mood
Publicité
Posté le 16-10-2022 à 21:29:09  profilanswer
 

n°385108
docmaboul
Posté le 16-10-2022 à 22:42:48  profilanswer
 

Il veut la puissance active (Wh), pas apparente (VA).
 
Le problème de l'index de base, c'est la précision/résolution. Comme il ne va changer qu'à chaque fois que tu auras consommé au moins un watt et que l'information est transmise toute les 2 ou 3 secondes, tu ne peux pas calculer précisément ta consommation instantanée [:spamafote]

n°385128
crazytiti
http://crazytiti.free.fr/
Posté le 17-10-2022 à 10:36:38  profilanswer
 

Je ne sais plus comment marche mon truc mais j'ai les 2 mesures (fiable ? réel ?).
Je vous laisse analyser le code fournit par madiblog

Message cité 1 fois
Message édité par crazytiti le 17-10-2022 à 10:36:55

---------------
Le PC est une drogue...
n°385130
M4vrick
Mad user
Posté le 17-10-2022 à 10:40:48  profilanswer
 

docmaboul a écrit :

Il veut la puissance active (Wh), pas apparente (VA).
 
Le problème de l'index de base, c'est la précision/résolution. Comme il ne va changer qu'à chaque fois que tu auras consommé au moins un watt et que l'information est transmise toute les 2 ou 3 secondes, tu ne peux pas calculer précisément ta consommation instantanée [:spamafote]


 
C'est également le cas de la led qui était utilisé jusque la par Lermite, elle clignote en fonction de la conso.


---------------
--== M4vr|ck ==--
n°385133
docmaboul
Posté le 17-10-2022 à 10:53:25  profilanswer
 

crazytiti a écrit :

Je ne sais plus comment marche mon truc mais j'ai les 2 mesures (fiable ? réel ?).
Je vous laisse analyser le code fournit par madiblog


 
J'ai été lire vite fait. Il multiplie une valeur en A par 220. Chez moi ce champ remonte en valeur entière. Donc tu as un degré de précision de +/- 220W (grosso modo) si c'est pareil sur ton compteur.

Message cité 1 fois
Message édité par docmaboul le 17-10-2022 à 10:53:43
n°385134
docmaboul
Posté le 17-10-2022 à 10:55:53  profilanswer
 

M4vrick a écrit :

C'est également le cas de la led qui était utilisé jusque la par Lermite, elle clignote en fonction de la conso.


 
Certes mais c'est probablement un peu plus précis si la lumière clignote au moment où la consommation se produit réellement (par rapport à une information obtenue à intervalle régulier dans une trame).

n°385138
Lermite
Posté le 17-10-2022 à 11:15:46  profilanswer
 

M4vrick a écrit :


 
C'est également le cas de la led qui était utilisé jusque la par Lermite, elle clignote en fonction de la conso.

Oui.
L'inconvénient d'exploiter cette led, c'est justement que son intervalle d'actualisation est directement lié à la puissance.
Autant au-delà de 1 kW, cette intervalle est suffisamment court pour avoir des mesures détaillées, autant les puissances plus faibles peuvent donner un intervalle de plusieurs minutes.
 
https://zupimages.net/up/22/42/uazz.png
 
Comme je ne consomme jamais moins de 190 W, ça prête peu à conséquence mais je préférerais quand même un intervalle fixe, de 3 ou 4 secondes, ce qui supposerait un wattmètre distinct du Linky.
 

docmaboul a écrit :

J'ai été lire vite fait. Il multiplie une valeur en A par 220. Chez moi ce champ remonte en valeur entière. Donc tu as un degré de précision de +/- 220W (grosso modo) si c'est pareil sur ton compteur.

Voila un calcul qui manque singulièrement de précision puisque la tension peut varier même si dans une moindre mesure que le courant.
Le résultat ne donne en plus qu'une puissance apparente alors que je tiens à avoir la puissance active qui ne peut s'obtenir seulement à partir de la tension et du courant puisqu'intervient aussi le déphasage dont la mesure est une autre paire de manches.

Message cité 1 fois
Message édité par Lermite le 17-10-2022 à 11:20:45
n°385143
M4vrick
Mad user
Posté le 17-10-2022 à 11:36:23  profilanswer
 

Lermite a écrit :

Oui.
L'inconvénient d'exploiter cette led, c'est justement que son intervalle d'actualisation est directement lié à la puissance.
Autant au-delà de 1 kW, cette intervalle est suffisamment court pour avoir des mesures détaillées, autant les puissances plus faibles peuvent donner un intervalle de plusieurs minutes.
 
https://zupimages.net/up/22/42/uazz.png
 
Comme je ne consomme jamais moins de 190 W, ça prête peu à conséquence mais je préférerais quand même un intervalle fixe, de 3 ou 4 secondes, ce qui supposerait un wattmètre distinct du Linky.
 


 
Tien c'est marrant, c'est un des premiers arguments que je t'ai donné tout au début contre ton montage à base de mesure de la led, et tu m'as dit que ca ne posait pas de soucis au contraire :o


---------------
--== M4vr|ck ==--
n°385145
crazytiti
http://crazytiti.free.fr/
Posté le 17-10-2022 à 11:37:59  profilanswer
 

Pourquoi a tu besoin d'autant de précision ?
Pour info ya longtemps 'javais fait un montage avec capteur de courant et j'avais donc les 2 mesures.
Puis j'ai basculé sur le montage avec teleinfo quand j'ai déménagé.
Dans les 2 cas les mesures coïncident avec ce qui est facturé, l'écart du au déphasage étant relativement faible (chez moi... tu a des moteurs partout ?)

 

Si tu est curieux du montage avec capteur c'est un peu détaillé là, les photos qui étaient sur un site externe sont down...
J'utilisais notamment un petit transfos de chargeur de téléphone pour récupérer la tension du secteur.
http://crazytiti.free.fr/Joomla/in [...] open-conso


Message édité par crazytiti le 17-10-2022 à 11:39:30

---------------
Le PC est une drogue...
n°385146
Lermite
Posté le 17-10-2022 à 12:00:06  profilanswer
 

La consommation de puissance réactive ne provient pas que des moteurs mais de tous les éléments inductifs dont font partie les transfos que l'on trouve pratiquement partout et dont le facteur de puissance est entre 0,9 et 1 tant qu'ils fonctionnent dans leur plage optimale, mais peut s'écrouler dès qu'ils s'en écartent.
Mes deux PC ont chacun un wattmètre donnant le facteur de puissance.
Le poussif moyennement chargé est à 0,95.
Le plus balaise est à 0,92 en se tournant les pouces, et 0,97 pendant que Prime95 le fait pédaler à fond.
Je me souviens avoir vu 0,7 mais je ne sais plus quand ni dans quelles conditions.
 
L'alim ATX de 750W qui alimente trois caméras et quelques bricolages qui ne consomment rien doit elle avoir un facteur de puissance assez pourri.
 
J'ignore totalement celui des autres appareils, mais il n'est sans doute pas de 1.
 
Quant à la précision à laquelle je tiens, c'est pour discerner tous mes appareils dans la courbe de puissance globale: réfrigérateur, congélateur, éclairage, etc.
Certains appareils comme une plaque à induction peuvent fonctionner en PWM de très basse fréquence, et retrouver ces impulsions sur les mesures implique un intervalle suffisamment court.
 
 

M4vrick a écrit :

Tien c'est marrant, c'est un des premiers arguments que je t'ai donné tout au début contre ton montage à base de mesure de la led, et tu m'as dit que ca ne posait pas de soucis au contraire :o

Disons plutôt que je m'en suis accommodé, parce que j'ai d'autant plus besoin de précision (d'un intervalle court) que la puissance est élevé. En cela, exploiter la led n'était pas aussi problématique que ce que je craignais au départ.


Message édité par Lermite le 17-10-2022 à 12:03:13
n°385156
crazytiti
http://crazytiti.free.fr/
Posté le 17-10-2022 à 12:26:31  profilanswer
 

Je pense que tu te fait des noeuds au cerveau pour rien.
J'arrive très bien à discerner mes appareils sur la courbe issu de la teleinfo.
Bon courage.


---------------
Le PC est une drogue...
n°385159
Lermite
Posté le 17-10-2022 à 13:11:49  profilanswer
 

Rhaaaa la polarité de mes phototransistor était inversée  :ouch:
Forcément, ça marchait beaucoup moins bien  :pfff:
Je cours me cacher...

n°385223
crazytiti
http://crazytiti.free.fr/
Posté le 17-10-2022 à 21:21:03  profilanswer
 

:D  
Vas je ne te jetterais pas la pierre.


---------------
Le PC est une drogue...
n°385224
Lermite
Posté le 17-10-2022 à 21:25:50  profilanswer
 

crazytiti a écrit :

:D  
Vas je ne te jetterais pas la pierre.

A ma décharge, je ne m'attendais pas à ce qu'un phototransistor monté à l'envers fonctionne comme s'il était à l'endroit avec seulement une sensibilité réduite.
S'il n'avait pas fonctionné du tout, je n'aurais pas mis autant de temps à réaliser cette inversion de polarité.
Enfin, je suis quand même pas fier sur ce coup  :sweat:  

n°385233
Natopsi
☄️Just end it already!☄️
Posté le 17-10-2022 à 23:02:36  profilanswer
 

Lermite a écrit :

A ma décharge, je ne m'attendais pas à ce qu'un phototransistor monté à l'envers fonctionne comme s'il était à l'endroit avec seulement une sensibilité réduite.
S'il n'avait pas fonctionné du tout, je n'aurais pas mis autant de temps à réaliser cette inversion de polarité.
Enfin, je suis quand même pas fier sur ce coup :sweat:


Je crois que ça marche aussi avec les transistors normaux mais mes cours de physique des semi sont trop rouillés pour dire pourquoi :o


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°386323
SuperSic
Posté le 31-10-2022 à 18:24:22  profilanswer
 

:hello: bonjour le TU
 
Question pour les utilisateurs de la librairie NTP (Lermite ?), vous faites comment pour gérer l'heure été/hiver ?
Pour mon ESP32, j'ai mis  

Code :
  1. #define NTP_SERVER "pool.ntp.org"
  2. #define GMT_OFFSET 3600
  3. #define DAY_LIGHT_OFFSET 3600


Mais avec ça, mon ESP32 reste à l'heure d'été (e.g. il me dit qu'il est 19h00 alors qu'en en vrai, il est 18h00).
 
J'ai aussi tenté de suivre ce tuto https://randomnerdtutorials.com/esp [...] ht-saving/ en mettant la timezone Europe/Paris. Mais pas mieux.
Vous avez un réglage qui fonctionne ? :??:
 


---------------
"Les soldats vivent. Et se demandent pourquoi." Toubib (La Compagnie noire) | [TU] Pronomoo
n°386327
Lermite
Posté le 31-10-2022 à 19:17:02  profilanswer
 

SuperSic a écrit :

:hello: bonjour le TU
 
Question pour les utilisateurs de la librairie NTP (Lermite ?), vous faites comment pour gérer l'heure été/hiver ?
Pour mon ESP32, j'ai mis  

Code :
  1. #define NTP_SERVER "pool.ntp.org"
  2. #define GMT_OFFSET 3600
  3. #define DAY_LIGHT_OFFSET 3600


Mais avec ça, mon ESP32 reste à l'heure d'été (e.g. il me dit qu'il est 19h00 alors qu'en en vrai, il est 18h00).
 
J'ai aussi tenté de suivre ce tuto https://randomnerdtutorials.com/esp [...] ht-saving/ en mettant la timezone Europe/Paris. Mais pas mieux.
Vous avez un réglage qui fonctionne ? :??:
 

Ca tient du miracle mais mon code a bien géré le changement d'heure:

Code :
  1. TimeChangeRule myDST = {"EDT", Fourth, Sun, Mar, 3, 120};    // Daylight time = UTC - 4 hours
  2. TimeChangeRule mySTD = {"EST", Fourth, Sun, Oct, 3, 60};     // Standard time = UTC - 5 hours
  3. Timezone myTZ(myDST, mySTD);
  4. TimeChangeRule *tcr;
  5. void getNTPTime()
  6. {
  7.   sendNTPpacket(timeServer); // send an NTP packet to a time server
  8.   // wait to see if a reply is available
  9.   delay(1000);
  10.   if (Udp.parsePacket())
  11.   {
  12.     lastmsNTP = millis();
  13.     Udp.read(ntpPacketBuffer, NTP_PACKET_SIZE); // read the packet into the buffer
  14.     unsigned long highWord = word(ntpPacketBuffer[40], ntpPacketBuffer[41]);
  15.     unsigned long lowWord = word(ntpPacketBuffer[42], ntpPacketBuffer[43]);
  16.     unsigned long secsSince1900 = highWord << 16 | lowWord;
  17.     const unsigned long seventyYears = 2208988800UL; // Unix time starts on Jan 1 1970. In seconds, that's 2208988800
  18.     time_t timestampUTC = secsSince1900 - seventyYears; // subtract seventy years
  19.     timestampLocal = myTZ.toLocal(timestampUTC, &tcr);
  20.     setDS1302Time();
  21.   }
  22.   Ethernet.maintain();
  23. }
  24. void setDS1302Time()
  25. {
  26.   if (Rtc.GetIsWriteProtected())
  27.   {
  28.     Serial.println("RTC was write protected, enabling writing now" );
  29.     Rtc.SetIsWriteProtected(false);
  30.   }
  31.   if (!Rtc.GetIsRunning())
  32.   {
  33.     Serial.println("RTC was not actively running, starting now" );
  34.     Rtc.SetIsRunning(true);
  35.   }
  36.   RtcDateTime ntpTime = RtcDateTime(timestampLocal);
  37.   Rtc.SetDateTime(ntpTime);
  38. }
  39. void affTimeLCD()
  40. {
  41.   lastmsAffTime = millis();
  42.   RtcDateTime timestamp = Rtc.GetDateTime();
  43.   if (digitalRead(BTN2PIN))
  44.   {
  45.     affValLCDInt(timestamp.Hour(), 12, 3, 2, false, 2, 2,true);
  46.     lcd.setCursor(14, 3);
  47.     lcd.print(":" );
  48.     affValLCDInt(timestamp.Minute(), 15, 3, 2, false, 2, 2,true);
  49.     lcd.setCursor(17, 3);
  50.     lcd.print(":" );
  51.     affValLCDInt(timestamp.Second(), 18, 3, 2, false, 2, 2,true);
  52.   }
  53.   else
  54.   {
  55.     lcd.setCursor(12, 3);
  56.     lcd.print(weekDays[timestamp.DayOfWeek()]);
  57.     //affValLCDInt(timestamp.DayOfWeek(), 12, 3, 2, false, 2, 2, true);
  58.     lcd.setCursor(14, 3);
  59.     lcd.print(" " );
  60.     affValLCDInt(timestamp.Day()+1, 15, 3, 2, false, 2, 2, true);
  61.     lcd.setCursor(17, 3);
  62.     lcd.print("/" );
  63.     affValLCDInt(timestamp.Month(), 18, 3, 2, false, 2, 2, true);
  64.   }
  65. }

n°386329
SuperSic
Posté le 31-10-2022 à 19:33:52  profilanswer
 

Merci :jap:
Oui, j'ai vu certains tuto avec la librairie Timezone mais j'avais l'impression qu'avec la librairie NTPclient standard, on pouvait s'en sortir en jouant avec les valeurs de GMT_OFFSET et DAY_LIGHT_OFFSET. [:klemton]
Edit : Si je mets DAY_LIGHT_OFFSET=0, j'ai bien la bonne heure pour l'heure d'hiver mais je sais pas ça marchera encore pour l'heure d'été.


Message édité par SuperSic le 31-10-2022 à 19:34:33

---------------
"Les soldats vivent. Et se demandent pourquoi." Toubib (La Compagnie noire) | [TU] Pronomoo
n°386811
Roger01
Posté le 06-11-2022 à 18:38:12  profilanswer
 

Hello,
 
Je suis en train de faire un joystick avec un arduino micro pro, je pensais utiliser MMJoy2 mais ça utilise exclusivement une matrice pour les boutons... hors ce n'est pas mon cas. De plus j'ai un encodeur.
 
De ce fait, qu'est-ce que je pourrais utiliser pour programmer l'arduino en tant que Joystick, avec la prise en charge de l'encodeur?
 
Merci :jap:

n°386820
Natopsi
☄️Just end it already!☄️
Posté le 06-11-2022 à 19:59:49  profilanswer
 

Plutôt ça?
https://www.instructables.com/Ardui [...] rJoystick/


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°386821
Roger01
Posté le 06-11-2022 à 20:05:43  profilanswer
 

J'ai testé, mais ça merde déjà de base (il m'active 2 boutons non activés et ça fait clignoter un...) alors que pas de soucis de masse ou autre.
[Edit] Bon j'ai trouvé pourquoi, l'exemple n'est pas explicite :o Vais voir pour rajouter un encodeur la dessus alors. Merci :)


Message édité par Roger01 le 06-11-2022 à 20:14:15
n°386822
Natopsi
☄️Just end it already!☄️
Posté le 06-11-2022 à 20:13:42  profilanswer
 

Les programme d'exemple m'ont l'air usine à gaz, t'as tenté un truc plus simple?


---------------
ACH/VDSHFRCoin◈1435mm⚡
n°386836
Roger01
Posté le 06-11-2022 à 22:29:40  profilanswer
 

Ca fonctionne mais pour l'encodeur, je trouve des sketch etc.. mais je ne vois pas comment l'adapté pour en faire un joystick... genre ça :
 
https://retroetgeek.com/arduino/ard [...] interrupt/
 
Juste un truc qui permet d'émuler 2 boutons, un faux axe mais en boutons. Si je tourne d'un sens, ça va faire comme si je faisais autant d'appuie sur un bouton.
 
[Edit] J'ai réussi :o
 

Code :
  1. #include <Arduino.h>
  2. #include <RotaryEncoder.h>
  3. #include "Joystick.h"
  4. #define PIN_IN1 A2
  5. #define PIN_IN2 A3
  6. RotaryEncoder *encoder = nullptr;
  7. Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID,
  8.   JOYSTICK_TYPE_JOYSTICK, 14, 0,          // 14 buttons, no hat switch
  9.   true, true, false, false, false, false,     // X, Y
  10.   false, false, false, false, false);
  11. char potPins[] = {
  12. A0,A1,
  13. };
  14. byte potCount = 2;
  15. int inputPot = 0;
  16. void checkPosition()
  17. {
  18.   encoder->tick(); // just call tick() to check the state.
  19. }
  20. void setup() {
  21.  
  22.   Joystick.setYAxisRange(0,1023);
  23.   Joystick.setXAxisRange(1023,0);
  24.   pinMode(2, INPUT_PULLUP);
  25.   pinMode(3, INPUT_PULLUP);
  26.   pinMode(4, INPUT_PULLUP);
  27.   pinMode(5, INPUT_PULLUP);
  28.   pinMode(6, INPUT_PULLUP);
  29.   pinMode(7, INPUT_PULLUP);
  30.   pinMode(8, INPUT_PULLUP);
  31.   pinMode(9, INPUT_PULLUP);
  32.   pinMode(10, INPUT_PULLUP);
  33.   pinMode(16, INPUT_PULLUP);
  34.   pinMode(15, INPUT_PULLUP);
  35.   pinMode(14, INPUT_PULLUP);
  36.   Joystick.begin();
  37. encoder = new RotaryEncoder(PIN_IN1, PIN_IN2, RotaryEncoder::LatchMode::TWO03);
  38.   attachInterrupt(digitalPinToInterrupt(PIN_IN1), checkPosition, CHANGE);
  39.   attachInterrupt(digitalPinToInterrupt(PIN_IN2), checkPosition, CHANGE);
  40. }
  41. //const byte pinToButtonMap = 2;
  42. const int pinToButtonMap[12] = {2,3,4,5,6,7,8,9,10,16,15,14};
  43. int lastButtonState[12] = {0,0,0,0,0,0,0,0,0,0,0,0};
  44. void loop() {
  45.   static int pos = 0;
  46.   encoder->tick(); // just call tick() to check the state.
  47.   int newPos = encoder->getPosition();
  48.   if (pos < newPos) {
  49.       Joystick.setButton(12, 1);
  50.       delay(10);
  51.       Joystick.setButton(12, 0);
  52.       pos = newPos;
  53.   }
  54.       if (pos > newPos) {
  55.       Joystick.setButton(13, 1);
  56.       delay(10);
  57.       Joystick.setButton(13, 0);
  58.       pos = newPos;
  59.       }
  60.    
  61.   for (int index = 0; index < 12; index++)
  62.   {
  63.     int currentButtonState = !digitalRead(pinToButtonMap[index]);
  64.     if (currentButtonState != lastButtonState[index])
  65.     {
  66.       Joystick.setButton(index, currentButtonState);
  67.       lastButtonState[index] = currentButtonState;
  68.     }
  69.   }
  70.   delay(5);
  71.  
  72. for (int thisPot = 0; thisPot < potCount; thisPot++) {
  73.     inputPot = analogRead(potPins[thisPot]);
  74.     switch (thisPot) {
  75.      case 0:
  76.       Joystick.setYAxis(inputPot);
  77.      break;
  78.      case 1:
  79.       Joystick.setXAxis(inputPot);
  80.      break;
  81.      default:
  82.      break;
  83.     }//end switch
  84.    }//end for  
  85.  
  86. }


Message édité par Roger01 le 07-11-2022 à 01:54:11
n°386911
Roger01
Posté le 07-11-2022 à 12:37:26  profilanswer
 

Bon, le seul soucis provient de l'encodeur.
Si je tourne la molette trop vite, ça ne le prend pas en compte dans le jeu.
Si j'utilise l'exemple arduino avec le "print" pour lire l'état, ça fonctionne parfaitement.
 
Donc je suppose que c'est lié à un interupt ou un truc du genre qui fait que trop vite, le truc s'autoreset avant de lire et écrire l'état du joystick dans le jeu.
 
Une idée? :jap: (j'ai testé sans les delay(x); bien sur)

n°386914
jimbofarra​r
Poreux de la cafetière
Posté le 07-11-2022 à 13:06:56  profilanswer
 

Tu utilises les broches A2 et A3 pour les interruptions ce qui n’est pas valide.
Les broches utilisables pour des interruptions externes sur un 32u4 sont 0, 1, 2, 3 et 7


---------------
Un putain d'son qui pète comme un cul bordé d'mogettes.
n°386915
Roger01
Posté le 07-11-2022 à 13:09:46  profilanswer
 

Ha... merci :D je vais tester ça.
 
[Edit] Ca fonctionne parfaitement! Merci! [:salsifouette]


Message édité par Roger01 le 07-11-2022 à 13:16:54
n°387157
Roger01
Posté le 09-11-2022 à 19:09:00  profilanswer
 

Ca existe des arduino 32u4 avec beaucoup de broches? Comme les Arduino mega.
De quoi éviter de faire une matrice, car j'ai pas les moyens d'en faire :o
 
Ou alors, possible de brancher un arduino en "slave" sur un arsuino 32u4 pour en faire une extension du 1er?

n°387161
rat de com​bat
attention rongeur méchant!
Posté le 09-11-2022 à 19:38:20  profilanswer
 

Roger01 a écrit :

Ou alors, possible de brancher un arduino en "slave" sur un arsuino 32u4 pour en faire une extension du 1er?

Oui bien sûr, en SPI, I2C, UART ou ce que tu veux. Faut juste écrire le bon code quoi. :o  
 
Après pour une extension de broches pas besoin de prendre un Arduino super-puissant voir pas besoin d'Arduino du tout, il existe des circuits dédiés (mais avec la pénurie... :( ). De mémoire p.ex. les MCP23017.
 
EDIT: Ou bien sûr les bons vieux 74HC595 et 74HC165.


Message édité par rat de combat le 09-11-2022 à 19:41:38
n°387165
Roger01
Posté le 09-11-2022 à 19:49:16  profilanswer
 

Ha oui c'est vrai les circuits dédiés mais à voir en vrai, car je n'ai pas le moyen de faire des PCB comme ça, donc tout mettre sur les broches d'un arduino c'est facile à faire.

n°387167
rat de com​bat
attention rongeur méchant!
Posté le 09-11-2022 à 19:52:01  profilanswer
 

Doit y avoir des modules tout prêts à contacter avec des Dupont. Sinon pas besoin de PCB pro, du perfboard ça peut le faire tant que les CI existent en DIP (le cas pour les 74HC, à voir pour les autres). C'est pour une histoire de cockpit d'avion ou similaire, donc des simples boutons/interrupteurs?

 

EDIT: Les 23017 >10€ le module sur Ali :( , oublie... Les 165 genre 2€ pour 10 CI DIP, faudra juste penser aux résistances de tirage + condo 100nF pour chaque CI. Perso - si le budget est petit - je partirais la dessus sur perfboard.


Message édité par rat de combat le 09-11-2022 à 19:58:34
n°387174
Roger01
Posté le 09-11-2022 à 20:25:12  profilanswer
 

C'est bien pour faire un button box, donc boutons et potars. Je vais regarder tout ça, merci :jap:

Message cité 1 fois
Message édité par Roger01 le 09-11-2022 à 20:25:43
n°387175
rat de com​bat
attention rongeur méchant!
Posté le 09-11-2022 à 20:28:58  profilanswer
 

Attend, potar == signal analogique. Les 74HC165 et Co sont numériques uniquement. Pour tes signaux analogiques il faudra un ADC (dédié ou un Arduino qui a ça) avec un (ou plusieurs) multiplexeur analogique genre CD4067.

mood
Publicité
Posté le   profilanswer
 

<

 Page :   1  2  3  4  5  ..  243  244  245  246  247  248

Aller à :
Ajouter une réponse
 

Sujets relatifs
* Réparations de vos appareils électroniques & electromenager * 
Plus de sujets relatifs à : [arduino] Topic Unique blabla @ Arduino


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR