This paper describes the design and prototyping of a modular, portable, reconfigurable, and wireless multi-purpose sensor system for monitoring and recording environmental conditions in aircraft cabins. The objective of this small portable embedded sensing system is to record aircraft cabin conditions on flights of convenience to generate a large database for determination of normal conditions. By designing a sensor system that can be easily reconfigured for different needs (with the ability and flexibility to accommodate different/extra sensors), the system can be used to measure parameters that meet multiple research requirements. Through design considerations such as generalized signal interface and hierarchical code structure that can be easily reworked for new sensors, this sensor system has been developed for optimum usefulness in aircraft environment research. In the current setup, the system is configured with temperature, humidity, sound level, carbon dioxide, and pressure sensors. The system has been calibrated in the laboratory without the use of a pressure chamber. Data from ten flights are presented in this paper.
Far too often, students focus on creating a working project without any regard for the quality, readability, and maintainability of their code. Students are not usually made to realize how learning and applying good coding practices can improve the success of their projects and make them more valuable to future employers. By adhering to a set of simple coding practices, students can create projects that are easier to read, maintain, predict (no unexpected features or "ghost" effects), and reuse. Many students have developed a misconception that a copious amount of commenting can make up for the shortcomings of code that is poorly organized and/or difficult to understand. Although good commenting is important and can make the purpose of code blocks clearer, paragraphs of explanation do more to clutter a project than they do to improve its quality. Proper commenting should be used in conjunction with other important practices in order to create a project with the cleanest and clearest code possible. Distinctive naming of components (files, variables, constants, etc.) and a logical layering of code can help to make changes to code far simpler, less time-consuming, and produce more predictable results. This paper provides a guide to good coding practices. Some of the topics covered will include proper use of commenting, code modularization, layering, descriptive naming, cohesion, and avoiding race conditions.
This paper describes a hands-on introductory embedded systems course, which continues from the first microprocessor course. Instead of using an off-the-shelf microcontroller development board, it shows how students can build one from scratch and add components when required for assignments or as the need arises. The course begins with wiring a microcontroller system from scratch, continues through interfacing to various sensors, and culminates in a final project. The course also focuses on embedded systems code layering concepts and enforces their usage. Lectures on practical analog interfacing circuits, such as op-amp circuitry, were presented. There were two written tests and seven hands-on laboratory assignments. The course reviews indicated students like this approach tremendously.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
hi@scite.ai
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
Copyright © 2024 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.