The Alpha Geek – Geeking Out

Business

Teacher, Instructor, E-Mentor, R&D and Consulting

——

#DonLucElectronics #DonLuc #Teacher #Instructor #EMentor #RD #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

——

Teacher, Instructor, E-Mentor, 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
  • eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

I am a highly skilled programming language, microcontrollers, IoT, robotics and etc; with over 45 years of experience in various industries. I graduated from McGill University, Montréal, Québec, Canada with B.Sc. and D.D.S. degrees. I started consulting with small and medium-sized businesses in my native Canada in the mid-eighties and by the mid-nineties I was consulting for large corporate clients like Fannie Mae, KPMG Peat Marwick, Chase Manhattan Foreign Trade Division (Hong Kong), Warner Lambert and a variety of other firms in the Washington, DC and New York City area. Later on I worked with clients in Europe, Mexico, and Latin America.

I have worked, lived and traveled all over the world and I am a trilingual (English, French, and Spanish).

Over the years I have been the CTO of various early stage IT startups, the owner of an IT consulting company (desktop, web, mobile, microcontroller and embedded systems) with clients worldwide, in charge of R&D projects to integrate hardware and software solutions in innovative ways, director of technology for a business software development company, designer and integrator of electronic hardware and head developer on a variety of software and technology projects.

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. My wife had been telling me for years to write about the the industry as we discuss things a lot and she always tells me that I was born to teach, or preach when I get excited about a subject. 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. Besides consulting and custom programming, I also offer electronic hardware integration and design, hardware/software integration as well as R&D services. I provide my services worldwide and can work from my office or yours depending on your project’s needs.

Schedule of Services Teacher, Instructor and E-Mentor

  • Beginner: These beginner-friendly microcontrollers are easy to use and program with just a computer or laptop, a USB cable, and some open-source software.
  • Intermediate: Internet of Things (IoT).
  • Advanced: Robotics, engineering, fashion, medical, environmental, performing arts, etc…
  • Projects: TBD
  • Research & Development: TBD
  • Consulting: TBD

Luc Paquin – 2024
The Electronic, Programming Language, Microcontrollers, IoT, Robotics Experts.

Curriculum Vitae 2024

https://www.donluc.com/luc/LucPaquinCVEng2024Mk01.pdf

Luc Paquin – Programming Language 2024

https://www.donluc.com/luc/LucPaquinProgrammingLanguage2024Mk01.pdf

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

Follow Us

Luc Paquin – Curriculum Vitae – 2023
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/

Don Luc

Meditation

——

#donluc #meditation #electronics #microcontrollers #consultant #vlog

——

Meditation

——

Luc

Luc graduated from McGill University, Montréal, Québec with B.Sc. (Biology, Electronic), and a D.D.S. (Doctor of Dental Surgery). He worked in a private dental practice from 1983 to 1992, and started offering IT consulting services in 1983. He is a long time technology enthusiast and founder JLP Consultants, to service large corporate clients such as KPMG Peat Marwick, Fannie Mae (Federal National Mortgage Association), Chase Manhattan Bank foreign trade division (Hong Kong), and Warner Lambert. Over the past 38 years Luc has been working as an independent consultant in technology. He is an expert developer of software for desktop, web and mobile applications as well as a gifted integrator and designer of electronic and robotic hardware of all kind.

Temporomandibular Joint Dysfunction

Luc is continuing education numerous certifications temporomandibular joint dysfunction (TMJD). TMJD is an umbrella term covering pain and dysfunction of the muscles of mastication and the temporomandibular joints. The most important feature is pain, followed by restricted mandibular movement, and noises from the temporomandibular joints during jaw movement. Although TMJD is not life-threatening, it can be detrimental to quality of life; this is because the symptoms can become chronic and difficult to manage. Examples include: headache, facial pain, migraine, tension headache, myofascial pain, pain elsewhere, such as the teeth or neck, diminished auditory acuity, etc…

Physiotherapy for TMJD may include the use of transcutaneous electrical nerve stimulation (TENS), which may override pain by stimulation of superficial nerve fibers and lead to pain reduction which extends after the time where the TENS is being actually being applied, possibly due to release of endorphins. Others recommend the use of ultrasound, theorized to produce tissue heating, alter blood flow and metabolic activity at a level that is deeper than possible with surface heat applications. There is tentative evidence that low level laser therapy may help with pain.

Relaxation techniques include progressive muscle relaxation and meditation. It has been suggested that TMJD involves increased sensitivity to external stimuli leading to an increased sympathetic response with cardiovascular and respiratory alterations. Relaxation techniques cause reduced sympathetic activity, including muscle relaxation and reducing sensitivity to external stimuli, and provoke a general sense of well being and reduced anxiety.

