Nuovo utente e domande sulla breadboard

Salve a tutti.
Sono Marco e vi seguo da circa un mesetto, sono rimasto affascinato dalle potenzialità dell'arduino e dopo aver studiato un pò l'ambiente la scorsa settimana ho acquistato un set base, diciamo.
Sono un programmatore da una decina di anni quindi sotto il profilo della scrittura del codice sono tranquillo, infatti se potrò dare una mano nel forum ne sarò felice.
Al contrario non so praticamente niente di elettronica. Ottimo vero :smiley:

Ieri è arrivato il pacco contenente:

Per iniziare mi sembrava sufficiente.

Non ho in mente un progetto particolare, per ora mi basterebbe capire la materia.

Ho seguito il primo tutorial "Blink"...e tutto ok.
Ho seguito il secondo tutorial "Digital Read Serial" e tutto ok.

Ha funzionato tutto al 1° colpo(e voi direte "e ci mancherebbe" :slight_smile: )

Solo non ho capito bene certe cose che si sono fatte sulla breadboard, ho letto un pò di spiegazioni sul suo funzionamento su internet ma alcune cose non mi sono ancora chiare.
Tipo:

Perchè con i due fili (1 rosso e 1 nero) all'estrema destra dell'immagine si uniscono la terra e l'alimentazione delle due colonne (dell'alimentazione e terra appunto) della breadboard ?
A cosa serve?
Perchè si mette una resistenza tra la terra e l'interruttore?
Qui nel forum mi sembra di aver capita perchè fluttua "il segnale"(non ho ben capito)

Scusate per le domande banali...

Saluti

Beh, così è un po' dura :cold_sweat:
i due fili sulla destra non fanno altro che collegare tra loro le piste di alimentazione, infatti i pin delle due file esterne della bread board sono collegati per lungo, in modo da avere lungo tutta la bread la possibilità di collegare l'alimentazione.
La resistenza NON è tra GND e l'interruttore, ma tra il pin di Arduino e GND, si chiama "di pull-down" e serve a fissare un riferimento al pin verso massa, in modo da evitare di captare segnali fluttuanti, visto che i pin di Arduino sono ad alta impedenza.

aggiugo alcuni elementi per azuki:

mi sembra che i tuoi dubbi derivino principlmente dal fatto che non conosci come fisicamente sono connessi i due elementi di dubbio.

la breadboard in alto e in basso e' unita per RIGA, in orizzontale (come gia' detto), quindi quei due fili connettono le prime due righe con le ultime due righe, non connette la colonna come da te scritto. Aggiungo che in questo caso non servono, perche' sulle prime due righe come vedi non e' connesso nulla, quindi puoi anche toglierle.

anche sull'interruttore i dubbi derivano dal suo collegamento interno, internamente e' interconnesso in orizzontale, colonna, quindi il pin dove arriva il cavo blu, ed il pin dove c'e' la reistenza sono internamente connessi, quindi ne deriva quello detto da menniti, cioe' la resietnza e' una pull down. premento il tasto interconnetti i due pin colonna sinistra con i due pin colonna destra, ioe' applichi un 1 logico (5V) contemporaneamente alla resistenza ed al pin arduinico.

siamo sempre qui pronti ad aiutare, a me serviranno tuoi consigli lato programmazione.
ciao

certe volte le cose viste aperte si capisconomeglio
Qua una Bredboard aperta vista da dietro:
http://www.markallen.com/teaching/ucsd/147a/lectures/DC%20Basics/13.php
e un immagine con le righe che segnao i collegamenti:

Ciao Uwe

Testato:
la breadboard in alto e in basso e' unita per RIGA, in orizzontale (come gia' detto), quindi quei due fili connettono le prime due righe con le ultime due righe, non connette la colonna come da te scritto. Aggiungo che in questo caso non servono, perche' sulle prime due righe come vedi non e' connesso nulla, quindi puoi anche toglierle.

Ahhh ecco! Infatti ! Mi stavo scervellando su cosa potesse servire quel collegamento ma a me sembrava non servisse a niente!
Ottimo grazie mille.

Testato:
anche sull'interruttore i dubbi derivano dal suo collegamento interno, internamente e' interconnesso in orizzontale, colonna, quindi il pin dove arriva il cavo blu, ed il pin dove c'e' la reistenza sono internamente connessi,

Tramite il pulsante giusto?

