consigli per progetto

CIAO a tutti primo grazie per aver letto spero potete aiutarmi o consigliarmi o inidicarmi parti all interno dei topic utili :slight_smile: sto cercando di capire perchè il sistema che sto costruendo, non sta funzionando come previsto!
sto costruendo un hardware per un av performance dunque un sensore pir collegato ad arduino uno clone collegato ad un relais 5v deve accendere una lampada da 12 v se possibile cercare di far blinkare random o secondo un determinato timer il led (dato che ne dovrei costruire 5 )
il sensore pir deve accendere una light saber di 36 led da 12 v ! attualmente se il sensore rileva un movimento spegne la luce :frowning: deve accenderla !

secondo se volessi dire al led di blinkare o comunque non rimanere acceso fisso, devo aggiungere una board strobo o posso dirgli tramite millis nel codice o tutti e due ?
posso aggiungere foto migliori se necessita !

int calibrationTime = 5;        
 
//the time when the sensor outputs a low impulse
long unsigned int lowIn;        
 
//the amount of milliseconds the sensor has to be low
//before we assume all motion has stopped
long unsigned int pause = 5000;  
 
boolean lockLow = true;
boolean takeLowTime;  
 
int pirPin = 3;    //the digital pin connected to the PIR sensor's output
int ledPin = 13;
 
 
/////////////////////////////
//SETUP
void setup(){
  Serial.begin(9600);
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  digitalWrite(pirPin, LOW);
 
  //give the sensor some time to calibrate
  Serial.print("CALIBRAZIONE SENSORE ");
    for(int i = 0; i < calibrationTime; i++){
      Serial.print(".");
      delay(1000);
      }
    Serial.println(" fatto");
    Serial.println("SENSORE ATTIVO");
    delay(50);
  }
 
////////////////////////////
//LOOP
void loop(){
 
     if(digitalRead(pirPin) == HIGH){
       digitalWrite(ledPin, HIGH);   //the led visualizes the sensors output pin state
       if(lockLow){  
         //makes sure we wait for a transition to LOW before any further output is made:
         lockLow = false;            
         Serial.println("DIO CANE");
         Serial.print("movimento rilevato in ");
         Serial.print(millis()/1000);
         Serial.println(" sec");
         delay(50);
         }        
         takeLowTime = true;
       }
 
     if(digitalRead(pirPin) == LOW){      
       digitalWrite(ledPin, LOW);  //the led visualizes the sensors output pin state
 
       if(takeLowTime){
        lowIn = millis();          //save the time of the transition from high to LOW
        takeLowTime = false;       //make sure this is only done at the start of a LOW phase
        }
       //if the sensor is low for more than the given pause,
       //we assume that no more motion is going to happen
       if(!lockLow && millis() - lowIn > pause){  
           //makes sure this block of code is only executed again after
           //a new motion sequence has been detected
           lockLow = true;                        
           Serial.print("MOVIMENTO FINITO IN: ");      //output
           Serial.print((millis() - pause)/1000);
           Serial.println(" sec");
           delay(50);
           }
       }
  }

CIAO a tutti primo grazie per aver letto spero potete aiutarmi o consigliarmi o inidicarmi parti all interno dei topic utili :slight_smile: sto cercando di capire perchè il sistema che sto costruendo, non sta funzionando come previsto!
sto costruendo un hardware per un av performance dunque un sensore pir collegato ad arduino uno clone collegato ad un relais 5v deve accendere una lampada da 12 v se possibile cercare di far blinkare random o secondo un determinato timer il led (dato che ne dovrei costruire 5 )
il sensore pir deve accendere una light saber di 36 led da 12 v ! attualmente se il sensore rileva un movimento spegne la luce :frowning: deve accenderla !

secondo se volessi dire al led di blinkare o comunque non rimanere acceso fisso, devo aggiungere una board strobo o posso dirgli tramite millis nel codice o tutti e due ?
posso aggiungere foto migliori se necessita !

ok ho risolto il fatto come far accendere la lampada al movimento rimane come farla lampeggiare secondo millisecondi o randomicamente

>bla23r: in conformità al REGOLAMENTO, punto 13, il cross-posting è proibito (anche tra lingue diverse) e tu hai già posto la stessa domanda QUI.

Non solo, in quel thread ti stanno già rispondendo ed è veramente poco cortese abbandonare una discussione e chi ti stava aiutando, per venire di qua a porre la stessa domanda …

Poi, NON avendolo tu ancora fatto, ti chiedo di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione … possibilmente evitando di scrivere solo una riga di saluto :wink:) e di leggere con attenzione il REGOLAMENTO.

Infine, per rispetto verso chi ti stava già aiutando nell’altro thread, questo tuo thread viene chiuso e ti prego di continuare dove avevi cominciato. Grazie.

Guglielmo

P.S.: Ah, in conformità al suddetto regolamento, punto 7, il codice DEVE essere racchiuso tra i tag CODE che, in fase di edit, ti inserisce il bottone </> … primo a sinistra