Torna indietro   BaroneRosso.it - Forum Modellismo > Elettronica > Circuiti Elettronici


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 24 dicembre 12, 02:13   #1 (permalink)  Top
Adv Moderator
 
L'avatar di romoloman
 
Data registr.: 15-08-2007
Residenza: sto a Massa ma sono molto Positivo
Messaggi: 12.071
Citazione:
Originalmente inviato da gRiNgO Visualizza messaggio
grazie mille e complimenti per la competenza!
Comunque nel tuo programma vedo due cosucce che non mi piacciono proprio...
la prima usare un float.... non serve
500/1024 = 0.488 approssimiamolo a 0.48
uint16_t temp;
temp=analog_read(analog_pin);
temp=((temp*100)/48);
siccome tuttavia temp può arrivare a 1024 temp *100 eccederebbe 65535
allora riscriviamo come:
temp=((temp*25)/12);
a questo punto temp contiene la temperatura moltiplicata per 100
ti lascio il compito a casa per capire come dividerla e metterci il punto.
Suggerimento... lavora sulla stringa prodotta da itoa.

se comunque insisti nel usare i float:
Con il tuo codice:
Dimensione del file binario dello sketch: 4.904 bytes (su un massimo di 32.256 bytes)

sostituisci quell' 5.0*temp*100.0 con 500.0 *temp
Dimensione del file binario dello sketch: 4.892 bytes (su un massimo di 32.256 bytes)

12 bytes risparmiati....

Comunque....
regola numero uno: non usare float se non ci sei costretto
regola numero due: per quanto possa essere buono un compilatore, l'ottimizzazione è meglio se la fai tu, non fare due moltiplicazioni se puoi farne una...
__________________
Vivere in qeusto mondo e molto belo belo e vale la pena starci ma a volte in questa UNICA vita che ci apartiene posono succedere cose brute brute alora mi chiedo perche siete incazziati domani pole esere anche lultimo
Grazie "TRANQUILLO"
FAI 15766

Ultima modifica di romoloman : 24 dicembre 12 alle ore 02:22
romoloman non è collegato   Rispondi citando
Vecchio 24 dicembre 12, 16:56   #2 (permalink)  Top
User
 
L'avatar di gRiNgO
 
Data registr.: 13-04-2009
Messaggi: 402
Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Comunque nel tuo programma vedo due cosucce che non mi piacciono proprio...
la prima usare un float.... non serve
500/1024 = 0.488 approssimiamolo a 0.48
uint16_t temp;
temp=analog_read(analog_pin);
temp=((temp*100)/48);
siccome tuttavia temp può arrivare a 1024 temp *100 eccederebbe 65535
allora riscriviamo come:
temp=((temp*25)/12);
a questo punto temp contiene la temperatura moltiplicata per 100
ti lascio il compito a casa per capire come dividerla e metterci il punto.
Suggerimento... lavora sulla stringa prodotta da itoa.
ehm mi sono perso, l'unica cosa che mi viene in mente è di giocare con il numero di caratteri dichiarati e il numero di decimali?

Citazione:
Originalmente inviato da romoloman Visualizza messaggio
se comunque insisti nel usare i float:
Con il tuo codice:
Dimensione del file binario dello sketch: 4.904 bytes (su un massimo di 32.256 bytes)

sostituisci quell' 5.0*temp*100.0 con 500.0 *temp
Dimensione del file binario dello sketch: 4.892 bytes (su un massimo di 32.256 bytes)

12 bytes risparmiati....
ok questo è facile
__________________
Parkzone T-28 // miniK 230 fpv racer // Axial Wraith // Truggy Hilux
// Axial SCX10 Rubicon
gRiNgO non è collegato   Rispondi citando
Vecchio 22 gennaio 13, 00:45   #3 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
Arduino e LCD GDM1602K - problemi

oggi mi trovavo a catania.. vado in un negozio di elettronica per caso trovo.. un LCD GDM1602k ..3 euro! ..lo compro.. vado a provarlo con arduino


Arduino - LiquidCrystal

