domanda banale per non rovinare arduino

Buongiorno,
faccio due domande banalissime da pre-neofita, su due aspetti che non mi sono del tutto chiari.

a) Dalle porte di arduino uno, se ho letto bene, escono genericamente 5V e 40mA. Leggo in rete che le stesse porte, in lettura, leggono 5V e fino a 40mA. Ma contemporaneamente in rete trovo scritto di prestare attenzione di non bruciare le porte collegando una uscita direttamente a una entrata, senza che vi siano resistenze (ad esempio qua).
Evidentemente sto sbagliando a leggere qualche dato, ma dove sto sbagliando?

b) smonto un cellulare e tolgo il cicalino e lo collego a arduino per fare un po' di prove. Funziona. Temendo che si possa rovinare metto a monte una resistenza da 10ohm, ma così facendo il suono è bassissimo. Non metto niente e si sente bene, ma temo possa rovinarsi. In un caso come questo, in cui non ho le specifiche del componente, come posso capire quale resistenza sia necessaria tra arduino e componente per non rischiare di romperlo?

Grazie per le risposte e scusate la banalità delle domande.

f.

Intanto datti una letta a questo simpatico articolo : 10 Ways to Destroy an Arduino — Rugged CircuitsRugged Industrial Arduino Microcontrollers ... vedrai che alcune cose ti saranno più chiare ... :slight_smile:

Guglielmo

Grazie, ma quello è proprio l'articolo che portavo come esempio nel mio post! Nello specifico:

The microcontroller datasheet specifies an absolute maximum per-pin current of 40mA. With a typical internal resistance of only 25 ohms per pin, a dead short to ground can allow as much as 200mA of current to flow, more than enough to destroy the microcontroller pin

se una porta di uscita ha 40mA, perché collegandola al ground la brucerei facendogli arrivare 200mA? Da dove arrivano gli altri 160?

f.

Se una porta e' indicata come "max 40mA" , significa che tu devi dimensionare il circuito che ci va collegato in modo che al massimo richieda 40mA, non che la porta si autolimita a 40mA (a meno di non avere circuiti specifici, autoprotetti ed autolimitanti, cosa che per i pin di un micro non e')

E' quindi ovvio che se ci colleghi un carico che richiede 200mA, la porta cerchera' di darli lo stesso, ma avendo una capacita' limitata andra' in sovraccarico e si brucera'.

No, la porta in uscita NON HA 40 mA ...
... la porta in uscita è dimensionata per permettere al massimo il passaggio di 40 mA poi si distrugge. Dato che l'articolo specifica una resistenza interna di 25 Ohm, se tu la colleghi direttamente a massa quando è in stato HIGH, è come se tu collegassi i +5v a massa tramite una 25 Ohm ... e dato che I = V/R ... 5/25 = 0.2 ovvero 200 mA ... e la porta si brucia ]:smiley:

Guglielmo

Fantastico, sapevo che mi stavo perdendo un pezzo importante per strada, siete stati chiarissimi.
Grazie.
Se avete anche un consiglio per la seconda domanda mi avete salvato la giornata :slight_smile:

f.

fbrzvnrnd:
...
Se avete anche un consiglio per la seconda domanda mi avete salvato la giornata :slight_smile:

Alimenta il cicalino e misura ad una data tensione la corrente che assorbe così sai la sua resistenza interna, dopo di che ... applichi la legge di Ohm e gli metti in serie una resistenza affinché la corrente con cui lo piloti non superi i limiti suddetti :wink:

Se il suono è troppo basso ... allora lo piloti con un piccolo transistor :slight_smile:

Guglielmo

... a queste schede ABC - Arduino Basic Connections - Megatopic - Arduino Forum hai già dato un'occhiata ? Magari ti possono essere utili. Dal sito di Pighixxx le scarichi in pdf :slight_smile:

Guglielmo

Chiarissimo, farò qualche prova anche in questo senso.

Un ultimissima domanda/conferma del meccanismo: se per assurdo volessi collegare una uscita al ground, secondo la formula che mi hai indicato, la resistenza necessaria sarebbe 5/0,04=125ohm (quindi 100ohm essendo già 25 su scheda)?

Grazie

f.

... io non "gli tirerei così il collo" ]:smiley:

Fa che quei 25 Ohm non ci sono che vai più tranquillo ... anzi ... io non supererei neanche i 30 mA ... :wink:

Guglielmo