Project #15: Environment – GNSS GPS – Mk34

——

#DonLucElectronics #DonLuc #GNSS #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

GNSS GPS

——

GNSS GPS

——

GNSS GPS

——

Gravity: GNSS GPS BeiDou Receiver Module

GNSS stands for Global Navigation Satellite System. The main GNSS systems include GPS, GLONASS, QZSS, and BeiDou. These satellite systems transmit signals to the earth, allowing the receiver to determine its own position by calculating the propagation time of the signals and the position of the receiving satellite, thus achieving functions such as positioning and navigation.

This GNSS BeiDou positioning module supports multi-satellite system joint positioning and provides high-precision, high-speed, and stable data such as longitude, latitude, time, and altitude. It is suitable for various outdoor positioning scenarios, such as vehicle positioning, item tracking, weather stations, and outdoor positioning.

This GNSS receiver module uses the GNSS positioning system and support satellite systems such as BeiDou, GPS, GLONASS, QZSS, etc. Compared with traditional single GPS positioning, joint positioning using multiple systems increases the number of visible and usable satellites, which improves positioning accuracy and speed. It can also achieve stable high-precision positioning even in complex environments, providing more accurate positioning data.

DL2510Mk01

1 x FireBeetle 2 ESP32-P4 AI
1 x IO Expansion Board
1 x Adafruit SHARP Memory Display Breakout – 1.3″ 168×144 Monochrome
1 x Gravity: GNSS GPS BeiDou Receiver Module
1 x USB Battery Pack
1 x USB 3.1 Cable A to C

DL2510Mk01p

DL2510Mk01p.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #15: Environment - GNSS GPS - Mk34
15-34
DL2509Mk01p.ino
DL2509Mk01
1 x FireBeetle 2 ESP32-P4 AI
1 x IO Expansion Board
1 x Adafruit SHARP Memory Display Breakout - 1.3" 168x144 Monochrome
1 x Gravity: GNSS GPS BeiDou Receiver Module
1 x USB Battery Pack
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// EEPROM Library to Read and Write EEPROM
// with Unique ID for Unit
#include "EEPROM.h"
// SHARP Memory Display
#include <Adafruit_SharpMem.h>
#include <Adafruit_GFX.h>
// GNSS
#include "DFRobot_GNSS.h"

// Use I2C for communication, but use the serial port for communication if the line of codes were masked 
#define I2C_COMMUNICATION 

// ESP32 user hardware uart
DFRobot_GNSS_I2C gnss(&Wire ,GNSS_DEVICE_ADDR);
String sDate = "";
String sUTC = "";
String sLat = "";
String sLon = "";


// SHARP Memory Display
// any pins can be used
#define SHARP_SCK  30
#define SHARP_MOSI 29
#define SHARP_SS   28
// Set the size of the display here, e.g. 144x168!
Adafruit_SharpMem display(SHARP_SCK, SHARP_MOSI, SHARP_SS, 144, 168);
// The currently-available SHARP Memory Display (144x168 pixels)
// requires > 4K of microcontroller RAM; it WILL NOT WORK on Arduino Uno
// or other <4K "classic" devices!  The original display (96x96 pixels)
// does work there, but is no longer produced.
#define BLACK 0
#define WHITE 1

// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";

// Software Version Information
String sver = "15-34";

void loop() {


  // isGNSS
  isGNSS();

  // isGNSS Display
  isDisplayGNSS();

  // Delay 1 Second
  delay( 1000 );

}

getDisplay.ino

// SHARP Memory Display
// SHARP Memory Display - UID
void isDisplayUID(){

  // text display
  display.clearDisplay();
  display.setRotation(4);
  display.setTextSize(2);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  // Don Luc
  display.println( "Don Luc" );
  // EEPROM
  display.setCursor(0,25);
  display.println( "EEPROM" );
  display.setCursor(0,55);
  display.println( uid );
  // Version
  display.setCursor(0,85);
  display.println( "Version" );
  display.setCursor(0,115);
  display.println( sver );
  display.refresh();
  delay( 100 );

}
// isGNSS Display
void isDisplayGNSS(){

  // text display Date and Time
  display.clearDisplay();
  display.setRotation(4);
  display.setTextSize(2);
  display.setTextColor(BLACK);
  display.setCursor(0,0);
  display.print( "Lan: " );
  display.println( sLat );
  display.setCursor(0,25);
  display.print( "Lon: " );
  display.println( sLon );
  display.setCursor(0,55);
  display.println( "UTC" );
  display.setCursor(0,85);
  display.println( sDate );
  display.setCursor(0,115);
  display.println( sUTC );
  display.refresh();
  delay( 100 );
  
}

getEEPROM.ino

// EEPROM
// isUID EEPROM Unique ID
void isUID() {
  
  // Is Unit ID
  uid = "";
  for (int x = 0; x < 7; x++)
  {
    uid = uid + char(EEPROM.read(x));
  }

}

getGNSS.ino