niente! ho ispezionato tutti i contatti.. ma nulla da fare LCD si accende..ma la scritta HELLO WORLD purtroppo non appare ! cosa posso fare? il poteziometro lo giro e rigiro da un pezzo ma in qualunque posizione non funziona! in una determinata posizione mi fa accendere tutti i puntini di cui sono composti ..ma non appare nulla! non ho messo resitenze come illustrato in alcuni casi sul pin 16 trovo indicato una resistenza da 220 ohm ma pur usandola no cambia nulla ...anzi perdo la retro illuminazione.
faustog_2 non è collegato   Rispondi citando
Vecchio 22 gennaio 13, 01:11   #4 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
dunque risolto.. è stato sufficiente togliere la retro illuminazione... vale a dire il pin 16 e 15 dell' LCD.. appena tolti mosso un po il poteziometro tutto ok è apparsa la scritta Hello world.. adesso per i miei esperimenti non devo per forza dipendere da un monitor.. quindi un PC.. giusto con la spesa di tre euro! almeno per output semplici.. a dopo
fausto
faustog_2 non è collegato   Rispondi citando
Vecchio 22 gennaio 13, 01:39   #5 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
funziona a 0,87 volt

dunque con il tester ho letto che LCD offre la visibilità usando il potenziometro da 10k a 0,87 Volt.

lo schema da seguire è questo:

http://arduino.cc/en/uploads/Tutorial/lcd_bb.png

non occorre collegare gli ultimi due a destra ovvero il pin 15 a + 5V, e il 16 a GND con resistenza da 220 ohm... per il GDM1602K nn funziona!

a dopo
fausto
faustog_2 non è collegato   Rispondi citando
Vecchio 23 gennaio 13, 13:30   #6 (permalink)  Top
User
 
L'avatar di Tom_1971
 
Data registr.: 23-04-2008
Residenza: Firenze
Messaggi: 1.108
Anche io avevo fatto una prova (molto frettolosa devo dire) con il LCD che c'era nel mio starter kit, senza risultato. Magari quello che scrivi tu aiuta, devo riprovare. Il mio prossimo progetto (banale quanto il primo, ma l'importante è divertirsi e -pian piano- imparare) è un contagiri per eli ed aerei.
__________________
1) Honey Bee FP 2) Mini Titan (V1 e V2) 3) Paracopter 4) Ultra-Micro J-3 Cub 5) Blade msr 6) Ultra-Micro T-28 Trojan 7) Team Losi Mini T 8) Blade mcpx 9) Turnigy 1/16 Nitro Buggy 10) Basher Nictro Circus 1/10 SCT
Tom_1971 non è collegato   Rispondi citando
Vecchio 26 gennaio 13, 11:06   #7 (permalink)  Top
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ieri ne ho comprato un altro

ciao ieri me ne son preso un altro .. 3 euro ne vale la pena.. se faccio un device ..almeno ....mi rimane un altro di scorta per fare prove e contro prove... la pross volta mi prendo pure un paio di Pic12C508 costano solo 1.7 Euro.. per fare domotica vanno bene.. per esempio un Pic 12C508 per stanza .. poi la centralina invece metti una scheda arduino.. sei apposto..

a dopo

Citazione:
Originalmente inviato da Tom_1971 Visualizza messaggio
Anche io avevo fatto una prova (molto frettolosa devo dire) con il LCD che c'era nel mio starter kit, senza risultato. Magari quello che scrivi tu aiuta, devo riprovare. Il mio prossimo progetto (banale quanto il primo, ma l'importante è divertirsi e -pian piano- imparare) è un contagiri per eli ed aerei.
faustog_2 non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato


Discussioni simili
Discussione Autore discussione Forum Commenti Ultimo Commento
Coassiale mixed controller con arduino catman Circuiti Elettronici 12 02 aprile 11 00:17
quadricottero con arduino 2009 sailormann26 Aeromodellismo Progettazione e Costruzione 0 28 dicembre 10 00:12



Tutti gli orari sono GMT +2. Adesso sono le 17:40.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002