element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • Store
    Store
    • Visit Your Store
    • Choose Another Store
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
Just Encase
  • Challenges & Projects
  • Design Challenges
  • Just Encase
  • More
  • Cancel
Just Encase
Blog Monitoring and Protection an Ecological Area #6 - Assembling and Adding LCD Display to the Receiver
  • Blog
  • Forum
  • Documents
  • Events
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Just Encase requires membership for participation - click to join
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
Author: guillengap
Date Created: 17 Jan 2022 8:52 PM
Views: 307
Likes: 5
Comments: 0
  • Arduino MKR WAN 1300
  • lora
  • Monitoring and Protection an Ecological Area
  • just_encase
Related
Recommended

Monitoring and Protection an Ecological Area #6 - Assembling and Adding LCD Display to the Receiver

guillengap
guillengap
17 Jan 2022

Table of Contents

  1. Project Introduction
  2. Getting Started
  3. Communication Between Two MKR WAN 1300
  4. LoRaWAN System Range Testing
  5. Assembling and Adding LCD Display to the Transmitter
  6. Assembling and Adding LCD Display to the Receiver
  7. LoRaWAN´s Field Test with a DS18B20 Sensor
  8. Adding Multiple Sensors: DS18B20, DHT22 and MQ-135
  9. Modifying Receiver Code for Multiple Sensors
  10. LoRaWAN´s Field Test with Multiple Sensors
  11. Connecting LoRaWAN to an IoT Provider through the Arduino NANO 33 IoT
  12. LoRaWAN and IoT Connection with a DS18B20 Sensor
  13. Testing LoRaWAN and IoT Connection with a DS18B20 Sensor
  14. LoRaWAN and IoT Connection with Multiple Sensors
  15. Testing LoRaWAN and IoT Connection with Multiple Sensors
  16. Project Report Updated

**********************************************************************************************************************

 Assembling and Adding LCD Display to the Receiver

Assembling the receiver

In the figure below I show you the pieces that I print on the 3D printer. These pieces are used to fix the Arduino MKR WAN 1300 board and the LCD display.

In the image below you can see the assembly of the Arduino MKR WAN 1300 board.

And now in the image below you can see the assembly of the 20x4 LCD display.

After fixing the Arduino MKR WAN 1300 board, the 20x4 display, the antenna and the battery; the receiving device looks like the one shown in the figure below.

As a power supply I used Anker PowerCore II 6700. In addition to providing more accurate voltages, this device gave me better results since it has a power button, a voltage regulator and detects when a device is connected or not.

I also recommend using a heavy-duty USB to make a good connection

Schematic diagram

After adding the 16x2 display, the wiring diagram of the receiver is as shown below.

Code

After several attempts to find a library that works well with the Arduino MKR WAN 1300 board, I finally found this one that worked very well for me: LiquidCrystal_I2C

After making these changes, the receiver code is shown below:

LoRaReceiver_v2.ino

// AUTHOR: GUILLERMO PEREZ GUILLEN

#include <SPI.h>
#include <LoRa.h>
#include <Wire.h> // Library for I2C communication
#include <LiquidCrystal_I2C.h> // Library for LCD
LiquidCrystal_I2C lcd = LiquidCrystal_I2C(0x27, 20, 4); // Change to (0x27,16,2) for 16x2 LCD.

char cadena[30]; //We create an array that will store the characters that we will write in the PC console. We assign a limit of characters, in this case 30
byte posicion=0;  //Variable to change the position of the characters in the array
int valor;  //Integer Variable

void setup() {  
  lcd.init();  // Initiate the LCD:
  lcd.backlight();  
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
  Serial.println("LoRa Receiver");
  if (!LoRa.begin(915E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  // try to parse packet
  int packetSize = LoRa.parsePacket();
  if (packetSize) {
    memset(cadena, 0,sizeof(cadena));//memset deletes the contents of the array "cadena" from position 0 to the end sizeof
    // received a packet
    Serial.print("Received packet... ");    
    // read packet
    while (LoRa.available()) {      
      char dedos= (char)LoRa.read();
      Serial.print(dedos);
      cadena[posicion]=dedos;//Read a character from the string "cadena" from "posicion", then read the next character with "posicion++"
      posicion++;
    }
    valor=atoi(cadena);//Convert the string to integers
    Serial.println();
    Serial.print(" temp=");
    Serial.print(valor);
    posicion=0;
    // print RSSI of packet
    int dedal = LoRa.packetRssi();
    Serial.print(" with RSSI: ");
    Serial.println(dedal);
    lcd.clear();
    lcd.setCursor(0, 0); // Set the cursor on the first column and first row.
    lcd.print("Temp:"); 
    lcd.setCursor(6, 0); 
    lcd.print(valor);
    lcd.setCursor(0, 2); // Set the cursor on the first column and second row.
    lcd.print("RSSI:"); 
    lcd.setCursor(5, 2); //Set the cursor on the fifth column and the second row (counting starts at 0!).
    lcd.print(dedal);        
    digitalWrite(LED_BUILTIN, HIGH);
    delay(2000);
    digitalWrite(LED_BUILTIN, LOW); 
  }
}

Download section:

  • You can get the code from this post below::

assembling_and_adding_lcd_display_to_the_receiver.zip

  • Below I attach the STL files used in this section.
stl_files.zip
Anonymous
Element14

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2022 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • Facebook
  • Twitter
  • linkedin
  • YouTube