Tensione sbagliata pin 10 Arduino

Salve a tutti, ho un problema con i pin di ardunio. Il problema è che dal pin 10 di arduino non escono 5v, ma 0,22 e non ho idea del perchè. Qualcuno riesce a risolvere il problema?

  1. cosa hai di collegato a quel pin
  2. hai messo il pin in OUTPUT

brunello22:

  1. cosa hai di collegato a quel pin
  2. hai messo il pin in OUTPUT

Certo ovvio che l'ho settato come output......
ho collegato un led al pin 10.... il codice l'ho caricato poche ore fa e fino adesso ha funzionato bene.... ad un tratto non funziona più perchè la differenza di potenziale sul pin 10 è di 2 volt... me ne sono accorto perchè il led non aveva la massima luminosità

Se hai collegato il led senza resistenza di limitazione corrente è altamente probabile che hai danneggiato il pin.

astrobeed:
Se hai collegato il led senza resistenza di limitazione corrente è altamente probabile che hai danneggiato il pin.

la resistenza c'è sempre stata quindi non penso che sia un problema di resistenza.... ho provato ora a scrivere un semplice codice per accendere e spegnere un led e funziona bene.... ma con il codice precendente da questo problema. ora posto il codice "maledetto"

void setup()
{
  for (i = 9; i < 14; i++)
  {
    pinMode(i, OUTPUT);
    digitalWrite(i, low);
  }
}

void loop()
if ((adesso - prima >= 2000) && (statoaperto1 == low))
    {
      statoaperto1 = !statoaperto1;
      digitalWrite(aperto1, statoaperto1);
    }
    if ((adesso - prima >= 3500) && (statoaperto1 == high))
    {
      statoaperto1 = !statoaperto1;
      digitalWrite(aperto1, statoaperto1);
    }

questo è il codice con cui ill pin 10 funziona male

Con quel codice rilevo questi errori

sketch_jul27a.ino: In function 'void setup()':
sketch_jul27a:3: error: 'i' was not declared in this scope
   for (i = 9; i < 14; i++)
        ^
sketch_jul27a:6: error: 'low' was not declared in this scope
     digitalWrite(i, low);
                     ^
sketch_jul27a.ino: At global scope:
sketch_jul27a:11: error: expected initializer before 'if'
 if ((adesso - prima >= 2000) && (statoaperto1 == low))
 ^
sketch_jul27a:16: error: expected unqualified-id before 'if'
     if ((adesso - prima >= 3500) && (statoaperto1 == high))
     ^
exit status 1
'i' was not declared in this scope

Questo report potrebbe essere più ricco di informazioni abilitando l'opzione
"Mostra un output dettagliato durante la compilazione"
in "File -> Impostazioni"

Correggili e riprova.

Ciao,
P.

Hicut1938:
la resistenza c'è sempre stata quindi non penso che sia un problema di resistenza.... ho provato ora a scrivere un semplice codice per accendere e spegnere un led e funziona bene.... ma con il codice precendente da questo problema. ora posto il codice "maledetto"

Nessuno nega che la resistenza ci sia sempre stata
Ma nemmeno tu puoi negare di esserti dimenticato di dircelo....

Poi se non alleghi tutto il codice abbiamo difficoltà a capire

Anche se usi le costanti maiuscole scritte in minuscolo ci vengono dei dubbi

E un ultimo dubbio ci viene quando leggiamo che la tensione di uscita del pin è scesa a 0,22 volt,
Specie se te ne sei accorto perché il led diventa fioco

A 0,22 volt i led sono spenti, non fiochi

Infatti poi scrivi che la tensione è di due volt..

Facciamo così : tu ci dai
Misure univoche
Uno schema completo
Un codice che compili

E noi ti diamo una mano...

Hicut1938:

void setup()

{
  for (i = 9; i < 14; i++)
  {
    pinMode(i, OUTPUT);
    digitalWrite(i, low);
  }
}

void loop()
if ((adesso - prima >= 2000) && (statoaperto1 == low))
    {
      statoaperto1 = !statoaperto1;
      digitalWrite(aperto1, statoaperto1);
    }
    if ((adesso - prima >= 3500) && (statoaperto1 == high))
    {
      statoaperto1 = !statoaperto1;
      digitalWrite(aperto1, statoaperto1);
    }





questo è il codice con cui ill pin 10 funziona male

Questo non é IL CODICE CHE FUNZIONA MALE.
Questo é una parte di qualche sketch che non compila perché mancano delle parti.

Dacci uno sketch che funziona e che Ti da il problema.

Ciao Uwe

docsavage:
Infatti poi scrivi che la tensione è di due volt..

Scommettiamo che a questo punto il problema è che il suo codice in realtà commuta ad alta velocità il led, pertanto alla vista sembra meno luminoso e una misura di tensione fatta con un normale multimetro fornisce il valore medio, i circa due volt, ma potrebbero essere anche 0.22 V a seconda del duty cycle, che afferma di misurare.
Però senza lo sketch completo è impossibile verificarlo anche se qualcosa di "strano" l'ho già vista nelle poche righe che ha postato.

Quando temo di perdere non scommetto

Metodo convoluto per dire che la penso come te

ok ragazzi ho risolto..... era il codice che avevo scritto perchè, controllando bene, mi sono accorto che il pin era su HIGH e LOW contemporaneamente. quindi probabilmente arduino continuava a settare il pin su HIGH e LOW nel giro di qualche millisecondo e segnava una tensione sbagliata....
grazie a tutti comunque

Sí, se hai un segnale rettangolare (pin che viene messo a HIGH e poi a LOW ripetutamente) un tester in DC Ti misura la media che puó essere tutto tra 5V e 0V.
Se avresti provato di misurare in AC avresti letto 5V. È un trucco per capire se c'é una componente alternata su un segnale/uscita.

Ciao Uwe

Hicut1938:
mi sono accorto che il pin era su HIGH e LOW contemporaneamente

il LED di Schrödinger :grin:

paulus1969:
il LED di Schrödinger :grin:

Ma quello non deve essere in una scatola nera e quando si controlla é acceso o spento?
Ciao Uwe

Certo, col vantaggio che nessun animale viene maltrattato e basta una scatola molto piccola.

paulus1969:
Certo, col vantaggio che nessun animale viene maltrattato e basta una scatola molto piccola.

Bela risposta.
Ciao Uwe