Arduino
Sensore di movimento e crepuscolare con arduino

VISUALIZZA L'ALBUM

Pag: (7)   1   2   3   4   5   [6]   7    (Ultimo Msg)


FinePagina

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 24/11/2017 22:36:50

raga ecco com'č collegato arduino ,l'unica differenza che invece di arduino uno ho collegato arduino nano



Immagine Allegata: SCHEMA PIR CREP_bb.jpg
 
ForumEA/S/SCHEMA PIR CREP_bb.jpg



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 24/11/2017 22:43:54

dimenticavo di dire che il positivo e il negativo del relč,di arduino,e del pir sono collegati direttamente ad un alimentatore da 220v a 5volt 700ma



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 24/11/2017 23:10:51

ho impostato il tempo sul pir a minimo che dovrebbero essere 20 secondi e modificato lo sketch come di seguito. Cosa succede che in condizioni di buio appena do corrente ad arduino il relč si eccita e resta eccitato per 8 minuti e ancora non si stacca .




#define SOGLIAFOTORESISTENZA 400

int pinFoto = A0;
int pinRele = 4;
int pinPir = 5;

int attesaMovimenti = 100; // Millisecondi tra una rilevazione di movimento e un'altra
long primoMovimento = 0; // Gestirŕ il tempo delle letture
long tempoAccensione = 0; // Millis di accensione del rele
int durataAccensione = 180; // Tempo di attivazione del rele
int inMovimento = false; // Flag per gestire il sensore PIR
int valorePir = 0; // Letture del PIR
int valoreFoto = 0; // Lettura della fotoresistenza
int releAcceso = 0; // Stato attuale del rele

void setup() {
pinMode(pinFoto, INPUT);
pinMode(pinPir, INPUT);
pinMode(pinRele, OUTPUT);

analogWrite(pinRele, HIGH); // La maggior parte dei relč si diseccitano con un valore alto
}

void loop() {
valoreFoto = analogRead(valoreFoto);

if (valoreFoto < SOGLIAFOTORESISTENZA) {
valorePir = digitalRead(pinPir);

if (valorePir == HIGH) {
if (inMovimento == true) {
if (millis() > primoMovimento + attesaMovimenti) {
// Attivo il relč
digitalWrite(pinRele, LOW);
tempoAccensione = millis();
releAcceso = 1;
}
} else {
// Metto da parte il tempo del primo movimento
inMovimento = 1;
primoMovimento = millis();
}
} else {
inMovimento = false;
}

}

if (releAcceso == 1 && (millis() > tempoAccensione + (durataAccensione * 60 * 1000))) {
// Spengo il rele
digitalWrite(pinRele, HIGH);
primoMovimento = 0;
releAcceso = 0;
}

delay(100);

}



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 24/11/2017 23:25:22

CALCOLA ho provato anche il tuo sketch che sarebbe il seguente :

#define SOGLIAFOTORESISTENZA 400
#define fotoCellula A0

int pinFoto = 3;
int pinRele = 4;
int pinPir = 5;


int attesaMovimenti = 100; // Millisecondi tra una rilevazione di movimento e un'altra
long primoMovimento = 0; // Gestirŕ il tempo delle letture
long tempoAccensione = 0; // Millis di accensione del rele
int durataAccensione = 180; // Tempo di attivazione del rele
int inMovimento = false; // Flag per gestire il sensore PIR
int valorePir = 0; // Letture del PIR
int valoreFoto = 0; // Lettura della fotoresistenza
int releAcceso = 0; // Stato attuale del rele

void setup() {
pinMode(pinFoto, INPUT);
pinMode(pinPir, INPUT);
pinMode(pinRele, OUTPUT);

analogWrite(pinRele, LOW); // La maggior parte dei relč si diseccitano con un valore alto
}

void loop() {
valoreFoto = analogRead(fotoCellula);

if (valoreFoto < SOGLIAFOTORESISTENZA) {
valorePir = digitalRead(pinPir);

if (valorePir == LOW) {
if (inMovimento == true) {
if (millis() > primoMovimento + attesaMovimenti) {
// Attivo il relč
digitalWrite(pinRele, HIGH);
tempoAccensione = millis();
releAcceso = 1;
}
} else {
// Metto da parte il tempo del primo movimento
inMovimento = 1;
primoMovimento = millis();
}
} else {
inMovimento = false;
}

}

if (releAcceso == 1 && (millis() > tempoAccensione + (durataAccensione * 60 * 1000))) {
// Spengo il rele
digitalWrite(pinRele, HIGH);
primoMovimento = 0;
releAcceso = 0;
}

delay(100);

}

ma devo cambiare anche qualcosa nei collegamenti? no perche non fa niente il relč al passaggio d'avanti al pir



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 25/11/2017 08:27:48

Ho trovato nel codice quella che a mio avviso era una incongruenza e l'ho segnalata e corretta, non ho letto con attenzione tutto il codice. Inoltre premetto che non ho ancora ben chiaro cosa vuoi fare, in quanto ho seguito distrattamente la tua discussione.

Mi sembra di aver capito che quando la fotoresistenza indica un valore corrispondente al buio e davanti al pir passa qualcosa, si deve attivare il relč temporizzato per il tempo impostato nel codice. E' cosě che deve essere?
Quando qualcosa passa davanti al pir lo stato del pinPir č alto o basso?



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 25/11/2017 11:55:19

Se la logica č quello che ho supposto sopra, prova cosě:

-TOP CODE-

-BOTTOM CODE-


Il codice presuppone che il pir eccitato ponga il pin 5 in HIGH, se non č cosě ed il pin č posto in LOW, occorre modificare l'istruzione
if (valorePir == HIGH ...
in
if (valorePir == LOW...



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 25/11/2017 13:14:01

CITAZIONE (calcola, 25/11/2017 08:27:48 ) Discussione.php?214851&6#MSG81

Ho trovato nel codice quella che a mio avviso era una incongruenza e l'ho segnalata e corretta, non ho letto con attenzione tutto il codice. Inoltre premetto che non ho ancora ben chiaro cosa vuoi fare, in quanto ho seguito distrattamente la tua discussione.

Mi sembra di aver capito che quando la fotoresistenza indica un valore corrispondente al buio e davanti al pir passa qualcosa, si deve attivare il relč temporizzato per il tempo impostato nel codice. E' cosě che deve essere?
Quando qualcosa passa davanti al pir lo stato del pinPir č alto o basso?

si č proprio cosi che dovrebbe essere eseguito lo sketch
lo stato del pin pir al passaggio č alto. adesso provo un attimo lo sketch



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 25/11/2017 13:51:42

sto provando a banco e sembra andar tutto ok oggi monto a soffitto e vi dirň nei prossimi giorni...



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 26/11/2017 19:54:00

Il test a soffitto sta andando bene funziona tutto come dovrebbe.
Ecco la plaffoniera



Immagine Allegata: 20171125_152523_HDR-600x1067.jpg
 
ForumEA/S/20171125_152523_HDR-600x1067.jpg



---------------



 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 26/11/2017 21:22:30

Bel lavoro, pulito ed ordinato. I sensori sono nascosti sotto il bottone centrale?



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

Luca450Mhz

Avatar
GigaWatt


Utente
Msg:3204

Stato:



Inviato il: 26/11/2017 21:48:37

Grazie calcola che hai corretto il codice. Io non ho avuto modo di provarlo e l'ho buttato giů in fretta e furia.
Sono contento che ora tutto stia funzionando a dovere!



---------------
Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio si...

 

calcola
GigaWatt


Utente
Msg:4435

Stato:



Inviato il: 26/11/2017 23:03:03

Sabato mattina ho avuto un po' di tempo, Prima non ho potuto fare nulla, mi sono interessato ad un altro progetto, forse č meglio dire gioco per me pacioccare con queste cose č un bel gioco.



---------------
Impara l'arte e mettila da parte

14 pannelli da 100w, inverter kemapower 3kw, regolato...

 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 27/11/2017 14:30:56

il sensore di movimento č nascosto sotto la semisfera centrale mentre il sensore luce e messo sul laterale della plaffoniera



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 27/11/2017 14:34:27

Ecco dov'é posizionato il sensore luce



Immagine Allegata: 20171125_152600_HDR-747x1328.jpg
 
ForumEA/S/20171125_152600_HDR-747x1328.jpg



---------------



 

donato
MegaWatt


Utente
Msg:449

Stato:



Inviato il: 27/11/2017 15:09:24

dopo un paio di giorni di test va tutto bene e dato che l'appetito vien mangiando vorrei chiedervi un altro aiuto adesso arduino sta funzionando in questo modo arduino legge la fotoresistenza , e se il valore della fotoresistenza č minore di 400 leggi il sensore di movimento e al passaggio di persone mi chiude il relč per due minuti e si ripete lo sketch.Adesso vorrei modificare lo sketch in questo modo.arduino legge il sensore luce,quando il valore della fotoresistenza č minore di 400 leggi il sensore di movimento e al passaggio di persone inizia il conto alla rovescia di 2 minuti e mi chiude il relč,perň se durante il conto alla rovescia il sensore di movimento vede un altro movimento ricomincia il conto alla rovescia fino a quando per 2 minuti consecutivi non c'č alcun movimento.



---------------



 
 InizioPagina
 

Pag: (7)   1   2   3   4   5   [6]   7    (Ultimo Msg)

Versione Completa!

Home page     TOP100-SOLAR    Home page forum