// GNSS
// isSetupGNSS
void isSetupGNSS(){

  // GNSS
  //while(!gnss.begin()){
    //Serial.println("NO Deivces !");
   // delay(1000);
  //}

  gnss.begin();
  
  // GNSS
  gnss.enablePower();      

/** Set the galaxy to be used
 *   eGPS              USE gps
 *   eBeiDou           USE beidou
 *   eGPS_BeiDou       USE gps + beidou
 *   eGLONASS          USE glonass
 *   eGPS_GLONASS      USE gps + glonass
 *   eBeiDou_GLONASS   USE beidou +glonass
 *   eGPS_BeiDou_GLONASS USE gps + beidou + glonass
 */
  gnss.setGnss(eGPS_BeiDou_GLONASS);

  // GNSS
  // gnss.setRgbOff();
  gnss.setRgbOn();
  
  
}
// isGNSS
void isGNSS(){

  // GNSS
  sTim_t utc = gnss.getUTC();
  sTim_t date = gnss.getDate();
  sLonLat_t lat = gnss.getLat();
  sLonLat_t lon = gnss.getLon();
  
  sDate = "";
  sUTC = "";
  sLat = "";
  sLon = "";

  // Latitude
  sLat = lat.latitudeDegree;
  // Longitude
  sLon = lon.lonitudeDegree;

  // Date
  sDate = date.year;
  sDate = sDate + "/";
  sDate = sDate + date.month;
  sDate = sDate + "/";
  sDate = sDate + date.date;

  // UTC
  sUTC = utc.hour;
  sUTC = sUTC + ":";
  sUTC = sUTC + utc.hour;
  sUTC = sUTC + ":";
  sUTC = sUTC + utc.minute;

}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay( 100 );

  // EEPROM Size
  EEPROM.begin(EEPROM_SIZE);
  
  // EEPROM Unique ID
  isUID();

  // Delay
  delay(100);

  // SHARP Display start & clear the display
  display.begin();
  display.clearDisplay();

  // Delay
  delay(100);

  // isSetupGNSS
  isSetupGNSS();

  // Delay
  delay( 100 );

  // Display - UID
  // Don Luc Electronics
  // Version
  // EEPROM
  isDisplayUID();
    
  // Delay 5 Second
  delay( 5000 );

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Consultant, R&D, Electronics, IoT, Teacher and Instructor

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank , Underwater and UAV Vehicle
  • Unmanned Vehicles Terrestrial, Marine and UAV
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
DFRobot: https://learn.dfrobot.com/user-10186.html
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #15: Environment – Geiger – Mk33

——

#DonLucElectronics #DonLuc #Environment #Geiger #DFRobot #Project #IoT #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Geiger

——

Geiger

——

Geiger

——

Gravity: Geiger Counter Module Ionizing Radiation Detector

Ionizing radiation, an invisible and intangible enemy, exists not only in nuclear power plant reactors. In fact, we are bombarded by radiation from the surrounding environment and outer space all the time, but fortunately our body is strong enough to resist the natural background radiation.

No active contact does not mean that high-energy ionizing radiation will not be encountered. Natural marble building materials, ore gems with different colors, and “negative ion powder” of unknown composition may contain different amounts of radioactive elements. With the use of a Geiger counter, these radioactive sources have nowhere to hide.

In addition, the Geiger counter is a good random number generator, and undetermined high-energy particle ionization events can provide enough random entropy to get you a truly random number, rather than a fixed random sequence based on a random algorithm.

DL2509Mk02

1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 2.0″ 320×240 IPS TFT LCD
1 x GDL Line 10 CM
1 x Gravity: IO Shield for FireBeetle 2
1 x Gravity: Geiger Counter Module Ionizing Radiation Detector
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x SPDT Slide Switch
1 x USB 3.1 Cable A to C

DL2509Mk02p

DL2508Mk01p.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #15: Environment - Geiger  - Mk33
15-33
DL2509Mk02p.ino
DL2509Mk02
1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 2.0" 320x240 IPS TFT LCD
1 x GDL Line 10 CM
1 x Gravity: IO Shield for FireBeetle 2
1 x Gravity: Geiger Counter Module Ionizing Radiation Detector
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// EEPROM Library to Read and Write EEPROM
// with Unique ID for Unit
#include "EEPROM.h"
// DFRobot Display GDL API
#include <DFRobot_GDL.h>
// DFRobot Geiger
#include <DFRobot_Geiger.h>

// DFRobot Geiger
#define detect_pin D5
DFRobot_Geiger  geiger(detect_pin);
float iCPM = 0;
float inSvh = 0;
float iuSvh = 0;

// Defined ESP32
#define TFT_DC  D2
#define TFT_CS  D6
#define TFT_RST D3

/*dc=*/ /*cs=*/ /*rst=*/
// DFRobot Display 240x320
DFRobot_ST7789_240x320_HW_SPI screen(TFT_DC, TFT_CS, TFT_RST);

// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";

// Software Version Information
String sver = "15-33";

void loop() {

  // isGeiger
  isGeiger();

  // isGeiger Display
  isDisplayGeiger();

  // Delay 3 Second
  //delay( 3000 );

}

getDisplay,ino

