Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
DIY Microcontroller Projects for Hobbyists

You're reading from  DIY Microcontroller Projects for Hobbyists

Product type Book
Published in Jul 2021
Publisher Packt
ISBN-13 9781800564138
Pages 320 pages
Edition 1st Edition
Languages
Authors (2):
Miguel Angel Garcia-Ruiz Miguel Angel Garcia-Ruiz
Profile icon Miguel Angel Garcia-Ruiz
Pedro Cesar Santana Mancilla Pedro Cesar Santana Mancilla
Profile icon Pedro Cesar Santana Mancilla
View More author details

Table of Contents (16) Chapters

Preface Chapter 1: Introduction to Microcontrollers and Microcontroller Boards Chapter 2: Software Setup and C Programming for Microcontroller Boards Chapter 3: Turning an LED On or Off Using a Push Button Chapter 4: Measuring the Amount of Light with a Photoresistor Chapter 5: Humidity and Temperature Measurement Chapter 6: Morse Code SOS Visual Alarm with a Bright LED Chapter 7: Creating a Clap Switch Chapter 8: Gas Sensor Chapter 9: IoT Temperature-Logging System Chapter 10: IoT Plant Pot Moisture Sensor Chapter 11: IoT Solar Energy (Voltage) Measurement Chapter 12: COVID-19 Digital Body Temperature Measurement (Thermometer) Chapter 13: COVID-19 Social-Distancing Alert Chapter 14: COVID-19 20-Second Hand Washing Timer Other Books You May Enjoy

Coding a clap switch with a timer between claps

Now, we will add a timer to limit the waiting timeframe between the first and second claps:

  1. Define two new variables, both of the unsigned long type, to store the time of each clap. The changes to the previous sketch are highlighted:
    const int MicAnalogPin = 0; 
    const int LedDigitalPin = PC13; 
    const int ClapThreshold = 300; 
    int ClapNumber = 0; 
    bool LedState = false;
    unsigned long FirstClapEvent = 0;
    unsigned long SecondClapEvent = 0;

    These two highlighted variables will store the milliseconds when a clap is detected: one for the first time and another for the second time.

  2. The setup() section remains unchanged, and we will continue to the loop() section to introduce the timer changes. We will add a conditional inside the conditional sentence for detecting a clap:
    void loop() {
      int SoundValue = analogRead(MicAnalogPin);  
      if (SoundValue > ClapThreshold) {
        ClapNumber...
lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime}