Show Posts
Pages: 1 ... 37 38 [39] 40 41 ... 45
571  International / Hardware / Re: Ethernet shield Question on: February 04, 2012, 11:47:10 am
Ciao

normalmente la configurazione è

- dispositivo di rete -> altro dispositivo di rete (es. Arduino -> PC) = cavo incrociato
- dispositivo di rete -> switch (o router) = cavo dritto

in realtà quasi tutti i dispositivi "moderni" hanno la funzionalità di Auto-MDIX ovvero "capiscono" che cavo stai usando e agiscono di conseguenza. Potrebbe essere però che tu stia usando un cavo cross, che quindi va bene per un collegamento diretto ma non verso il router se questo non fa auto-sensing...
572  International / Generale / Re: Web Server well structured on: February 04, 2012, 11:44:23 am
Ciao

ho fatto qualche prova... compilando lo sketch BareMinimum si ottiene un hex da 450bytes con la 0.22 e uno da 466 con la 1.0... quindi qui l'incremento è davvero piccolo: disassemblando si vede come alla fine siano contenute solo le istruzioni per impostare i registri e per gestire il "loop". Le differenze si iniziano a vedere invece utilizzando ad es. le funzionalità Ethernet... secondo me - non sono andato a vedere il codice - la pulizia "logica" fatta con la 1.0 in cui sono state sistemate le varie classi di oggetti e la loro alberatura ha portato a perdere qualche ottimizzazione prima presente.
573  International / Generale / Re: Web Server well structured on: February 04, 2012, 09:03:07 am
Ciao

penso proprio che il compilatore utilizzi solo le parti di libreria necessarie...
574  International / Generale / Re: Arduino UNO e poi? on: February 04, 2012, 08:41:16 am
Ciao

se tu non avessi "a bordo" del microcontrollore un bootloader, per caricare il tuo firmware dovresti utilizzare un programmatore dedicato... anche Arduino lo può diventare:
http://arduino.cc/en/Tutorial/ArduinoISP

il bootloader funziona così:

- il microcontrollore all'accensione esegue sempre il firmware a partire da un indirizzo "base": qui viene programmato il bootloader
- il bootloader controlla se vi sono le condizioni per l'upload di un nuovo firmware da PC, altrimenti "salta" all'esecuzione del firmware precedentemente programmato

Quindi quando tu scrivi uno sketch nell'IDE e lo programmi quello che avviene è:

- il compilatore parte dal tuo codice e genera un firmware binario compilato
- l'IDE resetta il tuo Arduino e non appena parte il bootloader, inizia la procedura di upload
- il bootloader riceve via seriale il nuovo firmware e lo "scrive" nella memoria programma partendo da un punto che è "oltre" tutto il codice del bootloader
- al riavvio, il bootloader dopo le due istruzioni farà un "jump" alla prima istruzione del tuo programma mandandolo in esecuzione

bye
575  International / Generale / Re: Arduino UNO e poi? on: February 04, 2012, 08:14:11 am
Ciao

il bootloader è quel codice, normalmente eseguito all'avvio del microcontrollore Atmel "cuore" di Arduino che ti consente di caricare nuovi programmi senza la necessità di un programmatore ad hoc ma con una semplice connessione seriale/usb.

Per utilizzare un microcontrollore Atmel (ma anche PIC, MSP...) senza bootloader avresti bisogno di un apposito programmatore con il quale vai a "caricare" ogni volta il tuo firmware. Essendo il bootloader un programma sempre residente nella memoria programma del microcontrollore, ecco che ti "occupa" parte di questa.

bye
576  International / Generale / Re: Chiarimenti su char on: February 04, 2012, 07:13:07 am
Ciao

char rappresenta un singolo carattere, se vi assegni una costante tra apici singoli, il compilatore cerca di "interpretare" quello che metti tra apici come un carattere; se invece provi ad assegnare una costante tra doppi apici allora ti da errore.

char* rappresenta un puntatore ad un carattere che può essere il primo di una stringa...
il compilatore fa questo:

definisce un indirizzo di memoria e lo assegna alla variabile char*
a partire da tale indirizzo di memoria memorizza la tua stringa, un carattere alla volta
inserisce alla fine un carattere speciale '\0' che è il terminatore, in modo che le funzioni che lavorano su stringa sappiano quando questa è effettivamente finita.

bye

