The Alpha Geek – Geeking Out

Vlog

Project #26 – Radio Frequency – Bluetooth GPS Receiver GP-20U7 – Mk24

——

#DonLucElectronics #DonLuc #RadioFrequency #Bluetooth #GPS #SparkFun #BME280 #CCS811 #IMU #Arduino #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Bluetooth GPS Receiver GP-20U7

——

Bluetooth GPS Receiver GP-20U7

——

Bluetooth GPS Receiver GP-20U7

——

GPS Receiver – GP-20U7 (56 Channel)

The GP-20U7 is a compact GPS receiver with a built-in high performances all-in-one GPS chipset. The GP-20U7 accurately provides position, velocity, and time readings as well possessing high sensitivity and tracking capabilities. Thanks to the low power consumption this receiver requires, the GP-20U7 is ideal for portable applications such as tablet PCs, smart phones, and other devices requiring positioning capability. With 56 channels in search mode and 22 channels “All-In-View” tracking, the GP-20U7 is quite the work horse for its size.

DL2307Mk05

1 x SparkFun Thing Plus – ESP32 WROOM
1 x Arduino Uno
1 x SparkFun Bluetooth Mate Silver
1 x SparkFun BME280 – Temperature, Humidity, Barometric Pressure, and Altitude
1 x SparkFun Air Quality Breakout – CCS811
1 x Pololu AltIMU-10 v5
1 x GPS Receiver – GP-20U7
1 x Lithium Ion Battery – 850mAh
2 x SparkFun Cerberus USB Cable

SparkFun Thing Plus – ESP32 WROOM

LED – LED_BUILTIN
SDA – Digital 23
SCL – Digital 22
GPR – Digital 16
GPT – Digital 17
RX2 – Bluetooth
TX2 – Bluetooth
VIN – +3.3V
GND – GND

——

DL2307Mk05ps.ino

/* ***** Don Luc Electronics © *****
Software Version Information
Project #26 - Radio Frequency - Bluetooth GPS Receiver GP-20U7 - Mk24
26-24
DL2307Mk05pr.ino
1 x SparkFun Thing Plus - ESP32 WROOM
1 x Arduino Uno
1 x SparkFun Bluetooth Mate Silver
1 x SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude
1 x SparkFun Air Quality Breakout - CCS811
1 x Pololu AltIMU-10 v5
1 x GPS Receiver - GP-20U7
1 x Lithium Ion Battery - 85mAh
2 x SparkFun Cerberus USB Cable
*/

// Include the Library Code
// Bluetooth Serial
#include "BluetoothSerial.h"
#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endif
// Two Wire Interface (TWI/I2C)
#include <Wire.h>
// SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude
#include <SparkFunBME280.h>
// SparkFun CCS811 - eCO2 & tVOC
#include <SparkFunCCS811.h>
// Includes and variables for IMU integration
// STMicroelectronics LSM6DS33 gyroscope and accelerometer
#include <LSM6.h>
// STMicroelectronics LIS3MDL magnetometer
#include <LIS3MDL.h>
// STMicroelectronics LPS25H digital barometer
#include <LPS.h>
// GPS Receiver
#include <TinyGPS++.h>
// ESP32 Hardware Serial
#include <HardwareSerial.h>

// Bluetooth Serial
BluetoothSerial SerialBT;

// SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude
BME280 myBME280;
float BMEtempC = 0;
float BMEhumid = 0;
float BMEpressure = 0;
float BMEaltitudeM = 0;
String FullString = "";

// SparkFun CCS811 - eCO2 & tVOC
// Default I2C Address
#define CCS811_ADDR 0x5B 
CCS811 myCCS811(CCS811_ADDR);
float CCS811CO2 = 0;
float CCS811TVOC = 0;
String FullStringA = "";

// 9DoF IMU
// STMicroelectronics LSM6DS33 gyroscope and accelerometer
LSM6 imu;
// Accelerometer and Gyroscopes
// Accelerometer
int imuAX;
int imuAY;
int imuAZ;
String FullStringB = "";
// Gyroscopes 
int imuGX;
int imuGY;
int imuGZ;
String FullStringC = "";
// STMicroelectronics LIS3MDL magnetometer
LIS3MDL mag;
// Magnetometer
int magX;
int magY;
int magZ;
String FullStringD = "";
// STMicroelectronics LPS25H digital barometer
LPS ps;
// Digital Barometer
float pressure;
float altitude;
float temperature;
String FullStringF = "";

// ESP32 HardwareSerial
HardwareSerial tGPS(2);

// GPS Receiver
#define gpsRXPIN 16
// This one is unused and doesnt have a conection
#define gpsTXPIN 17
// The TinyGPS++ object
TinyGPSPlus gps;
// Latitude
float TargetLat;
// Longitude
float TargetLon;
String FullStringG = "";
// GPS Date, Time, Speed, Altitude
// GPS Date
String TargetDat;
// GPS Time
String TargetTim;
// GPS Speeds M/S
String TargetSMS;
// GPS Speeds Km/h
String TargetSKH;
// GPS Altitude Meters
String TargetALT;
// GPS Status
String GPSSt = "";
String FullStringH = "";

// Software Version Information
String sver = "26-24";

void loop() {

  // SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude
  isBME280();

  // SparkFun CCS811 - eCO2 & tVOC
  isCCS811();

  // Accelerometer and Gyroscopes
  isIMU();

  // Magnetometer
  isMag();

  // Barometer
  isBarometer();

  // isGPS
  isGPS();

  // Delay 1 sec
  delay(1000);

}

getAccelGyro.ino

// Accelerometer and Gyroscopes
// Setup IMU
void setupIMU() {

  // Setup IMU
  imu.init();
  // Default
  imu.enableDefault();
  
}
// Accelerometer and Gyroscopes
void isIMU() {

  // Accelerometer and Gyroscopes
  imu.read();
  // Accelerometer x, y, z
  imuAX = imu.a.x;
  imuAY = imu.a.y;
  imuAZ = imu.a.z;
  // Gyroscopes x, y, z
  imuGX = imu.g.x;
  imuGY = imu.g.y;
  imuGZ = imu.g.z;

  // FullString B
  FullStringB = "Accelerometer X = " + String(imuAX) + " Accelerometer Y = "
  + String(imuAY) + " Accelerometer Z = " + String(imuAZ) 
  + "\r\n";

  // FullStringB Bluetooth Serial + Serial
  for(int i = 0; i < FullStringB.length(); i++)
  {

    // Bluetooth Serial
    SerialBT.write(FullStringB.c_str()[i]);
    // Serial
    Serial.write(FullStringB.c_str()[i]);
    
  }

  // FullString C
  FullStringC = "Gyroscopes X = " + String(imuGX) + " Gyroscopes Y = "
  + String(imuGY) + " Gyroscopes Z = " + String(imuGZ) 
  + "\r\n";

  // FullStringC Bluetooth Serial + Serial
  for(int i = 0; i < FullStringC.length(); i++)
  {

    // Bluetooth Serial
    SerialBT.write(FullStringC.c_str()[i]);
    // Serial
    Serial.write(FullStringC.c_str()[i]);
    
  }

}

getBME280.ino

// SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude
// isBME280 - Temperature, Humidity, Barometric Pressure, and Altitude
void isBME280(){

  // Temperature Celsius
  BMEtempC = myBME280.readTempC();
  // Humidity
  BMEhumid = myBME280.readFloatHumidity();
  // Barometric Pressure
  BMEpressure = myBME280.readFloatPressure();
  // Altitude Meters
  BMEaltitudeM = (myBME280.readFloatAltitudeMeters(), 2);

  // FullString
  FullString = "Temperature = " + String(BMEtempC,2) + " Humidity = "
  + String(BMEhumid,2) + " Barometric = " + String(BMEpressure,2) 
  + " Altitude Meters = " + String(BMEaltitudeM,2) + "\r\n";

  // FullString Bluetooth Serial + Serial
  for(int i = 0; i < FullString.length(); i++)
  {

    // Bluetooth Serial
    SerialBT.write(FullString.c_str()[i]);
    // Serial
    Serial.write(FullString.c_str()[i]);
    
  }

}

getBarometer.ino

// STMicroelectronics LPS25H digital barometer
// Setup Barometer
void isSetupBarometer(){

  // Setup Barometer
  ps.init();
  // Default
  ps.enableDefault();
  
}
// Barometer
void isBarometer(){

  // Barometer
  pressure = ps.readPressureMillibars();
  // Altitude Meters
  altitude = ps.pressureToAltitudeMeters(pressure);
  // Temperature Celsius
  temperature = ps.readTemperatureC();

  // FullStringF
  FullStringF = "Barometer = " + String(pressure,2) + " Altitude Meters = "
  + String(altitude,2) + " Temperature Celsius = "
  + String(temperature,2) + "\r\n";

  // FullStringF Bluetooth Serial + Serial
  for(int i = 0; i < FullStringF.length(); i++)
  {

    // Bluetooth Serial
    SerialBT.write(FullStringF.c_str()[i]);
    // Serial
    Serial.write(FullStringF.c_str()[i]);
    
  }
  
}

getCCS811.ino

// CCS811 - eCO2 & tVOC
// isCCS811 - eCO2 & tVOC
void isCCS811(){

  // This sends the temperature & humidity data to the CCS811
  myCCS811.setEnvironmentalData(BMEhumid, BMEtempC);

  // Calling this function updates the global tVOC and eCO2 variables
  myCCS811.readAlgorithmResults();

  // eCO2 Concentration
  CCS811CO2 = myCCS811.getCO2();
  
  // tVOC Concentration
  CCS811TVOC = myCCS811.getTVOC();

  // FullStringA
  FullStringA = "TVOCs = " + String(CCS811TVOC,2) + " eCO2 = "
  + String(CCS811CO2,2) + "\r\n";

  // FullStringA Bluetooth Serial + Serial
  for(int i = 0; i < FullStringA.length(); i++)
  {

    // Bluetooth Serial
    SerialBT.write(FullStringA.c_str()[i]);
    // Serial
    Serial.write(FullStringA.c_str()[i]);
    
  }

}

