Contattaci

Massimo Pinto

email: pinto.posta@gmail.com
Skype: maxjust




Christian Acqua

email: christianacqua51@gmail.com
Skype: christian.acqua86

3 commenti:

  1. salve volevo attuare il progetto di centrale allarme a 2 zone dove posso trovare lo schema elettrico e come posso fare per ampliare i sensori??

    grazie

    RispondiElimina
  2. Ciao Gianna, che tipo di centrale vorresti fare? Usare Arduino come base? Inserire anche delle sirene? Fornisci qualche informazione in più.
    Saluti

    RispondiElimina
  3. Buongiorno, ho preso il vostro codice del "Tutorial Luce Temporizzata con comando locale..." l'ho modificato per inserire un secondo pulsante che dia un ritardo maggiore rispetto al primo. Vorrei un vostor parere sul codice che ho scritto, per capire se può andare bene. Grazie
    /* Tutorial Luce Temporizzata con comando locale e remoto via web
    *
    * http://etabetastudio.blogger.com
    *
    * Pinto Massimo - Chistian Acqua
    */

    const int buttonPin1 = 2; // pin dello switch button
    const int buttonPin2 = 5; // pin dello switch button
    const int ledPin = 13; // pin del led di segnalazione
    const int relPin = 12; // pin del rele

    int buttonState1 = 0; // stato switch
    int buttonState2 = 0; // stato switch
    int ledrelon = 0; //stato led e rele
    unsigned long conteggio1 = 6000; // durata temorizzazioni in millisecondi
    unsigned long conteggio2 = 12000; // durata temorizzazioni in millisecondi
    unsigned long previsioneMillis=0; // variabili di inizio e fine conteggio
    unsigned long correntiMillis=0; // variabili di inizio e fine conteggio


    void setup(){
    Serial.begin(9600); // inizializziamo la seriale
    pinMode(ledPin, OUTPUT); //inizializziamo i pin
    pinMode(relPin, OUTPUT); //inizializziamo i pin
    pinMode(buttonPin1, INPUT);//inizializziamo il pin 1
    pinMode(buttonPin2, INPUT);//inizializziamo il pin 2
    digitalWrite(ledPin, LOW);//inizializziamo i pin
    }
    void loop(){
    unsigned long correntiMillis = millis(); // memorizziamo il valore di millis
    buttonState1 = digitalRead(buttonPin1); //catturiamo lo stato dello switch button n.1
    buttonState2 = digitalRead(buttonPin2); //catturiamo lo stato dello switch button n.2

    // Se lo Switch button è alto
    if (buttonState1 == HIGH) {
    Serial.println("bottone n.1 giu"); // facciamo un po di stampe per capire cosa succede
    ledrelon = 1; // abilitiamo l'ingresso alla condizione successiva
    previsioneMillis = correntiMillis + conteggio1; // creiamo il valore di off sommando i millis catturati prima + il tempo impostato di off
    Serial.print("correntiMillis: "); // facciamo un po di stampe per capire cosa succede
    Serial.println(correntiMillis); // facciamo un po di stampe per capire cosa succede
    Serial.print("previsioneMillis: "); // facciamo un po di stampe per capire cosa succede
    Serial.println(previsioneMillis); // facciamo un po di stampe per capire cosa succede
    }
    if (buttonState2 == HIGH) {
    Serial.println("bottone n.2 giu"); // facciamo un po di stampe per capire cosa succede
    ledrelon = 1; // abilitiamo l'ingresso alla condizione successiva
    previsioneMillis = correntiMillis + conteggio2; // creiamo il valore di off sommando i millis catturati prima + il tempo impostato di off
    Serial.print("correntiMillis: "); // facciamo un po di stampe per capire cosa succede
    Serial.println(correntiMillis); // facciamo un po di stampe per capire cosa succede
    Serial.print("previsioneMillis: "); // facciamo un po di stampe per capire cosa succede
    Serial.println(previsioneMillis); // facciamo un po di stampe per capire cosa succede
    }
    if(ledrelon == 1){
    digitalWrite(ledPin, HIGH); // accendiamo il led
    digitalWrite(relPin, HIGH); // eccitiamo il rele
    delay(500); // questo delay non è fondamentale serve a leggere le stampe sul serial monitor
    Serial.print("correntiMillis: ");
    Serial.println(correntiMillis);
    if (correntiMillis >= previsioneMillis) {
    delay(10);
    digitalWrite(ledPin, LOW); // raggiunto il tempo di spegnimento tutto va giù
    digitalWrite(relPin, LOW);
    ledrelon = 0; // reimpostiamo ledrelon per iniziare nuvamente un ciclo
    }
    }
    }

    RispondiElimina