Project #30 – UNIHIKER – AI-QR Code Scanner – Mk13

——

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

——

AI-QR Code Scanner

——

AI-QR Code Scanner

——

AI-QR Code Scanner

——

AI-QR Code Scanner

A QR Code is a type of two-dimensional matrix barcode invented in 1994 by Masahiro Hara of Japanese company Denso Wave for labelling automobile parts. It features black squares on a white background with fiducial markers, readable by imaging devices like cameras, and processed using Reed–Solomon error correction until the image can be appropriately interpreted. The required data is then extracted from patterns that are present in both the horizontal and the vertical components of the QR image.

Whereas a barcode is a machine-readable optical image that contains information specific to the labeled item, the QR code contains the data for a locator, an identifier, and web-tracking. To store data efficiently, QR codes use four standardized modes of encoding: numeric, alphanumeric, byte or binary, and kanji.

DL2505Mk03

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

DL2505Mk03p

DL2505Mk03p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - AI-QR Code Scanner - Mk13
DL2505Mk03p.mp
DL2505Mk03
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("QR Code", 1, 0x0000FF);
  // Switch AI Mode
  ai.switchAiMode(ai.Code);

}
// Loop
void loop() {
	
  // Detect Content AI Recognition
  if (ai.isDetectContent(AIRecognition::Code)) {

    // Text
    k10.canvas->canvasText(ai.getQrCodeContent(), 7, 0x00FF00);
    // 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 #30 – UNIHIKER – AI Motion – Mk12

——

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

——

AI Motion

——

AI Motion

——

AI Motion

—–

AI Motion Sensing

AI Motion Sensing scan text for clues that hint at AI involvement. They analyze sentence structure, predictability, and writing patterns using machine learning models trained on both human-written and AI-generated text. Some even go a step further by checking metadata or comparing content to known AI outputs.

Sets the motion detection sensitivity, the larger the setting value, the more sensitive the detection of motion, the range is 0-100. If you do not set the sensitivity when using motion detection, the default is 50.

DL2505Mk02

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

——

DL2505Mk02p

DL2505Mk02p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - Ambient Light - Mk12
DL2505Mk02p.mp
DL2505Mk02
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-Motion Detection", 1, 0x0000FF);
  // Switch AI Mode
  ai.switchAiMode(ai.Move);
  // Set Detection Threshold
  ai.setMotinoThreshold(30);
  // RGB
  k10.rgb->write(-1, 0x0000FF);

}
// Loop
void loop() {
	
  // Detect Content AI Recognition
  if (ai.isDetectContent(AIRecognition::Move)) {
		
    k10.rgb->write(-1, 0xFF0000);

  } else {
		
     k10.rgb->write(-1, 0x0000FF);

  }

}

——

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 #12: Robotics – Vibration – Mk29

——

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

——

Vibration

——

Vibration

——

Vibration

——

Crowtail – Vibration Sensor 2.0

The Crowtail- Vibration Sensor is Used to trigger the effect of various vibration with normally closed type vibration sensor SW – 420. It is widely used to reported the theft alarm, intelligent car, earthquake alarm, motorcycle alarm, etc. This module is compared with the normally open type vibration sensor module, vibration trigger for longer periods of time, can drive the relay module.

  • 1. The product is not vibration, vibration switch is closed on state, output output low level, the green light is lit;
  • 2. When product vibration, the vibration switch instantaneous disconnection, output, output level green light is not bright;
  • 3. The output can be attached directly to the single chip microcomputer, through single chip microcomputer to detect the high and low level, thus to detect if there is a vibration environment, report to the police;

DL2505Mk01

1 x Crowduino Uno – SD
1 x Crowtail – Base Shield
1 x Crowtail – I2C LCD
1 x Crowtail – Vibration Sensor 2.0
1 x Crowtail – Buzzer 2.0
1 x Crowtail – LED(Green)
1 x USB Battery Pack
1 x USB Mini-B Cable

Crowduino Uno – SD

SCL – A5
SDA – A4
BUZ – 4
VIB – 5
LED – 6
VIN – +5V
GND – GND

DL2505Mk01p

DL2505Mk01p.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #12: Robotics - Vibration - Mk29
DL2505Mk01p.ino
DL2505Mk01
1 x Crowduino Uno - SD
1 x Crowtail - Base Shield
1 x Crowtail - I2C LCD
1 x Crowtail - Vibration Sensor 2.0
1 x Crowtail - Buzzer 2.0
1 x Crowtail - LED(Green)
1 x USB Battery Pack
1 x USB Mini-B Cable
*/

// Include the Library Code
// EEPROM library to read and write EEPROM with unique ID for unit
#include <EEPROM.h>
// Wire
#include <Wire.h>
// Liquid Crystal
#include "LiquidCrystal.h"

// Vibration
int iVibrationPin = 5;
int iVibrationState = 0;
String ZZ = "";

// Buzzer
int iBuzzer =  4;

// Liquid Crystal
// Connect via i2c
LiquidCrystal lcd(0);

// LED Green
int iLEDGreen = 6;

// EEPROM Unique ID Information
String uid = "";

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

void loop() {

  // isVibration
  isVibration();

  // Display Vibration
  isDisplayVibration();

  // Delay
  delay( 50 );

}

getDisplay.ino

// getDisplay
// Crowbits - OLED 128X64 UID
// Display UID
void isDisplayUID(){

  // Set up the LCD's number of rows and columns: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  // Cursor
  lcd.setCursor(0, 0);
  lcd.print("Don Luc Electron");
  // Cursor
  lcd.setCursor(0, 1);
  // Print a message to the LCD.
  lcd.print( sver );

}
// Display Vibration
void isDisplayVibration(){

  // Clear
  lcd.clear();
  // Set the cursor to column 0, line 0
  lcd.setCursor(0, 0);
  lcd.print( "Vibration" );
  // Set the cursor to column 0, line 1
  lcd.setCursor(0, 1);
  lcd.print( ZZ );

}

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));
  }
  
}