// DFRobot Display 240x320
// DFRobot Display 240x320 - UID
void isDisplayUID(){

  // DFRobot Display 240x320
  // Text Display
  // Text Wrap
  screen.setTextWrap(false);
  // Rotation
  screen.setRotation(3);
  // Fill Screen => black
  screen.fillScreen(0x0000);
  // Text Color => white
  screen.setTextColor(0xffff);
  // Font => Free Sans Bold 12pt
  screen.setFont(&FreeSansBold12pt7b);
  // TextSize => 1.5
  screen.setTextSize(1.5);
  // Don Luc Electronics
  screen.setCursor(0, 30);
  screen.println("Don Luc Electronics");
  // SD
  screen.setCursor(0, 60);
  screen.println("Geiger");
  // Version
  screen.setCursor(0, 90);
  screen.println("Version");
  screen.setCursor(0, 120);
  screen.println( sver );
  // EEPROM
  screen.setCursor(0, 150);
  screen.println("EEPROM");
  screen.setCursor(0, 180);
  screen.println( uid );

}
// isGeiger Display
void isDisplayGeiger(){

  // DFRobot Display 240x320
  // Text Display
  // Text Wrap
  screen.setTextWrap(false);
  // Rotation
  screen.setRotation(3);
  // Fill Screen => white
  screen.fillScreen(0xffff);
  // Text Color => blue
  screen.setTextColor(0x001F);
  // Font => Free Sans Bold 12pt
  screen.setFont(&FreeSansBold12pt7b);
  // TextSize => 1.5
  screen.setTextSize(1.5);
  // Geiger
  screen.setCursor(0, 30);
  screen.println("Geiger");
  // CPM
  screen.setCursor(0, 60);
  screen.println("CPM: ");
  screen.setCursor(90, 60);
  screen.println( iCPM );
  // nSvh
  screen.setCursor(0, 90);
  screen.println( "nSvh: " );
  screen.setCursor(90, 90);
  screen.println( inSvh );
  // uSvh
  screen.setCursor(0, 120);
  screen.println( "uSvh: " );
  screen.setCursor(90, 120);
  screen.println( iuSvh );
  
}

getEEPROM.ino

// EEPROM
// isUID EEPROM Unique ID
void isUID() {
  
  // Is Unit ID
  uid = "";
  for (int x = 0; x < 7; x++)
  {
    uid = uid + char(EEPROM.read(x));
  }

}

getGeiger,ino

// DFRobot Geiger
// isGeiger
void isGeiger(){

  // Delay 3 Second
  delay( 3000 );
  
  // Geiger
  iCPM = geiger.getCPM();
  inSvh = geiger.getnSvh();
  iuSvh = geiger.getuSvh();
  
}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay( 100 );

  // EEPROM Size
  EEPROM.begin(EEPROM_SIZE);
  
  // EEPROM Unique ID
  isUID();
  
  // Delay
  delay(100);

  // DFRobot Geiger
  geiger.start();

  // Delay
  delay(100);
  
  // DFRobot Display 240x320
  screen.begin();

  // Delay
  delay( 100 );

  // DFRobot Display 240x320 - UID
  // Don Luc Electronics
  // Version
  isDisplayUID();

  // Delay 5 Second
  delay( 5000 );

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Consultant, R&D, Electronics, IoT, Teacher and Instructor

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank , Underwater and UAV Vehicle
  • Unmanned Vehicles Terrestrial, Marine and UAV
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
DFRobot: https://learn.dfrobot.com/user-10186.html
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #29 – DFRobot – ESP32-P4 – Mk32

——

#DonLucElectronics #DonLuc #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

ESP32-P4

——

ESP32-P4

——

ESP32-P4

——

FireBeetle 2 ESP32-P4 AI

Unleash true 1080p edge AI and interactive HMI applications with the FireBeetle 2 ESP32-P4 Development Kit. This all-in-one solution is engineered around the powerful ESP32-P4: a dual-core RISC-V processor featuring a Single-Precision FPU and a professional-grade media engine with hardware-accelerated H.264 encoding (1080p@30fps). The kit provides both MIPI and parallel interfaces for maximum camera and display flexibility, while an onboard co-processor delivers next-generation Wi-Fi 6 and Bluetooth 5. To bring it all together, the included IO Expansion Board streamlines development, providing an effortless platform to create sophisticated projects like high-performance AI cameras, responsive smart displays, and other advanced vision systems.

DL2509Mk01

1 x FireBeetle 2 ESP32-P4 AI
1 x USB Battery Pack
1 x USB 3.1 Cable A to C

DL2509Mk01p

DL2508Mk01p.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #29 - DFRobot - ESP32-P4 - Mk32
29-32
DL2509Mk01p.ino
DL2509Mk01
1 x FireBeetle 2 ESP32-P4 AI
1 x USB Battery Pack
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// EEPROM Library to Read and Write EEPROM
// with Unique ID for Unit
#include "EEPROM.h"

// LED
int led = 3;

// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";

// Software Version Information
String sver = "25-12";

void loop() {

  // LED
  digitalWrite(led,HIGH);
  
  // Delay 3 Second
  delay(3000);

  // LED
  digitalWrite(led,LOW);

  // Delay 3 Second
  delay( 3000 );

}

getEEPROM.ino

// EEPROM
// isUID EEPROM Unique ID
void isUID() {
  
  // Is Unit ID
  uid = "";
  for (int x = 0; x < 7; x++)
  {
    uid = uid + char(EEPROM.read(x));
  }

}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay( 100 );

  // EEPROM Size
  EEPROM.begin(EEPROM_SIZE);
  
  // EEPROM Unique ID
  isUID();

  // Delay
  delay(100);

  // LED
  pinMode(led,OUTPUT);
    
  // Delay 1 Second
  delay( 1000 );

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Consultant, R&D, Electronics, IoT, Teacher and Instructor

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank , Underwater and UAV Vehicle
  • Unmanned Vehicles Terrestrial, Marine and UAV
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
DFRobot: https://learn.dfrobot.com/user-10186.html
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #30 – UNIHIKER – RTC – Mk18