577  International / Generale / Re: ricezione stringa seriale aiuto per interpretazione dati? on: February 04, 2012, 07:07:03 am
anche perché ho dei dubbi sui 5 if concatenati... praticamente stai dicendo ad Arduino

- prendi il carattere in ingresso
- se il carattere è uguale a $
- se poi è anche uguale a G
- ...

come farà ad essere uguale a tutti contemporaneamente?
$GSUB per te è un codice ASCII (es. il codice 26 che equivale a 'SUB') o trasmetti la sequenza di caratteri?
578  International / Generale / Re: Pachube - EthernetServer EthernetClient on: February 03, 2012, 06:08:28 pm
Ciao

sia per aggiornare un feed che per ottenere dati da uno esistente, ti basta la ethernetClient: sei tu infatti a collegarti a Pachube.
bye
579  International / Generale / Re: Consiglio per sensori di temperatura on: February 03, 2012, 05:45:46 pm
anch'io consiglierei i dallas, normalmente hai una precisione di 0.5°:
http://www.maxim-ic.com/datasheet/index.mvp/id/2815

ma usando la feature nota come "extended resolution" puoi arrivare a quello che serve a te:

The DS18x20 has a way of extending the resolution to about +/- 0.1 degrees C (actually, 1/16 C or 0.0625C)
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=24879
580  International / Hardware / Re: Ethernet shield Question on: February 03, 2012, 05:37:09 pm
ciao

per capire meglio... se colleghi con un cavo l'ethernet shield alla presa di rete del PC riesci a pingare Arduino e a collegarti?
Se invece entrambi (PC e Arduino) sono connessi al router no?
Veramente strano, il router dovrebbe avere un semplice "switch" al suo interno...

prova così: carica uno sketch che risponda al ping, dal PC fai:

ping <indirizzo_ip_arduino>

e se non ti risponde dai

arp -a

vedi se almeno il PC riesce ad ottenere l'ARP che hai definito nel tuo sketch

581  International / Generale / Re: AIUTATE ANCORA!!! on: February 03, 2012, 04:43:38 pm
Ciao

come ti dice l'IDE, lo sketch è per una versione vecchia di Arduino (0.23?) prova con quella...  altrimenti va rivisto alla luce delle modifiche introdotte nella parte Ethernet dalla 1.0
bye
582  International / Generale / Re: Convertire in Stringa e concatenarle on: February 03, 2012, 06:32:44 am
Ciao

se usi gli oggetti stringa c'è l'overload sull'operatore +, ovvero lo puoi usare per concatenarle:
http://arduino.cc/en/Tutorial/StringAppendOperator
583  International / Generale / Re: capacità di lettura segnali on: February 02, 2012, 04:11:39 am
Ciao Astro,

grazie del chiarimento... ma capisco male io oppure con il Mega hai 6 pin a cui puoi agganciare un interrupt indipendente?

http://arduino.cc/en/Main/ArduinoBoardMega2560

External Interrupts: 2 (interrupt 0), 3 (interrupt 1), 18 (interrupt 5), 19 (interrupt 4), 20 (interrupt 3), and 21 (interrupt 2). These pins can be configured to trigger an interrupt on a low value, a rising or falling edge, or a change in value. See the attachInterrupt() function for details.
584  International / Generale / Re: capacità di lettura segnali on: February 02, 2012, 03:35:53 am
Ciao

il problema è che la funzione pulseIn() è bloccante:
http://arduino.cc/en/Reference/pulseIn

quindi nella lettura del primo segnale aspetta fino a quando questo cambia stato: se durante questa "attesa" un segnale successivo cambia non lo vedresti.

Devi usare un diverso approccio, ad es. legando al cambio di stato l'esecuzione di un interrupt e trovando le durate di questi cambi di stato con la funzione millis()... Solo che non hai a disposizione 6 pin a cui puoi legare l'interrupt su Arduino Uno, ti serve il Mega o -forse- il nuovo Leonardo visto che il chip usato (Atmega32u4) dovrebbe consentire 13 external interrupts:
http://www.atmel.com/dyn/products/product_parameters.asp?category_id=163&family_id=607&subfamily_id=760&part_id=4317&ListAllAttributes=1

585  International / Generale / Re: Collegamento interfaccia in usb on: February 02, 2012, 02:46:08 am
Ciao

se devi far parlare Arduino su bus RS422, ti basta un "tranceiver" per tale bus connesso alla USART (tx e rx) di Arduino...
Maxim ne produce di vari tipi.
Pages: 1 ... 37 38 [39] 40 41 ... 45