getVibration.ino

// Vibration
// isVibration
void isVibration(){

  // Vibration
  iVibrationState = digitalRead(iVibrationPin);
  // Check if the vibration sensor is vibrating.
  // If it is, the vibrationState is LOW:
  if (iVibrationState == LOW) {     
       
    // Turn LED on:
    // LED Green
    digitalWrite(iLEDGreen, HIGH);  
    // Buzzer On
    digitalWrite(iBuzzer, HIGH);
    // High
    ZZ = "High";
    
  } else {
    
    // Turn LED off:
    digitalWrite(iLEDGreen, LOW);
    // Buzzer Off
    digitalWrite(iBuzzer, LOW); 
    // Low
    ZZ = "Low";
      
  }

}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay(100);
  
  // isUID EEPROM Unique ID
  isUID();
  
  // Delay
  delay(100);

  // Initialize the LED Green
  pinMode(iLEDGreen, OUTPUT);
  // LED Green
  digitalWrite(iLEDGreen, LOW);

  // Delay
  delay(100);

  // Vibration 
  pinMode(iVibrationPin, INPUT);
  
  // Buzzer
  pinMode(iBuzzer, OUTPUT);
  // Buzzer Off
  digitalWrite(iBuzzer, LOW);
  // Low
  ZZ = "Low";

  // Delay
  delay( 100 );

  // Display UID
  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 – Ambient Light – Mk11

——

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

——

Ambient Light

——

Ambient Light

——

Ambient Light

——

LITE-ON Technology – Ambient Light Sensor

The LTR-303ALS-01 is a low voltage I2C digital light sensor [ALS] in a low cost miniature chipled lead-free surface mount package. This sensor converts light intensity to a digital output signal capable of direct I2C interface. It provides a linear response over a wide dynamic range from 0.01 lux to 64k lux and is well suited to applications under high ambient brightness.

Gravity: Analog Ambient Light Sensor

This Gravity: Analog ambient light sensor can assist you in detecting light density and provide an analog voltage signal to the controller as feedback. Additionally, you have the ability to trigger other components within your project by setting voltage thresholds.

DL2504Mk06

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

DL2504Mk06p

