Show Posts
Pages: 1 ... 487 488 [489] 490 491 ... 729
7321  International / Generale / Presentazione nuovi iscritti on: November 30, 2011, 11:52:59 am
però gustav ha ragione, gli spagnoli hanno metà delle nostre discussione e hanno ben 2 sotto-sezioni...
7322  International / Generale / Re: Ethernet + css on: November 30, 2011, 11:51:26 am
llluca metti tutto il codice, e mettilo tra i tag [ code] e [ /code], se no è illeggibile.
7323  International / Generale / Re: info sulla teoria di funzionamento del ricv IR on: November 30, 2011, 11:39:18 am
esadecimale, decimale, binario, sono solo vari modi per rappresentare lo stesso numero.

Esiste una tabella, detta ASCII, a cui per ogni numero corrisponde un carattere (lettere, numeri e caratteri speciali): questo ascii è in pratica lo stesso formato dei file .txt

la serial.print() si occupa in automatico di convertire i numeri nel numero corrispondente alla tabella ascii, la conversione a mano la devi fare se usi Serial.write()

la temporizzazione che hai creato si chiama "debounce", ed è una cosa che con i pulsanti bisogna fare sempre, salvo farla via hardware (no, non so come si fa, credo con un condensatore). Credo che il fatto di avere i 2 lòed accesi succeda perchè anche se premi solo 2 volte, il bottone invia N impulsi, quindi i led si accendono e spengono N volte, e se N è > di 25 volte al secondo, allora l'occhio umano viene ingannato dall'immagine residua dando la senzazione di "sempre acceso", in pratica lo stesso trucco usato nel cinema (o qualsiasi altro video) di far scorrere le immagini a più di 25fps(immagini per secondo) in modo da ingannare l'occhio e farti vedere il film, o giocare ai giochi, o vedere il desktop etc... smiley
7324  International / Generale / Re: Modulare la tensione da 2 a 10V su un servo tramite arduino on: November 30, 2011, 05:01:47 am
se è un servo completo, allora non ti serve altro che collegare il pin del servo di ingresso segnale ad un pin arduino e usare la libreria Servo.h

altrimenti oltre allo step up del voltaggio devi usare uno step up dell'amperaggio, altrimenti bruci arduino... in pratica un ponte H, se non erro
7325  International / Generale / Re: TimeStamp file sd on: November 29, 2011, 08:34:37 pm
la SD.h, non solo deve leggere e scrivere la SD, ma se non erro lo fa seguendo il filesystem FAT16, che di certo non è stato pensato per essere semplice, ecco da dove arriva quella differenza :-)

ora hai un altro problema: scrivi sulla SD ogni ciclo, cioè circa qualche decina di migliaia di volte (se non di più! ho tolto qualcosa per via del FAT) al secondo... e una scheda SD regge (per ogni singolo bit) in media "solo" 100.000 riscritture o giù di lì... insomma in qualche ora riempi la memoria, e in qualche giorno (ammesso che sovrascrivi i dati) la SD è da buttare!
7326  International / Generale / Re: Numeri magici, efficenza e memoria on: November 29, 2011, 07:18:08 pm
e infatti ha ragione, la spiegazione viene data anche dal jargon.
Però già il fatto di mettere il numero in una costante o define vuol dire che non son più magic number in quanto sono documentati.

Diciamo che nel mondo dei micro dove i software sono spesso piccoli e intuitivi, i magic number sono all'ordine del giorno e facili da interpretare, e quindi non hanno nulla di magico :-)
7327  International / Generale / Re: Numeri magici, efficenza e memoria on: November 29, 2011, 06:08:49 pm
i magic number di java servono per la serializzazione e indicano il tipo della classe. Nei file in generale il formato dei dati contenuti. in quake 0x5f3759df, un valore per calcolare l'iversa della radice quadrata in maniera ottimizzata (codice del genere viene chiamato black magic)

