Revisione di sketch ArduinoFormazione in programmazione

Revisione dello sketch Arduino per il suo progetto di elettronica

Consegna da 1 giornoRevisioni incluseControllo di qualità
Pacchetti
Pagamento protettoDettagli
  • Le revisioni previste dal pacchetto sono gratuite.
  • Se non risponde entro 3 giorni dalla consegna, il lavoro viene accettato automaticamente.
Ordina · 32 €

Il denaro viene riservato al momento del pagamento e sbloccato solo quando accetta il lavoro.

Revisione dello sketch Arduino per il suo progetto di elettronica

Esempio di risultato

Esempio per il pacchetto Standard

Revisione del codice: script Python di importazione ordini per un piccolo negozio online

Cosa fa il codice

  1. Legge orders.csv dall'export del negozio.
  2. Per ogni riga d'ordine cerca il prodotto per SKU in stock.xlsx e sottrae la quantità.
  3. Salva le giacenze aggiornate e registra i totali in import_log.txt.

La struttura è chiara e le funzioni hanno nomi ben scelti. Quasi tutti i problemi riguardano dati in ingresso diversi da quelli che lo script si aspetta.

Bug e punti deboli

#RigaGravitàProblema
148AltaLo stesso CSV può essere importato due volte: non c'è alcun controllo sugli ID ordine già elaborati. È la causa più probabile delle giacenze negative.
272Altaint(row["qty"]) va in errore con valori vuoti o "2.0" degli ordini rimborsati.
395MediaLa ricerca per SKU distingue maiuscole e minuscole: "gt-101" e "GT-101" risultano prodotti diversi.
4130MediaIl file viene aperto senza encoding="utf-8", quindi su Windows i nomi con lettere accentate si rompono.
5201BassaUn except: generico nasconde gli errori reali e rende inutile il log.

Frammenti corretti

Problema 1: saltare gli ordini già importati

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

Perché: ogni ordine viene applicato una sola volta, anche se rilanciate lo script sullo stesso file.

Problema 2: leggere la quantità in modo sicuro

raw = (row.get("qty") or "").strip()
try:
    qty = int(float(raw))
except ValueError:
    log.warning("Ordine %s: quantità non valida %r, saltato", row["order_id"], raw)
    continue

Perché: le righe rimborsate o parziali vengono saltate con una nota chiara, invece di fermare tutta l'importazione.

Problema 3: normalizzare gli SKU

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

Applicate lo stesso .strip().upper() quando costruite il dizionario delle giacenze.

Stile e leggibilità

  • process() è lunga 90 righe: dividetela in read_orders, apply_to_stock, write_report.
  • Sostituite i numeri di colonna "magici" (row[7]) con i nomi delle intestazioni.

Testate ogni correzione su una copia dei vostri file: abbiamo letto il codice, ma non l'abbiamo eseguito.

Cliente: titolare di un negozio di tè che ha scritto uno script Python di 310 righe per importare gli ordini da un export CSV nel foglio delle giacenze Problema segnalato: "A volte le giacenze vanno in negativo, e con alcuni file lo script si blocca."

Il cliente e tutti i dati sono inventati.

Informazioni sul servizio

Gli sketch Arduino tendono a fallire per motivi software che sembrano guasti hardware: delay() che blocca la pressione dei pulsanti, oggetti String che riempiono a poco a poco i 2 KB di memoria di un Uno, una variabile condivisa con un interrupt ma non dichiarata volatile o un pulsante letto senza debounce. Leggiamo il suo sketch, spieghiamo cosa fa loop() a ogni passaggio e segnaliamo i problemi di temporizzazione, memoria e logica. I frammenti corretti usano la temporizzazione con millis(), la macro F() e una gestione degli stati più chiara.

Cosa è incluso

  • Cosa riceveUna revisione scritta nella pagina dell'ordine: cosa fa il suo sketch a ogni passaggio di loop(), i problemi per importanza e frammenti di codice corretti per la sua scheda. Il Premium aggiunge un piano per dividere lo sketch in funzioni o in una semplice macchina a stati.
  • Temporizzazione non bloccantemillis() invece di delay()
  • Uso della memoriaString, array e macro F()
  • Ingressi e interruptDebounce e variabili volatile
  • Configurazione di pin e libreriepinMode, pull-up e chiamate alle librerie
  • Frammenti correttiPronti da caricare e provare

Come funziona

  1. 1
    BriefLei incolla lo sketch e descrive i collegamenti
  2. 2
    LetturaSeguiamo setup() e ogni loop()
  3. 3
    RevisioneRiceve i problemi e il codice corretto

Cosa ci serve da lei

Lo sketch incollato come testo, la scheda, i sensori e i moduli con le loro librerie, una descrizione o una foto dei collegamenti e l'output del Serial Monitor.

Le chiederemo:

  • Quale scheda usa?
  • Quali sensori, moduli e librerie sono collegati?
  • Cosa dovrebbe fare il progetto e cosa fa invece?
  • Cosa mostra il Serial Monitor?

Confronto dei pacchetti

PacchettiBaseSketch fino a 100 righe14 €StandardSketch fino a 400 righe32 €PremiumFino a 1.000 righe con piano della struttura62 €
Tempi di consegna1 giorno2 giorni3 giorni
Revisioni123
Righe di codicefino a 100fino a 400fino a 1.000
Frammenti correttiSìSìSì
Piano della struttura dello sketchNoNoSì
Ordina BaseOrdina StandardOrdina Premium

Pagamento protetto

Paga al momento dell'ordine, ma il denaro viene sbloccato solo per un lavoro accettato.

  • Prezzo fissoIl prezzo del pacchetto non cambia dopo il pagamento.
  • Il denaro viene riservatoAl pagamento, l'importo viene solo riservato. Passa a Dleex quando accetta il lavoro.
  • Verificato prima della consegnaOgni risultato passa un controllo di qualità prima di arrivare a lei, e lo vede nella pagina dell'ordine prima di accettarlo.
  • Revisioni gratuiteRichieda revisioni nell'ambito del suo brief tante volte quante ne prevede il pacchetto.
  • Accettazione dopo 3 giorniSe entro 3 giorni dalla consegna non accetta il lavoro né richiede una revisione, il lavoro viene accettato automaticamente. Se scrive nella chat dell'ordine dopo la consegna, l'ordine resta in attesa; dopo la nostra risposta potremmo far ripartire i 3 giorni e glielo indicheremo nella chat.
  • Rifacimento o rimborso totaleSe il risultato non corrisponde al suo brief e le revisioni non hanno risolto il problema, oppure il lavoro richiede più del doppio dei tempi di consegna previsti, scriva nella chat dell'ordine: rifaremo il lavoro o le rimborseremo l'intero pagamento.
Come funziona →

Domande e risposte

Lo provate su hardware reale?

No, leggiamo il codice e la sua descrizione dei collegamenti. Carichi ogni correzione e la verifichi lei sulla sua scheda.

Potete controllare i miei collegamenti?

Segnaliamo i conflitti tra pin e il codice che non corrisponde ai collegamenti che descrive. Non è una verifica di sicurezza elettrica, quindi controlli lei tensioni e collegamenti alla rete elettrica.

Rivedete codice per ESP32 e Wi-Fi?

Sì. Sostituisca la password del Wi-Fi ed eventuali chiavi con dei segnaposto prima di incollare il codice.

Pacchetti
Ordina · 32 €· 2 giorni