DL2504Mk06p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - Ambient Light - Mk11
DL2504Mk06p.mp
DL2504Mk06
1 x UNIHIKER K10
1 x Gravity: Analog Ambient Light 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"
// Arduino Image Cache
#include "arduino_image_cache.h"

// Create an object
// UNIHIKER K10
UNIHIKER_K10 k10;
// Screen
uint8_t screen_dir=2;

// Software Version Information 30-09
// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Canvas
  k10.creatCanvas();

}
// Loop
void loop() {

  // Draw Bitmap
  k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1);
  // Text Read Light
  k10.canvas->canvasText("Read Light (lx)", 6, 0x330000);
  // Read Light
  k10.canvas->canvasText(k10.readALS(), 7, 0x0000FF);
  // Text Ambient Light
  k10.canvas->canvasText("Ambient Light (lx)", 8, 0x330000);
  // Ambient Light
  k10.canvas->canvasText(analogRead(P0), 9, 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 #30 – UNIHIKER – SC7A20 – Mk10

——

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

——

SC7A20

——

SC7A20

——

SC7A20

——

Triaxial Acceleration Sensor(SC7A20H)

The SC7A20 is an acceleration sensor IC, which features abundant functions, low power dissipation, small size, and precision measurement. It communicates with MCU through I²C/SPI interface, the acceleration measurement data can be accessed in interrupt mode or inquiry mode. INT1 and INT2 provide many auto-detected interrupt signals which are suitable to many motion detection fields, interrupt source include 6D/4D direction detection interrupt signal, free fall detection interrupt signal, sleep and wake up detection interrupt signal, and single/double click detection interrupt signal. A high-precision calibration module is available within the IC to accurately compensate the senor’s offset error and gain error. It has dynamically user selectable full scales of ±2G / ±4G / ±8G / ±16G and it is capable of measuring accelerations with output data rates from 1Hz to 400Hz.

DL2504Mk05

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

DL2504Mk05p

DL2504Mk05p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - SC7A20H - Mk10
DL2504Mk05p.mp
DL2504Mk05
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"
// Arduino Image Cache
#include "arduino_image_cache.h"

// Create an object
// UNIHIKER K10
UNIHIKER_K10 k10;
// Screen
uint8_t screen_dir=2;

// Software Version Information 30-09
// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Canvas
  k10.creatCanvas();

}
// Loop
void loop() {

  // Draw Bitmap
  k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1);
  // Text Acceleration X
  k10.canvas->canvasText("Acceleration X", 6, 0x330000);
  // Acceleration X
  k10.canvas->canvasText((k10.getAccelerometerX()), 7, 0x0000FF);
  // Text Acceleration Y
  k10.canvas->canvasText("Acceleration Y", 8, 0x330000);
  // Acceleration Y
  k10.canvas->canvasText((k10.getAccelerometerY()), 9, 0x0000FF);
  // Text Acceleration Z
  k10.canvas->canvasText("Acceleration Z", 10, 0x330000);
  // Acceleration Z
  k10.canvas->canvasText((k10.getAccelerometerZ()), 11, 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 #12: Robotics – MOSFET – Mk28

——

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

——

MOSFET

——

MOSFET

——

MOSFET

——

Crowtail – MOSFET

Crowtail – MOSFET enables you to control higher voltage project, say 50 Volt DC, with low voltage, say 5 Volt, on microcontroller. MOSFET is also a kind of switch. There are two screw terminals on the board. One for input power source and the other for device you want to control. Crowtail – MOSFET will pass the power from one end to another when closed. But if outer power source is absent, your device can still draw power from microcontroller via the Crowtail interface.

Crowtail – Mini Fan 2.0

This is a Crowtail mini fan with the mini motor driver which use the whole analog circuit.

DL2504Mk04

1 x Crowduino Uno – SD
1 x Crowtail – Base Shield
1 x Crowtail – I2C LCD
1 x Crowtail – MOSFET 2.0
1 x Crowtail – Mini Fan 2.0
1 x 2 AAA Battery Holder with On/Off Switch
1 x Crowtail – Rotary Angle Sensor 2.0
1 x Crowtail – LED(Green)
1 x USB Battery Pack
1 x USB Mini-B Cable

Crowduino Uno – SD

SCL – A5
SDA – A4
POT – A0
MOS – 5
LEDG – 6
VIN – +5V
GND – GND

DL2504Mk04p

DL2504Mk04.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #12: Robotics - MOSFET - Mk28
DL2504Mk04p.ino
DL2504Mk04
1 x Crowduino Uno - SD
1 x Crowtail - Base Shield
1 x Crowtail - I2C LCD
1 x Crowtail - MOSFET 2.0
1 x Crowtail - Mini Fan 2.0
1 x Crowtail - Rotary Angle Sensor 2.0
1 x Crowtail - LED(Green)
1 x USB Battery Pack
1 x USB Mini-B Cable
*/

// Include the Library Code
// EEPROM library to read and write EEPROM with unique ID for unit
#include <EEPROM.h>
// Wire
#include <Wire.h>
// Liquid Crystal
#include "LiquidCrystal.h"

// MOSFET
int mosfetPin = 5;

// Liquid Crystal
// Connect via i2c
LiquidCrystal lcd(0);

// LED Green
int iLEDGreen = 6;

// Rotary Angle Sensor
int iPot = A1;
// Change Your Threshold Here
int Threshold = 0;
int zz = 0;

// EEPROM Unique ID Information
String uid = "";

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

void loop() {

  // isMOSFET
  isMOSFET();

  // Display MOSFET
  isDisplayMOSFET();

  // Delay
  delay( 500 );

}

getDisplay.ino

// getDisplay
// Crowbits - OLED 128X64 UID
// Display UID
void isDisplayUID(){

  // Set up the LCD's number of rows and columns: 
  lcd.begin(16, 2);
  // Print a message to the LCD.
  // Cursor
  lcd.setCursor(0, 0);
  lcd.print("Don Luc Electron");
  // Cursor
  lcd.setCursor(0, 1);
  // Print a message to the LCD.
  lcd.print( sver );

}
// Display MOSFET
void isDisplayMOSFET(){

  // Clear
  lcd.clear();
  // Set the cursor to column 0, line 0
  lcd.setCursor(0, 0);
  lcd.print( "MOSFET" );
  // Set the cursor to column 0, line 1
  lcd.setCursor(0, 1);
  lcd.print( zz );
  
}

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));
  }
  
}