getGPS.ino

// GPS Receiver
// Setup GPS
void setupGPS() {

  // Setup GPS
  tGPS.begin(  9600 , SERIAL_8N1 , gpsRXPIN , gpsTXPIN );
  
}
// isGPS
void isGPS(){

  // Receives NEMA data from GPS receiver
  // This sketch displays information every time a new sentence is correctly encoded
  while ( tGPS.available() > 0)
    
    if (gps.encode( tGPS.read() ))
    {
     
       // GPS Vector Pointer Target
       displayInfo();
       // GPS Date, Time, Speed, Altitude
       displayDTS();
       
    }

  if (millis() > 5000 && gps.charsProcessed() < 10)
  {

     while(true);
    
  }

}
// GPS Vector Pointer Target
void displayInfo(){

  // Location
  if (gps.location.isValid())
  {
    
     // Latitude
     TargetLat = gps.location.lat();
     // Longitude
     TargetLon = gps.location.lng();
     // GPS Status 2
     GPSSt = "Yes";

     // FullStringG
     FullStringG = "Latitude = " + String(TargetLat) + " Longitude = "
     + String(TargetLon) + "\r\n";

     // FullStringG Bluetooth Serial + Serial
     for(int i = 0; i < FullStringG.length(); i++)
     {

       // Bluetooth Serial
       SerialBT.write(FullStringG.c_str()[i]);
       // Serial
       Serial.write(FullStringG.c_str()[i]);
    
     }
    
  }
  else
  {

     // GPS Status 0
     GPSSt = "No";
    
  }

}
// GPS Date, Time, Speed, Altitude
void displayDTS(){

  // Date
  TargetDat = ""; 
  if (gps.date.isValid())
  {
    
     // Date
     // Year
     TargetDat += String(gps.date.year(), DEC);
     TargetDat += "/";
     // Month
     TargetDat += String(gps.date.month(), DEC);
     TargetDat += "/";
     // Day
     TargetDat += String(gps.date.day(), DEC);

     // FullStringH
     FullStringH = "Date = " + String(TargetDat) + "\r\n";

     // FullStringH Bluetooth Serial + Serial
     for(int i = 0; i < FullStringH.length(); i++)
     {

       // Bluetooth Serial
       SerialBT.write(FullStringH.c_str()[i]);
       // Serial
       Serial.write(FullStringH.c_str()[i]);
    
     }
    
  }

  // Time
  TargetTim = "";
  if (gps.time.isValid())
  {
    
     // Time
     // Hour
     TargetTim += String(gps.time.hour(), DEC);
     TargetTim += ":";
     // Minute
     TargetTim += String(gps.time.minute(), DEC);
     TargetTim += ":";
     // Secound
     TargetTim += String(gps.time.second(), DEC);

     // FullStringH
     FullStringH = "Time = " + String(TargetTim) + "\r\n";

     // FullStringH Bluetooth Serial + Serial
     for(int i = 0; i < FullStringH.length(); i++)
     {

       // Bluetooth Serial
       SerialBT.write(FullStringH.c_str()[i]);
       // Serial
       Serial.write(FullStringH.c_str()[i]);
    
     }
    
  }

  // Speed
  TargetSMS = "";
  TargetSKH = "";
  if (gps.speed.isValid())
  {
    
     // Speed
     // M/S
     int x = gps.speed.mps();
     TargetSMS = String( x, DEC);
     // Km/h
     int y = gps.speed.kmph();
     TargetSKH = String( y, DEC);

     // FullStringH
     FullStringH = "Speed = " + String(TargetSMS) + "\r\n";

     // FullStringH Bluetooth Serial + Serial
     for(int i = 0; i < FullStringH.length(); i++)
     {

       // Bluetooth Serial
       SerialBT.write(FullStringH.c_str()[i]);
       // Serial
       Serial.write(FullStringH.c_str()[i]);
    
     }

  }

  // Altitude
  TargetALT = "";
  if (gps.altitude.isValid())
  {
    
     // Altitude
     // Meters
     int z = gps.altitude.meters();
     TargetALT = String( z, DEC);

     // FullStringH
     FullStringH = "Altitude = " + String(TargetALT) + "\r\n";

     // FullStringH Bluetooth Serial + Serial
     for(int i = 0; i < FullStringH.length(); i++)
     {

       // Bluetooth Serial
       SerialBT.write(FullStringH.c_str()[i]);
       // Serial
       Serial.write(FullStringH.c_str()[i]);
    
     }

  }
 
}

getMagnetometer.ino

// Magnetometer
// Setup Magnetometer
void setupMag() {

  // Setup Magnetometer
  mag.init();
  // Default
  mag.enableDefault();
  
}
// Magnetometer
void isMag() {

  // Magnetometer
  mag.read();
  // Magnetometer x, y, z
  magX = mag.m.x;
  magY = mag.m.y;
  magZ = mag.m.z;

  // FullString D
  FullStringD = "Magnetometer X = " + String(magX) + " Magnetometer Y = "
  + String(magY) + " Magnetometer Z = " + String(magZ) 
  + "\r\n";

  // FullStringD Bluetooth Serial + Serial
  for(int i = 0; i < FullStringD.length(); i++)
  {

    // Bluetooth Serial
    SerialBT.write(FullStringD.c_str()[i]);
    // Serial
    Serial.write(FullStringD.c_str()[i]);
    
  }
  
}

setup.ino

// Setup
void setup()
{
  
  // Serial Begin
  Serial.begin(9600);
  Serial.println("Starting BLE work!");

  // Bluetooth Serial
  SerialBT.begin("Don Luc Electronics");
  Serial.println("Bluetooth Started! Ready to pair...");

  // Give display time to power on
  delay(100);
  
  // Wire - Inialize I2C Hardware
  Wire.begin();

  // Give display time to power on
  delay(100);

  // SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude 
  myBME280.begin();

  // CCS811 - eCO2 & tVOC
  myCCS811.begin();

  // Setup IMU
  setupIMU();

  // Setup Magnetometer
  setupMag();

  // Setup Barometer
  isSetupBarometer();

  // GPS Receiver
  // Setup GPS
  setupGPS();
  
  // Initialize digital pin LED_BUILTIN as an output
  pinMode(LED_BUILTIN, OUTPUT);
  // Turn the LED on HIGH
  digitalWrite(LED_BUILTIN, HIGH);

}

——

Arduino Uno

RX – Digital 3
TX – Digital 2
VIN – +3.3V
GND – GND

——

DL2307Mk05pr.ino

/* ***** Don Luc Electronics © *****
Software Version Information
Project #26 - Radio Frequency - Bluetooth GPS Receiver GP-20U7 - Mk24
26-24
DL2307Mk05pr.ino
1 x Arduino Uno
1 x SparkFun RedBoard Qwiic
1 x SparkFun Bluetooth Mate Silver
1 x SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude
1 x SparkFun Air Quality Breakout - CCS811
1 x Pololu AltIMU-10 v5
1 x GPS Receiver - GP-20U7
1 x Lithium Ion Battery - 85mAh
2 x SparkFun Cerberus USB Cable
*/

// Include the Library Code
// Software Serial
#include <SoftwareSerial.h>

// Software Serial
// TX-O pin of bluetooth mate, Arduino D2
int bluetoothTx = 2;
// RX-I pin of bluetooth mate, Arduino D3
int bluetoothRx = 3;
// Bluetooth
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
// BTA
//String BTA = "0006664FDC9E"; 

// Software Version Information
String sver = "26-24";

void loop() {

  // isBluetooth
  isBluetooth();
 
}

getBluetooth.ino

// Bluetooth
// Setup Bluetooth
void isSetupBluetooth(){

  // Setup Bluetooth
  // Begin the serial monitor at 9600bps
  Serial.begin(9600);
  // Bluetooth
  // The Bluetooth Mate defaults to 115200bps
  bluetooth.begin(115200);
  // Print three times individually
  bluetooth.print("$");
  bluetooth.print("$");
  bluetooth.print("$");
  // Enter command mode
  // Short delay, wait for the Mate to send back CMD
  delay(100);
  // Temporarily Change the baudrate to 9600, no parity
  bluetooth.println("U,9600,N");
  // 115200 can be too fast at times for NewSoftSerial to relay the data reliably
  // Start bluetooth serial at 9600
  bluetooth.begin(9600);
  
}
// isBluetooth
void isBluetooth() {

  // If the bluetooth sent any characters
  if(bluetooth.available())
  {
    
    // Send any characters the bluetooth prints to the serial monitor
    Serial.print((char)bluetooth.read());
    
  }
  // If stuff was typed in the serial monitor
  if(Serial.available())
  {
    
    // Send any characters the Serial monitor prints to the bluetooth
    bluetooth.print((char)Serial.read());
    
  }

}

setup.ino

// Setup
void setup()
{
  
  // Setup Bluetooth
  isSetupBluetooth();

}

——

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

Technology Experience

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi,Espressif, etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Machine Learning
  • RTOS
  • Research & Development (R & D)

Instructor, E-Mentor, STEAM, and Arts-Based Training

  • Programming Language
  • IoT
  • PIC Microcontrollers
  • Arduino
  • Raspberry Pi
  • Espressif
  • Robotics

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

Project #16: Sound – White Noise or Wave Packet – Mk17

——

#donluc #sound #whitenoise #mozzi #WavePacket #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

——

Wave Packet

——

Wave Packet

——

Wave Packet

——

White Noise

White Noise can be used by all audiences in a variety of ways throughout our daily lives. Whether you’re trying to work, study, relax, or even sleep. Offices can be either too quiet or too noisy. White noise makes it impossible to concentrate. Sound affects many areas of the brain and has an undeniable effect on the body. A good way to test if a particular sound is relaxing to you is to check your pulse, if it slows down, then you have found the sound that is calming you. Keep listening to it and you will relax, reaching a state of increased calmness and reducing your levels of anxiety, stress, or anger.

Wave Packet

In physics, a wave packet is a short burst of localized wave action that travels as a unit. A wave packet can be analyzed into, or can be synthesized from, an infinite set of component sinusoidal waves of different wavenumbers, with phases and amplitudes such that they interfere constructively only over a small region of space, and destructively elsewhere.Each component wave function, and hence the wave packet, are solutions of a wave equation. Depending on the wave equation, the wave packet’s profile may remain constant or it may change while propagating.

DL2104Mk02

1 x Arduino Pro Mini 328 – 5V/16MHz
1 x Mountable Slide Switch
1 x 10K Ohm
2 x LED Green
2 x 270 Ohm
3 x Rotary Potentiometer – 10k Ohm
3 x Knob
1 x Audio Jack 3.5mm
1 x SparkFun Audio Jack Breakout
1 x Hamburger Mini Speaker
12 x Wire Solid Core – 22 AWG
7 x Jumper Wires 3 inches M/M
2 x Jumper Wires 6 inches M/M
1 x Full-Size Breadboard
1 x SparkFun Cerberus USB Cable
1 x SparkFun FTDI Basic Breakout – 5V

Arduino Pro Mini 328 – 5V/16MHz

PO1 – Analog A0
PO2 – Analog A1
PO3 – Analog A2
SPK – Digital 9
LD1 – Digital 6
LD2 – Digital 7
SW1 – Digital 4
VIN – +5V
GND – GND

DL2104Mk02p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// Project #16: Sound - White Noise - Mk17
// 04-02
// DL2104Mk02p.ino 16-17
// 1 x Arduino Pro Mini 328 - 5V/16MHz
// 1 x Mountable Slide Switch
// 1 x 10K Ohm
// 2 x LED Green
// 2 x 270 Ohm
// 3 x Rotary Potentiometer - 10k Ohm
// 3 x Knob
// 1 x Audio Jack 3.5mm
// 1 x SparkFun Audio Jack Breakout
// 1 x Hamburger Mini Speaker
// 12 x Wire Solid Core - 22 AWG
// 7 x Jumper Wires 3 inches M/M
// 2 x Jumper Wires 6 inches M/M
// 1 x Full-Size Breadboard
// 1 x SparkFun Cerberus USB Cable
// 1 x SparkFun FTDI Basic Breakout - 5V

// Include the Library Code
// Mozzi
#include <MozziGuts.h>
// Mozzi Random
#include <mozzi_rand.h>
// Oscillator template
#include <Oscil.h>
// Mozzi Analog
#include <mozzi_analog.h>
// WavePacket Sample
//#include <WavePacketSample.h>
#include <WavePacket.h>
// Rolling Average
#include <RollingAverage.h>
// Sine table for oscillator whitenoise
#include <tables/whitenoise8192_int8.h>

// Set the input for the knob
#define FUNDAMENTAL_PIN A0
#define BANDWIDTH_PIN A1
#define CENTREFREQ_PIN A2

// for smoothing the control signals
// Rolling Average
RollingAverage <int, 32> kAverageF;
RollingAverage <int, 32> kAverageBw;
RollingAverage <int, 32> kAverageCf;
// SINGLE selects 1 non-overlapping stream
WavePacket <SINGLE> wavey; 

// Oscil <table_size, update_rate> oscilName (wavetable)
Oscil <WHITENOISE8192_NUM_CELLS, AUDIO_RATE> aSin(WHITENOISE8192_DATA);

// Mini Speaker
int SPK = 9;

// Mountable Slide Switch
int iSS1 = 4;
// State
int iSS1State = 0;

// LED Green
int iLEDG1 = 6;
int iLEDG2 = 7;

// Set the input for the volume
// Volume level from updateControl() to updateAudio()
byte vol;

// Software Version Information
String sver = "16-17";

void loop() {

  // Slide Switch
  // Read the state of the iSS1 value
  iSS1State = digitalRead(iSS1);
  
  // Audio Hook
  audioHook();
  
}

getMozzi.ino

// Mozzi
// Update Control
void updateControl(){

  // If it is the Slide Switch State is HIGH
  if (iSS1State == HIGH) {

    // White Noise
    vol = 255;

  } else {

    // Wavey Set
    wavey.set(kAverageF.next(mozziAnalogRead(FUNDAMENTAL_PIN))+1,
    kAverageBw.next(mozziAnalogRead(BANDWIDTH_PIN)),
    kAverageCf.next(2*mozziAnalogRead(CENTREFREQ_PIN)));
  
  }

}
// Update Audio
int updateAudio()
{

  // If it is the Slide Switch State is HIGH
  if (iSS1State == HIGH) {

    // LED Green
    digitalWrite(iLEDG1, HIGH);
    digitalWrite(iLEDG2, LOW);
    
    // White Noise
    char whitenoise = rand((byte)255) - 128;
    return (((whitenoise * aSin.next())) * vol)>>8;  

  } else {

    // LED Green
    digitalWrite(iLEDG1, LOW);
    digitalWrite(iLEDG2, HIGH);
    
    // AUDIO_MODE STANDARD
    // Wavey Next
    return wavey.next()>>8;
   
  }

}

setup.ino

// Setup
void setup() {

  // Slide Switch
  pinMode(iSS1, INPUT);

  // LED Green
  pinMode(iLEDG1, OUTPUT);
  pinMode(iLEDG2, OUTPUT);

  // Mozzi Start
  startMozzi();
  
  // Set the frequency
  aSin.setFreq(0.05f);
  
}

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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 #16: Sound – White Noise – Mk16

——

#donluc #sound #whitenoise #mozzi #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

——

White Noise

——

White Noise

——

White Noise

——

White Noise

Thus, random signals are considered “white noise” if they are observed to have a flat spectrum over the range of frequencies that are relevant to the context. For an audio signal, the relevant range is the band of audible sound frequencies (between 20 and 20,000 Hz). Such a signal is heard by the human ear as a hissing sound. In music and acoustics, the term “white noise” may be used for any signal that has a similar hissing sound. It is sometimes used analogously in nontechnical contexts to mean “random talk without meaningful contents”.

DL2104Mk01

1 x Arduino Pro Mini 328 – 5V/16MHz
1 x Audio Jack 3.5mm
1 x SparkFun Audio Jack Breakout
1 x Hamburger Mini Speaker
4 x Jumper Wires 3in M/M
1 x Full-Size Breadboard
1 x SparkFun Cerberus USB Cable
1 x SparkFun FTDI Basic Breakout – 5V

Arduino Pro Mini 328 – 5V/16MHz

SPK – Digital 9
VIN – +5V
GND – GND

DL2104Mk01p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// Project #16: Sound - White Noise - Mk16
// 04-01
// DL2104Mk01p.ino 16-16
// 1 x Arduino Pro Mini 328 - 5V/16MHz
// 1 x Audio Jack 3.5mm
// 1 x SparkFun Audio Jack Breakout
// 1 x Hamburger Mini Speaker
// 4 x Jumper Wires 3in M/M
// 1 x Full-Size Breadboard
// 1 x SparkFun Cerberus USB Cable
// 1 x SparkFun FTDI Basic Breakout - 5V

// Include the Library Code
// Mozzi
#include <MozziGuts.h>
#include <mozzi_rand.h>
// Oscillator template
#include <Oscil.h>
// Sine table for oscillator whitenoise
#include <tables/whitenoise8192_int8.h>

// Oscil <table_size, update_rate> oscilName (wavetable), look in .h file of table #included above
Oscil <WHITENOISE8192_NUM_CELLS, AUDIO_RATE> aSin(WHITENOISE8192_DATA);

// Mini Speaker
int SPK = 9;

// Set the input for the volume
// To convey the volume level from updateControl() to updateAudio()
byte volume;

// Software Version Information
String sver = "16-16";

void loop() {

  // Audio Hook
  audioHook();
  
}

getMozzi.ino

// Mozzi
// Update Control
int updateAudio()
{
  
  // White Noise
  char whitenoise = rand((byte)255) - 128;
  return ((whitenoise * aSin.next()) * volume)>>8;
  
}
// Update Audio 
void updateControl(){
  
  // Map it to an 8 bit range for efficient calculations in updateAudio
  // Volume
  volume = 255;

}

setup.ino

// Setup
void setup() {

  // Mozzi Start
  startMozzi();
  // Set the frequency
  aSin.setFreq(0.05f);
  
}

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Goggles NeoPixel Meditation – Small Enclosures – Mk08

——

#donluc #meditation #gogglesmeditation #musicshield #neopixels #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

——

Small Enclosures

——

Small Enclosures

——

Small Enclosures

——

Hammond Manufacturing Ltd.

For more than 100 years, customers who have required unsurpassed performance, wide selection and durability for power distribution, racks and enclosures have relied on the Hammond brand.

The business started in a backyard workshop in 1916 located in Guelph, Ontario, Canada. In 1917, the original company known as O.S. Hammond and Son was established in Guelph. O.S. Hammond and Son began making tube radio sets, battery chargers and other related products between 1919 and 1927. In the early 1930’s Hammond became the first company in Canada to manufacture a line of 2-post racks and a narrow cabinet to support the growing broadcast and communications industries. Company expanded its focus on the U.S. and International markets. Hammond made a number of strategic acquisitions of transformer companies and became one of the largest suppliers of magnetics to the North American electrical OEM market.

ABS plastic hand held enclosures, 1553 series, soft sided, ergonomic comfort, battery compartments. Ergonomically designed for hand-held comfort. Choice of five sizes and six color combinations.

DL2103Mk04

1 x Arduino Uno – R3
1 x ProtoScrewShield
1 x Music Shield V1.1
1 x NeoPixel Stick – 8 x 5050 RGB LED with Integrated Drivers
1 x microSD Card – 2GB
1 x Panel Mount 1K potentiometer
2 x Knob
1 x SparkFun Rotary Switch – 10 Position
1 x SparkFun Rotary Switch Breakout
1 x Breadboard Solderable
11 x 1K Ohm
1 x Hamburger Mini Speaker
1 x In-Ear Headphones
1 x 5200 mAh Portable Charger
17 x Wire Solid Core – 22 AWG
1 x Ethernet Cable Cat 5 – 2 Metres
1 x Goggles
1 x Hammond Manufacturing, Small Enclosures, 1553 Series
1 x USB Cable A to B – 6 Foot

Arduino Uno – R3

RW0 – Analog A4
PO0 – Analog A5
NP1 – Digital 1
MB0 – RST
VIN – +5V
GND – GND

DL2103Mk05p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Goggles NeoPixel Meditation - Small Enclosures - Mk08
// 03-04
// DL2103Mk04p.ino 17-08
// DL2103Mk04
// 1 x Arduino Uno - R3
// 1 x ProtoScrewShield
// 1 x Music Shield V1.1
// 1 x NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers
// 1 x microSD Card - 2GB
// 1 x Panel Mount 1K potentiometer
// 2 x Knob
// 1 x SparkFun Rotary Switch - 10 Position
// 1 x SparkFun Rotary Switch Breakout
// 1 x Breadboard Solderable
// 11 x 1K Ohm
// 1 x Hamburger Mini Speaker
// 1 x In-Ear Headphones
// 1 x 5200 mAh Portable Charger
// 17 x Wire Solid Core - 22 AWG
// 1 x Ethernet Cable Cat 5 - 2 Metres
// 1 x Goggles
// 1 x Hammond Manufacturing, Small Enclosures, 1553 Series
// 1 x USB Cable A to B - 6 Foot

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// Fat 16
#include <Fat16.h>
#include <Fat16Util.h>
// New SPI
#include <NewSPI.h>
// Arduino
#include <arduino.h>
// Music Player
#include "pins_config.h"
#include "vs10xx.h"
#include "newSDLib.h"
#include "MusicPlayer.h"

// NeoPixels
#define PIN 1
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 8
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brighten
int BrightenValue = 0;
// Color
const int iSensorColor = A5;
int y = 0;
int ColorVal = 0;

// Rotary Switch - 10 Position
// Number 1 => 10
int iRotNum = A4;
// iRotVal - Value 
int iRotVal = 0;
// Number
int z = 0;
int x = 0;

// Music Player
MusicPlayer myplayer;

// Software Version Information
String sver = "17-08";

void loop() {

  // Rotary Switch
  isRot();

}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // BrightenValue = 40
    BrightenValue = 40;
    pixels.setBrightness( BrightenValue );

    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

  // Range Color
  ColorVal = analogRead( iSensorColor );
  y = (ColorVal / 127);
  
  switch ( y ) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      isNeopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      isNeopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      isNeopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      isNeopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      isNeopix();
      break;     
    case 7:
      // Red
      red = 255;
      green = 0;
      blue = 0;        
      isNeopix();
      break; 
  }
  
}

getRot.ino

// Rotary Switch
// isRot - iRotVal - Value
void isRot() {

  // Rotary Switch
  z = analogRead( iRotNum );
  x = map(z, 0, 4095, 0, 9);
  iRotVal = map(z, 0, 1023, 0, 10);

  // Range Value
  switch ( iRotVal ) {
    case 0:

      // Range Color
      isRangeColor();
      
      break;
    case 1:

      // Music
      // Add To Playlist
      // 3:18
      myplayer.addToPlaylist("DLEMk001.mp3");
      // 2:47
      myplayer.addToPlaylist("DLEMk002.mp3");
      // 4.34
      myplayer.addToPlaylist("DLEMk003.mp3");
      // There are two songs in the playlist
      // 10:37
      myplayer.playList();
      while(1);
      
      break;
    case 2:

      // Music
      // Add To Playlist
      // 22:53
      myplayer.addToPlaylist("DLEMk004.mp3");
      // There are two songs in the playlist
      // 22:53
      myplayer.playList();
      while(1);
      
      break;  
    case 3:

      // Music
      // Add To Playlist
      // 4:18
      myplayer.addToPlaylist("DLEMk005.mp3");
      // 4:20
      myplayer.addToPlaylist("DLEMk006.mp3");
      // There are two songs in the playlist
      // 8:38
      myplayer.playList();
      while(1);
      
      break;
    case 4:

      // Music
      // Add To Playlist
      // 9:14
      myplayer.addToPlaylist("DLEMk007.mp3");
      // 7:52
      myplayer.addToPlaylist("DLEMk008.mp3");
      // There are two songs in the playlist
      // 17:07
      myplayer.playList();
      while(1);
      
      break;
    case 5:

      // Music
      // Add To Playlist
      // 4:37
      myplayer.addToPlaylist("DLEMk009.mp3");
      // There are two songs in the playlist
      // 4:37
      myplayer.playList();
      while(1);
      
      break;       
    case 6:

      // Music
      // Add To Playlist
      // 8:40
      myplayer.addToPlaylist("DLEMk010.mp3");
      // 8:40
      myplayer.playList();
      while(1); 
      
      break; 
    case 7:
         
      // Music
      // Add To Playlist
      // 1:31
      myplayer.addToPlaylist("DLEMk011.mp3");
      // 3:29
      myplayer.addToPlaylist("DLEMk012.mp3");
      // There are two songs in the playlist
      // 5:00
      myplayer.playList();
      while(1);
      
      break; 
    case 8:

      // Music
      // Add To Playlist
      // 6:14
      myplayer.addToPlaylist("DLEMk013.mp3");
      // 5:17
      myplayer.addToPlaylist("DLEMk014.mp3");
      // There are two songs in the playlist
      // 11:31
      myplayer.playList();
      while(1); 
      
      break;
    case 9:

      // Music
      // Add To Playlist
      // 6:30
      myplayer.addToPlaylist("DLEMk015.mp3");
      // 3:00
      myplayer.addToPlaylist("DLEMk016.mp3");
      // There are two songs in the playlist
      // 9:30
      myplayer.playList();
      while(1); 
      
      break;
  }

}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();
   delay(50);

   // Range Color
   isRangeColor();

   // Music Player
   // Will initialize the hardware and set default mode to be normal
   myplayer.begin();

}

Music 01 – 10m 37s

DLEMk001.mp3
DLEMk002.mp3
DLEMk003.mp3

Music 02 – 22m 53s

DLEMk004.mp3

Music 03 – 8m 38s

DLEMk005.mp3
DLEMk006.mp3

Music 04 – 17m 07s

DLEMk007.mp3
DLEMk008.mp3

Music 05 – 4m 37s

DLEMk009.mp3

Music 06 – 8m 40s

DLEMk010.mp3

Music 07 – 5m 00s

DLEMk011.mp3
DLEMk012.mp3

Music 08 – 11m 31s

DLEMk013.mp3
DLEMk014.mp3

Music 09 – 9m 30s

DLEMk015.mp3
DLEMk016.mp3

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Goggles NeoPixel Meditation – Goggles – Mk07

——

Goggles

——

Goggles

——

Goggles

——

#donluc #meditation #gogglesmeditation #musicshield #neopixels #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

Goggles

Goggles are forms of protective eyewear that usually enclose or protect the area surrounding the eye in order to prevent particulates, water or chemicals from striking the eyes. They are used in chemistry laboratories and in woodworking. They are often used in snow sports as well, and in swimming. Goggles are often worn when using power tools such as drills or chainsaws to prevent flying particles from damaging the eyes.

Welding goggles provide a degree of eye protection while some forms of welding and cutting are being done. They are intended to protect the eyes not only from the heat and optical radiation produced by the welding, such as the intense ultraviolet light produced by an electric arc, but also from sparks or debris.

Goggles NeoPixel 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.

First Luc researched the scientific principles behind available biofeedback technologies, the ways to design and build the actual sensors Goggles NeoPixel Meditation. To find the solution yielding the best results light and music, constructed proof-of-concept prototypes.

DL2103Mk03

1 x Arduino Uno – R3
1 x ProtoScrewShield
1 x Music Shield V1.1
1 x NeoPixel Stick – 8 x 5050 RGB LED with Integrated Drivers
1 x microSD Card – 2GB
1 x Panel Mount 1K potentiometer
2 x Knob
1 x SparkFun Rotary Switch – 10 Position
1 x SparkFun Rotary Switch Breakout
1 x Breadboard Solderable
11 x 1K Ohm
1 x Hamburger Mini Speaker
17 x Wire Solid Core – 22 AWG
1 x Ethernet Cable Cat 5 – 2 Metres
1 x Goggles
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable

Arduino Uno – R3

RW0 – Analog A4
PO0 – Analog A5
NP1 – Digital 1
MB0 – RST
VIN – +5V
GND – GND

DL2103Mk03p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Goggles NeoPixel Meditation - Goggles - Mk07
// 03-03
// DL2103Mk03p.ino 17-07
// DL2103Mk03
// 1 x Arduino Uno - R3
// 1 x ProtoScrewShield
// 1 x Music Shield V1.1
// 1 x NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers
// 1 x microSD Card - 2GB
// 1 x Panel Mount 1K potentiometer
// 11 x Knob
// 1 x SparkFun Rotary Switch - 10 Position
// 1 x SparkFun Rotary Switch Breakout
// 1 x Breadboard Solderable
// 11 x 1K Ohm
// 1 x Hamburger Mini Speaker
// 17 x Wire Solid Core - 22 AWG
// 1 x Ethernet Cable Cat 5 - 2 Metres
// 1 x Goggles
// 1 x Half-Size Breadboard
// 1 x SparkFun Cerberus USB Cable

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// Fat 16
#include <Fat16.h>
#include <Fat16Util.h>
// New SPI
#include <NewSPI.h>
// Arduino
#include <arduino.h>
// Music Player
#include "pins_config.h"
#include "vs10xx.h"
#include "newSDLib.h"
#include "MusicPlayer.h"

// NeoPixels
#define PIN 1
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 8
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brighten
int BrightenValue = 0;
// Color
const int iSensorColor = A5;
int y = 0;
int ColorVal = 0;

// Rotary Switch - 10 Position
// Number 1 => 10
int iRotNum = A4;
// iRotVal - Value 
int iRotVal = 0;
// Number
int z = 0;
int x = 0;

// Music Player
MusicPlayer myplayer;

// Software Version Information
String sver = "17-07";

void loop() {

  // Rotary Switch
  isRot();

}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // BrightenValue = 40
    BrightenValue = 40;
    pixels.setBrightness( BrightenValue );

    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

  // Range Color
  ColorVal = analogRead( iSensorColor );
  y = (ColorVal / 127);
  
  switch ( y ) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      isNeopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      isNeopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      isNeopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      isNeopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      isNeopix();
      break;     
    case 7:
      // Red
      red = 255;
      green = 0;
      blue = 0;        
      isNeopix();
      break; 
  }
  
}

getRot.ino

// Rotary Switch
// isRot - iRotVal - Value
void isRot() {

  // Rotary Switch
  z = analogRead( iRotNum );
  x = map(z, 0, 4095, 0, 9);
  iRotVal = map(z, 0, 1023, 0, 10);

  // Range Value
  switch ( iRotVal ) {
    case 0:

      // Range Color
      isRangeColor();
      
      break;
    case 1:

      // Music
      // Add To Playlist
      // 3:18
      myplayer.addToPlaylist("DLEMk001.mp3");
      // 2:47
      myplayer.addToPlaylist("DLEMk002.mp3");
      // 4.34
      myplayer.addToPlaylist("DLEMk003.mp3");
      // There are two songs in the playlist
      // 10:37
      myplayer.playList();
      while(1);
      
      break;
    case 2:

      // Music
      // Add To Playlist
      // 22:53
      myplayer.addToPlaylist("DLEMk004.mp3");
      // There are two songs in the playlist
      // 22:53
      myplayer.playList();
      while(1);
      
      break;  
    case 3:

      // Music
      // Add To Playlist
      // 4:18
      myplayer.addToPlaylist("DLEMk005.mp3");
      // 4:20
      myplayer.addToPlaylist("DLEMk006.mp3");
      // There are two songs in the playlist
      // 8:38
      myplayer.playList();
      while(1);
      
      break;
    case 4:

      // Music
      // Add To Playlist
      // 9:14
      myplayer.addToPlaylist("DLEMk007.mp3");
      // 7:52
      myplayer.addToPlaylist("DLEMk008.mp3");
      // There are two songs in the playlist
      // 17:07
      myplayer.playList();
      while(1);
      
      break;
    case 5:

      // Music
      // Add To Playlist
      // 4:37
      myplayer.addToPlaylist("DLEMk009.mp3");
      // There are two songs in the playlist
      // 4:37
      myplayer.playList();
      while(1);
      
      break;       
    case 6:

      // Music
      // Add To Playlist
      // 8:40
      myplayer.addToPlaylist("DLEMk010.mp3");
      // 8:40
      myplayer.playList();
      while(1); 
      
      break; 
    case 7:
         
      // Music
      // Add To Playlist
      // 1:31
      myplayer.addToPlaylist("DLEMk011.mp3");
      // 3:29
      myplayer.addToPlaylist("DLEMk012.mp3");
      // There are two songs in the playlist
      // 5:00
      myplayer.playList();
      while(1);
      
      break; 
    case 8:

      // Music
      // Add To Playlist
      // 6:14
      myplayer.addToPlaylist("DLEMk013.mp3");
      // 5:17
      myplayer.addToPlaylist("DLEMk014.mp3");
      // There are two songs in the playlist
      // 11:31
      myplayer.playList();
      while(1); 
      
      break;
    case 9:

      // Music
      // Add To Playlist
      // 6:30
      myplayer.addToPlaylist("DLEMk015.mp3");
      // 3:00
      myplayer.addToPlaylist("DLEMk016.mp3");
      // There are two songs in the playlist
      // 9:30
      myplayer.playList();
      while(1); 
      
      break;
  }

}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();
   delay(50);

   // Range Color
   isRangeColor();

   // Music Player
   // Will initialize the hardware and set default mode to be normal
   myplayer.begin();

}

Music 01 – 10m 37s

DLEMk001.mp3
DLEMk002.mp3
DLEMk003.mp3

Music 02 – 22m 53s

DLEMk004.mp3

Music 03 – 8m 38s

DLEMk005.mp3
DLEMk006.mp3

Music 04 – 17m 07s

DLEMk007.mp3
DLEMk008.mp3

Music 05 – 4m 37s

DLEMk009.mp3

Music 06 – 8m 40s

DLEMk010.mp3

Music 07 – 5m 00s

DLEMk011.mp3
DLEMk012.mp3

Music 08 – 11m 31s

DLEMk013.mp3
DLEMk014.mp3

Music 09 – 9m 30s

DLEMk015.mp3
DLEMk016.mp3

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Glasses LED Meditation – NeoPixel Stick – Mk06

——

#donluc #meditation #glassesledmeditation #musicshield #neopixels #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

——

NeoPixel Stick

——

NeoPixel Stick

——

NeoPixel Stick

——

NeoPixel Stick – 8 x 5050 RGB LED with Integrated Drivers

Make your own little LED strip arrangement with this stick of NeoPixel LEDs. We crammed 8 of the tiny 5050 (5mm x 5mm) smart RGB LEDs onto a PCB with mounting holes and a chainable design. Use only one microcontroller pin to control as many as you can chain together! Each LED is addressable as the driver chip is inside the LED. Each one has ~18mA constant current drive so the color will be very consistent even if the voltage varies, and no external choke resistors are required making the design slim. Power the whole thing with 5VDC (4-7V works).

The LEDs are ‘chainable’ by connecting the output of one stick into the input of another. There is a single data line with a very timing-specific protocol. Since the protocol is very sensitive to timing, it requires a real-time microconroller such as an AVR, Arduino, PIC, mbed, etc. It cannot be used with a Linux-based microcomputer or interpreted microcontroller such as the netduino or Basic Stamp. Our wonderfully-written Neopixel library for Arduino supports these pixels. As it requires hand-tuned assembly it is only for AVR cores but others may have ported this chip driver code so please google around. An 8MHz or faster processor is required.

DL2103Mk02

1 x Arduino Uno – R3
1 x ProtoScrewShield
1 x Music Shield V1.1
1 x NeoPixel Stick – 8 x 5050 RGB LED with Integrated Drivers
1 x microSD Card – 2GB
1 x Panel Mount 1K potentiometer
2 x Knob
1 x SparkFun Rotary Switch – 10 Position
1 x SparkFun Rotary Switch Breakout
1 x Breadboard Solderable
11 x 1K Ohm
1 x Hamburger Mini Speaker
17 x Wire Solid Core – 22 AWG
1 x Ethernet Cable Cat 5 – 2 Metres
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable

Arduino Uno – R3

RW0 – Analog A4
PO0 – Analog A5
NP1 – Digital 1
MB0 – RST
VIN – +5V
GND – GND

DL2103Mk02p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Glasses LED Meditation - NeoPixel Stick - Mk06
// 03-02
// DL2103Mk02p.ino 17-06
// DL2103Mk02
// 1 x Arduino Uno - R3
// 1 x ProtoScrewShield
// 1 x Music Shield V1.1
// 1 x NeoPixel Stick - 8 x 5050 RGB LED with Integrated Drivers
// 1 x microSD Card - 2GB
// 1 x Panel Mount 1K potentiometer
// 11 x Knob
// 1 x SparkFun Rotary Switch - 10 Position
// 1 x SparkFun Rotary Switch Breakout
// 1 x Breadboard Solderable
// 11 x 1K Ohm
// 1 x Hamburger Mini Speaker
// 17 x Wire Solid Core - 22 AWG
// 1 x Ethernet Cable Cat 5 - 2 Metres
// 1 x Half-Size Breadboard
// 1 x SparkFun Cerberus USB Cable

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// Fat 16
#include <Fat16.h>
#include <Fat16Util.h>
// New SPI
#include <NewSPI.h>
// Arduino
#include <arduino.h>
// Music Player
#include "pins_config.h"
#include "vs10xx.h"
#include "newSDLib.h"
#include "MusicPlayer.h"

// NeoPixels
#define PIN 1
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 8
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brighten
int BrightenValue = 0;
// Color
const int iSensorColor = A5;
int y = 0;
int ColorVal = 0;

// Rotary Switch - 10 Position
// Number 1 => 10
int iRotNum = A4;
// iRotVal - Value 
int iRotVal = 0;
// Number
int z = 0;
int x = 0;

// Music Player
MusicPlayer myplayer;

// Software Version Information
String sver = "17-06";

void loop() {

  // Rotary Switch
  isRot();

}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // BrightenValue = 40
    BrightenValue = 40;
    pixels.setBrightness( BrightenValue );

    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

  // Range Color
  ColorVal = analogRead( iSensorColor );
  y = (ColorVal / 127);
  
  switch ( y ) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      isNeopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      isNeopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      isNeopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      isNeopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      isNeopix();
      break;     
    case 7:
      // Red
      red = 255;
      green = 0;
      blue = 0;        
      isNeopix();
      break; 
  }
  
}

getRot.ino

// Rotary Switch
// isRot - iRotVal - Value
void isRot() {

  // Rotary Switch
  z = analogRead( iRotNum );
  x = map(z, 0, 4095, 0, 9);
  iRotVal = map(z, 0, 1023, 0, 10);

  // Range Value
  switch ( iRotVal ) {
    case 0:

      // Range Color
      isRangeColor();
      
      break;
    case 1:

      // Music
      // Add To Playlist
      // 3:18
      myplayer.addToPlaylist("DLEMk001.mp3");
      // 2:47
      myplayer.addToPlaylist("DLEMk002.mp3");
      // 4.34
      myplayer.addToPlaylist("DLEMk003.mp3");
      // There are two songs in the playlist
      // 10:37
      myplayer.playList();
      while(1);
      
      break;
    case 2:

      // Music
      // Add To Playlist
      // 22:53
      myplayer.addToPlaylist("DLEMk004.mp3");
      // There are two songs in the playlist
      // 22:53
      myplayer.playList();
      while(1);
      
      break;  
    case 3:

      // Music
      // Add To Playlist
      // 4:18
      myplayer.addToPlaylist("DLEMk005.mp3");
      // 4:20
      myplayer.addToPlaylist("DLEMk006.mp3");
      // There are two songs in the playlist
      // 8:38
      myplayer.playList();
      while(1);
      
      break;
    case 4:

      // Music
      // Add To Playlist
      // 9:14
      myplayer.addToPlaylist("DLEMk007.mp3");
      // 7:52
      myplayer.addToPlaylist("DLEMk008.mp3");
      // There are two songs in the playlist
      // 17:07
      myplayer.playList();
      while(1);
      
      break;
    case 5:

      // Music
      // Add To Playlist
      // 4:37
      myplayer.addToPlaylist("DLEMk009.mp3");
      // There are two songs in the playlist
      // 4:37
      myplayer.playList();
      while(1);
      
      break;       
    case 6:

      // Music
      // Add To Playlist
      // 8:40
      myplayer.addToPlaylist("DLEMk010.mp3");
      // 8:40
      myplayer.playList();
      while(1); 
      
      break; 
    case 7:
         
      // Music
      // Add To Playlist
      // 1:31
      myplayer.addToPlaylist("DLEMk011.mp3");
      // 3:29
      myplayer.addToPlaylist("DLEMk012.mp3");
      // There are two songs in the playlist
      // 5:00
      myplayer.playList();
      while(1);
      
      break; 
    case 8:

      // Music
      // Add To Playlist
      // 6:14
      myplayer.addToPlaylist("DLEMk013.mp3");
      // 5:17
      myplayer.addToPlaylist("DLEMk014.mp3");
      // There are two songs in the playlist
      // 11:31
      myplayer.playList();
      while(1); 
      
      break;
    case 9:

      // Music
      // Add To Playlist
      // 6:30
      myplayer.addToPlaylist("DLEMk015.mp3");
      // 3:00
      myplayer.addToPlaylist("DLEMk016.mp3");
      // There are two songs in the playlist
      // 9:30
      myplayer.playList();
      while(1); 
      
      break;
  }

}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();
   delay(50);

   // Range Color
   isRangeColor();

   // Music Player
   // Will initialize the hardware and set default mode to be normal
   myplayer.begin();

}

Music 01 – 10m 37s

DLEMk001.mp3
DLEMk002.mp3
DLEMk003.mp3

Music 02 – 22m 53s

DLEMk004.mp3

Music 03 – 8m 38s

DLEMk005.mp3
DLEMk006.mp3

Music 04 – 17m 07s

DLEMk007.mp3
DLEMk008.mp3

Music 05 – 4m 37s

DLEMk009.mp3

Music 06 – 8m 40s

DLEMk010.mp3

Music 07 – 5m 00s

DLEMk011.mp3
DLEMk012.mp3

Music 08 – 11m 31s

DLEMk013.mp3
DLEMk014.mp3

Music 09 – 9m 30s

DLEMk015.mp3
DLEMk016.mp3

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Glasses LED Meditation – Music Meditation – Mk05

——

#donluc #meditation #glassesledmeditation #musicshield #neopixels #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

——

Music Meditation

——

Music Meditation

——

Music Meditation

——

Meditation or Aesthetics or Ambient of Music

Aesthetics of music is a branch of philosophy that deals with the nature of art, beauty and taste in music, and with the creation or appreciation of beauty in music. In the pre-modern tradition, the aesthetics of music or musical aesthetics explored the mathematical and cosmological dimensions of rhythmic and harmonic organization.

As an early 20th-century French composer, Erik Satie used such Dadaist-inspired explorations to create an early form of ambient/background music that he labeled “furniture music”. This he described as being the sort of music that could be played during a dinner to create a background atmosphere for that activity, rather than serving as the focus of attention.

I think of it as melodious, softening the noises of the knives and forks at dinner, not dominating them, not imposing itself. It would fill up those heavy silences that sometime fall between friends dining together. It would spare them the trouble of paying attention to their own banal remarks. And at the same time it would neutralize the street noises which so indiscreetly enter into the play of conversation. To make such music would be to respond to a need.

Background music for meditation should be calm, relaxing, and to evoke a warm feeling that allows viewers to feel safe and comfortable. Moreover, meditating music should quiet the inner voice, allowing the viewer to stay in the present moment and focus on immersing in meditation.

DL2103Mk01

1 x Arduino Uno – R3
1 x ProtoScrewShield
1 x Music Shield V1.1
2 x Breadboard-friendly RGB Smart NeoPixel
1 x microSD Card – 2GB
1 x Panel Mount 1K potentiometer
2 x Knob
1 x SparkFun Rotary Switch – 10 Position
1 x SparkFun Rotary Switch Breakout
1 x Breadboard Solderable
11 x 1K Ohm
1 x Hamburger Mini Speaker
20 x Wire Solid Core – 22 AWG
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable

Arduino Uno – R3

RW0 – Analog A4
PO0 – Analog A5
NP1 – Digital 1
MB0 – RST
VIN – +5V
GND – GND

DL2103Mk01p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Glasses LED Meditation - Music - Mk05
// 03-01
// DL2103Mk01p.ino 17-05
// DL2103Mk01
// 1 x Arduino Uno - R3
// 1 x ProtoScrewShield
// 1 x Music Shield V1.1
// 2 x Breadboard-friendly RGB Smart NeoPixel
// 1 x microSD Card - 2GB
// 1 x Panel Mount 1K potentiometer
// 11 x Knob
// 1 x SparkFun Rotary Switch - 10 Position
// 1 x SparkFun Rotary Switch Breakout
// 1 x Breadboard Solderable
// 11 x 1K Ohm
// 1 x Hamburger Mini Speaker
// 20 x Wire Solid Core - 22 AWG
// 1 x Half-Size Breadboard
// 1 x SparkFun Cerberus USB Cable

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// Fat 16
#include <Fat16.h>
#include <Fat16Util.h>
// New SPI
#include <NewSPI.h>
// Arduino
#include <arduino.h>
// Music Player
#include "pins_config.h"
#include "vs10xx.h"
#include "newSDLib.h"
#include "MusicPlayer.h"

// NeoPixels
#define PIN 1
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 2
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brighten
int BrightenValue = 0;
// Color
const int iSensorColor = A5;
int y = 0;
int ColorVal = 0;

// Rotary Switch - 10 Position
// Number 1 => 10
int iRotNum = A4;
// iRotVal - Value 
int iRotVal = 0;
// Number
int z = 0;
int x = 0;

// Music Player
MusicPlayer myplayer;

// Software Version Information
String sver = "17-05";

void loop() {

  // Rotary Switch
  isRot();

}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // BrightenValue = 40
    BrightenValue = 40;
    pixels.setBrightness( BrightenValue );

    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

  // Range Color
  ColorVal = analogRead( iSensorColor );
  y = (ColorVal / 127);
  
  switch ( y ) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      isNeopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      isNeopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      isNeopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      isNeopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      isNeopix();
      break;     
    case 7:
      // Red
      red = 255;
      green = 0;
      blue = 0;        
      isNeopix();
      break; 
  }
  
}

getRot.ino

// Rotary Switch
// isRot - iRotVal - Value
void isRot() {

  // Rotary Switch
  z = analogRead( iRotNum );
  x = map(z, 0, 4095, 0, 9);
  iRotVal = map(z, 0, 1023, 0, 10);

  // Range Value
  switch ( iRotVal ) {
    case 0:

      // Range Color
      isRangeColor();
      
      break;
    case 1:

      // Music
      // Add To Playlist
      // 3:18
      myplayer.addToPlaylist("DLEMk001.mp3");
      // 2:47
      myplayer.addToPlaylist("DLEMk002.mp3");
      // 4.34
      myplayer.addToPlaylist("DLEMk003.mp3");
      // There are two songs in the playlist
      // 10:37
      myplayer.playList();
      while(1);
      
      break;
    case 2:

      // Music
      // Add To Playlist
      // 22:53
      myplayer.addToPlaylist("DLEMk004.mp3");
      // There are two songs in the playlist
      // 22:53
      myplayer.playList();
      while(1);
      
      break;  
    case 3:

      // Music
      // Add To Playlist
      // 4:18
      myplayer.addToPlaylist("DLEMk005.mp3");
      // 4:20
      myplayer.addToPlaylist("DLEMk006.mp3");
      // There are two songs in the playlist
      // 8:38
      myplayer.playList();
      while(1);
      
      break;
    case 4:

      // Music
      // Add To Playlist
      // 9:14
      myplayer.addToPlaylist("DLEMk007.mp3");
      // 7:52
      myplayer.addToPlaylist("DLEMk008.mp3");
      // There are two songs in the playlist
      // 17:07
      myplayer.playList();
      while(1);
      
      break;
    case 5:

      // Music
      // Add To Playlist
      // 4:37
      myplayer.addToPlaylist("DLEMk009.mp3");
      // There are two songs in the playlist
      // 4:37
      myplayer.playList();
      while(1);
      
      break;       
    case 6:

      // Music
      // Add To Playlist
      // 8:40
      myplayer.addToPlaylist("DLEMk010.mp3");
      // 8:40
      myplayer.playList();
      while(1); 
      
      break; 
    case 7:
         
      // Music
      // Add To Playlist
      // 1:31
      myplayer.addToPlaylist("DLEMk011.mp3");
      // 3:29
      myplayer.addToPlaylist("DLEMk012.mp3");
      // There are two songs in the playlist
      // 5:00
      myplayer.playList();
      while(1);
      
      break; 
    case 8:

      // Music
      // Add To Playlist
      // 6:14
      myplayer.addToPlaylist("DLEMk013.mp3");
      // 5:17
      myplayer.addToPlaylist("DLEMk014.mp3");
      // There are two songs in the playlist
      // 11:31
      myplayer.playList();
      while(1); 
      
      break;
    case 9:

      // Music
      // Add To Playlist
      // 6:30
      myplayer.addToPlaylist("DLEMk015.mp3");
      // 3:00
      myplayer.addToPlaylist("DLEMk016.mp3");
      // There are two songs in the playlist
      // 9:30
      myplayer.playList();
      while(1); 
      
      break;
  }

}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();
   delay(50);

   // Range Color
   isRangeColor();

   // Music Player
   // Will initialize the hardware and set default mode to be normal
   myplayer.begin();

}

Music 01 – 10m 37s

DLEMk001.mp3
DLEMk002.mp3
DLEMk003.mp3

Music 02 – 22m 53s

DLEMk004.mp3

Music 03 – 8m 38s

DLEMk005.mp3
DLEMk006.mp3

Music 04 – 17m 07s

DLEMk007.mp3
DLEMk008.mp3

Music 05 – 4m 37s

DLEMk009.mp3

Music 06 – 8m 40s

DLEMk010.mp3

Music 07 – 5m 00s

DLEMk011.mp3
DLEMk012.mp3

Music 08 – 11m 31s

DLEMk013.mp3
DLEMk014.mp3

Music 09 – 9m 30s

DLEMk015.mp3
DLEMk016.mp3

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Glasses LED Meditation – Music Shield – Mk04

——

#donluc #meditation #glassesledmeditation #musicshield #neopixels #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #zoom #patreon #videoblog

——

Music Shield

——

Music Shield

——

Music Shield

——

Music Shield V1.1

The Music Shield is a professional audio codec.It can work with Arduino and Arduino Mega. It is based on VS1053b IC, and can play a variety of music formats stored on MicroSD cards with the provided Arduino Library.

Features

  • Arduino and Arduino Mega compatible
  • 2 control-push buttons and 1 knob switch
  • Plays music from micro SD cards
  • Decodes: MP3, WAV, MIDI, Ogg Vorbis
  • Fat16 library
  • I2S interface for external DAC
  • Headphone/Line Out for playback
  • Excellent sound quality with ±1dB frequency response

DL2102Mk07

1 x Arduino Uno – R3
1 x ProtoScrewShield
1 x Music Shield V1.1
2 x Breadboard-friendly RGB Smart NeoPixel
1 x microSD Card – 2GB
1 x Panel Mount 1K potentiometer
1 x Knob
1 x Momentary Button – Panel Mount (Black)
1 x 1K Ohm
1 x Hamburger Mini Speaker
15 x Wire Solid Core – 22 AWG
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable

Arduino Uno – R3

SW0 – Analog A4
PO0 – Analog A5
NP1 – Digital 1
MB0 – RST
VIN – +5V
GND – GND

DL2102Mk07p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Glasses LED Meditation - Music Shield - Mk04
// 02-07
// DL2102Mk07p.ino 17-04
// DL2102Mk07
// 1 x Arduino Uno - R3
// 1 x ProtoScrewShield
// 1 x Music Shield V1.1
// 2 x Breadboard-friendly RGB Smart NeoPixel
// 1 x microSD Card - 2GB
// 1 x Panel Mount 1K potentiometer
// 1 x Knob
// 1 x Momentary Button - Panel Mount (Black)
// 1 x 1K Ohm
// 1 x Hamburger Mini Speaker
// 15 x Wire Solid Core - 22 AWG
// 1 x Half-Size Breadboard
// 1 x SparkFun Cerberus USB Cable

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// Fat 16
#include <Fat16.h>
#include <Fat16Util.h>
// New SPI
#include <NewSPI.h>
// Arduino
#include <arduino.h>
// Music Player
#include "pins_config.h"
#include "vs10xx.h"
#include "newSDLib.h"
#include "MusicPlayer.h"

// NeoPixels
#define PIN 1
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 2
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brighten
int BrightenValue = 0;
// Color
const int iSensorColor = A5;
int y = 0;
int ColorVal = 0;

// Mountable Slide Switch
int iSS1 = A4;
// State
int iSS1State = 0;

// Music Player
MusicPlayer myplayer;

// Software Version Information
String sver = "17-04";

void loop() {

  // Slide Switch
  // Read the state of the iSS1 value
  iSS1State = digitalRead(iSS1);

  // If it is the Slide Switch State is HIGH
  if (iSS1State == HIGH) {

    // Range Color
    isRangeColor();

  } else {

    // Add To Playlist
    myplayer.addToPlaylist("F001.mp3");
    myplayer.addToPlaylist("F002.mp3");
    myplayer.addToPlaylist("F003.mp3");
    myplayer.addToPlaylist("F004.mp3");
    myplayer.addToPlaylist("F005.mp3");
    // There are two songs in the playlist
    myplayer.playList();
    while(1);
    
  }

}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // BrightenValue = 40
    BrightenValue = 40;
    pixels.setBrightness( BrightenValue );

    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

  // Range Color
  ColorVal = analogRead( iSensorColor );
  y = (ColorVal / 127);
  
  switch ( y ) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      isNeopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      isNeopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      isNeopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      isNeopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      isNeopix();
      break;     
    case 7:
      // Red
      red = 255;
      green = 0;
      blue = 0;        
      isNeopix();
      break; 
  }
  
}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();
   delay(50);

   // Slide Switch
   pinMode(iSS1, INPUT);

   // Music Player
   // Will initialize the hardware and set default mode to be normal
   myplayer.begin();

}

Music

F001.mp3
F002.mp3
F003.mp3
F004.mp3
F005.mp3

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
Web: https://zoom.us/
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Glasses LED Meditation – SparkFun Qwiic MP3 Trigger – Mk03

——

SparkFun Qwiic MP3 Trigger

——

SparkFun Qwiic MP3 Trigger

——

SparkFun Qwiic MP3 Trigger

——

#donluc #meditation #glassesmeditation #glassesledmeditation #neopixels #audioplayer #microsd #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #patreon #videoblog

TMRpcm

PCM(Pulse Width Modulation)/WAV playback direct from SD card
Samples Per second(Hz): 16000
Main formats: WAV files, 8-bit, 8-32khz Sample Rate, mono.

Voice: Yes
Music: No / Yes

Qwiic MP3 Trigger

The Qwiic MP3 Trigger is designed to operate at 3.3V and must not be powered above 3.6V as this is the maximum operating voltage of microSD cards. Otherwise, the board can also be powered through the Qwiic connector.

MP3 and ATtiny84

At the heart of the Qwiic MP3 Trigger is the WT2003S MP3 decoder IC. This IC reads MP3s from the microSD card and will automatically mount the SD card as a jump drive if USB is detected. The ATtiny84A receives I2C commands and controls the MP3 decoder.

Audio Amplifier

The speaker is boosted by a Class-D mono amplifier capable of outputting up to 1.4W. Both outputs have volume controlled by the SET_VOLUME command and is selectable between 32 levels.

Audio Outputs

This is a friction fit type connector; simply push stranded core wire into the hole and the connector will grip the wire, speaker as Dayton audio reference 3″ full-range drive.

Voice: Yes
Music: Yes

DL2102Mk06

1 x SparkFun RedBoard Qwiic
2 x Breadboard-friendly RGB Smart NeoPixel
1 x SparkFun Qwiic MP3 Trigger
1 x microSD Card – 2GB
2 x Panel Mount 1K potentiometer
2 x Knob
1 x Qwiic Cable – 100mm
1 x Dayton Audio Reference 3″ Full-Range Drive
2 x Wire Stranded Core – 18 AWG
17 x Wire Solid Core – 22 AWG
1 x Half-Size Breadboard
1 x SparkFun Cerberus USB Cable

SparkFun RedBoard Qwiic

PO0 – Analog A0
PO1 – Analog A1
NP1 – Digital 6
I2C – 0x37
VIN – +5V
GND – GND

DL2102Mk06p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Glasses LED Meditation - SparkFun Qwiic MP3 Trigger - Mk03
// 02-06
// DL2102Mk06p.ino 17-03
// 1 x Arduino Pro Mini 328 - 5V/16MHz
// 2 x Breadboard-friendly RGB Smart NeoPixel
// 1 x SparkFun Qwiic MP3 Trigger
// 1 x microSD Card - 2GB
// 2 x Panel Mount 1K potentiometer
// 2 x Knob
// 1 x Qwiic Cable - 100mm
// 1 x Dayton Audio Reference 3" Full-Range Drive
// 2 x Wire Stranded Core - 16 AWG
// 17 x Wire Solid Core - 22 AWG
// 1 x Half-Size Breadboard
// 1 x SparkFun Cerberus USB Cable

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// Wire communicate with I2C / TWI devices
#include <Wire.h>
// SparkFun MP3 Trigger
#include "SparkFun_Qwiic_MP3_Trigger_Arduino_Library.h"

// NeoPixels
#define PIN 6
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 2
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brighten
const int iSensorBrighten = A0;
// Max - Min
int BrightenValue = 0;
// Minimum sensor value
int BrightenMin = 0;
// Maximum sensor value
int BrightenMax = 1023;
// Color
const int iSensorColor = A1;
int y = 0;
int ColorVal = 0;

// SparkFun MP3 Trigger
MP3TRIGGER mp3;

// Software Version Information
String sver = "17-03";

void loop() {

  // Range Color
  isRangeColor();

  if (mp3.isPlaying() == false) {

    // Play Track dleMk002.mp3
    mp3.playTrack(1);
    
  }

}

getMP3.ino

// MP3
// Setup MP3
void isSetupMP3(){

  // Check to see if Qwiic MP3 is present on the bus
  if (mp3.begin() == false)
  {
    // Qwiic MP3 failed to respond. Please check wiring and possibly the I2C address. Freezing...
    while (1);
  }

  if (mp3.hasCard() == false)
  {
    // Qwiic MP3 is missing its SD card. Freezing...
    while (1);
  }

  // Volume can be 0 (off) to 31 (max)
  mp3.setVolume(28);

  // Play Track dleMk002.mp3
  mp3.playTrack(1);
  
}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // Read the Brightneed
    BrightenValue = analogRead( iSensorBrighten );

    // Apply the calibration to the BrightneedValue reading
    BrightenValue = map(BrightenValue, BrightenMin, BrightenMax, 0, 255);

    // In case the sensor value is outside the range seen during calibration
    BrightenValue = constrain(BrightenValue, 0, 255); 
    
    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setBrightness( BrightenValue );
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

  // Range Color
  ColorVal = analogRead( iSensorColor );
  y = (ColorVal / 127);
  
  switch (y) {
    case  0:
      // Blue
      red = 0;
      green = 102;
      blue = 204;        
      isNeopix();
      break;
    case 1:
      // Yellow
      red = 255;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 2:
      // Pink
      red = 255;
      green = 153;
      blue = 203;        
      isNeopix();
      break;
    case 3:
      // White
      red = 255;
      green = 255;
      blue = 255;        
      isNeopix();
      break;  
    case 4:
      // Green
      red = 0;
      green = 255;
      blue = 0;        
      isNeopix();
      break;
    case 5:
      // Orange
      red = 255;
      green = 102;
      blue = 0;        
      isNeopix();
      break;
    case 6:
      // Violet
      red = 204;
      green = 102;
      blue = 204;        
      isNeopix();
      break;     
    case 7:
      // Red
      red = 255;
      green = 0;
      blue = 0;        
      isNeopix();
      break; 
  }
  
}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();

   // Serial
   // Serial.begin(9600);

   // Wire communicate with I2C / TWI devices
   Wire.begin();

   // SparkFun MP3 Trigger Setup
   isSetupMP3();

}

Music

dleMk002.mp3

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
Patreon: https://www.patreon.com/DonLucElectronics
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

#17 – Meditation – Glasses LED Meditation – Audio Player – Mk02

——

#donluc #meditation #glassesmeditation #glassesledmeditation #glassesled #neopixels #audioplayer #microsd #arduino #sparkfun #project #programming #electronics #microcontrollers #consultant #patreon #videoblog

——

Meditation Music

——

Meditation Music

——

Meditation Music

——

Meditation Music

Music Meditation has many wonderful benefits for helping people with 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. Music Meditation can also lift your mood, slow your breathing, and create other stress-inducing changes.

From mood enhancement and relaxation to full-blown oneness with the cosmos, music has the ability to powerfully shift our state of mind. Meditation is not that different. Meditation lowers the stress hormone cortisol, helps us sleep better, and rewires the brain with a host of positive emotional qualities. The goal of both music and meditation is to create a powerful and positive shift in our mental state.

Music is a reliable source of transformational experience for many, and we are attracted to music for the same reasons that meditators meditate. Music and meditation both allow a fuller and richer experience of our emotions. They stop our incessant and often negative mental chatter and offer us an opportunity to inhabit the present moment more fully and meaningfully. These are all important for good health and happiness in human beings.

Meditation and music are calming, transformative activities that can improve health in multiple ways. Research studies indicate that meditation can protect of a heart attack or stroke, improve sleep, relieve pain, sharpen mind and memory, lift mood, and ease anxiety.

DL2102Mk05

1 x Arduino Pro Mini 328 – 5V/16MHz
2 x Breadboard-friendly RGB Smart NeoPixel
1 x Panel Mount 1K potentiometer
1 x Knob
1 x MicroSD card breakout board+
1 x MicroSD Memory Card (8 GB SDHC)
1 x SparkFun Audio Jack Breakout
1 x Audio Jack 3.5mm
1 x Hamburger Mini Speaker
20 x Wire Solid Core – 22 AWG
2 x Half-Size Breadboard
1 x SparkFun FTDI Basic Breakout – 5V
1 x SparkFun Cerberus USB Cable

Arduino Pro Mini 328

PO0 – Analog A0
SS0 – Digital 10
MOS – Digital 11
MIS – Digital 12
SCK – Digital 13
SPE – Digital 9
NP1 – Digital 6
VIN – +5V
GND – GND

DL2102Mk05p.ino

// ***** Don Luc Electronics © *****
// Software Version Information
// #17 - Meditation - Glasses LED Meditation - Audio Player - Mk02
// 02-05
// DL2102Mk05p.ino 17-05
// 1 x Arduino Pro Mini 328 - 5V/16MHz
// 2 x Breadboard-friendly RGB Smart NeoPixel
// 1 x Panel Mount 1K potentiometer
// 1 x Knob
// 1 x MicroSD card breakout board+
// 1 x MicroSD Memory Card (8 GB SDHC)
// 1 x SparkFun Audio Jack Breakout
// 1 x Audio Jack 3.5mm
// 1 x Hamburger Mini Speaker
// 20 x Wire Solid Core - 22 AWG
// 2 x Half-Size Breadboard
// 1 x SparkFun FTDI Basic Breakout - 5V
// 1 x SparkFun Cerberus USB Cable

// Include the Library Code
// NeoPixel
#include <Adafruit_NeoPixel.h>
// SPI (Serial Peripheral Interface)
#include <SPI.h>
// SD Cards
#include <SD.h>
// PCM/WAV Audio Playback
#include <TMRpcm.h>

// NeoPixels
#define PIN 6
// How many NeoPixels are attached to the Arduino
#define NUMPIXELS 2
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
// Color
// Red
int red = 0;
// Green
int green = 0;
// Blue
int blue = 0;
// Panel Mount 1K potentiometer
// Brightneed
const int iSensorBrightneed = A0;
// Max - Min
int BrightneedValue = 0;
// Minimum sensor value
int BrightneedMin = 0;
// Maximum sensor value
int BrightneedMax = 1023;

// PCM/WAV Audio Playback
TMRpcm music;
int iSpeaker = 9;
int iPlaying = 0;

// SD Cards
int iSD = 10;

// Software Version Information
String sver = "17-02";

void loop() {

  // Range Color
  // White
  isRangeColor();

  // Playing
  iPlaying = music.isPlaying();
  if ( iPlaying == 0 ) {

    // Play
    music.play("dleMk001.wav");
   
  }

}

getNeopix.ino

// Neopix
void isNeopix() {
  
  for(int i=0; i<NUMPIXELS; i++){

    // Neopix
    // Read the Brightneed
    BrightneedValue = analogRead( iSensorBrightneed );

    // Apply the calibration to the BrightneedValue reading
    BrightneedValue = map(BrightneedValue, BrightneedMin, BrightneedMax, 0, 255);

    // In case the sensor value is outside the range seen during calibration
    BrightneedValue = constrain(BrightneedValue, 0, 255); 
    
    // The pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
    pixels.setBrightness( BrightneedValue );
    pixels.setPixelColor(i, pixels.Color(red,green,blue));
    // This sends the updated pixel color to the hardware
    pixels.show();
 
  }
  
}
// Range Color
void isRangeColor() {

   // Range Color
   // White
   red = 255;
   green = 255;
   blue = 255;        
   isNeopix(); 
  
}

setup.ino

// Setup
void setup() {
  
   // This initializes the NeoPixel library
   pixels.begin();

   // PCM/WAV Audio Playback
   music.speakerPin = iSpeaker;

   // SD Cards
   SD.begin( iSD );

   // PCM/WAV Audio Playback
   // Volume
   music.setVolume(5);
   music.quality(1);
   // Play
   music.play("dleMk001.wav");

}

Music

dleMk001.wav

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
Patreon: https://www.patreon.com/DonLucElectronics
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

Categories
Archives