Forum Électro-Bidouilleur

Merci de vous connecter ou de vous inscrire.

Connexion avec identifiant, mot de passe et durée de la session
Recherche avancée  

Nouvelles:

Le Forum est maintenant chiffré (préambule https). Bien sûr, des liens externes insérés dans les sujets vont demeurer inchangés. Mais la composition des pages du Forum est désormais sécurisée. Si des problèmes d'affichage surviennent, veillez à vider votre cache pour ce site.

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.

Messages - kamill

Pages: 1 [2] 3 4
16
Bonjour papyblue,

Oui, mais quand on voit ça par exemple, on se dit que chatgpt a encore quelques progrès à  faire en programmation  :)
    if (buttonABPress) {              // vérifier si le bouton A a été pressé avant B
      digitalWrite(led, HIGH);        // allumer la LED
      buttonABPress = false;          // remettre la variable à  false pour la prochaine utilisation
    } else {
      buttonABPress = false;  // remettre la variable à  false pour la prochaine utilisation
    }

17
je me suis laissé tenter par le Siglent SDS1202X-E
Très bon choix. Très bon rapport qualité/prix.
J'en possède un depuis quatre ans, il est super.

18
Bonjour,

Le sketch de chgpt mémorise si la touche A a été pressée et non si la touche A est pressée
Donc tu appuies sur A, tu le relâches et 1/2 heure plus tard tu appuies sur B et ça allume la led.
Apparemment tu demandes que A  reste appuyé pour déclencher l'action.

Pour faire ça je propose de modifier le code comme ça
const int buttonA = 2;  // déclarer la broche du bouton A
const int buttonB = 3;  // déclarer la broche du bouton B
const int led = 13;     // déclarer la broche de la LED

int lastButtonBState = 0;    // variable pour stocker l'état précédent du bouton B

void setup() {
  pinMode(buttonA, INPUT);  // configurer la broche du bouton A comme entrée
  pinMode(buttonB, INPUT);  // configurer la broche du bouton B comme entrée
  pinMode(led, OUTPUT);     // configurer la broche de la LED comme sortie
}

void loop() {
  int buttonAState = digitalRead(buttonA);  // lire l'état actuel du bouton A
  int buttonBState = digitalRead(buttonB);  // lire l'état actuel du bouton B

  // vérifier si le bouton B est pressé
  if (buttonBState == HIGH && lastButtonBState == LOW && buttonAState== HIGH) {
    digitalWrite(led, !digitalRead(led));  // inverse état led
  }
  lastButtonBState = buttonBState;  // mettre à  jour l'état précédent du bouton B
 
  delay(20);  // pour anti-rebond
}

19
Maintenant attention sur Ali et autres Bang.... c'est très majoritairement des contrefaçons qui fonctionnent plus ou moins bien.

Bonjour,

Non ce n'est pas majoritairement de la contrefaçon!
Sur une centaine de type de composants achetés sur ali j'ai seulement un lot de 5 LM35 qui ne fonctionnait pas.

20
Discussion Générale d'Électronique / Re : alim LED 3w 6v
« le: Août 25, 2022, 09:20:06 am »
Bonjour,

Tu devrais utiliser un mosfet "Logic-level gate drive". On les reconnait au L dans leur nom.
Par exemple IRL540.

21
l'uln2803a est alimenter en 5v
Il n'y a pas d'alimentation sur un ULN2803, c'est un réseau de transistors darlington. Si tu fais allusion à  la pin COM, c'est le commun des cathodes des diodes de roue libre qu'on peut utiliser ou pas.
Pour utiliser les transistors de l'ULN2803 il faut une charge entre l'alimentation et la sortie (collecteur des transistors).

Avec l'ULN2803 tu vas piloter l'alimentation du coté low side, ça ne me parait pas être le plus judicieux pour couper l'alimentation d'un microprocesseur, il vaudrait mieux piloter du coté high side (couper le +).

22
Bonjour,

Quel est l'intérêt d'utiliser des cd4543be?
Ca va effectivement te faire économiser 12 connexions soit 1.5 74HC595, disons 2. Mais ça te fait ajouter 4 circuits soit au total 2 circuits de plus.

Personnellement j'avais assemblé ce kit (les leds sont multiplexées)

23
Discussion Générale d'Électronique / Re : Choix d'un (bon) quartz
« le: Juin 09, 2022, 04:22:52 pm »
Bonjour,

Si c'est pour utiliser avec un micoprocesseur je te conseillerai un DS3231. L'oscillateur est intégré au composant et compensé en température et la précision est très bonne.

24
Bonjour,

C'est vrai que millis() reboucle au bout de 49 jours et quelques.
Par contre le test
    if(currentMillis - previousMillis >= MsMin){
ne posera pas de problème même en cas de rebouclage car on fait le calcul sur des unsigned. Même si previousMillis est supérieur à  currentMillis le résultat sera quand même positif et le test sera correct.
Par mesure de sécurité il faudra déclarer MsMin en unsigned long et non en long, mais je ne suis pas sur que ce soit nécessaire.

25
J'ai de gros doutes sur l'utilisation d'un stylo 3D pour faire un boitier.

26
Bonjour,

La sortie est sans doute flottante et tu peux connecter ton oscillo sans sonde différentielle.
Pour le vérifier tu utilises un multimètre en ohmmètre bien sur alim éteinte et après avoir attendu que la tension de sortie retombe à  zéro. Tu mesures la résistance entre la sortie et le neutre, la phase , la terre.

27
Bonjour,

Personnellement soit je choisi un boitier et ensuite je conçoit le circuit imprimé en fonction de ce boitier, soit je crée le boitier en impression 3D après avoir conçu l'électronique. Pour faire ça j'utilise freecad (il y a des tutos sur youtube pour le conception de boitiers).

28
Discussion Générale d'Électronique / Re : Module RTC: 3 sec/24h
« le: Décembre 01, 2020, 09:40:46 am »
Bonjour,

Le DS1302 (ou plutôt les modules avec DS1302) est connu pour dériver.
Utilises un module DS3231. L'oscillateur est à  l'intérieur du boitier avec compensation de température.

29
Bonjour,

Personnellement je te conseillerais sans hésiter des DS18B20.
Tu auras directement la température en numérique et tu pourras gérer (presque) autant de capteurs que tu veux sur un bus, ou sur plusieurs si tu préfères.
Les DS18B20 ont une plage de mesure entre -50 et +125°C et une précision de 0.5° entre -10 et +85.

30
Bonjour,

Je ne sais pas très bien ce que tu penses que fait
for (T >= A ; T>= B ; T=T)
Mais ça ne fait certainement pas ce que tu penses.

C'est équivalent à  for (; T>= B ; ) ou while (T>= B)

Pour gérer un hystérésis c'est simple
On définit une température de marche et une température d’arrêt.
Pour un chauffage ça donne le pseudocode:
si T>=Tarret
  arreter le chauffage
si T=<Tmarche
  mettre en marche le chauffage

Pages: 1 [2] 3 4