getMOSFET.ino

// MOSFET
// isMOSFET
void isMOSFET(){

  // Rotary Angle Sensor
  // Threshold => 0~255
  zz = analogRead( iPot );
  Threshold = map( zz, 0, 1024, 0, 255);

  // MOSFET
  // Threshold
  analogWrite(mosfetPin, Threshold);

}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay(100);
  
  // isUID EEPROM Unique ID
  isUID();
  
  // Delay
  delay(100);

  // Initialize the LED Green
  pinMode(iLEDGreen, OUTPUT);
  // LED Green
  digitalWrite(iLEDGreen, HIGH);

  // Delay
  delay(100);

  // Rotary Angle Sensor
  pinMode(iPot, INPUT);
  
  // Delay
  delay(100);

  // Declare the motorPin as an OUTPUT:
  pinMode(mosfetPin, OUTPUT);

  // Delay
  delay( 100 );

  // Display UID
  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

Web – E-Commerce

——

#DonLucElectronics #DonLuc #Arduino #Python #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant

——

Web - E-Commerce

——

Web - E-Commerce

——

Web - E-Commerce

——

Web - E-Commerce

——

Web - E-Commerce

——

Web - E-Commerce

——

I have been blogging for over 20 years now in other venues and I thought that it was time to post my thought about what has been my main business for over 45 years. I started as a food-wine consultant back in the early 80’s. I was also active in the emerging field of computer graphics and animation at the time and also started to be more and more involved in the IT world as I had trained as a programmer at university. By the dawn of the 90’s I was a full time IT consultant, programmer, graphics, animation specialist. Then the industry changed rapidly with the event of the big Internet crash of the late 90’s and I became a software developer and launch my own line of products. Now I am back where I started and I am a Business, Electronics, IoT, Teacher, Instructor, R&D, Consulting, IT, Programmer, Hardware and Robotics specialist.