Aphasia

September 25th of 2013, Luc suffered a massive stroke that let him with an aphasia condition. Due to loss of blood flow or damaged tissue, sustained during the injury aphasia may become permanent. In a way it was good to be here because I received the best medical attention I could ever have. I had a long way to recover but I managed to improve a lot. I just have an aphasia condition that does not allow me to speak, I can speak words and make myself understand by using the computer, and the good thing is that I did not lose my abilities.

Meditation

Meditation is a practice where an individual uses a technique or focusing the mind on a particular object, thought, activity, song, or video to train attention and awareness, and achieve a mentally clear and emotionally calm and stable state. Luc has been in touch since that time and for the past years has been discussing a method of helping people that control meditation may significantly reduce stress, anxiety, depression, COVID-19, HIV, TMJD, aphasia, ADHD, cancer, and pain; and enhance peace, perception, self-concept, and well-being.

First, for the practice to be successful, one should dedicate the practice, and set out the goal of the meditation session. One may decide to either practice mindfulness of breathing while seated or standing or lying down or walking, or to alternate seated, standing, lying down and walking meditation. Then one may concentrate on the breath going through one’s nose: the pressure in the nostrils on each inhalation, and the feeling of the breath moving along the upper lip on each exhalation.

Scientifically Demonstrated Benefits

Meditators experienced in focused attention meditation showed a decrease in habitual responding recommends practice of 20 minutes twice per day, may illustrate a lessening of emotionally reactive and automatic responding behavior. It has been scientifically demonstrated that mindfulness of breathing enhances connectivity in the brain. The practice of focusing one’s attention changes the brain in ways to improve that ability over time; the brain grows in response to meditation. That practice of mindfulness meditation for two to six months by people undergoing long-term psychiatric or medical therapy could produce small improvements in anxiety, pain, or depression. A scientific statement that meditation may be a reasonable adjunct practice to help reduce the risk of cardiovascular diseases, with the qualification that meditation needs to be better defined in higher-quality clinical research of these disorders.

Deep Meditation System

First Luc researched the scientific principles behind available biofeedback technologies, the ways to design and build the actual sensors and then the vast array of commercially available medical sensor that were waiting to be integrated in a comprehensive solution. Hardware and software solution that uses various biosensors (EEG, ECG, EKG, TENS, EMS, pulse, skin resistance, skin temperature, dissolved blood oxygen, etc.) to facilitate deep meditation in patients. We did the preliminary research, tested various types of sensors to find the solution yielding the best results, constructed proof-of-concept prototypes, and planned production prototypes. 2005 – Meditation EEG, and 2015 – Meditation Glasses LED.

That product will have multiple versions that can be sold to consumers and health professionals alike. This control meditation may significantly reduce stress, anxiety, depression, COVID-19, HIV, TMJD, aphasia, ADHD, cancer, pain, etc… Enhance peace, perception, self-concept, and well-being.

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

Technology Experience

  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi,Espressif, etc…)
  • Robotics
  • Research & Development (R & D)
  • Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
  • Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
  • Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
  • Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
  • Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
  • Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
  • eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)

Instructor

  • PIC Microcontrollers
  • Arduino
  • Raspberry Pi
  • Espressif
  • Robotics
  • DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
  • Linux-Apache-PHP-MySQL

Follow Us

J. Luc Paquin – Curriculum Vitae
https://www.donluc.com/DLE/LucPaquinCVEngMk2021a.pdf

Web: https://www.donluc.com/
Web: http://www.jlpconsultants.com/
Web: https://www.donluc.com/DLE/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/

Don Luc

Project #14: Components – SparkFun Thing Plus – ESP32 WROOM – Mk08

——

Components

——

Components

——

Components

——

SparkFun Thing Plus – ESP32 WROOM

SparkFun Item: WRL-15663

The SparkFun ESP32 Thing Plus is the next step to get started with Espressif IoT ideations while still enjoying all the amenities of the original ESP32 Thing. Espressif’s ESP32 WROOM is a powerful WiFi and Bluetooth MCU module that targets a wide variety of applications. At the core of this module is the ESP32-D0WDQ6 chip which is designed to be both scalable and adaptive. To make the Thing Plus even easier to use, we’ve moved a few pins around to make the board Feather compatible and it utilizes our handy Qwiic Connect System which means no soldering or shields are required to connect it to the rest of your system.

Technology Experience

  • Research & Development (R & D)
  • Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
  • Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
  • Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
  • Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
  • Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
  • Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
  • eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)

Instructor

  • DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
  • Linux-Apache-PHP-MySQL
  • Robotics
  • Arduino
  • Raspberry Pi
  • Espressif

Follow Us

The Alpha Geek

Why “The Alpha Geek”?

Aphasia
https://www.donluc.com/?page_id=2149

J. Luc Paquin – Curriculum Vitae
https://www.donluc.com/DLHackster/LucPaquinCVEngMk2020a.pdf

Web: https://www.donluc.com/
Web: http://www.jlpconsultants.com/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/

Don Luc

Project #14: Components – Pololu DRV8834 Stepper Motor Driver – Mk06

——

Components

——

Components

——

Pololu DRV8834 Low-Voltage Stepper Motor Driver Carrier

Pololu Item: 2134

This is a breakout board for TI’s DRV8834 microstepping bipolar stepper motor driver. It has a pinout and interface that are nearly identical to those of our A4988 carriers, so it can be used as a drop-in replacement for those boards in many applications. The DRV8834 operates from 2.5–10.8 V, allowing stepper motors to be powered with voltages that are too low for other drivers, and can deliver up to approximately 1.5 A per phase continuously without a heat sink or forced air flow (up to 2 A peak). It features adjustable current limiting, overcurrent and overtemperature protection, and six microstep resolutions (down to 1/32-step). This board ships with 0.1in male header pins included but not soldered in.

Technology Experience

  • Research & Development (R & D)
  • Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
  • Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
  • Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
  • Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
  • Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
  • Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
  • eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)

Instructor

  • DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
  • Linux-Apache-PHP-MySQL
  • Robotics
  • Arduino
  • Raspberry Pi
  • Espressif

Follow Us

The Alpha Geek

Why “The Alpha Geek”?

Aphasia
https://www.donluc.com/?page_id=2149

J. Luc Paquin – Curriculum Vitae
https://www.donluc.com/DLHackster/LucPaquinCVEngMk2020a.pdf

Web: https://www.donluc.com/
Web: http://www.jlpconsultants.com/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/

Don Luc

Project #12: Robotics – Unmanned Vehicles 1h – Mk12

——

Robotics

——

Robotics

——

Robotics

——

Robotics

——

Pololu Stepper Motor Bipolar, 200 Steps/Rev, 2.8V, 1.7 A/Phase

This hybrid bipolar stepping motor has a 1.8° step angle (200 steps/revolution). Each phase draws 1.7 A at 2.8 V, allowing for a holding torque of 3.7 kg-cm. The motor has four color-coded wires terminated with bare leads: black and green connect to one coil; red and blue connect to the other.

DL2003Mk05

1 x SparkFun RedBoard Qwiic
2 x Pololu DRV8834 Low-Voltage Stepper Motor Driver Carrier
2 x Electrolytic Decoupling Capacitors – 100uF/25V
2 x Pololu Stepper Motor Bipolar, 2.8V, 1.7 A/Phase
2 x Pololu Universal Aluminum Mounting Hub for 5mm Shaft, M3 Holes
1 x Adafruit Perma-Proto Half-sized Breadboard PCB
14 x Wire Solid Core – 22 AWG
1 x SparkFun Cerberus USB Cable

SparkFun RedBoard Qwiic

SP1 – Digital 9
DI1 – Digital 8
SP2 – Digital 7
DI2 – Digital 6
VIN – 3.3V
GND – GND

DL2003Mk05Rp.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// Project #12: Robotics - Unmanned Vehicles 1h - Mk12
// 03-05
// DL2003Mk05Rp.ino 12-12
// Receiver
// 1 x SparkFun RedBoard Qwiic
// 2 x Pololu DRV8834 Low-Voltage Stepper Motor Driver Carrier
// 2 x Electrolytic Decoupling Capacitors - 100uF/25V
// 2 x Pololu Stepper Motor Bipolar, 2.8V, 1.7 A/Phase
// 2 x Pololu Universal Aluminum Mounting Hub for 5mm Shaft, M3 Holes
// 1 x Adafruit Perma-Proto Half-sized Breadboard PCB

// Include the library code:
// DRV8834 Stepper Motor Driver
#include <BasicStepperDriver.h>
#include <MultiDriver.h>

// DRV8834 Stepper Motor Driver
// Stepper motor steps per revolution. Most steppers are 200 steps or 1.8 degrees/step
#define MOTOR_STEPS 200
// Target RPM for X axis stepper motor
#define MOTOR_X_RPM 800
// Target RPM for Y axis stepper motor
#define MOTOR_Y_RPM 800
// Since microstepping is set externally, make sure this matches the selected mode
// If it doesn't, the motor will move at a different RPM than chosen
// 1=full step, 2=half step etc.
#define MICROSTEPS 1
// X Stepper motor
#define DIR_X 8
#define STEP_X 9
// Y Stepper motor
#define DIR_Y 6
#define STEP_Y 7
// BasicStepperDriver
BasicStepperDriver stepperX(MOTOR_STEPS, DIR_X, STEP_X);
BasicStepperDriver stepperY(MOTOR_STEPS, DIR_Y, STEP_Y);
// Pick one of the two controllers below each motor moves independently
MultiDriver controller(stepperX, stepperY);

