Jump to content
43oh

Entrax

Members
  • Content Count

    5
  • Joined

  • Last visited

Posts posted by Entrax

  1. On 24.4.2017 at 6:23 PM, energia said:

    By default SPI is on SPI(2) which is PB_6 (MISO) PB_7 (MOSI) and PB_4 (SCK). Please see the wiring pin mapping the post you mentioned. It's up a couple posts. Just to make sure, do you have power and ground connected to the NRF as well?

    Robert

    Can i change the default SPI settings to my Pins?

    Power (3,3V) and Ground are connected, but not a capacitor between ground and Power (read in tutorials). 

    I have change to default SPI, it doesnt work :/

  2. Hello 

    I have problems with the two NRF24L01 and two tm4c123gxl.  I can not get 

    it running.

    Pins 1. Tm4c123gxl (RX): PC_6 (CE),  PD_2 (MISO),  PD_3 (MOSI),  PD_1 (CS),  PD_0 (SCK),  PE_1 (IRQ)

    Pins 2. Tm4c123gxl (TX): PC_7 (CE),  PD_2 (MISO),  PD_3 (MOSI),  PD_1 (CS),  PD_0 (SCK),  PE_1 (IRQ)

    I will use a simply Sketch. 

    I have found this in the Forum  [Energia Library] Nordic nRF24L01+ library

    I have download this Enrf24_v1_8.zip from the Forum.

    Enerf24_RXdemo

    #include <Enrf24.h>
    #include <nRF24L01.h>
    #include <string.h>
    #include <SPI.h>
    
    Enrf24 radio(PC_6, PD_1, PE_1);
    const uint8_t rxaddr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x01 };
    
    const char *str_on = "ON";
    const char *str_off = "OFF";
    
    void dump_radio_status_to_serialport(uint8_t);
    
    void setup() {
      Serial.begin(9600);
    
      SPI.begin();
      SPI.setDataMode(SPI_MODE0);
      SPI.setBitOrder(MSBFIRST);
      
      radio.begin();  // Defaults 1Mbps, channel 0, max TX power
      dump_radio_status_to_serialport(radio.radioState());
    
      radio.setRXaddress((void*)rxaddr);
      
    
      
      radio.enableRX();  // Start listening
    }
    
    void loop() {
      char inbuf[33];
      
      dump_radio_status_to_serialport(radio.radioState());  // Should show Receive Mode
    
      while (!radio.available(true))
        ;
      if (radio.read(inbuf)) {
        Serial.print("Received packet: ");
        Serial.println(inbuf);
    
        if (!strcmp(inbuf, str_on))
          Serial.println("HIGH");
        if (!strcmp(inbuf, str_off))
          Serial.println("LOW");
      }
    }
    
    void dump_radio_status_to_serialport(uint8_t status)
    {
      Serial.print("Enrf24 radio transceiver status: ");
      switch (status) {
        case ENRF24_STATE_NOTPRESENT:
          Serial.println("NO TRANSCEIVER PRESENT");
          break;
    
        case ENRF24_STATE_DEEPSLEEP:
          Serial.println("DEEP SLEEP <1uA power consumption");
          break;
    
        case ENRF24_STATE_IDLE:
          Serial.println("IDLE module powered up w/ oscillators running");
          break;
    
        case ENRF24_STATE_PTX:
          Serial.println("Actively Transmitting");
          break;
    
        case ENRF24_STATE_PRX:
          Serial.println("Receive Mode");
          break;
    
        default:
          Serial.println("UNKNOWN STATUS CODE");
      }
    }

    Enrf24_TXdemo

    #include <Enrf24.h>
    #include <nRF24L01.h>
    #include <string.h>
    #include <SPI.h>
    
    Enrf24 radio(PC_7, PD_1, PE_1);  // CE, CSN, IRQ
    const uint8_t txaddr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x01 };
    
    const char *str_on = "ON";
    const char *str_off = "OFF";
    
    void dump_radio_status_to_serialport(uint8_t);
    
    void setup() {
      Serial.begin(9600);
    
      SPI.begin();
      SPI.setDataMode(SPI_MODE0);
      SPI.setBitOrder(MSBFIRST);
    
      radio.begin();  // Defaults 1Mbps, channel 0, max TX power
      dump_radio_status_to_serialport(radio.radioState());
    
      radio.setTXaddress((void*)txaddr);
    }
    
    void loop() {
      Serial.print("Sending packet: ");
      Serial.println(str_on);
      radio.print(str_on);
      radio.flush();  // Force transmit (don't wait for any more data)
      dump_radio_status_to_serialport(radio.radioState());  // Should report IDLE
      delay(1000);
    
      Serial.print("Sending packet: ");
      Serial.println(str_off);
      radio.print(str_off);
      radio.flush();  //
      dump_radio_status_to_serialport(radio.radioState());  // Should report IDLE
      delay(1000);
    }
    
    void dump_radio_status_to_serialport(uint8_t status)
    {
      Serial.print("Enrf24 radio transceiver status: ");
      switch (status) {
        case ENRF24_STATE_NOTPRESENT:
          Serial.println("NO TRANSCEIVER PRESENT");
          break;
    
        case ENRF24_STATE_DEEPSLEEP:
          Serial.println("DEEP SLEEP <1uA power consumption");
          break;
    
        case ENRF24_STATE_IDLE:
          Serial.println("IDLE module powered up w/ oscillators running");
          break;
    
        case ENRF24_STATE_PTX:
          Serial.println("Actively Transmitting");
          break;
    
        case ENRF24_STATE_PRX:
          Serial.println("Receive Mode");
          break;
    
        default:
          Serial.println("UNKNOWN STATUS CODE");
      }
    }

    When i am upload this, i don't see the Sending objects. I see only in both Serial.monitor this: "Enrf24 radio transceiver status NO TRANSCEIVER PRESENT".

    Can someone help me?

  3. Hello

    I hope you can understand my english :)

    I have a texas instruments tm4c123gxl with a SainSmart IIC/I2C/TWI Serial 2004 20x4 LCD Module.

    I will connect this Display over I²C. For the 5V Supply voltage i have use the VBus on the tm4c...

    For the SDA/SCL i have use the pin PA6 and PA7.

    Does it work like this? or need a Logic Level Converter - Bi-Directional for the SDA/SCL Line? from 3,3V to 5V.

    I have use a Pullup resistor for the Line SDA/SCL, how in the datasheet from the tm4c.

    And i have use this Code:

    #include <Wire.h>
    #include <LiquidCrystal_I2C.h>
    
    
    LiquidCrystal_I2C lcd(0x3F, 20, 4); // set the LCD address to 0x20 for a 16 chars and 2 line display
    
    void setup()
    {
    
      lcd.init();                      // initialize the lcd
    
      // Print a message to the LCD.
      lcd.backlight();
      lcd.print("Hello, world!");
    }
    
    void loop()
    {
    }

    But my display show nothing only LED backlight.

     

×
×
  • Create New...