I have seen many trends come and go, good and bad, and lived through many major industry changes. I do deplore some of the current state of the industry, and applaud some of the new trends. Since my motto has always been to learn something new daily, and that a wasted day is one where you learn nothing new, I decided to share some of that hard-earned let’s call it “Wisdom” for lack of a better term.

I know that I am considered as a dinosaur in this business where you are considered old when you hit 25, but there are some of us old fogies at over twice that, that are still active and can still provide a full contribution to this or these fields.

Don Luc Electronics Websites that were thought to be useful to electronics engineers professionals, geek, hobbyists, hackers and makers. We are experts in designing and programming embedded systems using a wide variety of platforms and microcontrollers. The project will first be assembled on a breadboard. If there is enough demand either a PCB, or a kit BOM (Bill of Material), or a kit BOM soldered version, or kit BOM enclosures, or a kit BOM soldered version enclosures, and sold here.

Web E-Commerce

Online sales continue to grow. Last year, more than a fifth of all retail sales happened online, and eCommerce is a multi-trillion dollar market. So, if you have a small business, you should probably have a web store. The good news is that with the right tools, it’s easy for any small business to quickly start selling online. With one of the best eCommerce website builders, you can list your products, take payments, and handle shipping, all without leaving the comfort of your home office.

Facebook Marketplace
Amazon Marketplace
eBay Marketplace
Mercado Libre Marketplace
Etsy Marketplace
TikTok Shop
Craigslist
Shopify
Shop Pay
Patreon
PrestaShop
BigCommerce
Wix
WooCommerce (WordPress)
Squarespace
Paypal
Etc…

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 – AHT20 – Mk09

——

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

——

AHT20

——

AHT20

——

AHT20

——

AHT20 – Temperature and Humidity Sensor

The AHT20 is a high-precision but low-cost temperature and humidity sensor, which is equipped with an improved MEMS semiconductor capacitive humidity sensor element. It features standard I2C interface and a wide voltage supply of 2 Volt – 5 Volt. And with simple peripheral circuit, it performs stably even in harsh environments in the measuring range of -40 – +85 Celsius. This sensor can be widely used for measuring the environmental temperature and humidity of home electronic equipment, the temperature and humidity of automobiles and so on.

DL2504Mk03

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

DL2504Mk03p

DL2504Mk03p.mp