ma mai sentito usare il termine per le costanti o le define.
7328  International / Generale / Re: TimeStamp file sd on: November 29, 2011, 06:01:52 pm
la chiamata a funziona la fai nel setup, o nel loop, o in un'altra funzione, quando vuoi avere il dato. esattamente come se fosse una delay(), una digitalRead(), o una normalissima altra funzione. Se non ti è chiaro come possa modificare la stringa di partenza, sappi che è un gioco di puntatori.


ah dimenticavo: char filename[] = "00000000.CSV"; non va nel setup... essa è la stringa che conterrà la data, quindi deve essere accessibile sia per essere usata come parametro per la funzione, sia per la SD.open() o come diavolo si chiama

ci sono 2 soluzioni veloci:
1. rendi la variabile globale mettendola sia fuori dal setup che da qualsiasi altra funzione; in questo modo tute le funzioni la vedono. quindi la void getFilename(char *filename) { va modificata in void getFilename() {, ma funziona lo stesso anche se non lo fai, ma il codice risulta "sporco"

2. sposti la ichiarazione appena prima della chiamata a funzione getFilename, tanto non ti serve da tenere in memoria quel numero. In questo modo il loop funziona così:
leggi i sensori
char filename[] = "00000000.CSV";
getFilename(filename);
SD.open(filename, "w");
blablabla...
7329  International / Megatopic / Re: swRTC on: November 29, 2011, 04:30:56 pm
wops, in effetti la clausola else pnon può essere omessa...
a parte questo a me compila anche se uso delay.

@leo: ottima idea la pubblicazione, l'hai messa anche tra le librerie ufficiali sul sito che aveva proposto banzi qualche tempo fa?
7330  International / Generale / Re: Aiuto Programma on: November 29, 2011, 10:23:05 am
sono funzioni di aiuto per usare i registri pin: http://www.arduino.cc/en/Reference/PortManipulation
7331  International / Generale / Re: Aiuto Programma on: November 29, 2011, 08:22:27 am
legge 8 porte digitali attraverso un byte e poi le confronta....

?:; è in if(){}else{}

le altre due funzioni devi cercarle sul playground o su google e troverai un sacco di tutorial
7332  International / Generale / Re: [OT] Processing on: November 29, 2011, 08:18:10 am
c'è l'opzione per creare un .jar (una specie di .exe di java). poi fai uno script che esegue "java -jar nomedelfiel.jar" all'avvio... non è propriamente un demone ma quasi :-)

queste cose sarebbero più leggere (e probabilmente più affidabili) se fatte direttamente in java
7333  International / Generale / Re: Header File C su Arduino on: November 29, 2011, 08:11:41 am
sì, molte funzionano, l'importante è che non siano chiamate al SO o particolari... l'unica è includerle e scoprire se sono compilate senza errori :-)
7334  International / Generale / Re: Da float a String on: November 28, 2011, 07:23:17 pm
che vantaggi?
7335  International / Generale / Re: puntatori a funzioni on: November 28, 2011, 07:22:13 pm
in java puoi fare l'override delle calssi dichiarate protected o public.

la differenza tra protected e public, è che protected possono essere chiamate solo internamente alla classe, le public possono essere chiamate da chiunque.

Infine ci sono le private che possono essere chiamate solo dalla classe stessa (anche se sottoclasse), ma non possono essere overridate.

In pratica tu creerai delle funzioni private che effettuano il lavoro vero e proprio, che al loro interno chiamano una classe public nonchè abstract(e di conseguenza tutta la calsse va dichiarata abstract), che sarranno quelle che l'utente sovrascrive con la sua classe, che deve estendere la tua classe. Il vantaggio è che il funzionamento interno della classe rimane assolutamente oscura e automatica all'utente, salvo che esso non vada a guardare i sorgenti, ecomunque può lavorare con i puntatori smiley
Pages: 1 ... 487 488 [489] 490 491 ... 729