Navigation

    • Register
    • Login
    • OpenHardware.io
    • Categories
    • Recent
    • Tags
    • Popular
    1. Home
    2. gigi
    • Profile
    • Following
    • Followers
    • Topics
    • Posts
    • Best
    • Groups

    gigi

    @gigi

    7
    Reputation
    40
    Posts
    2097
    Profile views
    2
    Followers
    3
    Following
    Joined Last Online
    Location Italy

    gigi Follow

    Best posts made by gigi

    • My Relay Module

      I started a project with Mysensors to automate some parts of my home, I made the first gateway with Arduino and an ethernet shield.

      My goal was to have a 220V controlled by Vera Lite.

      What you need:
      -Arduino Nano
      -Radio module NRF24L01 +
      -capacitors
      -resistances
      -breadboard thousand holes
      -Relay Module 10A
      -cables and plugs

      The wiring diagram.
      collegamenti-con-bottone-e1420805157407.png

      is important to the condensoatore of VCC and GND of the radio to the stability and the good reception of the same.

      Here's my self-built PCB
      2015-01-08-18.45.55-e1420805330292.jpg

      2015-01-08-18.46.41-e1420805419401.jpg

      2015-01-08-18.46.20-e1420805491322.jpg

      we put it all in a box of Gewiss 8cm x 12 cm
      2015-01-08-19.15.10-e1420805637459.jpg

      We insert the power supply
      2015-01-08-19.38.54-e1420805788700.jpg

      finally finished work:
      2015-01-08-21.34.48-e1420805899319.jpg

      Vera display
      Immagine-e1420806830432.png

      Link code

      Thanks to All

      posted in My Project
      gigi
      gigi
    • MyAirwik Sensor

      Hay!!!

      This is MyAirwik Sensor

      schema-internet_bb.png

      radio-e-sensore-di-movimento.jpg

      airwik-batterie.jpg

      schema_air-mysensors.jpg

      Voltage measured!!!
      volts.png

      airwik-mysensor-finale.jpg

      On Vera lite!!!

      vera.jpg

      Battery Version!!!!!

      posted in My Project
      gigi
      gigi
    • RE: Gateway not working on VeraLite + UI6 - No Serial Port configuration available

      @cdrum I tried with many arduino nano purchased on ebay but I could not connect on vera.

      Try with gateway Ethernet !!!

      posted in Vera
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      @Petjepet I Know, thank

      on board as I did your chart

      0_1460012626053_schema-pannello-solare-2_bb-2.jpg
      Thank

      posted in My Project
      gigi
      gigi

    Latest posts made by gigi

    • RE: Solar Powered Mini-Weather Station

      @Petjepet I Know, thank

      on board as I did your chart

      0_1460012626053_schema-pannello-solare-2_bb-2.jpg
      Thank

      posted in My Project
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      @Petjepet said:

      On the green wire (light sensor?) you measure on ground where I guess you should measure between the resistor and the sensor.

      0_1460011587951_LdrUp_down.jpg

      Is the same

      0_1460011676140_vdivider.jpg

      voltage divider

      posted in My Project
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      0_1459971075004_schema-pannello-solare-2_bb.jpg

      New fritzing

      I have two questions?

      1. voltage divider for more 5 v (battery voltage 12-13 volts)
      2. I use a auto phone charger for step down (12v --> 5 V) - warmers if I close in a box?

      Thank

      posted in My Project
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      @Didi 0_1459967939633_schema-pannello-solare-2.fzz

      Fritzing File!!!!

      posted in My Project
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      @Dombo71 look a fritzing schematic

      posted in My Project
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      I purchased a solar kit

      Solar Panel
      battery 12v
      landstar solar charge controller

      I want to insert into Arduino in output of charge controller (I have 12 volts)

      to lower the voltage can I use a mobile charger Car 1 Ah

      do you heat so much?

      Thank

      @Salmoides Good Project!!!!!

      posted in My Project
      gigi
      gigi
    • RE: Solar Powered Mini-Weather Station

      This is my project!!!!

      0_1459952652761_schema-2_bb.jpg

      // Example sketch för a "light switch" where you can control light or something 
      // else from both vera and a local physical button (connected between digital
      // pin 3 and GND).
      // This node also works as a repeader for other nodes
      
      #include <MySensor.h>
      #include <SPI.h>
      #include <DHT.h> 
      
      unsigned long SLEEP_TIME = 120000; // Sleep time between reports (in milliseconds)
      
      //pin sensori
      #define PIR_PIN 2                   // The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
      #define HUMIDITY_TEMPERATURE_PIN 3  // sensore temperatura umidita
      #define RELAY_PIN  4                // relay pin
      int BATTERY_SENSE_PIN = A1;         // Pin carica batteria o pannello solare
      int FOTORESIST_SENSE_PIN = A2;      // Pin fotoresistenza
      
      //interupt per sleep arduino
      #define INTERRUPT PIR_PIN-2 // Usually the interrupt = pin -2 (on uno/nano anyway)
      
      //id per vera
      #define CHILD_ID_RELE 1   // Id relay
      #define CHILD_ID_HUM 2    // id temperatura
      #define CHILD_ID_TEMP 3   // id umidita
      #define CHILD_ID_PIR 4    // Id pir
      #define CHILD_ID_LIGHT 5  // Id luminosita (fotoresistenza)
      
      //definizione per nodo vera
      #define NODE_ID 10
      #define SN "meteo station"
      #define SV "1.4"
      
      //variabili
      bool state_relay;                 //stato relay
      float batt_valore;                //dichiaro la variabile valore che memorizzerà il valore della batteria dal pin analogico
      float batt_volt;                  //volt batteria
      float batt_charged_percent;       //percentuale carica batteria
      float last_batt_charged_percent;  //percentuale carica batteria precedente
      float batt_min_voltage = 0.5;     //tensione minima batteria
      float batt_max_voltage = 5;       //tensione massima batteria
      float fotoresistenza_valore;      //dichiaro la variabile valore che memorizzerà il valore della fotoresistenza dal pin analogico
      float last_fotoresistenza_valore; //dichiaro la variabile valore precedente
      
      int lux_vera;                      //valore luminosita da inviare a vera
      
      MySensor gw;
      
      // sensore temperatura umidita
      DHT dht_int;
      float lastTemp_int = -1;
      float lastHum_int = -1;
      
      boolean metric = true; 
      
      MyMessage msgRelay(CHILD_ID_RELE,V_LIGHT);
      MyMessage msgHum(CHILD_ID_HUM, V_HUM);
      MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
      MyMessage msgPir(CHILD_ID_PIR, V_TRIPPED);
      MyMessage msgLux(CHILD_ID_LIGHT, V_LIGHT_LEVEL);
      
      void setup()  
      {  
        gw.begin(incomingMessage, NODE_ID, false);    
        
        gw.sendSketchInfo(SN, SV); 
      
        //Sensore umidita temperatura
        dht_int.setup(HUMIDITY_TEMPERATURE_PIN);
        
        gw.present(CHILD_ID_RELE, S_LIGHT);       //light vera
        gw.present(CHILD_ID_HUM, S_HUM);          //umidity vera
        gw.present(CHILD_ID_TEMP, S_TEMP);           // temp vera
        gw.present(CHILD_ID_PIR, S_MOTION);          // motion vera
        gw.present(CHILD_ID_LIGHT, S_LIGHT_LEVEL);  //light level (fotoresistenza)
        
        metric = gw.getConfig().isMetric;
        
        // Then set relay pins in output mode
        pinMode(RELAY_PIN, OUTPUT);   
        
        //PIR
        pinMode(PIR_PIN, INPUT);
        
        state_relay = 0;  
        //GestisciRelay();
        digitalWrite(RELAY_PIN, LOW);
        gw.send(msgRelay.set(state_relay)); 
           
      }
      
      void loop() 
      { 
          gw.process();
        
          //sensore temperatura umidita
          delay(dht_int.getMinimumSamplingPeriod());
      
          float temperature_int = dht_int.getTemperature();
          if (isnan(temperature_int)) 
          {
              lastTemp_int = -1;
              Serial.println("Failed reading temperature from DHT");
          } 
          else if (temperature_int != lastTemp_int) 
          {
            lastTemp_int = temperature_int;
            if (!metric) 
            {
              temperature_int = dht_int.toFahrenheit(temperature_int);
            }
            gw.send(msgTemp.set(temperature_int, 1));
            Serial.print("T int: ");
            Serial.println(temperature_int);
          }
        
          float humidity_int = dht_int.getHumidity();
          if (isnan(humidity_int)) 
          {
              lastHum_int = -1;
              Serial.println("Failed reading humidity from DHT");
          } 
          else if (humidity_int != lastHum_int) 
          {
              lastHum_int = humidity_int;
              gw.send(msgHum.set(humidity_int, 1));
              Serial.print("H int: ");
              Serial.println(humidity_int);
          }
          //sensore temperatura umidita
          
          //fotoresistenza    
          for(int i=0;i<150;i++)
          {
            fotoresistenza_valore += analogRead(FOTORESIST_SENSE_PIN);  //read the input voltage from battery or solar panel      
            delay(2);
          }
          fotoresistenza_valore = fotoresistenza_valore / 150;    
                 
          Serial.print ("fotoresistenza: ");
          Serial.println(fotoresistenza_valore); 
      
          if (fotoresistenza_valore != last_fotoresistenza_valore) 
          {
            lux_vera = (int) fotoresistenza_valore;
            gw.send(msgLux.set(lux_vera));
            last_fotoresistenza_valore = fotoresistenza_valore;
          }    
          //fotoresistenza
          
          //pir relay
          // Read digital motion value
          boolean tripped = digitalRead(PIR_PIN) == HIGH; 
          Serial.println("pir:");      
          Serial.println(tripped);
          gw.send(msgPir.set(tripped?"1":"0"));  // Send tripped value to gw 
          
          //accende la luce con il buio
          if (fotoresistenza_valore < 200)  //poca luce
          {
            if (tripped == 1) 
            {
               state_relay = 1;     
            }
            else
            {
               state_relay = 0;     
            }
          }
          //accende la luce con il buio
          
          GestisciRelay();
          //pir relay
          
          //battery    
          for(int i=0;i<150;i++)
          {
            batt_valore += analogRead(BATTERY_SENSE_PIN);  //read the input voltage from battery or solar panel      
            delay(2);
          }
          batt_valore = batt_valore / 150;    
                 
          Serial.print ("batt_valore: ");
          Serial.println(batt_valore);
          
          batt_volt = (batt_valore / 1024) * batt_max_voltage;
          Serial.print ("batt_volt: ");
          Serial.println(batt_volt);
          
          ////////////////////////////////////////////////
         //The map() function uses integer math so will not generate fractions
         // so I multiply battery voltage with 10 to convert float into a intiger value
         // when battery voltage is 6.0volt it is totally discharged ( 6*10 =60)
         // when battery voltage is 7.2volt it is fully charged (7.2*10=72)
         // 6.0v =0% and 7.2v =100%
         //batt_charged_percent = batt_volt*10;   
         //batt_charged_percent = map(batt_volt*10, 60 , 72, 0, 100);
          batt_charged_percent = batt_volt * 10;   
          batt_charged_percent = map(batt_volt * 10, batt_min_voltage * 10 , batt_max_voltage * 10, 0, 100);
          //batt_charged_percent = (batt_volt / batt_max_voltage) * 100;
          Serial.print ("batt_charged_percent: ");
          Serial.println(batt_charged_percent);
             
          if (last_batt_charged_percent != batt_charged_percent) 
          {
              gw.sendBatteryLevel(batt_charged_percent);
              last_batt_charged_percent = batt_charged_percent;        
          }
          //battery
          
          delay(50);
          
          // Sleep until interrupt comes in on motion sensor. Send update every two minute.   
          gw.sleep(INTERRUPT, CHANGE, SLEEP_TIME);
          
          
      } 
       
      void incomingMessage(const MyMessage &message) {
        // We only expect one type of message from controller. But we better check anyway.
        if (message.isAck()) {
           Serial.println("This is an ack from gateway");
        }
      
        if (message.type == V_LIGHT) {
           // Change relay state_relay
           state_relay = message.getBool();
           GestisciRelay();
          
           // Write some debug info
           Serial.print("Incoming change for sensor:");
           Serial.print(message.sensor);
           Serial.print(", New status: ");
           Serial.println(message.getBool());
         } 
         
        
      }
      
      
      
      void GestisciRelay()
      {
          //Serial.print(" GestisciRelay state_relay:");
          //Serial.println(state_relay);
        
          if (state_relay == 0)
          {
            digitalWrite(RELAY_PIN, LOW);
            gw.send(msgRelay.set(state_relay));
            //Serial.println("SPENTO RELAY");
          }
          else 
         {
            digitalWrite(RELAY_PIN, HIGH);
            gw.send(msgRelay.set(state_relay));
            //Serial.println("ACCESO RELAY");
         } 
      
        
      }
      
      
      

      On vera
      0_1459952879015_vera-image.jpg

      On board
      0_1459952958112_IMG_20160406_162541.jpg

      posted in My Project
      gigi
      gigi
    • RE: Merry Christmas and a Happy New 2016

      Merry Christmas

      posted in Announcements
      gigi
      gigi
    • RE: Gateway not working on VeraLite + UI6 - No Serial Port configuration available

      @cdrum I tried with many arduino nano purchased on ebay but I could not connect on vera.

      Try with gateway Ethernet !!!

      posted in Vera
      gigi
      gigi
    • RE: [security] Introducing signing support to MySensors

      @Anticimex very nice work.

      posted in Development
      gigi
      gigi