Go Down

Topic: Differenza tra pin arduino e pin raspberry (Read 217 times) previous topic - next topic

oligo

Salve ragazzi,
Ho un dubbio sui pin delle due schede.Premetto che ho letto comunque gia differenze tra microcontrollore e microprocessore e cosi via.
La mia domanda è,con I pin del raspberry posso fare le stesse cose che potrei fare con I pin di arduino?
Perchè online comunque ho visto molti progetti che fanno qualsiasi cosa con I pin del raspberry
Grazie per la pazienza.

SukkoPera

#1
Oct 14, 2016, 11:34 am Last Edit: Oct 14, 2016, 02:41 pm by SukkoPera
In entrambi i casi si tratta di pin GPIO, ovvero General Purpose Input/Output, per cui puoi essenzialmente usarli come ti pare. Le uniche cose di cui tenere conto sono la tensione di lavoro e la massima corrente erogabile. I pin del Raspi lavorano a 3.3V, mentre quelli di Arduino a 5V, ed è necessario che ciò che ci colleghi utilizzi la stessa tensione, oppure vanno previsti dei meccanismi di traslazione dei livelli tra i due dispositivi.

Per la massima corrente erogabile, Arduino in verità è molto più "potente" rispetto al Raspi. Essendo un microcontrollore, infatti, questo è uno degli aspetti in cui deve eccellere. Le info che ho trovato sul Raspi dicono che la corrente massima erogabile dal GPIO è:
Quote
A maximum of 16mA per pin with the total current from all pins not exceeding 50mA
Per quanto riguarda Arduino Uno, invece, parliamo di 20 mA (abbondanti) per pin, con 200 mA totali massimi per cui, come vedi, le potenzialità di connessione diretta sono ben maggiori. Ovvio che poi le altre sue risorse (RAM e flash, nonché velocità) sono limitate (parliamo di un microcontrollore, appunto), per cui bisogna valutare attentamente ogni aspetto, anche perché mediante l'utilizzo di opportuni meccanismi (= transistor, MOSFET, relé, ecc...), con poca corrente è possibile controllarne molta di più, il che rimette in gioco il Raspi.

Infine, un aspetto forse meno intuitivo riguarda i tempi di reazione agli interrupt: il Raspi ha un sistema operativo multitasking e multithreading, il che rende la gestione degli interrupt relativamente lenta e, soprattutto, non prevedibile. In un microcontrollore il tuo software controlla direttamente l'hardware e può quindi garantire quello che si chiama real-time in questo ambito, dove i tempi di gestione degli interrupt sono prevedibili e costanti.
Make your Sega MegaDrive/Genesis region-free with Arduino! http://forum.arduino.cc/index.php?topic=350099.0

Dubbi su millis()? https://forum.arduino.cc/index.php?topic=355435.msg2460825#msg2460825

oligo

Diciamo quindi che la effettiva differenza sta nel fatto che uno ha un sistema operativo e quindi gestire meccanismi esterni significherebbe gestire anche il sistena operativo.Per quanto riguarda la tensione che puo sviluppare sui pin e altro credo ci siano meccanismi per ovviare a questi problemi o sbaglio?

SukkoPera

Sì, l'ho anche scritto, ma in più riprese, quindi forse te lo sei perso. Rileggi il mio messaggio ora che è completo ;).

Comunque mi rendo conto che è difficile capire pienamente le differenze finché non ci  si cala abbastanza in profondità dentro a queste cose, tieni presente anche questo.
Make your Sega MegaDrive/Genesis region-free with Arduino! http://forum.arduino.cc/index.php?topic=350099.0

Dubbi su millis()? https://forum.arduino.cc/index.php?topic=355435.msg2460825#msg2460825

oligo

#4
Oct 14, 2016, 11:59 am Last Edit: Oct 14, 2016, 12:56 pm by oligo
Scusami non avevo visto.
Il fatto è che per me è un mondo nuovo e ora mi trovo a giudicare quale scheda è meglio per un progetto tenendo conto anche oggetti aggiuntivi che possono servirmi.
Volevo chiederti due cose.
Come faccio a capire di quanti mA ho bisogno?
Come faccio a capire di.quanti pin ho bisogno?
Scusa per la mia completa ignoranza

astrobeed

La soluzione ottimale è usare la Raspberry per l'alto livello, una mcu per il basso livello, i due li fai dialogare tramite seriale o I2C.
Esempio pratico, con la raspberry gestisci l'eventuale parte web e la connessione internet, con Arduino gestisci i dispositivi che vuoi controllare, p.e. dei led comandati da web.
In pratica abbinando la Raspberry ad un arduino ottieni l'equivalente di una Yun sotto steroidi. :D
Usare il GOTO in C è ammettere la propria sconfitta come programmatore

SukkoPera

Anch'io volevo suggerire questo, ma aspettavo che OP ci arrivasse da solo ;).

Il numero e le caratteristiche dei pin dipendono ovviamente da cosa ci vuoi collegare.
Make your Sega MegaDrive/Genesis region-free with Arduino! http://forum.arduino.cc/index.php?topic=350099.0

Dubbi su millis()? https://forum.arduino.cc/index.php?topic=355435.msg2460825#msg2460825

nid69ita

#7
Oct 14, 2016, 05:55 pm Last Edit: Oct 14, 2016, 05:56 pm by nid69ita
Come faccio a capire di quanti mA ho bisogno?
Come faccio a capire di.quanti pin ho bisogno?
Quanti mA  usando un tester, o sapendo quanto al max consuma ogni dispositivo che colleghi più il consumo di Arduino.
Quanti pin... scusa ma li conti in base a quello che devi collegare, che ne sappiamo noi ? Mica hai scritto quello che vuoi collegare  :o
my name is IGOR, not AIGOR

oligo

Hai ragione,ma volevo sapere in generale come valutare le risorse prima di iniziare un progetto.Siccome credo che voi gia abbiate sviluppato qualche progetto.
Grazie a tutti comunque per le risposte

SukkoPera

Beh, ogni progetto ha le sue caratteristiche ed i suoi requisiti, che possono essere MOLTO diversi, per cui se ci dici cosa puoi fare possiamo aiutarti a valutare cosa è più adeguato, altrimenti ogni considerazione è inappropriata. 
Make your Sega MegaDrive/Genesis region-free with Arduino! http://forum.arduino.cc/index.php?topic=350099.0

Dubbi su millis()? https://forum.arduino.cc/index.php?topic=355435.msg2460825#msg2460825

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy