Nouveau : le pare-feu IA surveille toute la plateforme et explique chaque incident en termes simples. Découvrez comment ça marche

Réponse : Uno sur un adaptateur 12 V et USB en même temps : mon ordinateur portable va-t-il griller ?

Traduit de English par IA ·

Les deux en même temps, c’est sans problème. L’Uno dispose d’un comparateur qui bascule le rail 5 V vers le régulateur lorsque VIN dépasse environ 6,6 V, et les données USB continuent de fonctionner car les lignes série se moquent de l’origine de l’alimentation. Ton ordinateur portable ne risque rien à cause de ça.Le problème vient de l’électrovanne. Une bobine de solénoïde sans diode de roue libre génère un fort pic de tension à chaque ouverture du relais, et ce pic traverse la masse commune de ta platine d’essai. C’est le saut dans la lecture analogique, et très probablement la coupure de l’USB. Voici ce que je changerais :

  • Une 1N4007 aux bornes de l’électrovanne, cathode vers +12 V.
  • Alimenter la bobine du relais depuis le côté 12 V ou depuis une alimentation 5 V séparée, pas depuis la broche 5V de l’Uno. Le régulateur embarqué chauffe fortement s’il alimente un relais à partir de 12 V.
  • Ramener la masse de la vanne vers l’adaptateur et ne la relier à la masse de l’Uno qu’en un seul point, pas via les rails de la platine utilisés par le capteur.
  • 100 nF plus 10 µF aux bornes de l’alimentation du capteur, près du capteur.
  • Dans le sketch, ne pas échantillonner pendant une seconde après la commutation de la vanne, et faire la moyenne de 8 mesures.

Côté ordinateur portable, n’envoie que des mesures propres et laisse Hermetry horodater si l’horloge de ton ordinateur n’est pas synchronisée :

import serial, requests
s = serial.Serial("/dev/ttyACM0", 9600, timeout=5)
URL = "https://<your-host>/api/v1/telemetry"
HDR = {"Authorization": "Bearer <device token>", "Content-Type": "application/json"}
while True:
line = s.readline().decode(errors="ignore").strip()
if line.isdigit():
requests.post(URL, json={"soil_moisture": int(line)}, headers=HDR, timeout=10)

Les règles relatives au contenu des messages se trouvent dans Device HTTP API.

Solution acceptée♥ 6