Arduino Yún

Anche la UNO ha 20 pin digitali.
Infatti anche i pin identificati come A0..A5 sono utilizzabili con i comandi digitalRead e digitalWrite.

La YUN, come la Leonardo, ha 20 pin disponibili. Questi pin sono 8 solo digitali e 12 digitali/analogici.
Quindi è più versatile.

Un discorso importante è sull'alimentazione.
Alla YUN deve essere fornita un tensione stabile a 5V. Non ha regolatore a bordo se non quello da 3V3.
Un carica cellulare con presa micro USB va benissimo.
Non puoi fornire tensioni diverse da 5V neanche al pin Vin: altrimenti bruci la scheda.

ok per i pin la tua spiegazione mi sta bene :stuck_out_tongue: Tutto chiaro!
Ho pure trovato questa foto (la condivido sperando possa servire a qualcuno):

Per il mio "dubbio" su eventuali pin inutilizzabili perchè già impegnati dalla connessione con linux invece ? Mi sai dire qualcosa ?

TWI: 2 (SDA) and 3 (SCL). Support TWI communication using the Wire library.
External Interrupts: 3 (interrupt 0), 2 (interrupt 1), 0 (interrupt 2), 1 (interrupt 3) and 7 (interrupt 4). 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. Is not recommended to use pins 0 and 1 as interrupts because they are the also the hardware serial port used to talk with the Linux processor. Pin 7 is connected to the AR9331 processor and it may be used as handshake signal in future. Is recommended to be careful of possible conflicts if you intend to use it as interrupt.

Per l'alimentazione avevo già letto della mancanza del regolatore di tensione e che devo fornire io i 5v... Per il mio attuale progetto avevo preso un alimentatore switching che mi dava in uscita i 12v che passavo poi a Arduino Uno tramite il normale jack di alimentazione e tramite un 7808 seguito da 7805 mi ricavavo una 5v per alimentare il monitor lcd e la scheda relè (che preferivo non alimentare direttamente da arduino per limitare alti amperaggi sui pin...)
Potrei quindi alimentare la Yun dalla stessa 5v (o come dici tu usare un altro alimentatore direttamente @5v eliminando i 7808 e 7805 !!

Ho appena provato a compilare il mio sketch per Arduino Leonardo ed è andato tutto OK ! ;=)

Per l'alimentatore devi vedere se può fornire la corrente necessaria ad alimentare tutto.
Altrimenti ne devi mettere uno con capacità maggiori o due.
Fai due conti.

I pin che comunicano con l'AR sono: 0, 1 e 7 (attualmente non attivo su Linino) e poi quelli del connettore ICSP per la programmazione Wireless.

PaoloP:

Testato:
a livello hardware la yun fa per te, sia perche' ha il wi-fi integrato, sia perche' hai piu' pin a disposizione della UNO (la yun monta il 32u4 non il 328)

Il layout è lo stesso, ma il numero di pin aumenta perché la ISP non usa i pin 11, 12 e 13.
Se invece nel tuo progetto non hai usato i pin ISP, il numero di pin rimane identico. :sweat_smile:

La leonardo ha molti pin utilizzabili in piu' della UNO, pero' sono da interpretare diversamente ed un paio anche nascosti.
Diciamo che se ti servono piu' pin hai piu' trucchi a disposizione per trovarli.

  • Se usi ISP hai 3 pin in piu'
  • Se non usi ISP hai 3 pin in piu'
  • Se non usi ISP come master puoi liberare un 4 pin
  • infine il mio preferito, c'e' un quinto pin in piu' liberabile, vediamo chi indovina :grin:

32u4 "is meglio che" 328 :slight_smile:

?

PaoloP:
Per l'alimentatore devi vedere se può fornire la corrente necessaria ad alimentare tutto.
Altrimenti ne devi mettere uno con capacità maggiori o due.
Fai due conti.

