Navigation

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

    Walyson Albuquerque Machado

    @Walyson Albuquerque Machado

    1
    Reputation
    16
    Posts
    428
    Profile views
    0
    Followers
    2
    Following
    Joined Last Online

    Walyson Albuquerque Machado Follow

    Best posts made by Walyson Albuquerque Machado

    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      @AWI, @mfalkvidd Thank you for your time trying to help me.

      I just found a Modified SD library to use pins A0-A3 for software SPI. I got it to work!!! So happy. 😆

      If anyone interests, the link is below:

      Modified SD library to use pins A0-A3 for software SPI
      0_1475856752676_SD-hardcode-use-pins-A0-A3.zip

      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado

    Latest posts made by Walyson Albuquerque Machado

    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      @AWI, @mfalkvidd Thank you for your time trying to help me.

      I just found a Modified SD library to use pins A0-A3 for software SPI. I got it to work!!! So happy. 😆

      If anyone interests, the link is below:

      Modified SD library to use pins A0-A3 for software SPI
      0_1475856752676_SD-hardcode-use-pins-A0-A3.zip

      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Is my send routine from the arduino + nRF24L01 + sensor correct?

      send(msgvolt.setDestination(DESTINATION_NODE).set(dadosenviados, 2), 1);
      

      Or:

      send(msgvolt.set(dadosenviados, 2),  1);
      

      And the receive routine from the arduino + nRF24L01 ?

      void receive(const MyMessage &msgvolt) {
      
        if (msgvolt.type == V_VOLTAGE) {
            
       dadosenviados = msgvolt.getFloat();
      
      Serial.print("Incoming");
      Serial.println(msgvolt.getFloat());
      Serial.println(dadosenviados);
      }
      

      The configuration of the arduino + nRF24L01 + sensor:

      #define MY_DEBUG 
      #define MY_DEBUG_VERBOSE_RF24
      #define MY_RADIO_NRF24
      
      #define MY_NODE_ID 10
      
      #define MY_RF24_CE_PIN 9
      #define MY_RF24_CS_PIN 10
      #define MY_RF24_PA_LEVEL RF24_PA_LOW
      #define MY_RF24_PA_LEVEL_GW RF24_PA_LOW
      #define MY_RF24_CHANNEL 76
      #define MY_RF24_DATARATE RF24_250KBPS
      
      #include <SPI.h>
      #include <MySensors.h>
      

      The configuration of the arduino + nRF24L01:

      #define MY_DEBUG
      #define MY_RADIO_NRF24
      #define MY_DEBUG_VERBOSE_RF24
      
      #define MY_GATEWAY_SERIAL
      #define MY_NODE_ID 0
      
      #define MY_RF24_CE_PIN 9
      #define MY_RF24_CS_PIN 10
      #define MY_RF24_PA_LEVEL RF24_PA_HIGH
      #define MY_RF24_PA_LEVEL_GW RF24_PA_LOW
      #define MY_RF24_CHANNEL 76
      #define MY_RF24_DATARATE RF24_250KBPS
      
      
      #include <MySensors.h>
      #include <LiquidCrystal.h>
      #include <SPI.h>
      
      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Hello! Hm, I removed the digitalWrite and I don't undestand why it doesn't get the data. I tried to print something in the receive routine and I got nothing. What do you mean about special case?

      Thanks for the time spent with me.

      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Ok, I'm going to erase the void incomingMessage(const MyMessage &msgvolt) and the request(4, V_VOLTAGE, 10).
      Also no savestate.

      I tried to store in a global variable and display, but I didn't understand It, how do I read!?

      void receive(const MyMessage &msgvolt) {
        if (msgvolt.type==V_VOLTAGE) {
          digitalWrite(msgvolt.sensor, msgvolt.getFloat());
        
       dadosenviados = msgvolt.getFloat();
      
      
      Serial.println(msgvolt.getFloat());
      Serial.println(dadosenviados);
      Serial.println(msgvolt.data);
      }
      

      This is what I'm getting in the serial:

      Node:

      Battery Voltage: 8.68 V
      RF24:stop listening
      RF24:write register, reg=0, value=14
      RF24:open writing pipe, recipient=0
      RF24:write register, reg=10, value=0
      RF24:write register, reg=16, value=0
      RF24:send message to 0, len=12
      RF24:flushTX
      RF24:write register, reg=7, value=48
      RF24:start listening
      RF24:write register, reg=0, value=15
      RF24:write register, reg=10, value=10
      TSP:MSG:SEND 10-10-0-0 s=4,c=1,t=38,pt=7,l=5,sg=0,ft=0,st=ok:8.68
      RF24:read message, len=12
      RF24:write register, reg=7, value=64
      TSP:MSG:READ 0-0-10 s=4,c=1,t=38,pt=7,l=5,sg=0:8.68
      Battery Voltage: 8.69 V
      

      Gateway:

      10;4;1;0;38;8.68
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=4,c=1,t=38,pt=7,l=5,sg=0:8.68
      0;255;3;0;9;TSP:MSG:ACK msg
      0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=4,c=1,t=38,pt=7,l=5,sg=0,ft=0,st=ok:8.68
      10;4;1;0;38;8.68
      
      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Please, someone tell me how to get the voltage that i'm receiving. I've tried many things, I don't know why this doesn't work.

      msgvolt.getFloat();
      

      I can see the battery in the gateway through serial, but I don't know how to get it to show on the LCD.

      Node:

      #define MY_DEBUG 
      #define MY_DEBUG_VERBOSE_RF24
      #define MY_RADIO_NRF24
      #define DESTINATION_NODE 0      
      #define MY_NODE_ID 10
      #define MY_PARENT_NODE_ID  0
      #define MY_PARENT_NODE_IS_STATIC
      #define MY_RF24_CE_PIN 9
      #define MY_RF24_CS_PIN 10
      #define MY_RF24_PA_LEVEL RF24_PA_LOW
      #define MY_RF24_PA_LEVEL_GW RF24_PA_LOW
      #define MY_RF24_CHANNEL 76
      #define MY_RF24_DATARATE RF24_250KBPS
      
      
      #include <SPI.h>
      #include <MySensors.h>
      
      
      int sensorTensaoDC = A0;
      float valorTensaoDC;
      int amostragem = 1000;
      float mediaTotalTensaoDC = 0;
      float R1 = 28000.0;  
      float R2 = 7600.0;
      int sensorValue_aux = 0;
      float voltsporUnidade = 0.005278592; // 5%1023
      
      float dadosenviados;
      
      
      MyMessage msgvolt(4, V_VOLTAGE);
      
      void setup()  
      {
        analogReference(DEFAULT);
        pinMode(A0, INPUT);
      }
      
      void presentation() {
         sendSketchInfo("Battery Meter", "1.0");
         present(4, S_MULTIMETER, "Voltage", true);
      }
      
      void loop()
      {
         mediaTotalTensaoDC = 0;
        for(int i=0; i < amostragem ; i++)
        {
          valorTensaoDC = analogRead(sensorTensaoDC);
      
          valorTensaoDC =(valorTensaoDC*voltsporUnidade);
          mediaTotalTensaoDC = mediaTotalTensaoDC+ (valorTensaoDC / (R2/(R1+R2)));
        }
        dadosenviados = mediaTotalTensaoDC / amostragem;
        
        
         Serial.print("Battery Voltage: ");
         Serial.print(dadosenviados);
         Serial.println(" V");
      
       send(msgvolt.setDestination(DESTINATION_NODE).set(dadosenviados, 2), 1);
        wait(2000);
      
      }
      

      Gateway:

      #define MY_DEBUG
      #define MY_RADIO_NRF24
      #define MY_GATEWAY_SERIAL
      #define MY_NODE_ID 0
      #define DESTINATION_NODE 10 
      #define MY_RF24_CE_PIN 9
      #define MY_RF24_CS_PIN 10
      #define MY_RF24_PA_LEVEL RF24_PA_LOW
      #define MY_RF24_PA_LEVEL_GW RF24_PA_LOW
      #define MY_RF24_CHANNEL 76
      #define MY_RF24_DATARATE RF24_250KBPS
      
      #include <MySensors.h>
      #include <LiquidCrystal.h>
      #include <SPI.h>
      
      float dadosenviados = 0;
      
      MyMessage msgvolt(4, V_VOLTAGE);
      
      LiquidCrystal lcd(3, 2, 7, 6, 5, 4);
      
      void setup()  
      {
        lcd.begin(20, 4);
        lcd.clear();
        lcd.setCursor(5, 0);
        lcd.print("Teste 1.6");
        delay(5000);
        lcd.setCursor(3, 2);
        lcd.print("Carregando...");
        delay(5000);
        lcd.clear();
      }
      
      void presentation() {
            sendSketchInfo("Battery Meter", "2.0");
            present(4, S_MULTIMETER);
      }
      
      void receive(const MyMessage &msgvolt) {
        saveState(msgvolt.sensor, msgvolt.getFloat());
       dadosenviados = msgvolt.getFloat();
      request(4, V_VOLTAGE, 10);
      
      }         
      
      void incomingMessage(const MyMessage &msgvolt) {
      
      request(4, V_VOLTAGE, 10);
      dadosenviados = msgvolt.getFloat();
      
          lcd.clear();
          lcd.setCursor(0, 0);
          lcd.print("TENSAO");
          lcd.setCursor(7, 0);
          lcd.print(dadosenviados);
          lcd.print("VOLTS");
          lcd.setCursor(0, 1);
          lcd.print(msgvolt.getFloat());
          wait(1000);
            Serial.print("Battery Voltage: ")`;
         Serial.print(dadosenviados);
         Serial.println(" V");
      }
      
      void loop() {
      }
      
      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Is that how I send ? Can I use BINARY to my hall effect sensor? I'm using the digital pin to count every time it passes through a magnet.

      MyMessage msg(NODE_ID, V_STATUS);
      
      float value = 0;
      
      void presentation()
      {
          present(NODE_ID, S_BINARY);
      }
      
      void loop()
      {
          send(msg.set(value));
      }
      

      Is that how I receive?

      void receive(const MyMessage &message) {
          // Handle incoming message
      }
      
      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      I have pins and I have already done this. 😝

      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Hey. I don't have I2C interface. Do I need it?

      I have one like this, 20x4:

      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      Ok, I'm getting there. I appreciate your advices, thanks. 😄
      Now I can see the battery level in the serial. But I didn't understand how to receive the battery level in the gateway to show on my LCD display.

      Gateway ok:

      0;255;3;0;9;Starting gateway (RNNGA-, 2.0.0)
      0;255;3;0;9;TSM:INIT
      0;255;3;0;9;TSM:RADIO:OK
      0;255;3;0;9;TSM:GW MODE
      0;255;3;0;9;TSM:READY
      0;255;3;0;14;Gateway startup complete.
      0;255;0;0;18;2.0.0
      0;255;3;0;9;No registration required
      0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
      0;255;3;0;9;TSP:MSG:READ 10-10-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
      0;255;3;0;9;TSP:MSG:BC
      0;255;3;0;9;TSP:MSG:FPAR REQ (sender=10)
      0;255;3;0;9;TSP:CHKUPL:OK (FLDCTRL)
      0;255;3;0;9;TSP:MSG:GWL OK
      0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=ok:0
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=3,t=24,pt=1,l=1,sg=0:1
      0;255;3;0;9;TSP:MSG:PINGED (ID=10, hops=1)
      0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=ok:1
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=3,t=15,pt=6,l=2,sg=0:0100
      0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=0,t=17,pt=0,l=5,sg=0:2.0.0
      10;255;0;0;17;2.0.0
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=3,t=6,pt=1,l=1,sg=0:0
      10;255;3;0;6;0
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=3,t=11,pt=0,l=13,sg=0:Battery Meter
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=3,t=12,pt=0,l=3,sg=0:1.0
      0;255;3;0;9;TSP:MSG:READ 10-10-0 s=255,c=3,t=26,pt=1,l=1,sg=0:2
      0;255;3;0;9;TSP:MSG:SEND 0-0-10-10 s=255,c=3,t=27,pt=1,l=1,sg=0,ft=0,st=ok:1
      

      Node ok:

      Starting sensor (RNNNA-, 2.0.0)
      TSM:INIT
      RF24:write register, reg=0, value=14
      RF24:read register, reg=6, value=35
      RF24:flushRX
      TSM:RADIO:OK
      RF24:start listening
      RF24:write register, reg=10, value=10
      TSP:ASSIGNID:OK (ID=10)
      TSM:FPAR
      RF24:stop listening
      RF24:write register, reg=0, value=14
      RF24:open writing pipe, recipient=255
      RF24:write register, reg=10, value=255
      RF24:send message to 255, len=7
      RF24:flushTX
      RF24:MAX_RT
      TSP:MSG:READ 0-0-10 s=255,c=3,t=8,pt=1,l=1,sg=0:0
      TSP:MSG:FPAR RES (ID=0, dist=0)
      TSP:MSG:FPAR (PPAR FOUND)
      TSP:MSG:PAR OK (ID=0, dist=1)
      TSM:FPAR:OK
      TSM:ID
      TSM:CHKID:OK (ID=10)
      TSM:UPL
      TSP:PING:SEND (dest=0)
      TSP:MSG:PONG RECV (hops=1)
      TSP:CHKUPL:OK
      TSM:UPL:OK
      TSM:READY
      Init complete, id=10, parent=0, distance=1, registration=1
      Battery Voltage: 0.00 V
      Battery Voltage: 5.91 V
      Battery Voltage: 5.91 V
      
      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado
    • RE: Advice about RF nRF24L01+ to send/receive sensory information

      I'm trying to do the battery level example and I'm getting this:

      Starting sensor (RNNNA-, 2.0.0)
      TSM:INIT
      TSM:RADIO:OK
      TSP:ASSIGNID:OK (ID=10)
      TSM:FPAR
      TSP:MSG:SEND 10-10-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      TSP:MSG:READ 10-10-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
      TSP:MSG:BC
      TSM:FPAR
      TSP:MSG:SEND 10-10-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      TSP:MSG:READ 10-10-255 s=255,c=3,t=7,pt=0,l=0,sg=0:
      TSP:MSG:BC
      TSM:FPAR
      TSP:MSG:SEND 10-10-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      TSM:FPAR
      TSP:MSG:SEND 10-10-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc:
      !TSM:FPAR:FAIL
      !TSM:FAILURE
      TSM:PDT
      

      What does it mean? Why can't I read the serial messages?

      posted in My Project
      Walyson Albuquerque Machado
      Walyson Albuquerque Machado