Microcontroller Prototypes with Arduino and a 3D Printer
eBook - ePub

Microcontroller Prototypes with Arduino and a 3D Printer

Learn, Program, Manufacture

  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Microcontroller Prototypes with Arduino and a 3D Printer

Learn, Program, Manufacture

About this book

Microcontroller Prototypes with Arduino and a 3D Printer

Discover a complete treatment of microcomputer programming and application development with Arduino and 3D printers

Microcontroller Prototypes with Arduino and a 3D Printer: Learn, Program, Manufacture delivers a comprehensive guide to learning microcontrollers that's perfectly suited to educators, researchers, and manufacturers. The book provides readers with a seasoned expert's perspective on the process of microcomputer programming and application development. Carefully designed and written example code and explanatory figures accompany the text, helping the reader fully understand and retain the concepts described within.

The book focuses on demonstrating how to craft creative and innovative solutions in embedded systems design by providing practical and illustrative methods and examples. An accompanying website includes functioning and tested source code and learning exercises and the book relies on freeware development tools for the creation of firmware and software code, 3D printed enclosures, and debugging. It allows the reader to work with modern sensors and collect sensor data to a host PC for offline analysis. Readers will also benefit from the inclusion of:

  • A thorough introduction to the art of embedded computers, including their interdisciplinarity, TPACK analysis, and the impact of microcontroller technology on the maker industry
  • An exploration of embedded programming with Arduino, including number representation and special-function codes and C common language reference
  • A discussion of hardware interfaces with the outside world, including digital pin interface, analog pin interface, UART serial interface, I2C, and SPI
  • A treatment of sensors and data acquisition, including environmental measurements with Arduino Uno, orientation and motion detection with Teensy, gesture recognition with TinyZero, and color sensing with Micro: bit
  • A variety of supplementary resources—including source codes and examples—hosted on an accompanying website to be maintained by the author: www.mikroct.com.

Perfect for researchers and undergraduate students in electrical and electronic engineering or computer engineering, Microcontroller Prototypes with Arduino and a 3D Printer: Learn, Program, Manufacture will also earn a place in the libraries of hardware engineers, embedded system designers, system engineers, and electronic engineers.

Frequently asked questions

Yes, you can cancel anytime from the Subscription tab in your account settings on the Perlego website. Your subscription will stay active until the end of your current billing period. Learn how to cancel your subscription.
No, books cannot be downloaded as external files, such as PDFs, for use outside of Perlego. However, you can download books within the Perlego app for offline reading on mobile or tablet. Learn more here.
Perlego offers two plans: Essential and Complete
  • Essential is ideal for learners and professionals who enjoy exploring a wide range of subjects. Access the Essential Library with 800,000+ trusted titles and best-sellers across business, personal growth, and the humanities. Includes unlimited reading time and Standard Read Aloud voice.
  • Complete: Perfect for advanced learners and researchers needing full, unrestricted access. Unlock 1.4M+ books across hundreds of subjects, including academic and specialized titles. The Complete Plan also includes advanced features like Premium Read Aloud and Research Assistant.
Both plans are available with monthly, semester, or annual billing cycles.
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Yes! You can use the Perlego app on both iOS or Android devices to read anytime, anywhere — even offline. Perfect for commutes or when you’re on the go.
Please note we cannot support devices running on iOS 13 and Android 7 or earlier. Learn more about using the app.
Yes, you can access Microcontroller Prototypes with Arduino and a 3D Printer by Dimosthenis E. Bolanakis in PDF and/or ePUB format, as well as other popular books in Technology & Engineering & Programming Languages. We have over one million books available in our catalogue for you to explore.

1
The Art of Embedded Computers

The rapid evolution of embedded computers, along with the abundant educational possibilities they offer, has attracted the interest of instructors at all levels of education. This chapter recommends five distinct categories of embedded computers, in terms of the tasks linked either to computer science (CS) or electronic engineering (EE) discipline. An overview of this interdisciplinary technology between the two disciplines aims at helping instructors clarify the possibilities and limitations, as well as learning difficulties of each category. Then the chapter provides readers with a unique perspective on the educational aspects of microcomputer programming and application development. The analysis applies to the technological pedagogical content knowledge (TPACK) model and attempts to clarify why the programming language should be considered as the technology integration toward helping students create their knowledge about the subject matter. It also justifies why the employed technology may arrange the tutoring more appropriate for CS or EE students.
Subsequent to this analysis, the author explores the additional endeavor required to understand the capabilities of microcomputer technology and addresses the coined micro‐computational thinking (μCT) term to describe the thought processes involved in the solutions, carried out by a microcomputer‐based system. The author does not intend to coin a new term entirely differentiated from the existing computational thinking (CT) concept, but rather to reveal the thought processes related to the application development with embedded computers.
To understand the today's impact of microcontroller technology on the maker industry, the chapter also follows the advancement of microcontroller programming and application development and identifies the long‐cycle and short‐cycle development era.

