Show Posts
Pages: 1 [2] 3 4 ... 82
16  International / Software / Re: [RISOLTO] Convertire un int (0...255) a byte on: April 26, 2014, 02:00:26 pm
il compilatore appena incontra constrain opera la sostituzione con la macro definita in "Arduino.h"

Code:
byte data = ((map(analogRead(photorPin), PHOTOR_MIN, PHOTOR_MAX, 0, 255)) < (0) ? (0) : ((map(analogRead(photorPin), PHOTOR_MIN, PHOTOR_MAX, 0, 255)) > (255) : (map(analogRead(photorPin), PHOTOR_MIN, PHOTOR_MAX, 0, 255))

non sono così esperto di compilatori, non saprei che tipo viene assegnato a 0 e 255 ma quasi certamente non un long.

In questo caso la conversione tra variabile con segno a senza segno è "sicura" perchè ti viene garantito da constrain.
17  International / Generale / Re: Aumentare la frequenza di analogRead Arduino Due on: April 26, 2014, 01:43:00 pm
Il problema come già tu stesso hai evidenziato non è l velocità di analogRead() (l'ADC della Due fa 300KS/s) ma della trasmissione sulla seriale.

Se vuoi aumentare il numero delle letture prova a trasferire i dati in blocchi.
Leggi questa discusione sulla SerialUSB:
http://forum.arduino.cc/index.php?topic=154424.0
18  International / Hardware / Re: wifi shield il led error rimane acceso on: April 26, 2014, 01:13:18 pm
Nel caso di WiFi shield ufficiale prova a scaricare l'ultima versione dell'IDE e fai 'upgrade del firmware.
La procedura è descritta qui:l
http://arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading
19  International / Software / Re: Convertire un int (0...255) a byte on: April 26, 2014, 12:55:19 pm
constrain non ritorna un tipo particolare di dato perchè è una macro non una funzione.
dal file Arduino.h:

Code:
#define constrain(amt,low,high) ((amt)<(low)?(low):((amt)>(high)?(high):(amt)))

Il compilatore sotituisce l'espressione sopra, ogni volta che la richiami nello sketch. Sempre il compilatore, in ciascuino dei confronti fa delle conversioni implicite di tipo e quello che passi agli argomenti low e high viene convertito nello stesso tipo di dato di amt.
Nel tuo caso come argomento "amt" passi la funzione map che ritorna un long, quindi il confronto avverrà tra long.

Dato che constrain per come l'hai scritta ti garantisce di non sforare la dimensione massima di un byte, non hai bisogno di fare nessun cast esplicito

Code:
byte data = constrain(map(analogRead(photorPin), PHOTOR_MIN, PHOTOR_MAX, 0, 255), 0, 255)
20  International / Generale / Re: Arduino UNO R3 contraffatta? on: April 08, 2014, 09:08:22 am
@nid69ita: ribadisco che sono schede originali e che quella è la nuova grafica delle schede. Il mio messaggio di prima voleva essere una comunicazione ufficiale.

Per vedere le foto sul sito dovete aspettare qualche giorno. Il motivo è spiegato sopra.
21  International / Generale / Re: Arduino UNO R3 contraffatta? on: April 08, 2014, 03:26:09 am
Ciao a tutti,

confermo che quella è una Arduino originale e che si tratta solo di un restyling grafico.
Le foto sul sito vengono aggiornate dopo qualche giorno per lasciare il tempo che la maggior parte dei distributori abbiano ricevuto le nuove schede.

Invece, per quanto riguarda il sigillo adesivo, sul packaging della uno non viene messo perchè la scatolina viene chiusa con la colla.

Spero di aver risposto ad ogni dubbio
22  International / Generale / Re: Editor e numerazione on: February 27, 2014, 10:11:50 am
dalla versione 1.5.5 sono stati introdotti i numeri di riga.
Li puoi abilitare dal menu delle preferenze ("File > Preferenze")
23  International / Generale / Re: Compilare per Tiny su IDE 1.5.4 e successivi. on: November 09, 2013, 07:36:26 am
mi sono accorto di questa discussione solo ora.
Un po' di tempo fa ho provato a programmare un ATtiny2313 e per diletto ho fatto il porting per IDE  1.5.x
Allego anche il mio board.txt che è molto simile a quello di paoloP ma riformattato, in più ho aggiunto solo la chiave "build.board"  che viene richiesta dall'IDE 1.5.4 (altrimenti creata automaticamente all'avvio).

Non mi pare che sia stato detto nei post precedenti, il core esterno lo si può aggiungere anche nella cartella degli sketch. Così quando  cambiate IDE non dovete rifare tutto da capo.
Basta prepare una cartella chiamata "hardware" dentro sketchbook e metterci dentro il core tiny.
24  International / Generale / Re: ot cina on: November 04, 2013, 05:15:25 pm
Infatti, direi che non ha alcun senso discutere dei vostri acquisti in cina e annessi problemi su questo forum.

Topic bloccato.
25  International / Software / Re: Interfaccia grafica Web on: November 04, 2013, 07:28:03 am
non so se funziona se sostituisci le doppie virgolette con degli apici, nel dubbio proverei a fare la stessa cosa aprendo il file con un browser.

Comunqe, visto che le doppie viroglette nella sintassi C sono usate per delimitare una stringa, se le vuoi inserire come carattere all'interno di una stringa devi prima anteporre il backslash (\"). Esempio:
Quote
client.println("<meta charset=\"utf-8\">");

Un consiglio, non abusare troppo con le stringe, il  fatto che non ti funziona potrebbe essere anche dovuto ad un memory leak dovuto a mancanza di RAM per gestire tutte quelle stringe.

Visto che hai una certa quantità di codice "web" , ti consiglierei anche di usare una micro SD su cui salvare il file html. Gestisci meglio la memoria, aumenti la leggibilità/complessità del codice Arduino e fai meno fatica tu, perchè lo stesso file che testi sul PC lo trasferisci tale e quale sulla SD
26  International / Software / Re: wifi shield firmware on: November 03, 2013, 10:02:48 am
Per controllare la versione del firmware caricato nello shield puoi usare il metodo:

WiFi.firmwareVersion();

che ritorna una stringa col numero di versione, la 1.1.0 è la più aggiornata.
Pobabilmente nel tuo caso lo shield non ha l'ultima versione, quindi se stai usando una delle ultime release dell'IDE riscontri alcuni problemi di incompatibilità.

Il firmware dell'antenna non è necessario aggiornarlo perchè non è cambiato, devi aggiornare solo quello del 32UC3, ovvero il "WiFiHD.elf".
Nel tuo caso hai la versione da 512KB di flash del 32UC3, quindi nel comando da dare a batchisp è meglio specificare il modello giusto (anche se funziona tranquillamente con AT32UC3A1256).

Semplicemente devi:
* chiudere il jumper J3
* installare i drivers per il AT32UC3A1512 contenuti dentro Flip (windows)
* avviare batchisp e copiare il comando relativo al firmware WiFiHD
* attentedere che la procedura finisca e controllora che non ci siano errori, al massimo dei warnings
*  rimuovere il jumper e premere reset
27  International / Generale / Re: Programmare Arduino Due con terminale linux on: November 03, 2013, 09:42:46 am
Secondo me più semplicemente potresti usare direttamente l'IDE. La versione > 1.5.2 ti consente di lanciare l'IDE da command line. Guarda qui:
https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5-from-command-line
28  International / Generale / Re: [ide]nuovo connettore seriale, da RXTX a JSSC on: October 24, 2013, 04:51:34 am
Se qualcuno volesse già provarlo:

http://downloads.arduino.cc/arduino-jssc-nightly-linux32.tgz
http://downloads.arduino.cc/arduino-jssc-nightly-linux64.tgz
http://downloads.arduino.cc/arduino-jssc-nightly-windows.zip
http://downloads.arduino.cc/arduino-jssc-nightly-macosx.zip
29  International / Software / Re: Interfaccia grafica Web on: October 17, 2013, 09:13:42 am
prova dare un occhio a questo tutorial:
http://playground.arduino.cc//Italiano/TutorialWired#CatamaranoWifi

C'è sia uno slider che un pulsante fatti in html e jquery che interagiscono con Arduino.
Premesso che non sono nè uno sviluppatore web nè un grafico, l'interfaccina è essenziale per ridurre al minimo il codice

Se  ti salvi questo file (control.htm) e lo apri con un browser ti rendi conto di come esce graficamente (uno slider orizzontale e un pulsante...niente di più)
30  International / Software / Re: Arduino python on: October 15, 2013, 10:33:08 am
Inoltre ricordati che tutte le volte che lato PC apri la seriale resetti l'Arduino.

Non tutte le Arduino, la Due sulla programming port, la Leonardo e tutte quelle basate sull'ATMega32u4 non si resettano se apri e chiudi la seriale sul PC.
Pages: 1 [2] 3 4 ... 82