Testato:
quindi ne deriva quello detto da menniti, cioe' la resietnza e' una pull down. premento il tasto interconnetti i due pin colonna sinistra con i due pin colonna destra, ioe' applichi un 1 logico (5V) contemporaneamente alla resistenza ed al pin arduinico.

siamo sempre qui pronti ad aiutare, a me serviranno tuoi consigli lato programmazione.
ciao

pull down intendi messa a terra? Cosa succederebbe se la resistenza avesse un valore sbagliato?
E se non ci fosse proprio ?

Grazie mille davvero e sempre a disposizione per il lato programmazione

Non è una messa a terra, serve a dare un segnale LOW ben definito quando non stai premendo il pulsantino.
Per capire a cosa serve, stacca quella resistenza e prova lo sketch, vedrai letture sballate influenzate anche dall'avvicinamento della mano o di oggetti al pulsantino.

La R deve avere un valore altino, 10K è quasi uno "standard" per tensioni di 5V. Se usi una resistenza con valori più bassi, non si rompe nulla: solo che l'Arduino potrebbe o leggerti sempre HIGH (se la resistenza è molto bassa) oppure tornare a darti i problemi della resistenza assente (con un valore troppo alto)

Ciao Marco,

Il post l'ho scritto 4 ore fa, ma non ho potuto inviarlo.

Perchè con i due fili (1 rosso e 1 nero) all'estrema destra dell'immagine si uniscono la terra e l'alimentazione delle due colonne?

Per collegare all'alimentazione e alla massa anche le linee superiori, questo non serve a nulla nel circuito che hai provato, ma è molto utile se ci sono componenti nella parte alta della breadboard.

Perchè si mette una resistenza tra la terra e l'interruttore?

Per tenere in uno stato certo l'ingresso se l'interruttore non viene premuto.
Senza resistenza l'ingresso potrebbe fluttuare casualmente da negativo a positivo senza premere il bottone.
Più che altro serve per avere uno stato certo, in quanto penso che sull'arduino ci siano già delle resistenze collegate internamente.

Alberto

Intanto grazie a tutti per le molteplici risposte.

leo72:
Non è una messa a terra, serve a dare un segnale LOW ben definito quando non stai premendo il pulsantino.
Per capire a cosa serve, stacca quella resistenza e prova lo sketch, vedrai letture sballate influenzate anche dall'avvicinamento della mano o di oggetti al pulsantino.

La R deve avere un valore altino, 10K è quasi uno "standard" per tensioni di 5V. Se usi una resistenza con valori più bassi, non si rompe nulla: solo che l'Arduino potrebbe o leggerti sempre HIGH (se la resistenza è molto bassa) oppure tornare a darti i problemi della resistenza assente (con un valore troppo alto)

Interessante...credo di cominciare a capire, stasera proverò sicuramente a "giocare" con le resistenze.
Ma mi hai fatto venire altre domande :slight_smile:
10K sarebbero 10.000 ? ?

Poi dici:

leo72:
La R deve avere un valore altino, 10K è quasi uno "standard" per tensioni di 5V.

Ma se è una questione alimentazione(5v), perchè la resistenza si mette tra il pulsante e la terra e non tra l'alimentazione ed il pulsante ?

Lo so...sono un noob della peggiro specie...sono pure curioso :slight_smile:
Scusate ancora la mia ignoranza

Azuki:
10K sarebbero 10.000 Ω ?

Si, il K viene usato per sintetizzare la scrittura, e significa che devi moltiplicare il valore per 1000!

Invece 10M, sarebbero 10 Mega e quindi 10.000.000 (diecimilioni) :smiley:
Ciao,

Fab.

Sì, non sono stato preciso. La stessa R può essere messa anche collegata ai 5V se devi leggere uno stato di messa a massa col pulsantino. In quel caso si chiama R di pull-up ed è sempre di 10K.

f.schiano:

Azuki:
10K sarebbero 10.000 ? ?

Si, il K viene usato per sintetizzare la scrittura, e significa che devi moltiplicare il valore per 1000!

Invece 10M, sarebbero 10 Mega e quindi 10.000.000 (diecimilioni) :smiley:
Ciao,

Fab.

In realtà non è una sintesi ma una vera e propria unità di misura della scala ?.

@ Azuki: se la R la metti tra il pin e GND crei un riferimento a GND (pull-down); se lametti tra +5V e ilpin crei un riferimento a +5V (pull-up), sono due cose ben diverse, si usantro a seconda delle necessità circuitali.