// Software Version Information
String sver = "12-12";
// Unit ID information
String uid = "";

void loop() {

   controller.rotate(360, 360);
   
}

getStepper.ino

// Stepper
// isStepperSetup
void isStepperSetup() {    
  
  // Set stepper target motors RPM.
  stepperX.begin(MOTOR_X_RPM, MICROSTEPS);
  stepperY.begin(MOTOR_Y_RPM, MICROSTEPS);

}

setup.ino

// Setup
void setup() {

  // DRV8834 Stepper Motor Driver
  isStepperSetup();

}

Technology Experience

  • Research & Development (R & D)
  • Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
  • Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
  • Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
  • Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
  • Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
  • Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
  • eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)

Instructor

  • DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
  • Linux-Apache-PHP-MySQL
  • Robotics
  • Arduino
  • Raspberry Pi
  • Espressif

Follow Us

The Alpha Geek

Why “The Alpha Geek”?

Aphasia
https://www.donluc.com/?page_id=2149

J. Luc Paquin – Curriculum Vitae
https://www.donluc.com/DLHackster/LucPaquinCVEngMk2020a.pdf

Web: https://www.donluc.com/
Web: http://www.jlpconsultants.com/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/

Don Luc

Luc – Speaking

——

Robotics

——

Aphasia – 2020
Montreal, Canada – 2002
Mexico City, Mexico – 2010
Mexico City, Mexico – 2012
Aphasia – 2018
Aphasia – 2019

Technology Experience

  • Research & Development (R & D)
  • Desktop Applications (Windows, OSX, Linux, Multi-OS, Multi-Tier, etc…)
  • Mobile Applications (Android, iOS, Blackberry, Windows Mobile, Windows CE, etc…)
  • Web Applications (LAMP, Scripting, Java, ASP, ASP.NET, RoR, Wakanda, etc…)
  • Social Media Programming & Integration (Facebook, Twitter, YouTube, Pinterest, etc…)
  • Content Management Systems (WordPress, Drupal, Joomla, Moodle, etc…)
  • Bulletin Boards (phpBB, SMF, Vanilla, jobberBase, etc…)
  • eCommerce (WooCommerce, OSCommerce, ZenCart, PayPal Shopping Cart, etc…)

Instructor

  • DOS, Windows, OSX, Linux, iOS, Android, Multi-OS
  • Linux-Apache-PHP-MySQL
  • Robotics
  • Arduino
  • Raspberry Pi
  • Espressif

Follow Us

The Alpha Geek

Why “The Alpha Geek”?

Aphasia
https://www.donluc.com/?page_id=2149

J. Luc Paquin – Curriculum Vitae
https://www.donluc.com/DLHackster/LucPaquinCVEngMk2020a.pdf

Web: https://www.donluc.com/
Web: http://www.jlpconsultants.com/
Web: https://www.donluc.com/DLHackster/
Web: https://www.hackster.io/neosteam-labs
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/

Don Luc

Project #12: Robotics – Laser Diode – Mk03

——

Laser Diode

——

Laser Diode

——

Laser Diode

——

Laser Diode

——

Laser Diode

——

Laser Diode

A laser diode is a semiconductor device similar to a light-emitting diode in which a diode pumped directly with electrical current can create lasing conditions at the diode’s junction. Laser diodes can directly convert electrical energy into light. Due to the drop of the electron from a higher energy level to a lower one, radiation, in the form of an emitted photon is generated. This is spontaneous emission. Stimulated emission can be produced when the process is continued and further generate light with the same phase, coherence and wavelength.

The choice of the semiconductor material determines the wavelength of the emitted beam, which in today’s laser diodes range from infra-red to the UV spectrum. Laser diodes are the most common type of lasers produced, with a wide range of uses that include fiber optic communications, barcode readers, laser pointers, CD/DVD/Blu-ray disc reading/recording, laser printing, laser scanning and light beam illumination. With the use of a phosphor like that found on white LEDs, Laser diodes can be used for general illumination.

DL1912Mk02

