1st Edition

Learn Audio Electronics with Arduino Practical Audio Circuits with Arduino Control

By Charlie Cullen Copyright 2020
    486 Pages 548 B/W Illustrations
    by Focal Press

    486 Pages 548 B/W Illustrations
    by Focal Press

    Learn Audio Electronics with Arduino: Practical Audio Circuits with Arduino Control teaches the reader how to use Arduino to control analogue audio circuits and introduces electronic circuit theory through a series of practical projects, including a MIDI drum controller and an Arduino-controlled two-band audio equalizer amplifier.

    Learn Audio Electronics with Arduino provides all the theoretical knowledge needed to design, analyse, and build audio circuits for amplification and filtering, with additional topics like C programming being introduced in a practical context for Arduino control. The reader will learn how these circuits work and also how to build them, allowing them to progress to more advanced audio circuits in the future. Beginning with electrical fundamentals and control systems, DC circuit theory is then combined with an introduction to C programming to build Arduino-based systems for audio (tone sequencer) and MIDI (drum controller) output. The second half of the book begins with AC circuit theory to allow analogue audio circuits for amplification and filtering to be analysed, simulated, and built. These circuits are then combined with Arduino control in the final project – an Arduino-controlled two-band equalizer amplifier.

    Building on high-school physics and mathematics in an accessible way, Learn Audio Electronics with Arduino is suitable for readers of all levels. An ideal tool for those studying audio electronics, including as a component within other fields of study, such as computer science, human-computer interaction, acoustics, music technology, and electronics engineering.

    INTRODUCTION

    SOFTWARE TOOLS

    Tinkercad

    LTSpice

    Arduino IDE

    EQUIPMENT

    Arduino Uno

    Breadboard

    Switches & LEDs

    Resistors, Capacitors & Potentiometers

    Audio & MIDI Components

    Other Components

    Soldering

    Final Component List

    CONCLUSIONS

    1 ELECTRONICS FUNDAMENTALS

    1.1 SCALES, SYMBOLS & EQUATIONS

    1.1.1 Worked Example- Adding Voltages

    1.1.2 Worked Example- Working with Fractions

    1.2 ELECTRICAL FUNDAMENTALS

    1.3 TUTORIAL- INTRODUCTION TO TINKERCAD

    1.4 EXAMPLE PROJECT- GETTING STARTED: AN ARDUINO POWERED LED LIGHT

    1.5 CONCLUSIONS

    1.6 SELF- STUDY QUESTIONS

    2 SYSTEMS & TRANSDUCERS

    2.1 ELECTRONIC SYSTEMS & TRANSDUCERS

    2.2 DIGITAL SYSTEMS & ARDUINO CONTROL

    2.3 ANALOGUE TO DIGITAL CONVERSION- SAMPLING

    2.4 MIDI CONTROL SYSTEMS

    2.5 AUDIO SENSORS: SWITCHES, POTENTIOMETERS & MICROPHONES

    2.6 AUDIO ACTUATORS: LED’S & LOUDSPEAKERS

    2.7 TUTORIAL- WORKING WITH COMPONENTS

    2.8 EXAMPLE PROJECT- SENSOR CONTROL OF LED OUTPUT

    2.8.1 Circuit Design

    2.9 CONCLUSIONS

    2.10 SELF- STUDY QUESTIONS

    3 DC CIRCUITS

    3.1 OHM’S LAW & DIRECT CURRENT

    3.1.1 Worked Example- Calculating A Resistor Value

    3.2 KIRCHOFF’S VOLTAGE LAW: SERIES CIRCUITS

    3.2.1 Worked Examples- Calculating Series Resistance

    3.2.2 Worked Example- Calculating Series Resistor Voltages

    3.3 VOLTAGE DIVIDERS

    3.3.1 Worked Examples- Voltage Dividers

    3.4 KIRCHOFF’S CURRENT LAW: PARALLEL CIRCUITS

    3.4.1 Worked Examples-- Calculating Parallel Resistance

    3.4.2 Worked Examples- Calculating Parallel Current

    3.5 TUTORIAL: LIMITING CURRENT TO PROTECT COMPONENTS

    3.6 EXAMPLE PROJECTS: SERIES & PARALLEL CIRCUITS

    3.6.1 Series Circuit Project

    3.6.2 Parallel Circuit Project

    3.7 CONCLUSIONS

    3.8 SELF-STUDY QUESTIONS

    4 DIGITAL SYSTEMS 1- ARDUINO OUTPUT

    4.1 MICROPROCESSOR CONTROL SYSTEMS

    4.2 INSTRUCTION TYPES- SEQUENCE INSTRUCTIONS

    4.3 EXAMPLE PROJECT 1- ARDUINO DIGITAL OUTPUT

    4.4 DATA TYPES- VARIABLES

    4.5 EXAMPLE 2- MULTIPLE DIGITAL OUTPUTS

    4.6 FUNCTIONS- ENCAPSULATING CODE

    4.7 TUTORIAL- HOW TO WRITE CODE PART 1

    4.8 EXAMPLE 3- REUSING CODE WITH FUNCTIONS

    4.9 ANALOGUE OUTPUT- PULSE WIDTH MODULATION

    4.10 EXAMPLE PROJECT- AUTOMATIC TONE PLAYER

    4.11 CONCLUSIONS

    4.12 SELF- STUDY QUESTIONS

    5 DIGITAL SYSTEMS 2- ARDUINO INPUT

    5.1 PROGRAMMING RECAP

    5.2 DATA STRUCTURES & ITERATION- ARRAYS & LOOPS

    5.3 EXAMPLE 1- TONE ARRAY OUTPUT

    5.4 WORKING WITH EXTERNAL LIBRARIES- SERIAL MIDI OUTPUT

    5.5 EXAMPLE 2- MIDI SEQUENCE PLAYER

    5.6 CONDITIONS & DIGITAL INPUT

    5.7 TUTORIAL- HOW TO WRITE CODE PART II

    5.8 EXAMPLE 3- MIDI SWITCH CONTROLLER OUTPUT

    5.9 ANALOGUE INPUT- PERCUSSION SAMPLING

    5.10 FINAL PROJECT: MIDI DRUM TRIGGER

    5.11 CONCLUSIONS

    5.12 SELF- STUDY QUESTIONS

    6 AC CIRCUITS

    6.1 AUDIO SIGNAL FUNDAMENTALS- SINE WAVES

    6.1.1 Worked Example- Varying the Speed of Sound

    6.2 AC SIGNALS- AMPLITUDE, FREQUENCY & PHASE

    6.2.1 Worked Examples- Finding the Instantaneous Voltage of a Sine Wave Input Signal

    6.3 CAPACITANCE- STORING CHARGE OVER TIME

    6.3.1 Worked Example- Calculating the Charge on a Capacitor

    6.3.2 Worked Example- Calculating Capacitive Reactance for Different Input Frequencies

    6.4 IMPEDANCE- COMBINING AC COMPONENTS

    6.4.1 Worked Examples- Analysing Combined Resistive and Reactive Circuits

    6.5 TUTORIAL: INSTALLING LTSPICE

    6.6 EXAMPLE PROJECT- AC ANALYSIS WITH LTSPICE

    6.6.1 Example Project- Circuit 1

    6.6.2 Example Project- Circuit 2

    6.7 CONCLUSIONS

    6.8 SELF-STUDY QUESTIONS

    7 AUDIO AMPLIFIERS

    7.1 AMPLIFICATION

    7.1.1 Worked Examples- Calculating Decibel Gain Values

    7.2 SEMICONDUCTORS- DIODES

    7.3 SEMICONDUCTORS: TRANSISTORS

    7.3.1 Worked Example- Simulating BJT Characteristic Curves Using LTspice

    7.3.2 Worked Example- Simulating A Common Emitter Amplifier With LTspice

    7.4 OPERATIONAL AMPLIFIERS

    7.4.1 Worked Example- Simulating an Inverting Amplifier With LTspice

    7.5 DC BLOCKING, POWER DECOUPLING & ZOBEL NETWORKS

    7.6 EXAMPLE PROJECT: BUILDING AN AUDIO AMPLIFIER

    7.7 CONCLUSIONS

    7.8 SELF-STUDY QUESTIONS

    8 AUDIO FILTERS

    8.1 DECIBELS & EQUAL LOUDNESS

    8.2 FILTER CHARACTERISTICS & BODE PLOTS

    8.3 1ST ORDER LOW PASS FILTER

    8.3.1 Worked Example- Designing a 1st Order Low Pass Filter

    8.3.2 Worked Example- Simulating a 1st Order Low Pass Filter Using LTspice

    8.4 1ST ORDER HIGH PASS FILTER

    8.4.1 Worked Example- Designing a 1st Order High Pass Filter

    8.4.2 Worked Example- Simulating a 1st Order High Pass Filter with LTspice

    8.4.3 Worked Example- Reading & Writing Audio Files with LTspice

    8.5 CONTROLLING AUDIO FILTERS

    8.6 EXAMPLE PROJECT- AUDIO AMPLIFIER WITH 2-BAND EQUALIZER

    8.7 CONCLUSIONS

    8.8 SELF-STUDY QUESTIONS

    9 ARDUINO AUDIO CONTROL

    9.1 FINAL PROJECT OVERVIEW

    9.1.1 Project Components

    9.2 ARDUINO STATE CONTROL

    9.2.1 Worked Example- Arduino State Control

    9.3 ARDUINO DIGITAL FILTER CONTROL

    9.4 FINAL PROJECT- ARDUINO CONTROLLED AUDIO AMPLIFIER WITH 2-BAND EQUALIZER

    9.5 CONCLUSIONS

    10 CONCLUSIONS

    10.1 FUTURE WORK

    10.1.1 Electronics Fundamentals

    10.1.2 Arduino Control

    10.1.3 Audio Electronics

    10.2 FINAL NOTES

    APPENDIX 1: SELF-STUDY QUESTIONS

    APPENDIX 2: AC DERIVATIONS (CHAPTER 6)

    Deriving Charge Over Time

    Deriving an RC Time Constant

    Deriving Capacitor Voltage

    Deriving Capacitive Reactance

    Deriving Series Impedance Magnitude

    Deriving Series Capacitance

    Deriving Parallel Capacitance

    APPENDIX 3: RESISTOR VALUES

    Biography

    Charlie Cullen is Assistant Head of the School of Electrical & Electronic Engineering in the Technological University Dublin, Ireland.