Overview of Embedded Computers and Their Interdisciplinarity

Computer programming teaching and learning has been thoroughly researched throughout the years and at all levels of education [1–3]. Lately, instructors experience the widespread dissemination of embedded computer systems and the challenge to enhance students' perspective in the field of embedded computer programming and application development [4–6]. The questions raised are “What is the difference between the programming of a regular computer and an embedded computer system? What are the challenges for an educator who wishes to get involved with the second approach?”
Schematic illustration of interdisciplinarity of embedded computers.
Figure 1.1 Interdisciplinarity of embedded computers.
It would be wise to start with a definition of the term embedded computer. Yet, it is sometimes essential to compromise with an informal definition of a complex and multifaceted theme that cannot be straightforwardly expressed within a single phrase. In consideration of the reader who is introduced to a field of study that does not necessarily fall within his/her area of expertise, the term is primarily addressed as follows. Embedded computers encompass any electronic device (contained in a hardware system) that can be programmed (with some kind of code) to carry out some computing. By definition, the process of developing programming code for an electronic device draws one's attention to an interdisciplinary task between the disciplines of CS and EE.
Figure 1.1 distinguishes five categories of embedded computers, in terms of the tasks that are more closely linked with the discipline of either CS or EE. To understand the position that each type of embedded computer holds on the proposed scheme, it is important to make reference to the basic features of conventional computer programming (which is originally rooted to CS).

Computer vs. Embedded Computer Programming and Application Development

The application software that is designed by a computer scientist or engineer to run on a personal computer interacts with the computer hardware through a system software known as the operating system (OS). The programming language used by the developer who builds custom‐designed software incorporates utilities that are considered part of the OS. This set is referred to as the application programming interface (API) and encrypts the underlying hardware operations from the developer. For instance, the API in C programming language is declared in the header files, such as the “stdio.h,” which embeds input and output functions. Hence, the developer learns how to exploit functions in order to input/output (IO) data to/from the computer system. Starting with the design of the simplest application, students are introduced to functions and syntax rules toward inputting/outputting data from/to the outside world. To do so, the students make use of two regular IO units of the computer, that is, the (input) keyboard and (output) monitor.
According to the aforementioned information, a computer program does not only direct the computer hardware toward computing tasks, it is also in charge of handling some IO units. Despite the standard keyboard and monitor units, the developer may perform more advanced IO operations through today's dominant computer interfaces, such as universal serial bus (USB), Ethernet, and so forth. In computer programming, advanced IO operations demand merely the calling of (perhaps) more complicated ready‐to‐use functions. The absence of these libraries would demand tremendous endeavor by the software developer just for the control of such IO units. One would have to go through several low‐level tasks in order to access the computer hardware.
According to their complexity, an embedded system may or may not use an OS. If it does, then the emphasis is placed on software design tasks and the application development constitutes (more likely) a distinctive procedure for the computer scientist. Otherwise, the application development necessitates serious involvement with the hardware, and therefore it can be considered a more familiar territory for an electronic engineer. Due to the requisite accessibility at the machine level, the firmware development process has a need for special treatment of the incorporated programming language (compared to the software development for a personal computer, even if we use the exact same programming language). Moreover, an embedded computer application regularly incorporates nonstandard IO units that render the learning process of a novice designer more difficult.
All these aspects of complexity and interdisciplinarity of embedded computers are a case study of an interdisciplinary curriculum, which integrates partial training from CS and EE. This discipline is known as computer engineering (CE) and bears the major responsibility on the embedded computer programming and application development. However, due to the rapid evolution of this technology along with the abundant educational possibilities they offer, embedded computers often transcend the boundaries of CS, EE, and CE classes and migrate to several diverse disciplines [7, 8]. Some researchers have attempted to introduce embedded computers in K12 education, as well [9, 10]. In the following, the author proposes and overviews five distinct categories of embedded computers in order to help instructors clarify the possibilities and limitations and the learning diffi...

Table of contents

  1. Cover
  2. Table of Contents
  3. Title Page
  4. Copyright Page
  5. Dedication Page
  6. About the Author
  7. List of Figures
  8. List of Tables
  9. Preface
  10. Acknowledgments
  11. Abbreviations
  12. Syllabus
  13. 1 The Art of Embedded Computers
  14. 2 Embedded Programming with Arduino
  15. 3 Hardware Interface with the Outside World
  16. 4 Sensors and Data Acquisition
  17. 5 Tinkering and Prototyping with 3D Printing Technology
  18. References
  19. Index
  20. End User License Agreement