1 x Adafruit RGB LCD Shield 16×2 Character Display
1 x Arduino UNO – R3
1 x ProtoScrewShield
2 x EasyDriver – Stepper Motor Driver
1 x Small Stepper Motor
1 x Pololu Mounting
1 x Symbol Stepper Motor
2 x RC Servo Motor
2 x Potentiometer 1M Ohm
2 x Knob
1 x LED Red
1 x Rocker Switches
1 x Laser Red
5 x Jumper Wires 3″ M/M
29 x Jumper Wires 6″ M/M
3 x Half-Size Breadboard

Arduino UNO

SP1 – Digital 3
DI1 – Digital 2
SP2 – Digital 5
DI2 – Digital 4
SV1 – Digital 6
PO1 – Analog A0
SV2 – Digital 7
PO2 – Analog A1
VIN – +5V
GND – GND

DL1912Mk02.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// Project #12: Robotics - Laser Diode - Mk03
// 12-02
// DL1912Mk02p.ino 12-03
// Arduino UNO
// Screw Shield
// Adafruit RGB LCD Shield
// 1 x Small Stepper Motor
// 1 x Symbol Stepper Motor
// 2 x EasyDriver
// 2 x RC Servo Motor
// 2 x Potentiometer
// 1 x LED Red
// 1 x Rocker Switches
// 1 x Laser Red

// include the library code:
#include <Adafruit_RGBLCDShield.h>
#include <Servo.h>

// Adafruit RGB LCD Shield
Adafruit_RGBLCDShield RGBLCDShield = Adafruit_RGBLCDShield();

// These #defines make it easy to set the backlight color
#define OFF 0x0
#define RED 0x1
#define YELLOW 0x3
#define GREEN 0x2
#define TEAL 0x6
#define BLUE 0x4
#define VIOLET 0x5
#define WHITE 0x7

// Momentary Button
int yy = 0;
uint8_t momentaryButton = 0;

// 2 x EasyDriver
int dirPinR = 2;                           // EasyDriver Right
int stepPinR = 3;                          // stepPin Right
int dirPinL = 4;                           // EasyDriver Left
int stepPinL = 5;                          // stepPin Left
int i = 0;

// 2 x RC Servo Motor
// 2 x Potentiometer
Servo isRCServo1;                          // Create servo object to control a RCServo1
int servo1 = 6;                            // Servo 1
int iPot1 = A0;                            // Analog Potentiometer 1
int iVal1;                                 // Variable - Analog Potentiometer 1
Servo isRCServo2;                          // Create servo object to control a RCServo2
int servo2 = 7;                            // Servo 2
int iPot2 = A1;                            // Analog Potentiometer 2
int iVal2;                                 // Variable - Analog Potentiometer 2

void loop() {

  // Clear
  RGBLCDShield.clear();
   
  // Momentary Button
  momentaryButton = RGBLCDShield.readButtons();

  switch ( yy ) {
    case 1:
    
      // Up
      isSwitch1();
      
      break;
    case 2:
    
      // Down
      isSwitch2();
      
      break;
    case 3:

      // Right
      isSwitch3();
      
      break;
    case 4:

      // Left
      isSwitch4();
      
      break;
    case 5:

      // Stop
      isSwitch5();
      
      break;
    default:

      // Stop
      yy = 5;
      RGBLCDShield.setBacklight(RED);
      isSwitch5();

   }
   
   if ( momentaryButton ) {
    
    if ( momentaryButton & BUTTON_UP ) {
      
      yy = 1;
      // Up
      RGBLCDShield.setBacklight(GREEN);
      
    }
    
    if ( momentaryButton & BUTTON_DOWN ) {
      
      yy = 2;
      // Down
      RGBLCDShield.setBacklight(VIOLET);
      
    }
    
    if ( momentaryButton & BUTTON_LEFT ) {
      
      yy = 3;
      // Right
      RGBLCDShield.setBacklight(TEAL);
      
    }
    
    if ( momentaryButton & BUTTON_RIGHT ) {

      yy = 4;
      // Left
      RGBLCDShield.setBacklight(YELLOW);
    }
    
    if ( momentaryButton & BUTTON_SELECT ) {

      yy = 5;
      // Stop
      RGBLCDShield.setBacklight(RED);
   
    }
    
  }
  
}

getServo.ino

// Servo
// isServoSetup
void isServoSetup() {

  // 2 x RC Servo Motor
  isRCServo1.attach( servo1 );
  isRCServo2.attach( servo2 );
  
}
// isServo1
void isServo1() {

  // EasyDriver
  isStepperStop();
   
  // Potentiometer RC Servo Motor 1
  iVal1 = analogRead( iPot1 );              // Reads the value of the iPot1 (Value between 0 and 1023)
  iVal1 = map(iVal1, 0, 1023, 0, 180);      // Scale it to use it with the isRCServo1 (Value between 0 and 180)
  isRCServo1.write( iVal1 );                // isRCServo1 sets the servo position according to the scaled value
  delay(15);    

  // Display
  // Set the cursor to column 0, line 0  
  RGBLCDShield.setCursor(0,0);
  RGBLCDShield.print("RC Servo 1");         // RC Servo 1
  // Set the cursor to column 0, line 1
  RGBLCDShield.setCursor(0, 1);
  RGBLCDShield.print( iVal1 );              // Reads the value iVal1
  
  delay(500);

}
// isServo2
void isServo2() {

  // EasyDriver
  isStepperStop();
   
  // Potentiometer RC Servo Motor 1
  iVal2 = analogRead( iPot2 );              // Reads the value of the iPot2 (Value between 0 and 1023)
  iVal2 = map(iVal2, 0, 1023, 0, 180);      // Scale it to use it with the isRCServo2 (Value between 0 and 180)
  isRCServo2.write( iVal2 );                // isRCServo2 sets the servo position according to the scaled value
  delay(15);    

  // Display
  // Set the cursor to column 0, line 0  
  RGBLCDShield.setCursor(0,0);
  RGBLCDShield.print("RC Servo 2");         // RC Servo 2
  // Set the cursor to column 0, line 1
  RGBLCDShield.setCursor(0, 1);
  RGBLCDShield.print( iVal2 );              // Reads the value iVal2
  
  delay(500);

}

getStepper.ino

// Stepper
// isStepperSetup
void isStepperSetup() {

  // 2 x EasyDriver
  pinMode(dirPinR, OUTPUT);
  pinMode(stepPinR, OUTPUT);
  pinMode(dirPinL, OUTPUT);
  pinMode(stepPinL, OUTPUT);

}
// isStepper1
void isStepper1(){

   // set the cursor to column 0, line 0
   RGBLCDShield.setCursor(0,0);
   RGBLCDShield.print("EasyDriver");        // EasyDriver  
   RGBLCDShield.setCursor(0,1);    
   RGBLCDShield.print("Small Stepper");     // Small Stepper
   delay(500);

   // EasyDriver
   digitalWrite(dirPinR, LOW);              // Set the direction.
   delay(100);

   for (i = 0; i<300; i++)                 // Iterate for 1000 microsteps.
   { 

     digitalWrite(stepPinR, LOW);           // This LOW to HIGH change is what creates the
     digitalWrite(stepPinR, HIGH);          // "Rising Edge" so the easydriver knows to when to step.
     delayMicroseconds(170);                // This delay time is close to top speed.

   } 
   
}
// isStepper2
void isStepper2(){

   // set the cursor to column 0, line 0
   RGBLCDShield.setCursor(0,0);
   RGBLCDShield.print("EasyDriver");        // EasyDriver  
   RGBLCDShield.setCursor(0,1);    
   RGBLCDShield.print("Symbol Stepper");    // Symbol Stepper
   delay(500);

   // EasyDriver
   digitalWrite(dirPinL, HIGH);              // Set the direction.
   delay(100);

   for (i = 0; i<300; i++)                 // Iterate for 1000 microsteps.
   { 
     
     digitalWrite(stepPinL, LOW);           // This LOW to HIGH change is what creates the
     digitalWrite(stepPinL, HIGH);          // "Rising Edge" so the easydriver knows to when to step.
     delayMicroseconds(170);                // This delay time is close to top speed.
     
   } 
   
}
// isStepperStop
void isStepperStop() {

   // 2 x EasyDriver
   digitalWrite(dirPinR, LOW);              // Set the direction.
   delay(100);
   digitalWrite(dirPinL, LOW);              // Set the direction.
   delay(100);
   digitalWrite(stepPinR, LOW);             // This LOW to HIGH change is what creates the
   digitalWrite(stepPinL, LOW);             // This LOW to HIGH change is what creates the 

}

getSwitch.ino

// Switch
// Switch 1
void isSwitch1(){

   // Small Stepper
   yy = 1;

   // EasyDriver
   isStepper1();

}
// Switch 2
void isSwitch2(){

   // Symbol Stepper
   yy = 2;

   // EasyDriver
   isStepper2();
   
}
// Switch 3
void isSwitch3(){

   // RC Servo Motor 1
   yy = 3;

   // Potentiometer RC Servo Motor 1
   isServo1();
   
}
// Switch 4
void isSwitch4(){

   // RC Servo Motor 2
   yy = 4;

   // Potentiometer RC Servo Motor 2
   isServo2();
   
}
// Switch 5
void isSwitch5(){

   // Stop
   yy = 5;

   // set the cursor to column 0, line 0
   RGBLCDShield.setCursor(0,0);
   RGBLCDShield.print("Robotics");         // Robotics 
   RGBLCDShield.setCursor(0,1);    
   RGBLCDShield.print("Stop");

   delay( 500 );

   // EasyDriver
   isStepperStop();
       
}

