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

Microcontroller Prototypes with Arduino and a 3D Printer

Learn, Program, Manufacture

Dimosthenis E. Bolanakis

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

Microcontroller Prototypes with Arduino and a 3D Printer

Learn, Program, Manufacture

Dimosthenis E. Bolanakis

Book details
Book preview
Table of contents
Citations

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

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
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.
Do you support text-to-speech?
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.
Is Microcontroller Prototypes with Arduino and a 3D Printer an online PDF/ePUB?
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 Technik & Maschinenbau & Mikroelektronik. We have over one million books available in our catalogue for you to explore.

Information

Publisher
Wiley
Year
2021
ISBN
9781119782681

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