Vincent
| Inviato il: 16/11/2017 03:32:09
|
Il pin 5 e quello del sensore?
Metti qualche iatruzione di debug nel programma x verificare i valori
Serialprintln(valorepinanalogico)
devi aggiumgere serial.begin() nel setup
Poi aprendo il monitor vedi se oscurando la resistenza hai il valore corretto
sostituisci se puoi la resistenza sulla fotoc con un trimer
Altra cosa mi sembra che la foto l hai collegata male un capo va a 3.3 volt o 5 e l altro a uno degli ingressi analogici a0 ... Ecc
Cambia il pinfoto nel codice
= A0 per usare A0
--------------- SuperSolar http://forum.saturnoprezzi.com/
| |
| | Luca450Mhz
| Inviato il: 16/11/2017 09:48:07
|
Arduino Uno praticamente non l'ho mai usato, e da un bel po' che programmo0 l'ESP, e la gestione dei pin è un po' diversa.
L'errore è sul PIN che legge la fotoresistenza, come dice Vicent bisogna usare un pin analogico, ad esempio A0, e impostarlo correttamente nel codice.
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | Vincent
| Inviato il: 16/11/2017 11:41:06
|
Mha a me sembra che manda solo l alimentazione sulla fotoresistenza Luca
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | Luca450Mhz
| Inviato il: 16/11/2017 14:48:08
|
Il circuito non sono riuscito a guardarlo, quindi se c'è un errore lì non l'ho proprio visto. Sarebbe stato meglio un piccolo schema, magari più tardi riesco a dare un occhio ai collegamenti della foto
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | donato
| Inviato il: 16/11/2017 23:38:39
|
ho cambiato la fotoresistenza sul pin A0 e ho modificato anche nello sketch pin foto = A0 , poi come consigliato da vincent ho aggiunto un serial begin(9600)baud nel setup e il serial print ("NOTTE") nel loop e ho verificato il funzionamento della fotoresistenza vedendo nel monitor seriale che con assenza di luce mi scorreva NOTTE come accendevo la luce si fermava di scorrere quindi si puo dire che adesso i collegamenti stanno bene. | | | | donato
| Inviato il: 17/11/2017 00:03:18
|
ora sto testando un po lo sketch e dopo alcune provo noto che se alimento arduino in condizione che la fotoresistenza é illuminata il relé resta eccitato e non si stacca.solo se spengo la luce dopo una decina di minuti circa si stacca il relé e si avvia lo sketch correttamente,mentre se alimento arduino in assenza di luce appena do corrente arduino si accende e mi attacca il relé per il tempo prestabilito poi il relé si stacca e al passaggio d'avanti al pir chiude il relé, ora vorrei capire se si puó togliere il problema che quando alimento arduino di in presenza di luce mi resta il relé attaccato. | | | | Luca450Mhz
| Inviato il: 17/11/2017 09:20:50
|
Usando il comando per scrivere sulla seriale metti un po' di messaggi in giro per capire quali pezzi di codice vengono eseguiti e la lettura del valore della fotoresistenza.
In questo modo si può capire dove si inceppa.
Però se mi parli di 10 minuti di attesa c'è qualcosa di strano.. una tempistica del genere non trova un riscontro nel codice
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | Vincent
| Inviato il: 18/11/2017 02:35:37
|
Questa cosa te la fa solo all avvio?
Lo fa la prima volta e poi basta o comunque lo f sempre?
Posta il listato in codice
--------------- SuperSolar http://forum.saturnoprezzi.com/
| | | | donato
| Inviato il: 18/11/2017 13:20:02
|
Lo ha fatto solo all'avvio.. Appena sono al pc posto il listato,comunque é quello che ha postato luca con la modifica del pin della fotoresistenza che da pin 3 a pin A0 | | | | donato
| Inviato il: 18/11/2017 13:21:50
|
Luca di preciso non so se sono stati 10 minuti o meno ma 5 di sicuro | | | | donato
| Inviato il: 19/11/2017 09:45:54
|
Raga ho un problema con il pc é comparsa una schermata blu e non si avvia windows. Appena risolvo se non perdo tutto carico sia lo schema dei collegamenti e sia lo sketch | | | | donato
| Inviato il: 23/11/2017 23:07:43
|
Sto continuando a testare il programma e un altro problema che si presenta é che se aumentando la durata del relé accesso ruotando il potenziometro del pir ad esempio a un minuto ,cosa mi succede che al passaggio d'avanti al pir la luce si accende per 20 secondi poi si spegne e si riaccende per altri 20 secondi e si spegne e riaccende per altri 20 secondi fino ad arrivare ad un tot di un minuto .lo sketch é quello che ha caricato luca sul forum ho solo cambiato il pin 3 con il pin AO per la lettura della fotoresistenza e i collegsmenti sono come quelli in foto con arduino uno. Come di può risolvere questo problema? .Non posso ancora caricare lo schema dei collegamenti che ho disegnato sl pc perche ho ancora il pc guasto. | | | | Luca450Mhz
| Inviato il: 24/11/2017 11:33:17
|
donato come ti avevo scritto il sensore pir lo devi settare al minimo, ovvero deve tenere l'uscita alta al passaggio di una persona per il tempo minimo, perché il tempo di accensione del relè è gestito dal programma.
Se vuoi fare in modo che anziché per 20 secondi la luce rimanga accesa di più, devi modificare la relativa variabile
int durataAccensione = 20; // Tempo di attivazione del rele
e metti il numero di secondi che preferisci.
Se il relà rimane alto per un minuto è normale che il programma funzioni così, è programmato in questo modo.
Se hai de dubbi chiedi pure
--------------- Pannelli: 6975 Wp (poli e mono). Inverter UPS PSW7 6kW 48V toroidale con switch comandato dal mio sistema di domotica (RaspberryPi + vari Wemos D1 Mini - ESP8266). Regolatore di carica: Mpp Solar PCM8048. Batterie: 24 elementi trazione pesante 315Ah C5 48V.
| | | | calcola
| Inviato il: 24/11/2017 19:59:53
|
Leggendo il codice non riesco a capire quale è il pin analogico corrispondente a valoreFoto.
vi è una variabile int valoreFoto=0, ma se valoreFoto vale è 0 e valoreFoto = analogRead(valoreFoto); la prima volta legge il valore analogico di A0 e le volte succeccive? Dovrebbe leggere il valore analogico del pin corrispondente al valore analogico della lettura precedente. Qualcosa mi sfugge, non riesco a capire.
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| | | | calcola
| Inviato il: 24/11/2017 20:04:49
|
Secondo me manca una definizione, così forse dovrebbe andare meglio, si spera almeno che vada meglio, prova
#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 = 20; // 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(fotoCellula);
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);
}
--------------- Impara l'arte e mettila da parte 14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.
| |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|