setup.ino

// Setup
void setup() {

  // Adafruit RGB LCD Shield
  // Set up the LCD's number of columns and rows: 
  RGBLCDShield.begin(16, 2);
  RGBLCDShield.setBacklight(GREEN);
  
  // Display
  // Set the cursor to column 0, line 0  
  RGBLCDShield.setCursor(0,0);  
  RGBLCDShield.print("Don Luc Electron");         // Don luc Electron
  // Set the cursor to column 0, line 1
  RGBLCDShield.setCursor(0, 1);
  RGBLCDShield.print("Robotics");                // EasyDriver

  delay(5000);

  // Clear
  RGBLCDShield.clear();

  // 2 x EasyDriver
  isStepperSetup();
  
  // 2 x RC Servo Motor
  isServoSetup();

}

Follow Us

Web: https://www.donluc.com/
Web: http://neosteamlabs.com/
Web: http://www.jlpconsultants.com/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Facebook: https://www.facebook.com/neosteam.labs.9/
Instagram: https://www.instagram.com/neosteamlabs/
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Twitter: https://twitter.com/labs_steam
Etsy: https://www.etsy.com/shop/NeoSteamLabs

Don Luc

Open ltr 2 all of u out there

Apr 26, 2010 @ 18:54

Today while I was doing some cleanup around the office I came across some letters and messages from people who had contacted me over the past few years either to ask for work or to ask to distribute some of my software products. I had kept them aside as a reminder on how not to do business. It is a pet peeve of mind that when you communicate on business purposes to do it properly and to write well and to try to do your best to use proper grammar and spelling.

I might be showing my age, but it does gets me very mad when I receive some business message that is either very badly written or written as it you are sending a SMS message like the title of this post. There are no reason for either ones, especially the first one as nowadays spelling and grammar correctors are ubiquitous on all computer platforms. If somebody wants to find a job or wants to do business with someone it looks very bad on you when you send messages like that as the first impression you make to your prospective client, employer, or partner is one that you cannot even bother to put your thoughts down and write them properly.

Professionally I write thousands of words daily on various subjects and for various purposes, all of it with minimal editing and proofreading, so I am the first person guilty of grammatical and spelling mistakes, but when you come across as if you have no idea of what you are talking about due to poor writing skills or worse you consider business communication no more important than a quick SMS to your best buddies you will have problems going forward with any goals you might have in mind. This is not just for the younger generations out there, a lot of people of my generation suffer from the same problems.

I deal with people from all over the world daily and I do understand that if English is not your primary language, you might have some problems in communicating perfectly. I know from experience as English is not my mother tongue, French is. I have also spoken English since early childhood, and essentially have studied and worked in English since my late teens so English is my primary language these days, even though that at home now for the past 2-3 years we have switched from using English to using Spanish. I find the same problem with French and Spanish speaking people, that the quality of the written communication has dropped down dramatically over the past 10 years, when it should have increase a lot with all the spelling and grammar correction facilities we now have. It seems that people just don’t care anymore.

Wake up people, you have the tools to communicate in a better and more effective way. If you are too lazy to even take the few second to communicate effectively life will pass you by as where it counts people will think that you are too lazy to work effectively. Also take pride in you language as if you do not use it properly who will? For those like me who communicate mostly in languages that are own, take pride in learning it properly so that you can communicate and work effectively.

Take this advise seriously as we human can make something with our lives and progress with effective communications and those who do not even make the effort to do so will be left behind. It is not just an old consultant like me who says it, it is the entire business world. When faced to choose between two candidates, which one do you think a decision maker will select, the one that sounds like a professional or the one that sounds like some street gang member?

Don Luc

Why be a consultant?

Apr 25, 2010 @ 20:17

There are many reasons why one would want to become a consultant.

Some would love to ditch their corporate jobs and be lured to become self-employed. After being self-employed all of my adult life I would not know what to recommend to those as I do not know any other way. I know that my wife Norma had problems getting adapted to the consultant way, as she had the opposite experience of being employed all of her adult life by banks or investment firm. Being self-employed to her was very traumatic at first, and still is when business slows down. Leaving the security of a good job is very hard to do, especially if you are used to have and count on a regular income. It becomes very difficult to plan things like mortgages and car loans or other regular types of expenses, when you are never sure of exactly of what your income will be next month. For some this is something they cannot live with, and to others like me, it is something so normal that you never really think about it. You just have to be very careful with your expenses and plan your life and budget accordingly. Those who cannot live with that kind of uncertainty should no even think of being a consultant or to be self-employed for that matter.

