
|
![]() | #1 (permalink) Top | |
User Data registr.: 02-07-2004 Residenza: Ronchi dei Legionari (GO)
Messaggi: 5.708
| Citazione:
apri sketch Menu strumenti tipo arduino porta seriale programmatore AVRISP mkII menu sketch verifica/compila posta il link che hai trovato
__________________ Solo Aeromodelli - Autogiro Elicotteri Multirotori No grazie | |
![]() | ![]() |
![]() | #2 (permalink) Top | |
User Data registr.: 19-01-2005 Residenza: 33170 e dintorni
Messaggi: 10.447
| Citazione:
__________________ Trattiamo bene la terra su cui viviamo: essa non ci è stata donata dai nostri padri, ma ci è stata prestata dai nostri figli | |
![]() | ![]() |
![]() | #3 (permalink) Top | |||
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
| Citazione:
Citazione:
Citazione:
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ ![]() | |||
![]() | ![]() |
![]() | #4 (permalink) Top | |
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
| Citazione: In cosa avresti bisogno nello specifico?
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ ![]() | |
![]() | ![]() |
![]() | #5 (permalink) Top | |
User Data registr.: 19-01-2005 Residenza: 33170 e dintorni
Messaggi: 10.447
| 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.
__________________ Trattiamo bene la terra su cui viviamo: essa non ci è stata donata dai nostri padri, ma ci è stata prestata dai nostri figli | |
![]() | ![]() |
![]() | #6 (permalink) Top | |
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
| 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 13 #define mosi 11 #define cs 10 #define dc 9 #define rst 8 // reset #include <Adafruit_GFX.h> // Core graphics library #include <Adafruit_ST7735.h> // Hardware-specific library #include <SPI.h> Adafruit_ST7735 tft = Adafruit_ST7735(cs, dc, rst); // number of analog samples to take per reading, per channel #define NSAMP 100 // number of samples to take befor displaying // voltage divider calibration values #define Dv1 11.00 #define Dv2 11.001 #define Dv3 11.00 #define Dv4 10.985 // ADC reference voltage / calibration value #define VREF 5.00 int sum[4] = {0}; // sums of samples taken unsigned char Scount = 0; // current sample number float AVvolts[4] = {0.0}; // calculated voltages char cnt1 = 0; // used in 'for' loops float V_max[4] = {0.00 ,0.00, 0.00, 0.00}; float V_min[4] = {100.00, 100.00, 100.00, 100.00}; void setup() { tft.initR(INITR_BLACKTAB); // initialize a ST7735S chip, black tab tft.fillScreen(ST7735_BLACK); // clear screen tft.setTextColor(ST7735_WHITE); tft.drawRoundRect(2, 20, 120, 110, 5,ST7735_WHITE); tft.setTextSize(1); tft.setCursor(5,0); tft.println("4 channel voltmeter"); tft.setTextColor(0XFF00); tft.setCursor(0,140); tft.println(" Caution max voltage 55vdc"); } void loop() { // take a number of analog samples and add them up while (Scount < NSAMP) { // sample each channel A0 to A3 for (cnt1 = 0; cnt1 < 4; cnt1++) { sum[cnt1] += analogRead(A0 + cnt1); } Scount++; delay(10); } // calculate the voltage for each channel for (cnt1 = 0; cnt1 < 4; cnt1++) { AVvolts[cnt1] = ((float)sum[cnt1] / (float)NSAMP * VREF) / 1024.0; if(AVvolts[cnt1] > V_max[cnt1]){ //get MAX value of sample V_max[cnt1] = AVvolts[cnt1]; } if(AVvolts[cnt1] < V_min[cnt1]){ //get MIN value of sample V_min[cnt1] = AVvolts[cnt1]; } } // display voltages on TFT LCC Display // voltage 1 - V1(pin A0) tft.setTextColor(ST7735_YELLOW,ST7735_BLACK); // set color for V1 tft.setTextSize(2); tft.setCursor(15, 40); tft.print("V1 "); tft.print(AVvolts[0] * Dv1, 1); tft.print("V "); // voltage 2 - V2(pin A1) tft.setTextColor(ST7735_GREEN,ST7735_BLACK);// set color for V2 tft.setCursor(15, 60); tft.print("V2 "); tft.print(AVvolts[1] * Dv2, 1); tft.print("V "); // voltge 3 - V3(pin A2) tft.setTextColor(ST7735_CYAN,ST7735_BLACK);// set color for V3 tft.setCursor(15, 80); tft.print("V3 "); tft.print(AVvolts[2] * Dv3, 1); tft.print("V "); // voltage 4 - V4(pin A3) tft.setTextColor(ST7735_WHITE,ST7735_BLACK);// set color for V4 tft.setCursor(15, 100); tft.print("V4 "); tft.print(AVvolts[3] * Dv4, 2); tft.print("V "); tft.drawRoundRect(2, 20, 120, 110, 5,ST7735_WHITE); // reset count and sums Scount = 0; for (cnt1 = 0; cnt1 < 4; cnt1++) { sum[cnt1] = 0; } } 8)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 ![]()
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ ![]() Ultima modifica di aero330 : 19 maggio 17 alle ore 17:38 | |
![]() | ![]() |
![]() | #7 (permalink) Top |
User |
@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. ![]()
__________________ Peace & Love Fate le cose nel modo più semplice possibile, ma senza semplificare. (A. Einstein) ![]() |
![]() | ![]() |
![]() | #8 (permalink) Top | |
User Data registr.: 03-09-2012 Residenza: Gubbio-Ravenna
Messaggi: 1.771
| Citazione:
Per quel poco di programmazione che mi hanno fatto vedere durante gli studi il fatto di nominare le variabili u8cnt, u16cnt proprio non l'avevo mai sentita. In un codice semplice potrebbe anche andare ma in in listato lungo e complesso non potrebbe disorientare??
__________________ Divertirsi insieme e con poco? Prova il combat! Curtman Squadron Combat Sito Web: https://sites.google.com/site/curtmansquadroncombat/ ![]() | |
![]() | ![]() |
![]() | #9 (permalink) Top | |
User Data registr.: 19-01-2005 Residenza: 33170 e dintorni
Messaggi: 10.447
| Citazione:
![]() grazie, appena mi arrivano i display mi metto a sperimentare.
__________________ Trattiamo bene la terra su cui viviamo: essa non ci è stata donata dai nostri padri, ma ci è stata prestata dai nostri figli | |
![]() | ![]() |
![]() | #10 (permalink) Top | ||
User Data registr.: 19-01-2005 Residenza: 33170 e dintorni
Messaggi: 10.447
| Citazione:
Citazione:
ho gia capito come cambiare i colori delle varie scritte,ma non come mettere i valori medi. un grazie e poco. ciao
__________________ Trattiamo bene la terra su cui viviamo: essa non ci è stata donata dai nostri padri, ma ci è stata prestata dai nostri figli | ||
![]() | ![]() |
![]() |
Bookmarks |
| |
![]() | ||||
Discussione | Autore discussione | Forum | Commenti | Ultimo Commento |
arduino uno e ..... | FLYTS | Circuiti Elettronici | 3 | 23 settembre 14 14:50 |