Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« on: June 27, 2012, 02:29:59 pm » |
Raga seguendo il libro c'è un progetto con un buzzer magnetico e suggerisce di usare una resistenza da 100 kohm ma io ho solo resistenze da 330 kohm e 180 kohm :\ come posso risolvere?
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #1 on: June 27, 2012, 02:41:11 pm » |
Raga seguendo il libro c'è un progetto con un buzzer magnetico e suggerisce di usare una resistenza da 100 kohm ma io ho solo resistenze da 330 kohm e 180 kohm :\ come posso risolvere? Se ci pensi bene come facciamo noi a sapere che libro stai leggendo tu ? Io lo so ,stai leggendo primi passi con arduino ? Quella resistenza da 100k è messa in serie ad una fotoresistenza? Sela metti da 180k ti cambia solo il valore letto dall'analogRead. Quando scrivi,per avere un aiuto,cerca per quanto ti è possibile a dare più info altrimenti è difficile indovinare come ho fatto io.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« Reply #2 on: June 27, 2012, 02:42:30 pm » |
Ok grazi mille  e scusa 
|
|
|
|
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #3 on: June 27, 2012, 02:58:19 pm » |
Mh ti consiglio un Buzzer piezoelettrico avendo un valore resistivo basso non dovrai mettere nessuna resistenza per diminuire l'assorbimento ad Arduino, ricordati che Arduino se ha un assorbimento superiore a 40mA danneggi le porte e dovrai cambiare la il micro. Cmq quando si hanno tante resistenze ma non quella giusta puoi giocare in questo modo, se ti serve un valore di 180k ma ne hai 2 da 100 basta metterle in serie, perchè si sommano, se invece le metti in parallelo il valore resistivo diminuisce. Studiati la legge di ohm è fondamentale.
|
|
|
|
|
Logged
|
|
|
|
|
BZ (I)
Offline
Brattain Member
Karma: 160
Posts: 15600
+39 349 2158303
|
 |
