4 options
Electronics and microprocessing for research : you can make it / by David Dubins.
- Format:
- Book
- Author/Creator:
- Dubins, David, author.
- Language:
- English
- Subjects (All):
- Computer engineering.
- Genre:
- Libros electrónicos.
- Physical Description:
- 1 online resource (491 pages)
- Edition:
- Second edition.
- Place of Publication:
- Newcastle-upon-Tyne, England : Cambridge Scholars Publisher, [2019]
- Summary:
- This is an introductory course textbook in electronics, programming, and microprocessing. It explains how to connect and control various electronic components, how to wire and read common types of sensors, and how to amplify, filter, and smooth sensor readings. This will allow the learner to start designing and building their own equipment for research projects. The course starts at a beginner level, assuming no prior knowledge in these areas. Programming and microprocessing are taught using the Arduino IDE. This book can serve as a stand-alone crash course for a self-motivated learner. It can also be directly adopted as a course textbook for an elective in a college, university, or high school context. Sections include various fun lab activities that increase in difficulty, and enough theory and practical advice to help complement the activities with understanding. Resources are provided to the instructor to organize the lectures, activities, and individual student design projects. These tools will help any reader turn their electronic project ideas into functional prototypes.
- Contents:
- Intro
- Table of Contents
- List of Figures
- List of Tables
- Acknowledgements
- Preface
- Section 0
- Introduction
- Why Microprocessing?
- Course Objectives
- Section 1
- What is Electricity?
- Charge
- Voltage
- Power
- The Generalized Power Law
- Resistance
- Ohm's Law
- Resistors
- Measuring Voltage, Resistance, and Current
- Using a Multimeter to Analyze Your Complicated Circuit
- Measuring Overall Circuit Power Consumption and Overall Circuit Resistance
- Electrical Ground
- DC Ground
- AC Ground
- Different Ground Symbols
- Types of Returns
- Voltage Sources: Series vs. Parallel
- Batteries in Series
- Batteries in Parallel
- Circuit Configurations
- Kirchhoff's Voltage Law (KVL)
- The Voltage Divider Equation
- Kirchhoff's Current Law (KCL)
- The Current Divider Equation
- Calculating Current-Limiting Resistor Values for LEDs
- Anode vs. Cathode: Devices with Polarity
- Introduction to Switches
- Breadboarding
- Circuit Diagram Etiquette Example: Light Theremin
- Activity 1-1: 9V Battery + LED + 10K Resistor
- Activity 1-2: 9V Battery + 10K Resistor + 100K Resistor
- Demo: Light Theremin
- Learning Objectives for Section 1
- Section 1 - Station Content List
- Section 2
- Capacitors
- Capacitor Circuit Diagram Symbols
- Capacitor Ratings
- Capacitors in Series and Parallel
- Capacitors: Typical Uses
- Capacitor Equations
- Charging a Capacitor through a Resistor
- Discharging a Capacitor Through a Resistor
- Voltage Divider Design: 10% Rule
- Other Options for Delivering Lower Voltage
- Datasheet Example: LM317 (Variable Linear Voltage Regulator)
- How Hot Will My Chip Get? Heat Dissipation Calculations
- Thévenin's Theorem
- Thévenin's Theorem by Measurement (Using a Multimeter)
- Mesh Current Method
- Thévenin's Theorem Method (Theoretical)
- Integrated Circuits (ICs).
- PDIP/DIP
- Surface Mount Technology
- Logic Circuits
- AND Gate: (e.g. 74HC08)
- OR Gate: (e.g. 74HC32)
- NOT Gate: (e.g. 74HC04)
- Combining Logic Circuits
- Activity 2-1: Capacitor Charging and Discharging
- Activity 2-2: LM317 Voltage Regulator
- Activity 2-3: Logic Gates
- Learning Objectives for Section 2
- Section 2 - Station Content List
- Section 3
- Introduction to the Arduino Uno Microcontroller Board
- Connecting a Serial LCD Module to the Arduino Uno
- Your First Sketch
- Basic Programming Concepts
- Commenting Your Code
- Storing and Accessing Data in Variables
- Declaring and Using Variables
- Integers
- Long Integers
- Global Space, Setup Function, and Loop Function
- Float Variables
- If...Then...Else Statements (and Logical Expressions)
- Bool Variables
- Boolean Operators
- Byte Variables
- String and Char Variables
- Casting Variable Types
- Arrays of Variables
- Char Array
- Data Types: More Complicated Conversions
- Defining Programming Loops in Arduino
- For Loops
- C++ Shorthand Increment Expressions
- Do...While Loops
- While Loops
- For, Do...While, or While?
- Ommitting Curly Brackets
- The Break Command
- Switch Case
- General Programming Tips
- Activity 3-1: Programming Challenge
- Learning Objectives for Section 3
- Section 3 - Station Content List
- Section 4
- Byte Variables and Digital Pins
- What is a Digital Pin?
- Digital OUTPUT Mode Example
- Pulse Width Modulation (PWM) Example
- Digital Input Mode Example
- Analog Pins
- Using Analog Pins as Digital Output Pins
- Analog Read Example
- External Analog Reference: AREF Pin
- Arduino Pin Conflicts
- Arduino Digital and Analog Pins: Summary Tables
- The Serial Monitor
- The Serial Plotter
- Subroutines and Functions
- Properties of Functions
- Void Functions
- Call-by-Value vs. Call-by-Reference.
- Float Functions
- Integer (and other) Functions
- Function DOs and DON'Ts
- #define and #ifdef Statements
- General Programming Etiquette
- Activity 4-1: NTC Thermistor Circuit
- Calibrating a Thermistor
- Two-Term Exponential Thermistor Equation
- Learning Objectives for Section 4
- Section 4 - Station Content List
- Section 5
- Voltage and Current Limitations of the Arduino Uno
- Relays
- High Side Switching vs. Low Side Switching
- Powering a Relay with a Separate Supply
- Vin Pin: Arduino Uno
- Diodes (P-N Junction, or Rectifier Diodes)
- Transistors
- Bipolar Junction Transistors (BJTs)
- NPN Transistors: Selecting a Base Resistor Value
- NPN Transistors in the Active Region
- Darlington Pairs
- Current Gated vs. Voltage Gated
- MOSFETs
- TRIACs
- BT139-600E (TRIAC)
- Protecting your Circuit from DC Motors
- Protection Diode
- Reducing DC Motor Noise with Capacitors
- Activity 5-1: Hot Plate Thermostat
- Activity 5-2: Transistor as a Switch for a DC Motor
- Parsing Serial Data
- Activity 5-3: MOSFET as a Switch for a DC Motor
- Learning Objectives for Section 5
- Section 5 - Station Content List
- Section 6
- When "Close Enough" Isn't Close Enough
- How a DC Motor Works
- Using an H-Bridge to Control Motor Speed and Direction
- L298N H-Bridge Motor Driver Module
- Stepper Motors
- 28BYJ-48 Stepper Motor with ULN2003 Motor Driver
- Nema-17 Stepper Motor with A4988 Motor Driver
- Servo Motors
- System Control Strategies
- Open-Loop Control
- Feed Forward Control
- Feedback Control
- On-Off Controller
- Proportional (P) Controller
- Proportional-Integral (PI) Controller
- Proportional-Integral-Derivative (PID) Controller
- Combining Feedback Strategies
- Activity 6-1: L298N Motor Driver Controlling a DC Motor
- Activity 6-2(a): 28BYJ-48 Stepper Motor
- Activity 6-2(b): Nema-17 Stepper Motor.
- Activity 6-3: SG90 Servo Control
- Activity 6-4: PID Control of a 12V CPU Fan
- Learning Objectives for Section 6
- Section 7
- Open Loop Configuration (Comparator)
- Closed Loop Configuration
- Buffer
- Op-Amp Characteristics
- Output Short-Circuit Current
- Gain in dB (decibels)
- Headroom
- Slew Rate
- Unity Gain Bandwidth
- Inverting Amplifier
- Biasing the Output of an Inverting Amplifier
- Non-Inverting Amplifier
- Biasing the Output of a Non-Inverting Amplifier
- Differential Amplifier
- Summing Amplifier (Inverting)
- Summing Amplifier (Non-Inverting)
- Summing Amplifier (Non-Inverting) Equations Solved
- Negative Voltage?
- Solution 1: Using a Virtual Ground
- Solution 2: Negative Voltage Generator
- Solution 3: Negative Supply Line from an ATX Power Supply
- Op-Amps Can Do Calculus
- Signal Attenuation
- Activity 7-1: Load Cell Scale
- Activity 7-2: pH Meter
- Learning Objectives for Section 7
- Section 7 - Station Content List, Activity 7-1
- Section 7 - Station Content List, Activity 7-2
- Section 8
- Data Filtering
- Low-Pass Filters (LPFs)
- High-Pass Filters (HPFs)
- Inverting AC Amplifier
- Blocking the DC in your Signal: Charge Coupling
- Higher Order Filters
- Band-Pass Filters
- Second Order Low-Pass and High-Pass Filters
- Operational Amplifiers: Practical Considerations
- Impedance Considerations: Op-Amp Inputs
- Impedance Considerations: Op-Amp Output
- Measuring Output Impedance
- Measuring Input Impedance
- Practical Strategies to Reduce Signal Noise
- Measuring Noise
- Data Smoothing
- Mean Filter
- Median Filter
- Mode Filter
- Mean Filter with Threshold Rejection
- Data Logging
- Arduino TimeLib.h Library
- Using millis() Instead of delay()
- Logging through the Serial Port
- Logging to an External microSD Card
- Logic Shifters.
- Activity 8-1: Noise Reduction
- Activity 8-2: Data Smoothing
- Activity 8-3: Data Logging to an SD Card
- Learning Objectives for Section 8
- Section 8 - Station Content List
- Section 9
- Design Project Selection
- Design Project Assessment
- What if my design project doesn't work?
- Code Snippets and Examples
- Serial Monitor Menu
- Using EEPROM: Memory that Doesn't Forget!
- Generating Beeps to Alert your User: Arduino Tone Library
- Programming One Button with Multiple Functions
- Measuring Light Intensity
- Photoresistors
- Photodiodes
- Phototransistors
- Integrated Packages
- Measuring Time Duration with Interrupts
- Op-Amp Comparator with Bias Voltage
- Matrix Keypads and LED Matrix Displays
- Charlieplexing LEDs
- Need More Digital Pins?
- Shift-Out Registers
- Shift-In Registers
- Bareduino - Running the ATmega328 Alone
- Learning Objectives for Section 9
- Section 10
- Controlling MCU Registers, Interrupts and Timers
- Bitwise Operations
- Bitwise AND (&
- )
- Bitwise OR (|)
- Bitwise NOT (~)
- Bitwise XOR (^)
- Shifting Bits with "<
- <
- " and ">
- >
- "
- Bitwise Operators: Short Forms
- Introduction to Port Manipulation
- Worked Example: Fast Analog Read
- Fast Digital Read and Write
- Interrupts
- Internal (Pin Change) Interrupts
- Never Miss a Button Push Again
- Rules for Writing an Interrupt Service Routine
- Customized Frequencies for PWM
- Timer 0
- Timer 1
- Timer 2
- Timing your Interrupt Service Routines with CTC Mode
- Sleep Mode
- Wake on Pin Change
- Wake on Timeout of Watchdog Timer
- Resetting the MCU
- Reset with a Watchdog Timer
- Hard Wiring a Digital Pin to the RESET Pin
- Advanced Formating and Variable Type Conversions
- Secrets of Serial.print()
- Additional String Conversion Commands
- Comparing Strings.
- Arrays of Strings and Arrays of Char Arrays.
- Notes:
- Includes bibliographical references and index.
- Description based on print version record.
- Description based on publisher supplied metadata and other sources.
- ISBN:
- 1-5275-4353-6
- OCLC:
- 1183030838
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.