——

#DonLucElectronics #DonLuc #RTC #UNIHIKER #Display #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

RTC

——

RTC

——

RTC

——

Gravity I2C SD2405 RTC module

We’re glad to introduce a new member in Gravity family: Gravity I2C SD2405 RTC module. This is an extremely accurate I2C Real Time Clock (RTC) with crystal compensation, inner chargeable battery. The SD2405AL is available in industrial temperature ranges.

The SD2405AL is dual power supply system. When the primary power supply goes down to an assigned value or resumes from low power, the system can switch between the primary power supply and battery automatically. Even there is no external power, it can still work for 5~8 years, 1uA ultra-low power consumption (inner battery.

The SD2405AL can generates various periodic interrupt clock pulses lasting for long period, and three alarm interrupts can be made by year, month, date, days of the week, hours, and minutes, seconds. It also provides a selectable 32.768 KHz~1Hz clock output for an external MCU. The product incorporates a time trimming circuit that adjusts the clock with higher precision by adjusting any errors in crystal oscillator frequencies based on signals from the CPU. A 12-bytes general SRAM is implemented in the SD2405AL.

DL2508Mk01

1 x UNIHIKER K10
1 x Gravity I2C SD2405 RTC module
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C

DL2508Mk01p

DL2508Mk01p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - RTC - Mk18
DL2508Mk01p.mp
DL2508Mk01
1 x UNIHIKER K10
1 x Gravity I2C SD2405 RTC module
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// Unihiker K10
#include "unihiker_k10.h"
// Gravity I2C SD2405 RTC module
DFRobot_DS0469 ds0469;
// Create an object
UNIHIKER_K10  k10;
// Screen
uint8_t screen_dir=2;

// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Canver
  k10.creatCanvas();
  // Gravity I2C SD2405 RTC module
  ds0469.begin();
  // Image
  k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1);

}
// Loop
void loop() {
	
  // Gravity I2C SD2405 RTC module
  k10.canvas->canvasText("Real Time Clock", 6, 0xFF0000);
  // RTC
  // Year
  k10.canvas->canvasText(ds0469.getTime(ds0469.YEAR), 7, 0x0000FF);
  // Month
  k10.canvas->canvasText(ds0469.getTime(ds0469.MONTH), 8, 0x0000FF);
  // Date
  k10.canvas->canvasText(ds0469.getTime(ds0469.DATE), 9, 0x0000FF);
  // Hour
  k10.canvas->canvasText(ds0469.getTime(ds0469.HOUR), 10, 0x0000FF);
  // Minute
  k10.canvas->canvasText(ds0469.getTime(ds0469.MINUTE), 11, 0x0000FF);
  // Seconds
  k10.canvas->canvasText(ds0469.getTime(ds0469.SECONDS), 12, 0x0000FF);
  // Update Canvas
  k10.canvas->updateCanvas();

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Consultant, R&D, Electronics, IoT, Teacher and Instructor

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #30 – UNIHIKER – Magnetic Sensor – Mk17

——

#DonLucElectronics #DonLuc #MagneticSensor #UNIHIKER #Display #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Magnetic Sensor

——

Magnetic Sensor

——

Magnetic Sensor

——

Gravity: Digital Magnetic Sensor

Detect nearby magnetic objects with this digital magnetic sensor, offering a 3.3 Volt-5 Volt range, easy interfaces, high quality connector, and compact size.

DL2507Mk01

1 x UNIHIKER K10
1 x Gravity: Digital Magnetic Sensor
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C

DL2507Mk01p

DL2507Mk01p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - Magnetic Sensor - Mk17
DL2507Mk01p.mp
DL2507Mk01
1 x UNIHIKER K10
1 x Gravity: Digital Magnetic Sensor
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// Unihiker K10
#include "unihiker_k10.h"
// Create an object
UNIHIKER_K10  k10;
// Screen
uint8_t screen_dir=2;

// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Canver
  k10.creatCanvas();
  // Gravity: Digital Magnetic Sensor
  pinMode(P0, INPUT);
  // Image
  k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1);

}
// Loop
void loop() {
	
  // Gravity: Digital Magnetic Sensor
  k10.canvas->canvasText("Magnetic Sensor", 6, 0xFF0000);
  // Magnetic
  k10.canvas->canvasText("Magnetic", 7, 0xFF0000);
  // Magnetic
  k10.canvas->canvasText(digitalRead(P0), 8, 0x0000FF);
  // Update Canvas
  k10.canvas->updateCanvas();

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Electronics, IoT, Teacher, Instructor, R&D and Consulting

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #14: Components – Vibration – Mk21

——

#DonLucElectronics #DonLuc #Vibration #DFRobot #Display #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Vibration

——

Vibration

——

Vibration

——

Mini Vibration Motor

Just as small as a fingernail, this 10*2.7mm mini vibration motor features a strong vibration, low noise, easy to embed, and long lifespan. Powered by voltage from 1.5V to 4.2V, it will vibrate once powered on, and the higher the voltage is, the faster the vibration frequency will be. It is widely applicable to projects like mobile phones, watches, facial massager, electric toys, etc.

DL2506Mk05

1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 3.5” 480×320 TFT LCD Capacitive Touchscreen
1 x GDL Line 10 CM
1 x Gravity: IO Shield for FireBeetle 2
1 x Terminal Block Board for FireBeetle 2 ESP32-E
1 x Mini Vibration Motor
1 x 1N4001 diode
1 x PN2222 Transistor
1 x 270 Ohm Resistor
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x SPDT Slide Switch
1 x USB 3.1 Cable A to C

FireBeetle 2 ESP32-E

VIB – D7
DC – D2
CS – D6
RST – D3
VIN – +3.3V
GND – GND

DL2506Mk05p

DL2506Mk05p.ino

/****** Don Luc Electronics © ******
Project #14: Components - Vibration - Mk21
14-21
DL2506Mk05p.ino
DL2506Mk05
1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 3.5” 480x320 TFT LCD Capacitive Touchscreen
1 x GDL Line 10 CM
1 x Gravity: IO Shield for FireBeetle 2
1 x Terminal Block Board for FireBeetle 2 ESP32-E
1 x Mini Vibration Motor
1 x 1N4001 diode
1 x PN2222 Transistor
1 x 270 Ω Resistor
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x SPDT Slide Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// EEPROM Library to Read and Write EEPROM
// with Unique ID for Unit
#include "EEPROM.h"
// Arduino
#include <Arduino.h>
// DFRobot Display GDL API
#include <DFRobot_GDL.h>

// Vibrating
int iVibratingPin = D7;
// Speed 0 => 1500
int iSpeed = 0;

// Defined ESP32
#define TFT_DC  D2
#define TFT_CS  D6
#define TFT_RST D3

/*dc=*/ /*cs=*/ /*rst=*/
// DFRobot Display 320x480
DFRobot_ILI9488_320x480_HW_SPI screen(TFT_DC, TFT_CS, TFT_RST);

// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";

// Software Version Information
String sver = "14-21";

void loop() {

  // isVibrating
  isVibrating();
  
  // Display Vibration
  isDisplayVibration();
 
  delay(100);
  
}

getDisplay.ino

// DFRobot Display 3.5” 480x320
// DFRobot Display 3.5” 480x320 - UID
void isDisplayUID(){

  // DFRobot Display 240x320
  // Text Display
  // Text Wrap
  screen.setTextWrap(false);
  // Rotation
  screen.setRotation(3);
  // Fill Screen => black
  screen.fillScreen(0x0000);
  // Text Color => white
  screen.setTextColor(0xffff);
  // Font => Free Sans Bold 12pt
  screen.setFont(&FreeSansBold12pt7b);
  // TextSize => 1.5
  screen.setTextSize(1.5);
  // Don Luc Electronics
  screen.setCursor(0, 30);
  screen.println("Don Luc Electronics");
  // SD
  screen.setCursor(0, 60);
  screen.println("Vibration");
  // Version
  screen.setCursor(0, 90);
  screen.println("Version");
  screen.setCursor(0, 120);
  screen.println( sver );
  // EEPROM
  screen.setCursor(0, 150);
  screen.println("EEPROM");
  screen.setCursor(0, 180);
  screen.println( uid );

}
// Display Vibration
void isDisplayVibration(){

  // DFRobot Display 240x320
  // Text Display
  // Text Wrap
  screen.setTextWrap(false);
  // Rotation
  screen.setRotation(3);
  // Fill Screen => white
  screen.fillScreen(0xffff);
  // Text Color => blue
  screen.setTextColor(0x001F);
  // Font => Free Sans Bold 12pt
  screen.setFont(&FreeSansBold12pt7b);
  // TextSize => 1.5
  screen.setTextSize(1.5);
  // EMG
  screen.setCursor(0, 30);
  screen.println("Don Luc Electronics");
  // EMG Value
  screen.setCursor(0, 80);
  screen.println("Vibrating");

}

getEEPROM.ino

// EEPROM
// isUID EEPROM Unique ID
void isUID() {
  
  // Is Unit ID
  uid = "";
  for (int x = 0; x < 7; x++)
  {
    uid = uid + char(EEPROM.read(x));
  }
  
}

getVibrating.ino

// Vibrating
// isVibrating
void isVibrating() {

    // Speed 0 => 1500
    iSpeed = 0;

    // Vibrating
    if (iSpeed >= 0 && iSpeed <= 1500)
    {
      
      analogWrite(iVibratingPin, iSpeed);
      
    }

}

setup.ino

// Setup
void setup()
{

  // Delay
  delay( 100 );
  
  // EEPROM Size
  EEPROM.begin(EEPROM_SIZE);
  
  // EEPROM Unique ID
  isUID();
  
  // Delay
  delay(100);

  // Vibrating Pin             
  pinMode(iVibratingPin, OUTPUT);

  // Delay
  delay(100);
  
  // DFRobot Display 3.5” 480x320
  screen.begin();

  // // DFRobot Display 3.5” 480x320
  // Don Luc Electronics
  // Vibrating
  // Version
  // EEPROM
  isDisplayUID();

  // Delay 5 Second
  delay( 5000 );

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Electronics, IoT, Teacher, Instructor, R&D and Consulting

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #30 – UNIHIKER – Heart Rate Sensor – Mk16

——

#DonLucElectroniRcs #DonLuc #HeartRate #UNIHIKER #Display #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Heart Rate Sensor

——

Heart Rate Sensor

—–

Heart Rate Sensor

——

Heart Rate Sensor

The DFRobot heart rate sensor is a thumb-sized heart rate monitor designed for microcontrollers. It includes a Gravity interface, for easy plug-and-play connectivity. This sensor is a pulse sensor which is developed based on PPG (PhotoPlethysmoGraphy) techniques. This is a simple and low-cost optical technique that can be used to detect blood volume changes in the microvascular bed of tissues. It is relatively easy to detect the pulsatile component of the cardiac cycle according to this theory. The sensor has two holes that you can use to attach to your belt. You can wrap on your finger, wrist, earlobe or other areas where it has contact with skin. The heart sensor has two kinds of signal output mode: analog pulse mode and digital square wave mode. You can change its output mode using the dial switch. There are many user scenarios, including education, sports or maker/interactive projects.

DL2506Mk03

1 x UNIHIKER K10
1 x Gravity: PPG Heart Rate Monitor Sensor
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C

DL2506Mk03p

DL2506Mk03p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - Heart Rate Sensor - Mk16
DL2506Mk03p.mp
DL2506Mk03
1 x UNIHIKER K10
1 x Gravity: PPG Heart Rate Monitor Sensor
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// Unihiker K10
#include "unihiker_k10.h"
// Gravity: PPG Heart Rate Monitor Sensor
#include <DFRobot_Heartrate.h>

// Create an object
UNIHIKER_K10  k10;
// Screen
uint8_t screen_dir=2;
// Gravity: PPG Heart Rate Monitor Sensor
DFRobot_Heartrate heartrate;

// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Canver
  k10.creatCanvas();
  // Gravity: PPG Heart Rate Monitor Sensor
  heartrate.begin(DIGITAL_MODE);
  // Image
  k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1);

}
// Loop
void loop() {
	
  // Heart Rate Senso
  k10.canvas->canvasText("Heart Rate Sensor", 6, 0xFF0000);
  // BPM
  k10.canvas->canvasText("BPM", 7, 0xFF0000);
  // Heart Rate
  k10.canvas->canvasText(heartrate.getRate(P0), 8, 0x0000FF);
  // Update Canvas
  k10.canvas->updateCanvas();

}

