1 Cover
2 Title Page Microcontroller Prototypes with Arduino and a 3D Printer Learn, Program, Manufacture Dimosthenis E. Bolanakis Department of Air Force Science Hellenic Air Force Academy Athens Greece
3 Copyright Page
4 Dedication Page
5 About the Author
6 List of Figures
7 List of Tables
8 Preface
9 Acknowledgments
10 Abbreviations
11 Syllabus
12 1 The Art of Embedded Computers Overview of Embedded Computers and Their Interdisciplinarity TPACK Analysis Toward Teaching and Learning Microcomputers From Computational Thinking (CT) to Micro‐CT (μCT) The Impact of Microcontroller Technology on the Maker Industry Where Is Creativity in Embedded Computing Devices Hidden? Conclusion
13 2 Embedded Programming with Arduino Number Representation and Special‐Function Codes Arduino and C Common Language Reference Working with Data (Variables, Constants, and Arrays) Program Flow of Control (Arithmetic and Bitwise Operations) Code Decomposition (Functions and Directives) Conclusion
14 3 Hardware Interface with the Outside World Digital Pin Interface Analog Pin Interface Interrupt Pin Interface UART Serial Interface SPI Serial Interface I2C Serial Interface Conclusion
15 4 Sensors and Data Acquisition Environmental Measurements with Arduino Uno Orientation, Motion, and Gesture Detection with Teensy 3.2 Distance Detection and 1D Gesture Recognition with TinyZero Color Sensing and Wireless Monitoring with Micro:bit Conclusion
16 5 Tinkering and Prototyping with 3D Printing Technology Tinkering with a Low‐cost RC Car A Prototype Interactive Game for Sensory Play 3D Printing Conclusion
17 References
18 Index
19 End User License Agreement
1 Syllabus Table P.1 Recommended syllabus (description of example codes of each lesson). Table P.2 Arduino‐specific (i.e. non‐C) functions used by the book examples. Table P.3 Arduino‐original, third‐party, and custom‐designed libraries.Table P.4 Custom‐designed software running on the host PC.
2 Chapter 2Table 2.1 Prevailing numeral systems in μC programming and Arduino representa...Table 2.2 ASCII printable and control characters.Table 2.3 BCD encoding (nibble and byte representation).Table 2.4 Arduino/C common language reference.Table 2.5 Elementary flowchart symbols.Table 2.6 Unary increment operator applied to pointers.Table 2.7 Bitwise AND (&), OR (|), and XOR (^) of two bits (Truth table).
3 Chapter 3Table 3.1 SPI modes of operation (Truth table).Table 3.2 BME280 registers used by the code examples.
4 Chapter 4Table 4.1 Setting registers “ctrl_meas” (0 × F4) and “config” (0 × F5).Table 4.2 Specs of Teensy 3.2 (32‐bit μC) and the Arduino Uno (8‐bit μC) deve...Table 4.3 BNO055 registers used by the book examples.Table 4.4 Data representation of Euler angles and Linear Acceleration / Gravity ...Table 4.5 Specs of TinyZero and Teensy 32‐bit μC development boards.Table 4.6 Specs of Micro:Bit, TinyZero and Teensy 32‐bit μC development board...
5 Chapter 5Table 5.1 BOM of the tinkered RC car project.Table 5.2 BOM of the prototype interactive game.
1 Chapter 1Figure 1.1 Interdisciplinarity of embedded computers.Figure 1.2 Problem‐solving with microcomputers (a revision of Kordaki's mode...Figure 1.3 (a) TPACK model and (b) its application in microcontroller educat...Figure 1.4 Onion learning framework for μC programming and application devel...Figure 1.5 An example of pseudo‐architecture, pseudo‐timing diagram, and pse...Figure 1.6 (a) μC programming board and (b) UVPROM eraser (from the long‐cyc ...Figure 1.7 Custom‐designed PCB of the μC's application circuit.Figure 1.8 (a) Arduino uno board and powerpack shield; (b) Arduino Uno and E...Figure 1.9 Uploading the new firmware code to μC's memory through the Arduin...Figure 1.10 PCB silkscreen of the Arduino Uno stackable headers and the μC's...Figure 1.11 A drone is built around sensors, actuators, and interfaces.
2 Chapter 2Figure 2.1 Example of a 16‐bit register in μC’s memory.Figure 2.2 Two’s (2’s) complement geometrical representation of a 4‐bit bina...Figure 2.3 Arduino Uno board connected to the USB port of a laptop (using ty ...Figure 2.4 Arduino Ex.2–1a: output data from the μC to a computer through UA...Figure 2.5 RS 232 terminal consoles: (a) Arduino serial monitor. (b) Termite...Figure 2.6 Arduino Ex.2–1b: (a) SRAM‐memory and (b) Flash‐memory strings....Figure 2.7 Arduino Ex.2–2: datatypes length and typecasting . (a) source code...Figure 2.8 Control flow statements in Arduino (and embedded C) programming. ...Figure 2.9 Flowchart of the for() loop example given in Figure 2.14m.Figure 2.10 Flowchart of the do…while() loop example given in Figure 2...Figure 2.11 (a) Arduino Ex.2–3: for() & while() statements and variable scop ...Figure 2.12 Arduino Ex.2–4: for() statement and Boolean operators (upper/low...Figure 2.13 Arduino Ex.2–5: input data to the μC from a computer through UAR...Figure 2.14 Printed results of the original version (and some revisions) of ...Figure 2.15 Arduino Ex.2–6a: arithmetic operations (numeric string to binary...Figure 2.16 Transforming a numeric string to binary value (“128”→128). (a) t...Figure 2.17 Arduino Ex.2–6b: arithmetic operations (binary value to numeric ...Figure 2.18 Transforming a binary value to BCD in reversed order (254→“452”)...Figure 2.19 Arduino Ex.2–7: bitwise operations (unsigned byte to signed byte...Figure 2.20 Bitwise AND, OR, XOR with bitmasks. (a) bitwise AND (b) bitwise ...Figure 2.21 Converting the array elements from BCD to ASCII and printing the...Figure 2.22 Bit‐shift left (<<) and right (>>) of a binary v...Figure 2.23 Three positions bit‐shift left and right (i.e. multiply an...Figure 2.24 Function declaration in Arduino (and Embedded C) programming. (a...Figure 2.25 Arduino Ex.2–8: code decomposition with functions (as applied to...Figure 2.26 Arduino Ex.2–8b: code decomposition with functions and macros. (...
3 Chapter 3Figure 3.1 Pin interface with the outside world: OUTPUT DATA. (a) LED on Ard...Figure 3.2 Blinking LED with user‐defined function and macro . (a) firmware c...Figure 3.3 Pin arrangement in an Arduino Uno board (port B, port C, and port...Figure 3.4 Blinking LED through the direct manipulation of the port register...Figure 3.5 Waveforms on PB5 pin (blinking LED without the one second delay)....Figure 3.6 Concurrent vs. sequential manipulation of the μC’s port pins. (a)...Figure 3.7 Pin interface with the outside world: INPUT DATA. (a) release pus...Figure 3.8 Debounce the spurious switch (open/close) transitions. (a) connec...Figure 3.9 Reading the switch state through the direct manipulation of PINB ...Figure 3.10 Analog signal and PWM arrangement in an Arduino Uno board. (a) e...Figure 3.11 ADC and PWM pin arrangement in an Arduino Uno board.Figure 3.12 Reading the switch state through the analog input pin A0. (a) ha...Figure 3.13 Reading the 3V3 power on an Arduino Uno board through the analog...Figure 3.14 PWM on PIN3 on an Arduino Uno board (data acquisition though PIN...Figure 3.15 PWM on PIN3 (data acquisition though oscilloscope). (a) connecti...Figure 3.16 External interrupt pins on an Arduino Uno board.Figure 3.17 Update DC of the PWM wave on PIN3 via the external interrupt on ...Figure 3.18 Switch bounce on the external interrupt PIN2. (a) hardware setup...Figure 3.19 UART connection of a μC to a μC, module, or computer (8N1 frame)...Figure 3.20 UART hardware interface on an Arduino Uno board (pinout and data...Figure 3.21 Third‐party tools for the Arduino Uno board (FTDI click by Mikro...Figure 3.22 UART hardware interface on an Arduino Uno using third‐party tool...Figure 3.23 Software‐implemented UART on an Arduino Uno board (
Читать дальше