Arduino VI: Bioinstrumentation (Synthesis Lectures on Digital Circuits & Systems) 🔍
Steven F. Barrett
Springer International Publishing, 1st ed. 2024, 2023
英语 [en] · PDF · 9.3MB · 2023 · 📘 非小说类图书 · 🚀/lgli/lgrs/nexusstc/upload · Save
描述
This book is about the Arduino microcontroller and the Arduino concept. The visionary Arduino team represented a new innovation in microcontroller hardware in 2005, the concept of open source hardware, making a broad range of computing accessible for all. This book, “Arduino VI: Bioinstrumentation,” is an accessible primer on bioinstrumentation for those without a deep instrumentation background. An understanding of basic circuit theory is an appropriate prerequisite for the book. The three main goals for the book are: explore accessible Arduino microcontroller programming and interfacing concepts; investigate the source and measurement of biomedical signals; and develop skills to design and implement biomedical instrumentation.
Erscheinungsdatum: 16.12.2023
Erscheinungsdatum: 16.12.2023
备用文件名
nexusstc/Arduino VI: Bioinstrumentation (Synthesis Lectures on Digital Circuits & Systems)/2e569f3bdb3d2d4b4276831299c9fedd.pdf
备用文件名
lgli/978-3-031-47130-8.pdf
备用文件名
lgrsnf/978-3-031-47130-8.pdf
备用出版商
Springer Nature Switzerland AG
备用版本
Springer Nature, Cham, 2023
备用版本
Switzerland, Switzerland
元数据中的注释
producers:
Springer-i
Springer-i
元数据中的注释
{"edition":"1st ed. 2024","isbns":["3031471296","9783031471292"],"last_page":315,"publisher":"Springer","source":"libgen_rs"}
备用描述
Preface 6
Approach of the Book 6
Acknowledgments 8
Contents 9
About the Author 14
Part I Introduction to Arduino, the IDE, Programming, and Interfacing 15
1 Getting Started 16
[DELETE] 16
1.1 Overview 16
1.2 The Big Picture 17
1.3 Arduino Quickstart 19
1.3.1 Quick Start Guide 19
1.3.2 Arduino Development Environment Overview 20
1.3.3 Sketchbook Concept 21
1.3.4 Arduino Software, Libraries, and Language References 21
1.3.5 Writing an Arduino Sketch 21
1.4 Arduino Platforms 28
1.5 Arduino UNO R3 Processing Board 28
1.6 Arduino UNO R3 Host Processor–the ATmega328 30
1.6.1 Arduino UNO R3/ATmega328 Hardware Features 30
1.6.2 ATmega328 Memory 31
1.6.3 ATmega328 Port System 33
1.6.4 ATmega328 Internal Systems 33
1.7 Arduino UNO R3 Open Source Schematic 37
1.8 Arduino Mega 2560 R3 Processing Board 37
1.9 Arduino Mega 2560 Host Processor–the ATmega2560 39
1.9.1 Arduino Mega 2560 /ATmega2560 Hardware Features 39
1.9.2 ATmega2560 Memory 40
1.9.3 ATmega2560 Port System 42
1.9.4 ATmega2560 Internal Systems 44
1.10 Arduino Mega 2560 Open Source Schematic 47
1.11 LilyPad Arduino 47
1.11.1 LilyPad Processor 47
1.12 Extending the Hardware Features of the Arduino Platforms 47
1.13 Application: SD Card with Real Time Clock and TFT Display 48
1.13.1 Overview 48
1.13.2 SD Card with RTC 50
1.13.3 TFT Display 53
1.13.4 BioMedVue–Heart Arrhythmia Displays 54
1.13.5 SD Card and TFT Display 58
1.13.6 Arrhythmia Display 58
1.13.7 Sine and Cosine Signal Generator 59
1.14 Summary 59
1.15 Problems 61
2 Arduino Subsystems 63
2.1 Introduction 64
2.2 Analog–to–Digital Conversion (ADC) Subsystem 64
2.2.1 Sampling, Quantization and Encoding 65
2.2.2 Resolution and Data Rate 68
2.2.3 Analog–to–Digital Conversion (ADC) Process 69
2.2.4 Transducer Interface Design (TID) Circuit 70
2.2.5 ADC Conversion Technologies 70
2.2.6 The Arduino UNO R3 and ATmega2560 ADC System 70
2.2.7 Programming the ADC with the Arduino Development Environment 71
2.2.8 One–Bit ADC– Threshold Detector 77
2.2.9 Digital–to–Analog Conversion (DAC) 77
2.2.10 DAC with the Arduino Development Environment 79
2.2.11 DAC with External Converters 80
2.3 Timing Subsystem 80
2.3.1 Timing Related Terminology 80
2.3.2 Timing System Overview 82
2.3.3 Programming the Arduino Using the Built–in Timing Features 82
2.4 Serial Communications 83
2.4.1 Serial Communication Terminology 83
2.4.2 Serial USART 85
2.4.3 USART Programming with the ADE–Serial LCD 86
2.5 Serial Peripheral Interface–SPI 88
2.5.1 SPI Operation 88
2.5.2 SPI Programming in the Arduino Development Environment 89
2.5.3 LED Strip 90
2.5.4 SPI LCD 95
2.6 Two Wire Interface (TWI) 97
2.6.1 Programming the TWI Subsystem with the Arduino IDE 98
2.6.2 TWI LCD 99
2.7 Interrupt Subsystem 100
2.7.1 General Interrupt Response 102
2.7.2 Programming External Interrupts Using the Arduino Development Environment Built–in Features 102
2.7.3 Foreground and Background Processing 103
2.8 Application: BME280 Humidity, Barometric Pressure, Temp Sensor 106
2.8.1 BME 820 Sensor 106
2.8.2 Monochrome OLED Display Using SPI or I2C 110
2.8.3 TWI/I2C with the Arduino LilyPad 114
2.8.4 Networking on the TWI/I2C Bus 115
2.9 Summary 115
2.10 Problems 116
3 Arduino Power and Interfacing 118
[DELETE] 118
3.1 Overview 118
3.2 Powering an Arduino–Based Project 119
3.2.1 Arduino Power Requirements 119
3.2.2 Project Requirements 120
3.2.3 AC Operation 120
3.2.4 DC Operation 121
3.2.5 Remote DC Power–Solar Power System 124
3.3 Operating Parameters 125
3.3.1 HC CMOS Parameters 126
3.3.2 Level Translation 129
3.4 Input Devices–Switches 133
3.4.1 Switch Interface 135
3.4.2 Pullup Resistors in Switch Interface Circuitry 135
3.4.3 Switch Debouncing 135
3.4.4 Keypads 136
3.5 Input Sensors 140
3.5.1 Digital Sensors 141
3.5.2 Analog Sensors 142
3.6 Input Sensor Examples 147
3.6.1 Temperature Sensors 148
3.6.2 Light Sensor 150
3.6.3 Orientation Sensors 156
3.6.4 Environmental Sensors 166
3.7 Output Devices 170
3.7.1 Light Emitting Diodes (LEDs) 171
3.7.2 Seven Segment LED Displays–Small 172
3.7.3 Seven Segment LED Displays–Large 172
3.7.4 Serial LCD Displays 177
3.7.5 TFT Displays 177
3.7.6 Sound 177
3.8 Application: Pulse Sensor 182
3.9 Summary 183
3.10 Problems 183
Part II Measuring Signals from the Human Body 186
4 Operational Amplifiers and Filtering 187
[DELETE] 187
4.1 Overview 187
4.2 Operational Amplifier Origins 187
4.3 Ideal Characteristics 188
4.4 Nonideal Characteristics 190
4.5 Configurations 191
4.6 Transducer Interface Design (TID) 193
4.7 Active Filters 196
4.7.1 Signal Concepts 196
4.7.2 Filter Concepts 197
4.7.3 Filter Types 200
4.7.4 Active Analog RC Filter Design 201
4.8 Instrumentation Amplifiers 202
4.9 Isolation Amplifiers 202
4.10 Application: Single–Lead Heart Rate Monitor-AD8232 202
4.11 Summary 206
4.12 Problems 206
5 Biopotentials 208
[DELETE] 208
5.1 Overview 208
5.2 Origins of Biopotentials 209
5.2.1 Biological Neuron 212
5.3 Electrodes 212
5.3.1 Theory 215
5.3.2 Some Practical Matters 217
5.3.3 Electrocardiogram (ECG) 217
5.3.4 Electroencephalogram (EEG) 223
5.3.5 Electromyogram the EMG 227
5.4 Application: Biomedical Signals with TFT Display 233
5.5 Summary 234
5.6 Problems 234
Part III Design of Medical Instrumentation 236
6 Embedded Systems Design 237
[DELETE] 237
6.1 Overview 237
6.2 What is an Embedded System? 238
6.3 Embedded System Design Process 238
6.3.1 Project Description 238
6.3.2 Background Research 240
6.3.3 Pre–design 240
6.3.4 Design 240
6.3.5 Implement Prototype 242
6.3.6 Preliminary Testing 243
6.3.7 Complete and Accurate Documentation 243
6.4 Application: Visual Feedback Array 244
6.4.1 Background 244
6.4.2 Design Iteration I: Baseline Instrument 245
6.4.3 Design Iteration II: Improved Features 250
6.4.4 Design Iteration III: Arduino–Based Design 255
6.4.5 Concluding Remarks 264
6.5 Summary 266
6.6 Problems 267
A Safety 269
A.1 Physiological Effects of Electricity 270
A.2 Electrical Safety Principles 272
A.3 Shock Rescue Procedures 273
Programming in C with the Microchip ATmega328 275
B.1 Overview 275
B.2 Anatomy of a C Program 276
B.2.1 Comments 277
B.2.2 Include Files 278
B.2.3 Functions 279
B.2.4 Program Constants 282
B.2.5 Interrupt Handler Definitions 282
B.2.6 Variables 282
B.2.7 Main Program 283
B.3 Fundamental Programming Concepts 283
B.3.1 Operators 284
B.3.2 Programming Constructs 288
B.3.3 Decision Processing 290
B.4 Programming The ATmega328 293
B.4.1 ISP Hardware and Software Tools 293
B.4.2 Microchip Studio Download, Installation, and ATmega328 Programming 294
B.5 Example: ATmega328 Testbench 295
B.5.1 Hardware Configuration 295
B.5.2 Software Configuration 296
B.6 Example: Rain Gauge Indicator 299
B.7 Example: Loop Practice 301
B.8 Summary 303
B.9 Problems 303
Index 305
Approach of the Book 6
Acknowledgments 8
Contents 9
About the Author 14
Part I Introduction to Arduino, the IDE, Programming, and Interfacing 15
1 Getting Started 16
[DELETE] 16
1.1 Overview 16
1.2 The Big Picture 17
1.3 Arduino Quickstart 19
1.3.1 Quick Start Guide 19
1.3.2 Arduino Development Environment Overview 20
1.3.3 Sketchbook Concept 21
1.3.4 Arduino Software, Libraries, and Language References 21
1.3.5 Writing an Arduino Sketch 21
1.4 Arduino Platforms 28
1.5 Arduino UNO R3 Processing Board 28
1.6 Arduino UNO R3 Host Processor–the ATmega328 30
1.6.1 Arduino UNO R3/ATmega328 Hardware Features 30
1.6.2 ATmega328 Memory 31
1.6.3 ATmega328 Port System 33
1.6.4 ATmega328 Internal Systems 33
1.7 Arduino UNO R3 Open Source Schematic 37
1.8 Arduino Mega 2560 R3 Processing Board 37
1.9 Arduino Mega 2560 Host Processor–the ATmega2560 39
1.9.1 Arduino Mega 2560 /ATmega2560 Hardware Features 39
1.9.2 ATmega2560 Memory 40
1.9.3 ATmega2560 Port System 42
1.9.4 ATmega2560 Internal Systems 44
1.10 Arduino Mega 2560 Open Source Schematic 47
1.11 LilyPad Arduino 47
1.11.1 LilyPad Processor 47
1.12 Extending the Hardware Features of the Arduino Platforms 47
1.13 Application: SD Card with Real Time Clock and TFT Display 48
1.13.1 Overview 48
1.13.2 SD Card with RTC 50
1.13.3 TFT Display 53
1.13.4 BioMedVue–Heart Arrhythmia Displays 54
1.13.5 SD Card and TFT Display 58
1.13.6 Arrhythmia Display 58
1.13.7 Sine and Cosine Signal Generator 59
1.14 Summary 59
1.15 Problems 61
2 Arduino Subsystems 63
2.1 Introduction 64
2.2 Analog–to–Digital Conversion (ADC) Subsystem 64
2.2.1 Sampling, Quantization and Encoding 65
2.2.2 Resolution and Data Rate 68
2.2.3 Analog–to–Digital Conversion (ADC) Process 69
2.2.4 Transducer Interface Design (TID) Circuit 70
2.2.5 ADC Conversion Technologies 70
2.2.6 The Arduino UNO R3 and ATmega2560 ADC System 70
2.2.7 Programming the ADC with the Arduino Development Environment 71
2.2.8 One–Bit ADC– Threshold Detector 77
2.2.9 Digital–to–Analog Conversion (DAC) 77
2.2.10 DAC with the Arduino Development Environment 79
2.2.11 DAC with External Converters 80
2.3 Timing Subsystem 80
2.3.1 Timing Related Terminology 80
2.3.2 Timing System Overview 82
2.3.3 Programming the Arduino Using the Built–in Timing Features 82
2.4 Serial Communications 83
2.4.1 Serial Communication Terminology 83
2.4.2 Serial USART 85
2.4.3 USART Programming with the ADE–Serial LCD 86
2.5 Serial Peripheral Interface–SPI 88
2.5.1 SPI Operation 88
2.5.2 SPI Programming in the Arduino Development Environment 89
2.5.3 LED Strip 90
2.5.4 SPI LCD 95
2.6 Two Wire Interface (TWI) 97
2.6.1 Programming the TWI Subsystem with the Arduino IDE 98
2.6.2 TWI LCD 99
2.7 Interrupt Subsystem 100
2.7.1 General Interrupt Response 102
2.7.2 Programming External Interrupts Using the Arduino Development Environment Built–in Features 102
2.7.3 Foreground and Background Processing 103
2.8 Application: BME280 Humidity, Barometric Pressure, Temp Sensor 106
2.8.1 BME 820 Sensor 106
2.8.2 Monochrome OLED Display Using SPI or I2C 110
2.8.3 TWI/I2C with the Arduino LilyPad 114
2.8.4 Networking on the TWI/I2C Bus 115
2.9 Summary 115
2.10 Problems 116
3 Arduino Power and Interfacing 118
[DELETE] 118
3.1 Overview 118
3.2 Powering an Arduino–Based Project 119
3.2.1 Arduino Power Requirements 119
3.2.2 Project Requirements 120
3.2.3 AC Operation 120
3.2.4 DC Operation 121
3.2.5 Remote DC Power–Solar Power System 124
3.3 Operating Parameters 125
3.3.1 HC CMOS Parameters 126
3.3.2 Level Translation 129
3.4 Input Devices–Switches 133
3.4.1 Switch Interface 135
3.4.2 Pullup Resistors in Switch Interface Circuitry 135
3.4.3 Switch Debouncing 135
3.4.4 Keypads 136
3.5 Input Sensors 140
3.5.1 Digital Sensors 141
3.5.2 Analog Sensors 142
3.6 Input Sensor Examples 147
3.6.1 Temperature Sensors 148
3.6.2 Light Sensor 150
3.6.3 Orientation Sensors 156
3.6.4 Environmental Sensors 166
3.7 Output Devices 170
3.7.1 Light Emitting Diodes (LEDs) 171
3.7.2 Seven Segment LED Displays–Small 172
3.7.3 Seven Segment LED Displays–Large 172
3.7.4 Serial LCD Displays 177
3.7.5 TFT Displays 177
3.7.6 Sound 177
3.8 Application: Pulse Sensor 182
3.9 Summary 183
3.10 Problems 183
Part II Measuring Signals from the Human Body 186
4 Operational Amplifiers and Filtering 187
[DELETE] 187
4.1 Overview 187
4.2 Operational Amplifier Origins 187
4.3 Ideal Characteristics 188
4.4 Nonideal Characteristics 190
4.5 Configurations 191
4.6 Transducer Interface Design (TID) 193
4.7 Active Filters 196
4.7.1 Signal Concepts 196
4.7.2 Filter Concepts 197
4.7.3 Filter Types 200
4.7.4 Active Analog RC Filter Design 201
4.8 Instrumentation Amplifiers 202
4.9 Isolation Amplifiers 202
4.10 Application: Single–Lead Heart Rate Monitor-AD8232 202
4.11 Summary 206
4.12 Problems 206
5 Biopotentials 208
[DELETE] 208
5.1 Overview 208
5.2 Origins of Biopotentials 209
5.2.1 Biological Neuron 212
5.3 Electrodes 212
5.3.1 Theory 215
5.3.2 Some Practical Matters 217
5.3.3 Electrocardiogram (ECG) 217
5.3.4 Electroencephalogram (EEG) 223
5.3.5 Electromyogram the EMG 227
5.4 Application: Biomedical Signals with TFT Display 233
5.5 Summary 234
5.6 Problems 234
Part III Design of Medical Instrumentation 236
6 Embedded Systems Design 237
[DELETE] 237
6.1 Overview 237
6.2 What is an Embedded System? 238
6.3 Embedded System Design Process 238
6.3.1 Project Description 238
6.3.2 Background Research 240
6.3.3 Pre–design 240
6.3.4 Design 240
6.3.5 Implement Prototype 242
6.3.6 Preliminary Testing 243
6.3.7 Complete and Accurate Documentation 243
6.4 Application: Visual Feedback Array 244
6.4.1 Background 244
6.4.2 Design Iteration I: Baseline Instrument 245
6.4.3 Design Iteration II: Improved Features 250
6.4.4 Design Iteration III: Arduino–Based Design 255
6.4.5 Concluding Remarks 264
6.5 Summary 266
6.6 Problems 267
A Safety 269
A.1 Physiological Effects of Electricity 270
A.2 Electrical Safety Principles 272
A.3 Shock Rescue Procedures 273
Programming in C with the Microchip ATmega328 275
B.1 Overview 275
B.2 Anatomy of a C Program 276
B.2.1 Comments 277
B.2.2 Include Files 278
B.2.3 Functions 279
B.2.4 Program Constants 282
B.2.5 Interrupt Handler Definitions 282
B.2.6 Variables 282
B.2.7 Main Program 283
B.3 Fundamental Programming Concepts 283
B.3.1 Operators 284
B.3.2 Programming Constructs 288
B.3.3 Decision Processing 290
B.4 Programming The ATmega328 293
B.4.1 ISP Hardware and Software Tools 293
B.4.2 Microchip Studio Download, Installation, and ATmega328 Programming 294
B.5 Example: ATmega328 Testbench 295
B.5.1 Hardware Configuration 295
B.5.2 Software Configuration 296
B.6 Example: Rain Gauge Indicator 299
B.7 Example: Loop Practice 301
B.8 Summary 303
B.9 Problems 303
Index 305
开源日期
2024-01-10
We strongly recommend that you support the author by buying or donating on their personal website, or borrowing in your local library.
🚀 快速下载
成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
🐢 低速下载
由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)
- 低速服务器(合作方提供) #1 (稍快但需要排队)
- 低速服务器(合作方提供) #2 (稍快但需要排队)
- 低速服务器(合作方提供) #3 (稍快但需要排队)
- 低速服务器(合作方提供) #4 (稍快但需要排队)
- 低速服务器(合作方提供) #5 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #6 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #7 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #8 (无需排队,但可能非常慢)
- 低速服务器(合作方提供) #9 (无需排队,但可能非常慢)
- 下载后: 在我们的查看器中打开
所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
外部下载
-
对于大文件,我们建议使用下载管理器以防止中断。
推荐的下载管理器:JDownloader -
您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
推荐的电子书阅读器:Anna的档案在线查看器、ReadEra和Calibre -
使用在线工具进行格式转换。
推荐的转换工具:CloudConvert和PrintFriendly -
您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
推荐的工具:亚马逊的“发送到 Kindle”和djazz 的“发送到 Kobo/Kindle” -
支持作者和图书馆
✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。
下面的文字仅以英文继续。
总下载量:
“文件的MD5”是根据文件内容计算出的哈希值,并且基于该内容具有相当的唯一性。我们这里索引的所有影子图书馆都主要使用MD5来标识文件。
一个文件可能会出现在多个影子图书馆中。有关我们编译的各种数据集的信息,请参见数据集页面。
有关此文件的详细信息,请查看其JSON 文件。 Live/debug JSON version. Live/debug page.