/****** Don Luc Electronics © ******
Software Version Information
Project #30 - UNIHIKER - AHT20 - Mk09
DL2504Mk03p.mp
DL2504Mk03
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"
// Arduino Image Cache
#include "arduino_image_cache.h"

// Create an object
// UNIHIKER K10
UNIHIKER_K10 k10;
// Screen
uint8_t screen_dir=2;
// AHT20
AHT20 aht20;

// Software Version Information 30-09
// Main program start
void setup() {
	
  // Begin
  k10.begin();
  // Init Screen
  k10.initScreen(screen_dir);
  // Canvas
  k10.creatCanvas();

}
// Loop
void loop() {

  // Draw Bitmap
  k10.canvas->canvasDrawBitmap(0,0,240,320,image_data1);
  // Text TEMPERATURE (C)
  k10.canvas->canvasText("TEMPERATURE (C)", 6, 0x330000);
  // Text AHT20 TempC
  k10.canvas->canvasText(aht20.getData(AHT20::eAHT20TempC), 7, 0x0000FF);
  // Text HUMIDITY
  k10.canvas->canvasText("HUMIDITY", 8, 0x330000);
  // Text AHT20 HumiRH
  k10.canvas->canvasText(aht20.getData(AHT20::eAHT20HumiRH), 9, 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 #30 – UNIHIKER – UNIHIKER K10 – Mk08

——

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

——

UNIHIKER K10

——

UNIHIKER K10

——

UNIHIKER K10

Mindplus or MicroPython or Arduino IDE

UNIHIKER K10 is an AI learning device designed for education, serving as STEM AI kit and TinyML education kit for teens. It integrates a 2.8-inch color screen, Wi-Fi, Bluetooth, a camera, microphone, speaker, RGB light, temperature sensor, humidity sensor, light sensor, and accelerometer. Featuring edge connectors and Gravity IO interfaces, it enables the connection and control of various digital, analog, I2C, and UART sensors and actuators, making it perfect for IoT programming for beginners.

With its rich onboard resources, the UNIHIKER K10 eliminates the need for additional devices during learning and project development. It supports sensor control, IoT applications, and AI projects such as face detection and offline voice recognition, all in one compact device.

Core

  • MCU Module: ESP32-S3 N16R8
  • Processor:Xtensa® LX7
  • Dual core 32-bit up to 240 MHz
  • SRAM: 512KB
  • ROM: 384KB
  • Flash: 16MB
  • PSRAM: 8MB
  • RTC SRAM: 16KB
  • Wi-Fi Specification: IEEE 802.11b/g/n
  • Frequency: 2.4G
  • Band width: 20MHz, 40MHz
  • Bluetooth Specification: Bluetooth 5, Bluetooth mesh
  • Frequency: 125 Kbps, 500 Kbps, 1 Mbps, 2 Mbps

On-Board Component

  • Temperature and Humidity Sensor (AHT20)
  • Ambient Light Sensor (LTR303ALS)
  • Triaxial Acceleration Sensor (SC7A20H)
  • Display 2.8 inch, 240 x 320, Colored, LCD, (ILI9341)
  • Camera 2MP, 80°FOV, (GC2145)
  • A, B, RST,BOOT button A, B, RST,BOOT button
  • MEMS MIC, MEMS MIC x 2
  • Speaker Power, 2W
  • WS2812 RGB LED WS2812 RGB LED x 3

Interface

  • On-board interface USB-C power/program upload interface
  • 2 Pin PH2.0 battery
  • 3 Pin PH2.0 Full function GPIO x 2
  • 4 Pin PH2.0 I2C
  • Self-ejecting TF card slot
  • EdgeConnector Full function GPIO x 2
  • I2C x 1
  • Digital IO x 15
  • DL2504Mk02

    1 x UNIHIKER K10
    1 x USB Battery Pack
    1 x USB 3.1 Cable A to C

    ——

    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 – Serial Camera – Mk29

    ——

    #DonLucElectronics #DonLuc #Arduino #Camera #SD #RTC #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant

    ——

    Serial Camera

    ——

    Serial Camera

    ——

    Serial Camera

    ——

    Crowtail – Serial Camera

    The Crowtail Serial Camera is a JPEG color camera module easy for PC and MCU use. It has integrated image processing DSP to generate 320 x 240 or 640 x 480 JPEG images without thumbnail information, captured pictures will be stored in the internal buffer and transferred via UART port. The UART Can be configured to TTL or CMOS by hardware.

    • -Crowtail interface
    • -Default baud rate of the serial port is 38400
    • -640 x 480 or 320 x 240 resolution
    • -JPEG compressed image without Thumbnail Information
    • -5 Volt power supply

    DL2503Mk02

    1 x Crowduino Uno – SD
    1 x Crowtail – Base Shield
    1 x Crowtail – Serial Camera
    1 x Crowtail – Button 2.0
    1 x MicroSD Card 4 Gb
    1 x Crowtail – RTC 2.0
    1 x CR1220 Battery
    1 x Crowtail – LED(Green)
    1 x USB Battery Pack
    1 x USB Mini-B Cable

    Crowduino Uno – SD

    SCL – A5
    SDA – A4
    SCK – 12
    MISO – 11
    MOSI – 10
    CS – 4
    BUT – 9
    LEDG – 6
    VIN – +5V
    GND – GND

    DL2503Mk02p

    DL2503Mk02p.ino

    /****** Don Luc Electronics © ******
    Software Version Information
    Project #15: Environment – Serial Camera – Mk29
    DL2503Mk02p.ino
    DL2503Mk02
    1 x Crowduino Uno - SD
    1 x Crowtail - Base Shield
    1 x Crowtail - Serial Camera
    1 x Crowtail - Button 2.0
    1 x MicroSD Card 4 Gb
    1 x Crowtail - RTC 2.0
    1 x CR1220 Battery
    1 x Crowtail - LED(Green)
    1 x USB Battery Pack
    1 x USB Mini-B Cable
    */
    
    // Include the Library Code
    // EEPROM library to read and write EEPROM with unique ID for unit
    #include <EEPROM.h>
    // Wire
    #include <Wire.h>
    // Liquid Crystal
    #include "LiquidCrystal.h"
    // RTC (Real-Time Clock)
    #include "RTClib.h"
    // Secure Digital (SD Card)
    #include <SD.h>
    #include <SPI.h>
    // Serial Camera
    #include <Adafruit_VC0706.h>
    // Software Serial
    #include <SoftwareSerial.h>
    
    // Camera TX connected to pin 2
    // Camera RX to pin 3:
    SoftwareSerial cameraconnection = SoftwareSerial(2, 3);
    
    // Serial Camera
    Adafruit_VC0706 cam = Adafruit_VC0706(&cameraconnection);
    
    // Create an image with the name DLEPxxx.JPG
    char filename[13];
    
    // Secure Digital (SD Card)
    const int chipSelect = 4;
    String zzzzzz = "";
    
    // Button
    int iButton = 9;
    // Variable for reading the Button status
    int iButtonState = 0;
    
    // RTC (Real-Time Clock)
    RTC_DS1307 RTC;
    String dateRTC = "";
    String timeRTC = "";
    
    // Liquid Crystal
    // Connect via i2c
    LiquidCrystal lcd(0);
    
    // LED Green
    int iLEDGreen = 6;
    
    // EEPROM Unique ID Information
    String uid = "";
    
    // Software Version Information
    String sver = "15-29";
    
    void loop() {
    
      // RTC (Real-Time Clock)
      isRTC();
    
      // Display RTC
      isDisplayRTC();
    
      // Read the state of the Switch value
      iButtonState = digitalRead(iButton);
    
      // The Button is HIGH:
      if (iButtonState == HIGH) {
    
        // LED Green HIGH
        digitalWrite(iLEDGreen, HIGH);
    
        // Camera
        isCamera();
        
        // MicroSD Card
        isSD();
    
        // LED Green LOW
        digitalWrite(iLEDGreen, LOW);
    
      } else {
    
        // LED Green LOW
        digitalWrite(iLEDGreen, LOW);
    
      }
    
      // Delay
      delay( 500 );
    
    }
    

    getCamera.ino

    // Camera
    // Setup Camera
    void isSetupCamera(){
    
      // Setup Camera
      cam.begin();
      // Biggest
      cam.setImageSize(VC0706_640x480);
      
    }
    // is Camera
    void isCamera(){
    
      // Camera Snap
      cam.takePicture();
    
      // File Name
      strcpy(filename, "DLEP000.JPG");
      for (int i = 0; i < 1000; i++) {
        
        filename[4] = '0' + i/10;
        filename[5] = '0' + i/10;
        filename[6] = '0' + i%10;
        
        // create if does not exist, do not open existing, write, sync after write
        if (! SD.exists(filename)) {
          break;
        }
        
      }
      
      // Open the file for writing
      File imgFile = SD.open(filename, FILE_WRITE);
    
      // Get the size of the image (frame) taken  
      uint16_t jpglen = cam.frameLength();
    
      // Time
      int32_t time = millis();
      pinMode(8, OUTPUT);
      
      // Read all the data up to # bytes!
      byte wCount = 0; // For counting # of writes
      while (jpglen > 0) {
        
        // read 32 bytes at a time;
        uint8_t *buffer;
        uint8_t bytesToRead = min(32, jpglen); // change 32 to 64 for a speedup but may not work with all setups!
        buffer = cam.readPicture(bytesToRead);
        imgFile.write(buffer, bytesToRead);
        if(++wCount >= 64) { // Every 2K, give a little feedback so it doesn't appear locked up
          //Serial.print('.');
          wCount = 0;
        }
        //Serial.print("Read ");  Serial.print(bytesToRead, DEC); Serial.println(" bytes");
        jpglen -= bytesToRead;
        
      }
    
      // Close
      imgFile.close();
    
    }
    

    getDisplay.ino

    // getDisplay
    // Crowbits - OLED 128X64 UID
    // Display UID
    void isDisplayUID(){
    
      // Set up the LCD's number of rows and columns: 
      lcd.begin(16, 2);
      // Print a message to the LCD.
      // Cursor
      lcd.setCursor(0, 0);
      lcd.print("Don Luc Electron");
      // Cursor
      lcd.setCursor(0, 1);
      // Print a message to the LCD.
      lcd.print( sver );
    
    }
    // Display RTC
    void isDisplayRTC(){
    
      // Clear
      lcd.clear();
      // Set the cursor to column 0, line 0
      lcd.setCursor(0, 0);
      lcd.print( dateRTC );
      // Set the cursor to column 0, line 1
      lcd.setCursor(0, 1);
      lcd.print( timeRTC );
      
    }
    

    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));
      }
      
    }
    

    getRTC.ino

    // RTC (Real-Time Clock)
    // Setup RTC
    void isSetupRTC(){
    
      // RTC (Real-Time Clock)
      RTC.begin();
    
      // RTC Running
      if (! RTC.isrunning()) {
        
        // following line sets the RTC to the date & time
        //this sketch was compiled
        RTC.adjust(DateTime(__DATE__, __TIME__));
        // This line sets the RTC with an explicit date & time, for example to set
        // January 21, 2014 at 3am you would call:
        // RTC.adjust(DateTime(2014, 1, 21, 3, 0, 0))
        
      }
      
    }
    // RTC (Real-Time Clock)
    void isRTC(){
    
      // RTC (Real-Time Clock)
      DateTime now = RTC.now();
      
      // Date
      dateRTC = now.year(), DEC; 
      dateRTC = dateRTC + "/";
      dateRTC = dateRTC + now.month(), DEC;
      dateRTC = dateRTC + "/";
      dateRTC = dateRTC + now.day(), DEC;
      
      // Time
      timeRTC = now.hour(), DEC;
      timeRTC = timeRTC + ":";
      timeRTC = timeRTC + now.minute(), DEC;
      timeRTC = timeRTC + ":";
      timeRTC = timeRTC + now.second(), DEC;
    
    }
    

    getSD.ino

    // MicroSD Card
    // MicroSD Setup
    void isSetupSD() {
    
        // MicroSD Card
       // See if the card is present and can be initialized:
      if (!SD.begin(chipSelect)) {
    
        // Don't do anything more:
        while (1);
        
      }
    
    }
    // MicroSD Card
    void isSD() {
    
      zzzzzz = "";
    
      //DLE|EEPROM Unique ID|Version|Date|Time|filename|
      zzzzzz = "DLE|" + uid + "|" + sver + "|" + String( dateRTC ) + "|" 
      + String( timeRTC ) + "|" + filename + "|";
    
      // Open the file. Note that only one file can be open at a time,
      // so you have to close this one before opening another.
      File dataFile = SD.open("dledata.txt", FILE_WRITE);
    
      // If the file is available, write to it:
      if (dataFile) {
        
        // Write
        dataFile.println( zzzzzz );
        dataFile.close();
    
      }
    
    }
    

    setup.ino

    // Setup
    void setup()
    {
     
      // Delay
      delay(100);
      
      // isUID EEPROM Unique ID
      isUID();
      
      // Delay
      delay(100);
    
      // Initialize the LED LED Green
      pinMode(iLEDGreen, OUTPUT);
      // LED Green
      digitalWrite(iLEDGreen, LOW);
    
      // Delay
      delay(100);
      
      // Setup RTC
      isSetupRTC();
      
      // Delay
      delay(100);
    
      // MicroSD Card
      isSetupSD();
      
      // Delay
      delay(100);
    
      // Button
      pinMode(iButton,INPUT);
    
      // Delay
      delay( 100 );
    
      // Setup Camera
      isSetupCamera();
    
      // Delay
      delay( 100 );
    
      // Display UID
      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