People can contact us: https://www.donluc.com/?page_id=1927

Electronics, IoT, Teacher, Instructor, R&D and Consulting

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #15: Environment – Temperature and Humidity – Mk31

——

#DonLucElectronics #DonLuc #DHT11 #ESP32 #Arduino #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant

——

Temperature and Humidity

——

Temperature and Humidity

——

Temperature and Humidity

——

3.5” 320×480 ESP32 LCD Touch Display

This 3.5“ display is a high-performance development module integrates the ESP32 WROOM 32E module. It has powerful development capabilities and rich resources, providing great convenience for developers. It is equipped with a 3.5-inch screen with a resolution of 320 x 480 and supports rich color display of up to 262K colors (RGB666), ensuring clear images and bright colors. The module provides a variety of interfaces, including SPI, UART, etc., which are convenient for connecting various peripherals to meet diverse development needs.

In addition, it supports external speakers to play audio, has its own RGB three-color indicator for rich status indication, and is also equipped with a resistive touch screen for convenient human-computer interaction. It uses a standard TYPE-C interface to facilitate program downloads and power supply, and comes with a micro TF card slot for easy expansion of storage space. It supports external lithium batteries, is lightweight and portable, and has a built-in battery charging management circuit to ensure safe battery charging and discharging. We also provide a wealth of sample programs and technical support to help developers get started quickly. It is suitable for smart home, industrial control and maker projects.

