Revue de sketch ArduinoFormation à la programmation

Revue de sketch Arduino pour votre projet électronique

Livraison dès 1 jourRetouches inclusesContrôle qualité
Formules
Paiement protégéEn savoir plus
  • Les retouches prévues par la formule sont gratuites.
  • Sans réponse de votre part dans les 3 jours suivant la livraison, le travail est validé automatiquement.
Commander · 32 €

L’argent est réservé au paiement et versé uniquement une fois le travail validé.

Revue de sketch Arduino pour votre projet électronique

Exemple de résultat

Exemple pour la formule Standard

Revue de code : script Python d'import de commandes pour une petite boutique en ligne

Ce que fait le code

  1. Lit orders.csv issu de l'export de la boutique.
  2. Pour chaque ligne de commande, retrouve le produit par sa référence (SKU) dans stock.xlsx et soustrait la quantité.
  3. Réécrit le stock mis à jour et consigne les totaux dans import_log.txt.

La structure est claire et les fonctions bien nommées. La plupart des problèmes viennent de données qui n'ont pas la forme attendue.

Bugs et points faibles

#LigneGravitéProblème
148ÉlevéeLe même CSV peut être importé deux fois : aucun contrôle des numéros de commande déjà traités. C'est la cause la plus probable du stock négatif.
272Élevéeint(row["qty"]) plante sur les valeurs vides ou « 2.0 » des commandes remboursées.
395MoyenneLa recherche de SKU est sensible à la casse : « gt-101 » et « GT-101 » sont vus comme deux produits.
4130MoyenneLe fichier est ouvert sans encoding="utf-8" : les noms accentués cassent sous Windows.
5201FaibleUn except: nu masque les vraies erreurs et rend le journal inutile.

Fragments corrigés

Problème 1 : ignorer les commandes déjà importées

processed = load_processed_ids("processed_orders.txt")
for row in reader:
    if row["order_id"] in processed:
        continue
    # ... logique existante ...
    processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)

Pourquoi : chaque commande n'est appliquée qu'une fois, même si le script est relancé sur le même fichier.

Problème 2 : lire la quantité sans risque

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("Commande %s : quantité invalide %r, ignorée", row["order_id"], raw)
    continue

Pourquoi : les lignes remboursées ou partielles sont ignorées avec une note claire au lieu de bloquer tout l'import.

Problème 3 : normaliser les SKU

sku = row["sku"].strip().upper()

Appliquez le même .strip().upper() lors de la construction du dictionnaire de stock.

Style et lisibilité

  • process() fait 90 lignes ; découpez-la en read_orders, apply_to_stock, write_report.
  • Remplacez les numéros de colonne en dur (row[7]) par les noms d'en-tête.

Testez chaque correction sur une copie de vos fichiers : nous avons relu le code sans l'exécuter.

Client : gérante d'une boutique de thé qui a écrit un script Python de 310 lignes pour importer les commandes d'un export CSV dans le tableau de stock Problème signalé : « Parfois le stock devient négatif, et le script plante sur certains fichiers. »

Le client et tous les détails sont fictifs.

À propos de ce service

Les sketches Arduino échouent souvent pour des raisons logicielles qui ressemblent à des pannes matérielles : delay() qui bloque les appuis sur les boutons, des objets String qui remplissent peu à peu les 2 Ko de mémoire d'un Uno, une variable partagée avec une interruption mais non déclarée volatile, ou un bouton lu sans anti-rebond. Nous lisons votre sketch, expliquons ce que fait loop() à chaque passage, et signalons les problèmes de timing, de mémoire et de logique. Les fragments corrigés utilisent le timing avec millis(), la macro F() et une gestion des états plus claire.

Ce qui est inclus

  • Ce que vous recevezUne revue écrite sur la page de la commande : ce que fait votre sketch à chaque passage de loop(), les problèmes par importance et des fragments de code corrigés pour votre carte. La formule Premium ajoute un plan pour découper le sketch en fonctions ou en une machine à états simple.
  • Timing non bloquantmillis() au lieu de delay()
  • Utilisation de la mémoireString, tableaux et la macro F()
  • Entrées et interruptionsAnti-rebond et variables volatile
  • Configuration des broches et des bibliothèquespinMode, pull-ups et appels de bibliothèques
  • Fragments corrigésPrêt à téléverser et à tester

Comment ça marche

  1. 1
    BriefVous collez le sketch et décrivez le câblage
  2. 2
    LectureNous retraçons setup() et chaque loop()
  3. 3
    AnalyseVous recevez les problèmes et le code corrigé

Ce dont nous avons besoin

Le sketch collé sous forme de texte, la carte, les capteurs et modules avec leurs bibliothèques, une description ou une photo du câblage et la sortie du Moniteur série.

Nous vous demanderons :

  • Quelle carte utilisez-vous ?
  • Quels capteurs, modules et bibliothèques sont branchés ?
  • Que doit faire le projet, et que fait-il à la place ?
  • Qu'affiche le Moniteur série ?

Comparer les formules

FormulesEssentielSketch jusqu'à 100 lignes14 €StandardSketch jusqu'à 400 lignes32 €PremiumJusqu'à 1 000 lignes avec un plan de structure62 €
Délai1 jour2 jours3 jours
Retouches123
Lignes de codejusqu'à 100jusqu'à 400jusqu'à 1 000
Fragments corrigésOuiOuiOui
Plan de structure du sketchNonNonOui
Commander EssentielCommander StandardCommander Premium

Paiement protégé

Vous payez à la commande, mais l’argent n’est versé que pour un travail validé.

  • Prix fixeLe prix de la formule ne change pas après le paiement.
  • L’argent est réservéAu paiement, le montant est seulement réservé. Il n’est versé à Dleex qu’une fois le travail validé.
  • Vérifié avant livraisonChaque résultat passe un contrôle qualité avant de vous parvenir, et vous le voyez sur la page de la commande avant de le valider.
  • Retouches gratuitesDemandez des retouches dans le cadre de votre brief autant de fois que la formule le permet.
  • Validation au bout de 3 joursSi, dans les 3 jours suivant la livraison, vous n’avez ni validé le travail ni demandé de retouches, il est validé automatiquement. Si vous écrivez dans le chat de la commande après la livraison, la commande est mise en attente ; après notre réponse, nous pourrons relancer le délai de 3 jours et vous le signalerons dans le chat.
  • Travail refait ou remboursement intégralSi le résultat ne correspond pas à votre brief et que les retouches n’y ont rien changé, ou si le travail prend plus du double du délai prévu, écrivez dans le chat de la commande : nous referons le travail ou vous rembourserons intégralement.
Comment ça marche →

Questions et réponses

Le testez-vous sur du vrai matériel ?

Non, nous lisons le code et votre description du câblage. Téléversez chaque correction et vérifiez-la vous-même sur votre carte.

Pouvez-vous vérifier mon câblage ?

Nous signalons les conflits de broches et le code qui ne correspond pas au câblage que vous décrivez. Ce n'est pas une vérification de sécurité électrique : contrôlez vous-même les tensions et tout câblage sur le secteur.

Relisez-vous du code ESP32 et Wi-Fi ?

Oui. Remplacez votre mot de passe Wi-Fi et toutes les clés par des valeurs fictives avant de coller le code.

Formules
Commander · 32 €· 2 jours