I pin che comunicano con l'AR sono: 0, 1 e 7 (attualmente non attivo su Linino) e poi quelli del connettore ICSP per la programmazione Wireless.

L'alimentatore attuale tiene già tutto e penso pure sia sovradimensionato... Output: 12v 3,2A
Non so se Yun rispetto a Uno aumenta di tanto i consumi ?

Testato:

PaoloP:

Testato:
a livello hardware la yun fa per te, sia perche' ha il wi-fi integrato, sia perche' hai piu' pin a disposizione della UNO (la yun monta il 32u4 non il 328)

Il layout è lo stesso, ma il numero di pin aumenta perché la ISP non usa i pin 11, 12 e 13.
Se invece nel tuo progetto non hai usato i pin ISP, il numero di pin rimane identico. :sweat_smile:

La leonardo ha molti pin utilizzabili in piu' della UNO, pero' sono da interpretare diversamente ed un paio anche nascosti.
Diciamo che se ti servono piu' pin hai piu' trucchi a disposizione per trovarli.

  • Se usi ISP hai 3 pin in piu'
  • Se non usi ISP hai 3 pin in piu'
  • Se non usi ISP come master puoi liberare un 4 pin
  • infine il mio preferito, c'e' un quinto pin in piu' liberabile, vediamo chi indovina :grin:

32u4 "is meglio che" 328 :slight_smile:

Questa dei pin vorrei capirla meglio ? Io per ora nella Uno li uso tutti analogici e digitali (a sto punto però dico anche "credo") .. tranne 0 e 1 gli altri sono:

// Dichiaro i pin del display
LiquidCrystal lcd(13, 12, 11, 10, 9, 8);
//Dichiaro i pin del buzzer, dei led e dei relè
int buzzer = 6;
int verde1 = 2;
int verde2 = 3;
int rosso1 = 4;
int rosso2 = 5;
int bagni = 7;
int stanze = A1;
// Dichiaro il pin a cui sono collegati i bottoni e la variabile in cui viene memorizzato il valore letto dal pin
int buttonPin = A0;
int buttonValue = 0;
//Dichiaro i pin dei sensore di corrente, le variabili in cui saranno memorizzati i valori letti dai sensori e una variabile per i test di lettura all'avvio
int sensorTotPin = A4;
int sensorTotValue = 0;
int sensorCucinaPin = A3;
int sensorCucinaValue = 0;
int sensorStanzePin = A2;
int sensorStanzeValue = 0;
int sensorTest = 0;
//Dichiaro il pin usato per il controllo del voltaggio nel partitore di tensione che sarà quindi il mio offset e la variabile in cui sarà conservato
int offsetPin = A5;

Per l'alimentazione direi che se a posto. controlla bene i trasformatori 7808 e 7805 in modo da fornire un tensione costante di 5V alla YUN.
Anche per i piedini sono OK.
Potresti recuperarne qualcuno usando usando un LCD I2C. Si collega hai pin 2 e 3 della YUN, liberandoti i pin attuali 8, 9, 10 ,11, 12, 13 su cui dovrai spostare ad esempio verde1 e verde2.
Recuperi 4 pin.
Per usare gli LCD I2C devi utilizzare la libreria Liquidcrystal_I2C e un convertitore per LCD tipo http://www.ebay.it/itm/IIC-I2C-SPI-Serial-Interface-Modul-For-1602-2004-LCD-Display-Arduino-CP02012-G33-/281254824233?pt=Motoren_Getriebe&hash=item417c180929&_uhb=1

se usi LCD I2C COG riduci di molto l'elettronica e puoi usare la libreria che ho in firma, ci sono anche le foto di un paio di LCD compatibili, con l'ultima versione ho aggiunto il supporto ad un nuovo display

...oppure se hai un lcd standard, lo puoi aggiornare aggiungendo uno shift register e pilotarlo con 2/3 pin:
http://playground.arduino.cc/Code/LCD3wires
https://code.google.com/p/arduinoshiftreglcd/
(anche se da verificare, non son state aggiornate da molto :P)