menniti:
@ Azuki: se la R la metti tra il pin e GND crei un riferimento a GND (pull-down); se lametti tra +5V e ilpin crei un riferimento a +5V (pull-up), sono due cose ben diverse, si usantro a seconda delle necessità circuitali.

Mmm...ma cosa vuol dire? Che nel caso di una digitalRead mi restituisce valori inversi ?
Adesso mi restituisce 0 se non premuto e 1 se premuto(vado a memoria da ieri sera)
Se invece metto la R tra +5V e il pin ottengo l'inverso ?
1 se non premuto e 0 se premuto ?

Azuki:
Mmm...ma cosa vuol dire? Che nel caso di una digitalRead mi restituisce valori inversi ?
Adesso mi restituisce 0 se non premuto e 1 se premuto(vado a memoria da ieri sera)
Se invece metto la R tra +5V e il pin ottengo l'inverso ?
1 se non premuto e 0 se premuto ?

Sí, proprio cosí.

L' arduino ha anche resistenze pull up interne

Ciao Uwe

Scusami, ma dubito che tu possa imparare le basi in un Topic, credo ti dovrai rassegnare a leggere qualcosa di più sistematico ed organizzato. Se vai nel Playground ci sono molti tutorial sull'elettronica di base, brevi e concisi, dagli almeno un'occhiata. :slight_smile:
Comunque, in generale, se devi leggere un evento positivo (segnale HIGH) devi usare una pull-down, se invece devi leggere un evento negativo (segnale LOW) devi mettere una pull-up, quindi tutto dipende, nel caso del pulsante, da dove colleghi il capo libero dello stesso (uno è collegato al pin di Arduino); nel caso che hai postato il pulsante premuto porta un HIGH, quindi serve una pull-down.

uwefed:

Azuki:
Mmm...ma cosa vuol dire? Che nel caso di una digitalRead mi restituisce valori inversi ?
Adesso mi restituisce 0 se non premuto e 1 se premuto(vado a memoria da ieri sera)
Se invece metto la R tra +5V e il pin ottengo l'inverso ?
1 se non premuto e 0 se premuto ?

Sí, proprio cosí.

Direi che è importante che capisca che però il pulsante si collega diversamente nei due casi

menniti:
In realtà non è una sintesi ma una vera e propria unità di misura della scala ?.

Hai ragione.

menniti:
Scusami, ma dubito che tu possa imparare le basi in un Topic, credo ti dovrai rassegnare a leggere qualcosa di più sistematico ed organizzato. Se vai nel Playground ci sono molti tutorial sull'elettronica di base, brevi e concisi, dagli almeno un'occhiata. :slight_smile:
Comunque, in generale, se devi leggere un evento positivo (segnale HIGH) devi usare una pull-down, se invece devi leggere un evento negativo (segnale LOW) devi mettere una pull-up, quindi tutto dipende, nel caso del pulsante, da dove colleghi il capo libero dello stesso (uno è collegato al pin di Arduino); nel caso che hai postato il pulsante premuto porta un HIGH, quindi serve una pull-down.

Ma che rassegnare! Grazie, speravo proprio che qualcuno mi postasse o suggerisse dove andare a leggere qualcosa, onestamente avevo notato solo i tutorial quelli nella sezione Learning sulla programmazione...e con la mole di domande che mi passano per la testa se dovessi risolverle via forum...lo intaso :smiley:
Vedo che nella sezione Playground c'è anche qualcosa in italiano...meglio.

Se tu dovessi consigliarmi i primi che so, 3/4 tutorial di base, cosa mi consiglieresti ?

Basic digital e analog, che trovi qui, andrebbero curiosati un po' tutti.

e' poca roba e ti apre un universo!

Federico:
Basic digital e analog, che trovi qui, andrebbero curiosati un po' tutti.
http://www.arduino.cc/en/Tutorial/HomePage
e' poca roba e ti apre un universo!

Sbaglio o è tutta roba di informatica? :roll_eyes:
A me interessa di più nozioni base, per veri principianti di elettronica che è dove sono realmente carente...

Federico:
Basic digital e analog, che trovi qui, andrebbero curiosati un po' tutti.
http://www.arduino.cc/en/Tutorial/HomePage
e' poca roba e ti apre un universo!

aveva anche scritto

c'è anche qualcosa in italiano...meglio.

qui e qui, ne hai da leggere ed imparare XD

Grazie mille!
Un pò alla volta me lo leggo tutto! :slight_smile:
Grazie ancora