Luc Paquin
Published © CC BY

Christmas and Elecrow

Christmas and Elecrow

BeginnerFull instructions provided2 hours230
Christmas and Elecrow

Things used in this project

Hardware components

Elecrow Crowduino Uno-SD
×1
Elecrow Crowtail - Base Shield
×1
Elecrow Crowtail - 9G Servo 2.0
×1
Elecrow Crowtail - Linear Potentiometer
×1
Elecrow Crowtail - MP3 Player 2.0
×1
Elecrow Crowtail - I2C LCD
×1
Elecrow Crowtail - LED (Green)
×1
SparkFun MicroSD 2 GB
×1
Insignia Speakers
×1
USB Battery Pack
×1
SparkFun USB Mini-B Cable - 6 Foot
SparkFun USB Mini-B Cable - 6 Foot
×1

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Schematics

Fritzing

Code

DL2412Mk04p.ino

Arduino
/****** Don Luc Electronics © ******
Software Version Information
Christmas and Elecrow
Christmas
DL2412Mk04p.ino
DL2412Mk04
1 x Crowduino Uno-SD
1 x Crowtail - Base Shield
1 x Crowtail - 9G Servo 2.0 (180 Degree Rotation)
1 x Crowtail - Linear Potentiometer - V2.0
1 x Crowtail - MP3 Player 2.0
1 x Crowtail - I2C LCD
1 x Crowtail - LED (Green)
1 x MicroSD 2 GB
1 x Insignia Speakers
1 x USB Battery Pack
1 x USB Mini-B Cable
*/

// Include the Library Code
// Software Serial
#include <SoftwareSerial.h>
// MP3 Player
#include <MP3Player_KT403A.h>
// Servo
#include<Servo.h>
// Wire
#include <Wire.h>
// Liquid Crystal
#include "LiquidCrystal.h"

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

// MP3 Player
SoftwareSerial mp3(2, 3);

// Linear Potentiometer
int LinearPot = A0;
int LinearPotValue = 0;
int z = 0;

// LED Green
int LedGreen =  5;
// LED Green On Off
int zzz = 1;

// Create servo object to control a servo
Servo myservo;
// iServo
int iServo = 6;
// Servo zz
int zz = 0;

// Software Version Information
String sver = "Christmas";

void loop() {

  // Volume
  isVolume();

  // isServo
  isServo();

}

getDisplay.ino

Arduino
// getDisplay
// Crowtail- I2C LCD
// Display UID
void isDisplayUID(){

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

}
// isDisplay Green On
void isDisplayGOn(){

  // Print a message to the LCD
  // Clear
  lcd.clear();
  // Cursor
  lcd.setCursor(0, 0);
  lcd.print("Christmas");
  // Cursor
  lcd.setCursor(0, 1);
  // Print a message to the LCD
  lcd.print( "Led Green On" );
  
}
// isDisplay Green Off
void isDisplayGOff(){

  // Print a message to the LCD
  // Clear
  lcd.clear();
  // Cursor
  lcd.setCursor(0, 0);
  lcd.print("Christmas");
  // Cursor
  lcd.setCursor(0, 1);
  // Print a message to the LCD
  lcd.print( "Led Green Off" );
  
}

getServo.ino

Arduino
// Servo
// isServo
void isServo(){

  // Servo zz
  zz -= 1;

  if ( zz == 0 ) {
    
    // Servo zz
    zz = 100;

    // LED Green On Off
    if ( zzz == 1 ) { // Led Green On

      // Led Green On
      Serial.println("Led Green On");
      digitalWrite(LedGreen, HIGH);
      // Servo Write
      myservo.write(-90);
      // isDisplay Green On
      isDisplayGOn();
      zzz = 2;
      
    } else if ( zzz == 2 ) { // Led Green Off

       // Led Green Off
      Serial.println("Led Green Off");
      digitalWrite(LedGreen, LOW);
      // Servo Write
      myservo.write(90);
      // isDisplay Green Off
      isDisplayGOff();
      zzz = 1;
      
    }
 
 }

}

getVolume.ino

Arduino
// Volume
// is Volume
void isVolume(){

  // Linear Potentiometer
  // Allowable Volume values ​​are 0 to 30
  LinearPotValue = analogRead( LinearPot );
  z = map(LinearPotValue, 0, 1023, 0, 30);
  // Volume
  SetVolume(z);
  
}

setup.ino

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

  // Initialize the LED Green
  pinMode(LedGreen, OUTPUT);      

  // MP3 Player
  // MP3 Player module is configured to talk at 9600 bauds
  mp3.begin(9600);

  // Small delay
  delay(100);

  // We configure the library to use the SD card
  SelectPlayerDevice(0x02);

  // Index of the song between 0 and 65535
  // Play Loop
  PlayLoop();

  // Attaches the iServo
  myservo.attach(iServo);

  // Servo zz
  zz = 101;
  
  // Display UID
  isDisplayUID();

  // Delay 5 Second
  delay( 5000 );

}

Credits

Luc Paquin
44 projects • 4 followers
Teacher, Instructor, E-Mentor, R&D and Consulting -Programming Language -Microcontrollers -IoT -Robotics -Machine Learning -AI -Sensors

Comments