Problema resistenza buzzer

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?

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.

Ok grazi mille :slight_smile: e scusa XD

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.

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??? :wink: :wink: :wink:

Ciao Uwe

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:

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.

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 XD non ho tenuto conto della luce della stanza quindi ho provato cun una lampada e funziona tutto :slight_smile: Grazie mille

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.

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 :~

YouTube 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 :slight_smile:

si il risultato è lo stesso solo che il rumore è diverso XD 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

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 :wink:

ok Grazie mille :smiley:
Notte :sleeping:

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 :slight_smile: :slight_smile:

*** 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.

Sisi non me ne sono accorto sullo schema ma per la fretta ho sbagliato XD grazie mille del consiglio :slight_smile:

uwefed:
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??? :wink: :wink: :wink:

Ciao Uwe

un giorno ho trovato queso per te :wink: facile e simile ad una sfera di crsistallo ahahah :grin: :grin:

hahahaha bell'effetto XD

sono contento che hai risolto , ma la prossima volta controlla meglio tutto.