Other people would love to work at home like a lot of us do. For that too you need to have a certain sense of organization to be able to do it without all the normal distractions around the house preventing you from doing any works. It all depends on how well organized you are and how you can isolate yourself from other things and concentrate on your work. Most people find it difficult at first, but get used to it with time. For those who can’t it might be better to think about working for some consulting firm that will place you at their client’s site.

Others are lured by the large fees that some consultants charge. This might look very tempting at first glance, but when you start analyzing it in depth once you take this high fee, deduct from it your operating expenses, the equipment, tools and software you might need to perform your consulting, publicity, legal and accounting fees, office expenses, and the fact that you are rarely billing the full time you are working each week, you might not be making a huge amount more than you are doing right now at your current job. Add to that all of those other things that you never think of, like the fact that normally when you are on your own you do not have the niceties of things like health and other types of insurance, retirement plans, benefits and more.

Does that mean that you should not become a consultant? Of course not! If you can live with all of the above and more and have the personality to enjoy those kinds of challenges and live your life differently than most of your neighbors and friends, consulting is an immensely rewarding profession that can offer you things that you would never have the chance of experiencing otherwise. I would not even dream of doing something else and if I have not become a consultant so long ago I would never had the life and the experiences I have had. Sure, it can be very hard at times, all the good things in life are hard to achieve, but the rewards are huge for those who like a challenge and can focus to achieve their goals.

Don Luc

What type of consultant am I?

Apr 24, 2010 @ 14:29

There are many ways of defining oneself as a consultant. The traditional consultant is normally somebody who is an expert in his field with either a long career behind him or very specific specialized knowledge that is not common in a field. He is hired to resolve specific issues by clients or “consulted” when his client need information on some topic that they are an expert.

The term is also used for people who do contract work in a specific field. They usually work one contract at a time and they will build something, or deliver a project for their client. This used to be called a contractor, but these days the definition is getting fuzzier as a lot of  “Consulting” firms are normally placing “Contractors” at their client’s sites and calling them “Consultants”

More and more self-employed workers, or workers moonlighting in their spare times are now calling themselves “Consultants” though they might not be doing much actual consulting or contracting work.

This confuses a lot of people looking to hire external resources as a lot of people are calling themselves “Consultants” and actually offer a wide variety of services only some of which are actual consulting. It is a good thing for people who which to hire external help, consultant or other, to make sure before they start looking that they know what kind of help they are looking for.

Coming back to the main topic of this post. I started in the mid 1980’s as a traditional consultant in the food and wine business. My various clients hired me for my specialized knowledge and consulted me on various topics and I would also do specific contracts for them on a regular basis like travel to various places worldwide to purchase various things for them or just analyze what was available in the market. I started during that period doing consulting work in computer graphics and animation which was a new field in those days and then I started to consult more and more about IT using the knowledge I had as I trained as a mainframe programmer at university ten years earlier.

In the early 1990’s I was doing more and more IT consulting for local clients and prior to the advent of the Internet, in the old days of the original CompuServe network of which I had been a member since around 1986, I started consulting with many clients worldwide from my office at the edge of a lake in Northern Quebec. I also started doing more and more contracting for various large companies in the United States and elsewhere. I spent most of the 1990’s traveling over 6 months of the year to work onsite with many clients worldwide. The rest of the year was spent either consulting or contracting, as I do differentiate, for my clients from my office in Quebec.

In the late 1990’s during the time of the big Internet crash, I started developing my own line of software products for retail business management, point of sales, ticketing systems, kiosk systems, and decision support systems. In 2003 I moved to Mexico City to promote some of my products and to get away from the cold of Quebec as my Mexican wife was feeling somewhat unaccustomed to the long winters and isolated over there.

Today I am back to being a traditional consultant full time, though I still work regularly on my software products and actively promote and find new markets for them. I continue my IT consulting as always and consult with businesses looking for new markets or with startups looking for advice. I also do contract work developing innovative software, integrate software with hardware, and of course I still do consult in the food and wine industry, my first love.

My motto has always been since I was a kid that I need to learn something new every single day as if I do not that day is wasted. Since I have been in the consulting business for so long, and tried hard to not waste any day of it, I have accumulated a lot of knowledge over the years. This is why for many years now that I love to teach and give conferences to pass this knowledge to others. I tend to be very passionate about this, as I have always love to educate people and convince them that they should learn something new every day. My wife Norma always says that I should have been a preacher, but what I am really is a traditional consultant that likes to share is experience and knowledge with others.

Don Luc

Categories
Archives