![]() |
Citazione:
|
Tieni presente che è "case sensitive". speed non è uguale a Speed |
Citazione:
Ora per aggiungere anche l'umidità dovrei mettere if (t > 30, h > 60) giusto? |
Funziona tutto alla grande!:D Non mi resta che provarlo sulla serra appena posso :lol: |
Non voglio essere di certo pignolo ma ho cambiato qualcosina nel codice, per ottimizzarlo il più possibile, per quella che è la mia "povera" esperienza. Non ho modificato il comportamento del progetto ma solo riscritto in una forma più corretta possibile :lol: Visto che si parla anche di programmazione consiglio di farla bene fin da subito, per cui ho inserito i commenti ove necessario. Non voglio passare per quello che se la tira perchè ne sa di più (anzi esattamente il contrario) ma mi piacerebbe trasmettere quello che imparato fin'ora. :wink: Codice: //Con l'aiuto di aero330 ed ElNonino, utenti di www.baronerosso.it |
Citazione:
Intanto sto cercando di studiare e mi sono trovato una decina di libri che esplicano solo progetti ma, credo che il migliore sia questo "arduino language reference" dove veramente ti spiega tutti i codici chiave che in un "normale" linguaggio C o C++, java ecc. non ci sono:wacko: Da quanto ho capito, il miglior modo per imparare è copiare e studiare i progetti creati da altri... Intanto ti ringrazio di nuovo, mi studio il codice e poi nei prossimi giorni vi darò di nuovo fastidio per la costruzione di un braccio robot:fiu: |
Citazione:
Ci sono molti pdf online riguardo su come si struttura un codice in arduino con spiegazioni passo passo, però, se posso consigliarti, meglio "studiarsi" un buon libro su C/C++ per il semplice motivo che non bisogna sapere quali funzioni arduino mette a disposizione, ma come si struttura e si scrive un buon codice. E' come voler progettare un'autovettura ma concentrarsi esclusivamente sul motore...non sarebbe meglio avere una visione più globale anche su freni, ruote, volante, centralina...ecc ecc? :wink: Ovviamente deve piacerti perchè altrimenti diventa noioso e lasci perdere alla seconda pagina. P.s. il codice l'ho compilato e non presenta errori, ma bisogna vedere se funziona! :icon_rofl:icon_rofl |
buongiorno. a breve vorrei realizzare un multi voltmetro con lcd con arduino nano. per la realizzazione fisica problemi zero, la compilazione dello sketc stendiamo un velo pietoso,ho letto qualcosa non so non mi entra molto in testa ultimamente. in rete ho trovato un progetto simile a quello che servirebbe a me. chi mi da una mano? grazie dex1 |
Citazione:
|
Citazione:
apri sketch Menu strumenti tipo arduino porta seriale programmatore AVRISP mkII menu sketch verifica/compila posta il link che hai trovato |
Citazione:
|
Visto che ci siamo... Qualcuno ha provato ad usare la "Jeti box" per leggere e scrivere sulla Eeprom di Arduino? |
Citazione:
Citazione:
|
Citazione:
Citazione:
Citazione:
|
Citazione:
(** e altro come leggere l' amiezza segnale pwm delle riceventi ecc.) |
Citazione:
Il problema è che sto provando ad usarla per scrivere e leggere la eeprom di Arduino, ma con scarsi risultati.:rolleyes: |
Citazione:
progisp 1.72, legge programma/eeprom/fuse Nel tuo caso proverei a leggere la eeprom, salvarla, editarla e riscriverla |
2 Allegato/i C'è un modo per collegare questo display touch resistivo con flat a 40pin ? Sto cercando qualche adattatore ma non trovo nulla:unsure: PS. il circuito lo script ottimizzato funziona alla grande e le spiegazioni sono state chiarissime!:lol: |
Citazione:
Vorrei farlo usando la Jeti box come interfaccia. |
Citazione:
(ammesso che "touch" esista. :) ) |
Citazione:
Ci son tanti display in giro per la rete, proprio uno con 40 pin ??? :lol: |
Citazione:
In cosa avresti bisogno nello specifico? |
Citazione:
|
Citazione:
|
Alcuni suggerimenti di valenza generale ed indipendenti dal hw o linguaggio di programmazione usato: - quando è necessario leggere una tensione (anche quella fornita da un sensore) utilizzando un AD converter, sia esso integrato nel microprocessore od anche esterno è bene usare un circuito d'ingresso (con partitore) simile a questo: http://win.wallytech.it/public/ADCIN.jpg il condensatore C1 andrebbe posto fisicamente il più vicino possibile al relativo piedino d'ingresso analogico del convertitore. L'insieme R3-C1 è un primitivo filtro bassa basso che garantisce una tensione stabile ed a bassa impedenza al convertitore AD e filtra eventuali spike. - per ottenere una buona precisione di lettura è anche consigliato usare come Vref per il convertitore AD (se è disponibile un pin dedicato del micro) quella fornita da uno 'zener' apposito, ottimo per i convertitori AD a 12 bit usarne uno da 4,096V in modo che ogni step del convertitore corrisponda ad 1mV o multipli precisi dati dal partitore d'ingresso. Questo trucco consente anche di usare interi per le conversioni e l'elaborazione dei valori ottenuti anzichè con virgola che nei piccoli micro rallenta molto il tempo d'esecuzione. Naturalmente nel caso di ingresso ratiometrico (potenziometro o sensore con uscita equivalente) va benissimo usare i +5V di alimentazione del micro. - per ottenere un dato stabile ed attendibile sul display è anche bene filtrare il segnale del ADC utilizzando una semplice media mobile su più campionamenti, se poi la media mobile è eseguita su un multiplo di 2 ci sono trucchetti (che se vi interessa dirò in altro intervento) per renderla estremamente veloce e semplice da implementare. - non vedo troppo bene per andore la regolazione 'brutale' ON/OFF della ventola, meglio sarebbe renderla proporzionale alla temperatura usando una semplice regolazione PD o PI se non proprio PID, con poche righe di codice eviteresti la continua oscillazione della stessa. :yeah: |
Citazione:
per esempio: nel progetto ci sono tre varianti, una lettura due letture quattro letture pero solo su quella a due letture ce il valore minimo e massimo letti almeno cosi mi sembra. vorrei in futuro poterla implementare anche sulle altre. a livello schematico,collegamenti partitori ecc ecc non ho problemi. |
Citazione:
Lo script funziona alla grande ma forse c'è qualcosa da modificare nel progetto, per renderlo più stabile. |
Citazione:
Per curiosità, questo modulo di alimentazione esterno com'è fatto? riesci a dare più info? tensione in uscita, corrente max fornita.... |
2 Allegato/i Citazione:
1) collega la scheda arduino al PC 2) apri l'IDE di arduino, vai su "Strumenti ->Scheda" e selezioni quella che utilizzi e poi "Strumenti -> Programmatore -> AVRISP mkII" 3) scarica i due file ZIP che ti ho messo in allegato 4) vai su "Strumenti -> Sketch -> #includi libreria -> Aggiungi libreria da file .ZIP" e cerca i due file "Adafruit_GFX.ZIP" e "Adafruit_ST7735". 5) chiudi tutto e riapri l'IDE di arduino 6) "File -> Nuovo", cancelli tutto e incolli questo: Codice: #define sclk 138)se tutto è andato a buon fine non ottieni nessun errore ma solo "caricamento "completato" 9) fatto Ho preso il codice quello completo con le 4 tensioni lette e aggiunto il calcolo dei valori massimi/minimi per ciascun canale. L'unica cosa è che non li visualizzi perchè non c'è abbastanza spazio sul display, a meno che tu non mi dica come fare (esempio: visualizzo ogni singolo canale ciclicamente con sotto il max/min relativo, oppure i 4 canali contemporaneamente ma con i valori max/min scrittti a fianco più piccoli ecc ecc) P.s. non ho il display in questione per cui sto facendo tutto al buio :lol: |
@andore: per il problema dei disturbi prova a mettere un condensatore in parallelo al motorino, meglio due: un elettrolitico da 22uF..47uF ed un altro ceramico da 10nF, od anche tre, l'elettrolitico e due da 10nF saldati fra i fili di alimentazione del motore e la carcassa dello stesso. @aero330: per mediare il valore letto dal convertitore AD è meglio usare una media mobile in potenza di 2 lavorando con interi e poi usare lo shift a destra al posto della divisione, solo alla fine fare un unico casting in float che ci sarebbe anche il modo di evitarlo (forse). Il casting in float, i calcoli in float ed i prinf sono estremamente lenti sui piccoli micro ad 8 bit come quello di arduino 1. Un altro suggerimento: è buona norma nel assegnare nomi alle variabili usare un prefisso che identifichi il formato della stessa, ad esempio: - count è meglio chiamarla u8count od u8_count se si usa un intero ad 8 bit senza segno, etc. :yeah: |
| Tutti gli orari sono GMT +2. Adesso sono le 21:15. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002