Crowtail – Temperature and Humidity Sensor 2.0

This module can help you detect the temperature and humidity of the environment of your house. The module contains a DHT11 temperature and humidity sensor that is a complex sensor with a calibrated digital signal out. It uses digital module acquisition technology and the temperature and humidity sensor technology. The sensor consists of a resistance-type moisture element and an NTC temperature measuring element. Because of the single-wire serial interface, it is easy to use the module.

DL2506Mk02

1 x 3.5” 320×480 ESP32 LCD Touch Display
1 x Crowtail – Temperature and Humidity Sensor 2.0
1 x USB Battery Pack
1 x USB 3.1 Cable A to C

3.5” ESP32 LCD Touch Display

DHT – 25
VIN – +3.3V
GND – GND

DL2506Mk02p

DL2506Mk02p.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #15: Environment - Temperature and Humidity - Mk31
DL2506Mk02p.ino
DL2506Mk02
1 x 3.5” 320x480 ESP32 LCD Touch Display
1 x Crowtail - Temperature and Humidity Sensor 2.0
1 x USB Battery Pack
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// EEPROM library to read and write EEPROM with unique ID for unit
#include "EEPROM.h"
// TFT Display
#include <TFT_eSPI.h>
// SPI
#include <SPI.h>
// Temperature and Humidity
#include "DHT.h"

// TFT Display
// Invoke custom library with default width and height
// (320x480)
TFT_eSPI tft = TFT_eSPI();
int xpos =  0;
int ypos = 40;

