Go Down

Topic: Arduino Yún (Read 100354 times) previous topic - next topic

5a2v0


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 ?




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.  :smiley-sweat:

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  :smiley-mr-green:

32u4 "is meglio che" 328  :)


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:
Code: [Select]
// 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;

PaoloP

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

testato

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
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

pictux

...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 :
http://sourceforge.net/projects/seriallcdatmega8arduinobased/

5a2v0

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: http://forum.arduino.cc/index.php?topic=159047.60 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 :)

PaoloP

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.

5a2v0

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 ?

PaoloP

Questo non l'ho ancora capito.

testato

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
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

lestofante

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
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

testato

certo,
il dato deve avercelo messo lui e sapere quindi di che si tratta, non un dato a caso.
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

5a2v0

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  $)

testato

Dovendo comprare il display, prendilo direttamente i2c, è inutile prendere separatamente un display parallelo e poi un convertitore par-i2c
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

mdoc

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

testato

interessante, ci posti i valori occupati di flash e ram con uno sketch base che include la bridge ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up