« Reply #4 on: June 27, 2012, 03:07:54 pm » |
metti 3 resistenze da 330k in paralello e ottieni 110k Ohm. Metti 2 180k in paralello ottieni 90kOhm. Concordo con tonid della necessitá di aquisto di una sfera di cristallo. Facciamo una cordata per comprarne 20 al colpo per chiedere un buon sconto???  Ciao Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« Reply #5 on: June 27, 2012, 03:30:33 pm » |
Raga ho riscontrato un problema :\, quando avvio il programma su arduino il buzzer suona ma non cambia nulla se avvicino o allontano il dito alla fotoresistenza, quindi ho messo il valore della fotores sul serial monitor e infatti vedo che il valore della fotores rimane a 0. Quindi direi che è un problema hardware giusto? cmq il codice è questo int buzzer= 9; int fotores; int nota; void setup () { pinMode (buzzer, OUTPUT); Serial.begin (9600); } void loop () { nota= 3*(analogRead (fotores))+500; tone (buzzer, nota); delay (10); Serial.print (fotores); }
mentre l'hardware è questo: 
|
|
|
|
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #6 on: June 27, 2012, 03:58:40 pm » |
io adotterei la filosofia tinkering commenta sempre ogni riga di comando, se nn la commenti non capirai mai cosa fà? sii pi chiaro anche banale ma spiga cosa stai facendo se no non possiamo aiutarti, non hai dichiarato il pin di lettura analogica hai solo dato una variabile a anlogRead(0) non quello che hai scritto tu, perchè hai messo serial.begin? ma sai cosa fà? il problema e software, comincia ad accendere un led, perchè usare un entrata analogica nn è cosi banale come sembra.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« Reply #7 on: June 27, 2012, 04:01:59 pm » |
si sul fatto del pin di fotores hai ragione ma ho messo il codice sbagliato, per quanto riguarda Serial.begin, l'ho messo per poi stamparmi sul serial monito il valore che assume la variabile fotores Ecco il codice ultimato dopo le varie prove, vedo che la fotoresistenza va da un minimo di 1019 ad un massimo di 1023 :\ c'è qualcosa di sbagliato nella formula che sinceramente non ho capito perchè il libro mela propone così :\ ... cmq sto leggendo "Primi passi con Arduino" int buzzer= 9; //variabile che contiene il pin del buzzer int fotores=0; //variabile che contiene il pin della fotoresistenza int nota; //variabile della frequenza del buzzer int valore; // variabile che contiene il valore della fotores void setup () { pinMode (buzzer, OUTPUT); //dichiaro la variabile del buzzer come output Serial.begin (9600); // credo serva per inizializzare il serial monitor } void loop () { valore= analogRead (fotores); nota= 3*(analogRead (fotores))+500; //calcolo il valore della frequenza leggendo la fotoresistenza tone (buzzer, nota); //faccio suonare il buzzer delay (10); //pausa di 10 millisecondi Serial.print (valore); //scrivo sul serial monitor il valore della fotores Serial.print ("\n"); // vado a capo dopo ogni valore }
*** MODIFICA*** Raga funziona  non ho tenuto conto della luce della stanza quindi ho provato cun una lampada e funziona tutto  Grazie mille
|
|
|
|
« Last Edit: June 27, 2012, 04:23:47 pm by toti94 »
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #8 on: June 27, 2012, 04:25:30 pm » |
valore= analogRead (0); elimina sta riga non serve tanto la lettura del sensore la fai la volo a non ti serve che risieda in memoria, ottimizza al meglio il codice non hai tanto spazio su arduino, ho anche quel libro e molto spesso ho dovuto correggerli, sto consigliando a molti "Arduino la guida ufficiale di Massimo Banzi" che è l'autore di arduino, majocchi inizia a non piacermi molto. ricontrolla i collegamenti su arduino.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« Reply #9 on: June 27, 2012, 04:37:02 pm » |
per quanto rigurarda la variabile hai ragione anche se essendo un programma molto piccolo non ho pensato alla grandezza del file. Comunque il libro di Banzi (uno dei miei miti) non è uguale a quello che sto leggendo? cioè gli argomenti trattati non sono gli stessi? Perchè dovrei rivedere i collegamenti? a me sembra che funzioni tutto 
|
|
|
|
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #10 on: June 27, 2012, 04:57:49 pm » |
http://www.youtube.com/embed/qfqhIXJ6XKQ scusa la qualità scadente, questo è il mio esperimento, ma non ho usato lo stesso tuo codice, ti ho detto di controllare i collegamenti solo per sicurezza 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« Reply #11 on: June 27, 2012, 05:06:24 pm » |
si il risultato è lo stesso solo che il rumore è diverso  forse sarà dovuto dal buzzer diverso oppure dalla formula per ricavare la frequenza, tu che formula hai usato? Sinceramente in quella del libro non ho capito perchè lo moltiplica *3 e poi aggiunge 500 formula : nota= 3* (analogRead (fotores)) + 500
|
|
|
|
|
Logged
|
|
|
|
|
Varese
Offline
God Member
Karma: 8
Posts: 581
|
 |
« Reply #12 on: June 27, 2012, 05:09:16 pm » |
nn sono a casa ma appena torno ti prometto di postare il mio codice... cmq ti invito a fare qualche test nota= 3*(analogRead (fotores))+1000; cmq inizia da ora a ottimizzare il codice perchè cosi che non dovrai fare grossi sforzi in futuro. Notte 
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Sr. Member
Karma: 0
Posts: 342
|
 |
« Reply #13 on: June 27, 2012, 06:45:25 pm » |
ok Grazie mille  Notte 
|
|
|
|
|
Logged
|
|
|
|
|
Torino
Offline
God Member
Karma: 2
Posts: 720
|
 |
« Reply #14 on: June 27, 2012, 11:17:00 pm » |
Per poter leggere qualcosa da un ingresso analogico significa che devi avere un livello di tensione che può variare 0 a 5v. Tu hai creato un partitore resistivo composto da una resistenza fissa ed una variabile in funzione della luce (fotoresistenza), questo partitore deve essere polarizzato tra 0 e 5v,tu lo hai collegato ,sia da un capo che dall'altro a 0v (gnd) di conseguenza non avrai nessuna lettura. Sposta il collegamento della resistenza fissa da gnd a +5v e vedrai che funziona. Questi sono errori banali,forse per la fretta,bisogna fare attenzione e controllare bene prima di dare tensione al circuito altrimenti potresti giocarti la scheda,non è questo il caso ma tieni presente comunque ciò che ti dico. Non è un rimprovero ,è un consiglio  *** MODIFICA*** Raga funziona non ho tenuto conto della luce della stanza quindi ho provato cun una lampada e funziona tutto Grazie mille Hai poi risolto ,quindi i collegamenti erano giusti ? Hai sbagliato solo sullo schema postato? Ciao.
|
|
|
|
« Last Edit: June 27, 2012, 11:59:30 pm by tonid »
|
Logged
|
|
|
|
|
|