oppure trasformarlo in un LCD seriale :

Diciamo che una volta che modifico mi piacerebbe mettere pure un display un po più grande...in modo da avere sott'occhio senza dover alternare i dati i consumi totali e delle 3 sezioni importanti!
Ho letto un qui: arduino + lcd 20x4 con 18 pin - Generale - Arduino Forum che ha avuto un po di problemi a far funzionare il suo 20x4 in i2c.. dite che è un caso isolato o rischio di imbrogliarmi in problemi che attualmente non ho ?

Per il discorso dei pin, sinceramente non so se eliminare i 4 led (2 verdi e 2 rossi) visto che lo stato delle linee gestite da arduino viene mostrato anche su LCD !!! libererei 4 digitali senza sforzo alcuno...

Sono cmq sempre più convinto di prendere la yun e buttarmi in questo progetto :slight_smile:

Via I2C puoi comandare anche 8 Led con un PCF8574 --> http://www.i2cchip.com/pcf8574.html
O leggere dei pulsanti.
Guarda il progetto dell'acquario di riciweb nella sezione Megatopic. Fa largo uso del bus I2C.

Per quanto riguarda la librerie per yun, con get & put a quanto ho capito, posso passare i valori letti dalla parte arduiniana sulla ram della parte linux!

Supponendo che in linux sia attivo un webserver e dal pc apro la pagina web, nel codice della pagina è possibile in qualche modo andare a leggere i valori che arduino ha salvato nella ram del processore linux ?

Questo non l'ho ancora capito.

nemmeno io,
le get/put non le fa la leonardo integrata nella yun, ma le fai tu via browser del client

per la seconda parte della domanda se un valore e' in ram lato yun e' normale che tu possa passarlo al webserver

no che non è normale, dipende in che processo sia.

In generale questa afferamzione non ha senso, è corretta in quanto ogni dato è in ram, ma a meno che non ne hai un riferimento e non faccia parte della tua applicazione, o tu non abbia un modo per interrogare il valore, non te ne fai nulla. Immagino che la get ritorna il carattere disponibile nel buffer, esattamente come lato arduino, e sta a te salvare il valore in una variabile e usarlo come vuoi

certo,
il dato deve avercelo messo lui e sapere quindi di che si tratta, non un dato a caso.

Non so quanto possa valere, ma ho scaricato l'ide 1.55 r2 che supporta Yùn e ho provato a selezionare appunto Yùn come scheda e a Verificare lo scketch...

Compilazione terminata --> ok

Output -->
Lo sketch usa 16.248 byte (56%) dello spazio disponibile per i programmi. Il massimo è 28.672 byte.
Le variabili globali usano 586 byte (22%) di memoria dinamica, lasciando 1.974 byte liberi per le variabili locali. Il massimo è 2.560 byte.

Ho deciso che la prendo... devo fare un ordine con Yun, monitor 20x4, convertitore i2c per il monitor, un altro sensore sct-013-030 più varie ( cavetterie, breadboard, proto shield)
Purtroppo il venditore non ha la disponibilità immediata di tutto...quando arriveranno i componenti, se riesco a combinare qualcosa di buono, vi faccio sapere $)

Dovendo comprare il display, prendilo direttamente i2c, è inutile prendere separatamente un display parallelo e poi un convertitore par-i2c

Ciao,
prima di prendere l'Arduino Yun ti consiglio di verificare le dimensioni del Sketch che vuoi realizzare.
La libreria Bridge per la comunicazione tra la parte Arduino e la parte Linino occupano un sacco di spazio....
Ho comprato una Arduino Yun per sperimentare un po', ma mi sembra che questo sia un grosso limite.
O forse c'è un modo per ovviare al problema.
Chiedo conferma a chi è più esperto di me.
Ciao
Marco

interessante, ci posti i valori occupati di flash e ram con uno sketch base che include la bridge ?