// Temperature and Humidity
// DHT 11 
#define DHTTYPE DHT11
#define DHTPIN 25
DHT dht(DHTPIN, DHTTYPE);
// Temperature
float t;
// Humidity
float h;

// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";

// Software Version Information
String sver = "15-31";

void loop() {

  
  // Temperature and Humidity
  // isDHT
  isDHT();

  // Display Temperature and Humidity
  isDisplayDHT();

  // Delay
  delay( 1000 );

}

getDHT.ino

// Temperature and Humidity
// DHT
// isDHT
void isDHT(){

  // Temperature and Humidity
  // Temperature
  t = dht.readTemperature();
  // Humidity
  h = dht.readHumidity();
  
}

getDisplay.ino

// getDisplay
// 3.5” 320x480 ESP32 LCD Touch Display
// Display UID
void isDisplayUID(){

  // x and y Coordinate 
  xpos =  0;
  ypos = 40;
  
  // TFT Display
  // Clear screen to navy background
  tft.fillScreen(TFT_NAVY);
  
  // Don Luc Electronics
  // TextSize
  tft.setTextSize(1);
  // Text Color
  tft.setTextColor(TFT_YELLOW, TFT_BLUE);
  // Fill Rectangle
  tft.fillRect(0, 0, 350, 30, TFT_BLUE);
  // Font datum
  tft.setTextDatum(TC_DATUM);
  // Draw String
  tft.drawString("Don Luc Electronics", 160, 2, 4);

  // Text Color
  tft.setTextColor(TFT_YELLOW, TFT_BLACK);
  // Set cursor near top left corner of screen
  tft.setCursor(xpos, ypos);

  // TFT Display
  // TextSize
  tft.setTextSize(2);
  // Move cursor down a line
  tft.println();
  
  // Software Version Information
  tft.print("Version: ");
  tft.println( sver );
  // Move cursor down a line
  tft.println();
  tft.println();

  // EEPROM
  tft.print("EEPROM: ");
  tft.println( uid );

}
// Display Temperature and Humidity
void isDisplayDHT(){

  // x and y Coordinate 
  xpos =  0;
  ypos = 40;
  
  // TFT Display
  // Clear screen to navy background
  tft.fillScreen(TFT_NAVY);
  
  // Don Luc Electronics
  // TextSize
  tft.setTextSize(1);
  // Text Color
  tft.setTextColor(TFT_YELLOW, TFT_BLUE);
  // Fill Rectangle
  tft.fillRect(0, 0, 350, 30, TFT_BLUE);
  // Font datum
  tft.setTextDatum(TC_DATUM);
  // Draw String
  tft.drawString("Don Luc Electronics", 160, 2, 4);

  // Text Color
  tft.setTextColor(TFT_YELLOW, TFT_BLACK);
  // Set cursor near top left corner of screen
  tft.setCursor(xpos, ypos);

  // TFT Display
  // TextSize
  tft.setTextSize(2);
  // Move cursor down a line
  tft.println();

  // Temperature
  tft.print("Temperature: ");
  tft.print( t );
  tft.println( " C" );
  tft.println();

  // Humidity
  tft.print("Humidity: ");
  tft.print( h );
  tft.println( " %" );
  
}

getEEPROM.ino

// EEPROM
// isUID EEPROM Unique ID
void isUID() {
  
  // Is Unit ID
  uid = "";
  for (int x = 0; x < 7; x++)
  {
    uid = uid + char(EEPROM.read(x));
  }
  
}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay(100);

  // EEPROM Size
  EEPROM.begin(EEPROM_SIZE);
  
  // isUID EEPROM Unique ID
  isUID();
  
  // Delay
  delay(100);

  // TFT Display
  tft.begin();
  // Rotation
  tft.setRotation(2);

  // Delay
  delay(100);

  // Temperature and Humidity
  dht.begin();

  // Delay
  delay( 100 );

  // Display UID
  isDisplayUID();
  
  // Delay 10 Second
  delay( 10000 );

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Electronics, IoT, Teacher, Instructor, R&D and Consulting

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #30 – UNIHIKER – AI-Face Recognition – Mk15

——

#DonLucElectroniRcs #DonLuc #AIFaceRecognition #UNIHIKER #Display #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

AI-Face Recognition

——

AI-Face Recognition

——

AI-Face Recognition

——

AI-Face Recognition

AI face recognition uses artificial intelligence and machine learning algorithms to identify individuals based on their facial features. Press button A to learn the face and green LED on; press button B to recognize the face and blue LED on, and display the recognized face ID on the K10 screen.

DL2506Mk01

1 x UNIHIKER K10
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C

DL2506Mk01p

DL2506Mk01p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - AI-Face Recognition - Mk15
DL2506Mk01p.mp
DL2506Mk01
1 x UNIHIKER K10
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// Unihiker K10
#include "unihiker_k10.h"
// AT Recognition
#include "AIRecognition.h"

// Dynamic variables
// ID
String mind_s_ID;
// Function declaration
// Button A Pressed
void onButtonAPressed();
// Button B Pressed
void onButtonBPressed();

// Create an object
UNIHIKER_K10  k10;
// Screen
uint8_t screen_dir=2;
// AI Recognition
AIRecognition ai;

// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Init AI
  ai.initAi();
  // Init Camera Imager
  k10.initBgCamerImage();
  // Set Camera Imager
  k10.setBgCamerImage(false);
  // Canver
  k10.creatCanvas();
  // Switch AI Mode
  ai.switchAiMode(ai.NoMode);
  // Button A
  k10.buttonA->setPressedCallback(onButtonAPressed);
  // // Button B
  k10.buttonB->setPressedCallback(onButtonBPressed);
  // Set Camera Image
  k10.setBgCamerImage(true);
  // Caver Text
  k10.canvas->canvasText("AI Face Recognition", 1, 0xFF0000);
  // Switch AI Mode
  ai.switchAiMode(ai.Face);

}
// Loop
void loop() {
	
  // Detect Content AI Recognized
  if (ai.isRecognized()) {

     // ID
     mind_s_ID = ai.getRecognitionID();
     ?? Face ID
     k10.canvas->canvasText((String("Face ID: ") + String(mind_s_ID)), 0, 150, 0x0000FF, k10.canvas->eCNAndENFont24, 50, true);
     // Update Canvas
     k10.canvas->updateCanvas();

  }

  // Delay
  delay(3000);

}

// Event callback function
// Button A Pressed
void onButtonAPressed() {
	
  // RGB Write
  k10.rgb->write(-1, 0x00FF00);
  // Send Face
  ai.sendFaceCmd(ENROLL);

}

// Button B Pressed
void onButtonBPressed() {

  // RGB Write
  k10.rgb->write(-1, 0x0000FF);
  // Send Face
  ai.sendFaceCmd(RECOGNIZE);

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Electronics, IoT, Teacher, Instructor, R&D and Consulting

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Project #30 – UNIHIKER – AI-Face Detection – Mk14

——

#DonLucElectronics #DonLuc #AIFaceDetection #UNIHIKER #Display #IoT #Project #DFRobot #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

AI-Face Detection

——

AI-Face Detection

——

AI-Face Detection

——

AI-Face Detection

A facial recognition system is a technology potentially capable of matching a human face from a digital image or a video frame against a database of faces. Such a system is typically employed to authenticate users through ID verification services, and works by pinpointing and measuring facial features from a given image. Turn on the camera, detect the face, and display the detected face length and width, as well as center point x and center point y coordinates, on the K10 screen.

DL2505Mk04

1 x UNIHIKER K10
1 x Lithium Ion Battery – 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C

DL2505Mk04p

DL2505Mk04p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - AI-Face Detection - Mk14
DL2505Mk04p.mp
DL2505Mk04
1 x UNIHIKER K10
1 x Lithium Ion Battery - 1000mAh
1 x Switch
1 x USB 3.1 Cable A to C
*/

// Include the Library Code
// Unihiker K10
#include "unihiker_k10.h"
// AT Recognition
#include "AIRecognition.h"

// Create an object
UNIHIKER_K10  k10;
// Screen
uint8_t screen_dir=2;
// AI Recognition
AIRecognition ai;

// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Init AI
  ai.initAi();
  // Init Camera Imager
  k10.initBgCamerImage();
  // Set Camera Imager
  k10.setBgCamerImage(false);
  // Canver
  k10.creatCanvas();
  // Switch AI Mode
  ai.switchAiMode(ai.NoMode);
  // Set Camera Image
  k10.setBgCamerImage(true);
  // Caver Text
  k10.canvas->canvasText("AI Face", 1, 0xFF0000);
  // Switch AI Mode
  ai.switchAiMode(ai.Face);

}
// Loop
void loop() {
	
  // Detect Content AI Face
  if (ai.isDetectContent(AIRecognition::Face)) {
    
      // Text Face Lengh
      k10.canvas->canvasText((String("Face Lengh: ") + String(ai.getFaceData(AIRecognition::Length))), 0, 45, 0x00FF00, k10.canvas->eCNAndENFont16, 50, true);
      // Text Face Width
      k10.canvas->canvasText((String("Face Width: ") + String(ai.getFaceData(AIRecognition::Width))), 0, 65, 0x00FF00, k10.canvas->eCNAndENFont16, 50, true);
      // Text Face Center X
      k10.canvas->canvasText((String("Face Center X: ") + String(ai.getFaceData(AIRecognition::CenterX))), 0, 85, 0x00FF00, k10.canvas->eCNAndENFont16, 50, true);
      // Text Face Center Y
      k10.canvas->canvasText((String("Face Center Y: ") + String(ai.getFaceData(AIRecognition::CenterY))), 0, 105, 0x00FF00, k10.canvas->eCNAndENFont16, 50, true);
      // Update Canvas
      k10.canvas->updateCanvas();
  }
  // Delay
  delay(3000);

}

People can contact us: https://www.donluc.com/?page_id=1927

Electronics, IoT, Teacher, Instructor, R&D and Consulting

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2024
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/
Patreon: https://patreon.com/DonLucElectronics59
DFRobot: https://learn.dfrobot.com/user-10186.html
Hackster.io: https://www.hackster.io/neosteam-labs
Elecrow: https://www.elecrow.com/share/sharepj/center/no/760816d385ebb1edc0732fd873bfbf13
TikTok: https://www.tiktok.com/@luc.paquin8
Twitch: https://www.twitch.tv/lucpaquin
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc