Luc Paquin
Published © CC BY

Project #12: Robotics - Vibration - Mk29

Project #12: Robotics - Vibration - Mk29

BeginnerFull instructions provided1 hour47
Project #12: Robotics - Vibration - Mk29

Things used in this project

Hardware components

Elecrow Crowduino Uno - SD
×1
Elecrow Crowtail - Base Shield
×1
Elecrow Crowtail - I2C LCD
×1
Elecrow Crowtail - Vibration Sensor 2.0
×1
Elecrow Crowtail - Buzzer 2.0
×1
Elecrow Crowtail - LED(Green)
×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

DL2505Mk01p.ino

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

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

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

// Buzzer
int iBuzzer =  4;

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

// LED Green
int iLEDGreen = 6;

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

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

void loop() {

  // isVibration
  isVibration();

  // Display Vibration
  isDisplayVibration();

  // Delay
  delay( 50 );

}

getDisplay.ino

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

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

}
// Display Vibration
void isDisplayVibration(){

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

getEEPROM.ino

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

getVibration.ino

Arduino
// Vibration
// isVibration
void isVibration(){

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

}

setup.ino

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

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

  // Delay
  delay(100);

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

  // Delay
  delay( 100 );

  // Display UID
  isDisplayUID();
  
  // Delay 5 Second
  delay( 5000 );

}

Credits

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

Comments