A Sustainability-focused Project-based Learning Experience for Engineering Undergraduates: Case Study of a Smart Greenhouse Project

In this paper, a smart greenhouse project has been presented as an example of a sustainability-focused project-based learning experience for undergraduates. While project-based instruction and learning experience has already gained enough momentum in several fields of education, the inclusion of sustainability perspectives from the science and engineering fields of studies is yet to make its room in the current course curricula as well as in the mindset of new generations of engineering undergraduates. This smart greenhouse project is an example of how sustainability can be brought into a classroom setting of engineering and technology programs as a project-based learning experience. The objective of this smart greenhouse project is to create an automated system capable of growing vegetation with little human input by utilizing electricity, computer programming, and a microcontroller operation. While this project was implemented by a group of two students with electrical engineering technology (EET) major as parts of their Introduction to Programming (ET 142) and Supervisory Control and Data Acquisition (ET 342) courses requirements at the University of Wisconsin-Green Bay, Wisconsin, USA, a similar sustainability-focused project-based learning approach can also be applied successfully in other courses at different levels of engineering and technology programs at other academic institutions. †


Introduction
Sustainability and sustainable development have been the topics of discussions in recent years among researchers of all disciplines including education [1,2]. In the field of science, technology, engineering, and mathematics (STEM), the opportunities of creating new devices, practices, and algorithms have made it even more important to consider sustainability matters for long-term future [1] and the new generations of scientists, engineers, and technologists. In STEM fields, it has become increasingly important that the students get hands-on experience to build future, project-based learning has now been used in many STEM fields [7,8].
Traditionally, in a STEM undergraduate course curriculum, a typical computer programming class has a theory part, where students learn fundamental concepts of programming, accompanied by a laboratory exercises part, where students apply those concepts that they learn in the theory part to do actual programming solutions. The laboratory exercises part clearly provides an opportunity for students to learn hands-on programming practices. On the other hand, in the current times of industrial automation and controls, the topic of Supervisory Control and Data Acquisition (SCADA) is extremely important for a successful automation system that is spread over a wide geographical area where an operator in a central hub, e.g. a master station, could see all of the system components in the user interface and send control (e.g. supervisory command) signals to the field devices. Contents of a SCADA course typically include a theoretical part discussing the various aspects of data acquisition and supervisory controls and a laboratory part providing students with an opportunity to get hands-on experience on SCADA software [9]. While in both the Introduction to Programming (ET 142) and Supervisory Control and Data Acquisition (ET 342) classes taught at the University of Wisconsin-Green Bay, USA, in order to allow students to receive an additional thorough hands-on experience of computer programming and SCADA, they are required to do a project work in each course where they apply computer programming and SCADA skills to provide real-life solutions. In addition, in order to address the emerging need of sustainable engineering practices and build future engineers with sustainability-focused mindset, students are encouraged to do their project on sustainability-focused engineering and technology solutions [2]. In this paper, one of these student projects on sustainability-focused engineering solutions in the smart cities aspects has been presented, which was performed by a group of two students in two parts as ET 142 and ET 342 courses requirements respectively at the University of Wisconsin-Green Bay, USA in the fall 2019 semester. The students in these two courses built a small prototype smart greenhouse with limited control applications that would be an example of how sustainability concepts could be addressed in engineering undergraduate courses via project-based learning. The students used commonly available electronic components and set up the experiment to provide a proof of concept of the smart greenhouse idea within these courses.
The rest of this paper is organized as follows: Section 2 details the background, implementation and experimental work, an explanation of functionality, and data collection and control systems used in this project. Section 3 presents an evaluation of the students' learning experience from this project followed by Section 4 reflecting on the instructor's experience on teaching this course. Finally, Section 5 provides some concluding remarks.

Motivation and Objective
The smart greenhouse project is an attempt to make indoor food production possible while also incorporating efficient resource utilization. The smart greenhouse is designed to provide an ideal environment for plant life to thrive with minimum human influence. This is accomplished by easily customizable programming as well as a scalable design. The objective of this project is to create an automated system capable of growing vegetation with little human input by utilizing electricity, programming, and a microcontroller operation. Scalable sustainable food production is one of the most important challenges facing a rapidly growing population. In order to meet this growing demand, the agriculture industry will have to modernize in order to increase efficiency and the success rate of crop production. The use of technology will also increase the ability of individuals to pursue self-sustainable food production in areas where vegetable production would otherwise be impossible. This is especially important in areas of the world where temperatures prevent or inhibit growing food year-round.

Implementation and Experimental Work
Most of the parts and components used in this project can be found in any standard electronics laboratory, electronics shop, or from any electronics vendor. The hardware and software used in this project are: Arduino Uno Microcontroller [10], Arduino Independent Development Environment (IDE), breadboard, DC motor, servo9g servo, DHT 11 temperature and humidity sensor, real time clock (RTC) module, relay module, UV light, arrangement for DC power for the circuit, wires, resistors, diode rectifier, and MOSFET. The DC motor used in the experiment is a simple DC motor that can be run with an Arduino setup. It should be noted here that the circuit can get DC power from an independent DC power supply or an appropriate battery source.
Various experiments were performed on the project in order to achieve a satisfactory performance. An independent testing program has been developed in order to test and experiment with each individual module of the smart greenhouse project. In the current design of the project, it was discovered that, while the servo and the DC motor both work individually, they are unable to operate at the same time while utilizing the microcontroller's 5V power supply. It was experimented with isolating the servo on another circuit with another microcontroller but ultimately this became too convoluted from a programming aspect, as well as being an unnecessary cost increase. Instead, it was experimented with programming solutions.
This required an adaptation of our smart greenhouse program to guarantee that the servo would not energize when the DC motor was functioning. The control circuit of the smart greenhouse project has been shown in Fig. 1. Different portions of the experimental setup have been shown in detail in Fig. 2 and Fig. 3.

Functional Description
The smart greenhouse is programmed via the Arduino IDE [10]. It utilizes a programming language that is a modified version of C++. The programming controls the Arduino Uno microcontroller. This program was prototyped on the Arduino Uno but with further modifications it could be converted to run on the cheaper, smaller, Arduino nano. There are three main inputs that the program operates on, namely, temperature, humidity, and time.
Temperature and humidity are provided via the DHT 11 temperature and humidity sensor. It is capable of converting the analog signals of temperature and humidity into digital values that the microcontroller can understand and display. The program utilizes these values to determine whether or not to vent the greenhouse. Venting is accomplished via a fan attached to a DC motor. It is important that the fan control program be easily customizable as different flora require different temperatures and different levels of humidity.
Date and time are provided via the RTC module. This module can be set to acquire its starting time from the PC it is connected to or it can be set as part of the first run of the system. Values from the RTC module are utilized for three purposes in the smart greenhouse program. The first output that utilizes time is the relay module. This allows a user to specify a time period for the UV light to be energized. This function again must be customizable not only for different flora but also for different growth stage needs. Watering is also controlled via the date and time. The user enters a time and duration in the program for watering to occur. The servo then opens the valve at the specified time and for the specified duration. The servo programming also allows customization for how open the valve is. A small degree of rotation allows for drip irrigation whereas a large degree of rotation allows for a much greater volume of water. The last function of the RTC module is to display time stamps for data collection.
The smart greenhouse project presented in this paper is a small prototype design and a proof of concept of sustainability-focused learning via course projects that can be implemented in the undergraduate engineering curricula. Of course, with additional details in the design specifications, this prototype can be expanded to a larger project, for instance, for islanded communities with their agricultural needs. A video link to the project with explanation and functionality is provided in [11].

Data Collection
The smart greenhouse currently collects data from various analog components. It collects time and date from the RTC module. It collects temperature and humidity from the DHT 11 temperature and humidity sensor. Component activation is also included in the programming. For example, when the fan is running, a message is displayed stating "Fan is on.". This is true for the water irrigation servo and the relay as well. This data is currently stored and displayed in the serial monitor built into the Arduino IDE. The program is set to send the data every five seconds. Each data communication includes a time stamp, the temperature of the unit, the humidity of the unit, and the status of various components. It can be scaled with an SD card reader module to facilitate long term storage of this data, which currently is not possible due to the serial monitors limited memory. This would also allow the data to be analyzed by utilizing Microsoft Excel in order to increase efficiency and production.

Control
Currently, live control of the program has not been accomplished. In order to change any variables of the programming it requires a change to the main program and then for the program to be reuploaded to the Arduino. Through further code work it would be able to provide control to the smart greenhouse through the serial monitor. This was accomplished partially with our testing program which allows user input to test each component. In an ideal system, it would have data collection and storage on an SD card for long term storage and utilize the serial monitor for immediate user review. This would then build in a set of commands that can be entered into the serial monitor which would allow for real time control of the smart greenhouse.

Learning Experience Evaluation
To evaluate the students' learning experience, at the end of the project in the last week of the semester, the students were asked to provide their responses to a number of questions regarding their overall experience on this project. The questions were designed basically to evaluate the level of learning the students acknowledged in this project work. Finally, the students were asked if they would have any concluding remarks regarding this project. The following discussions in this section have been based on the responses from the students to these questions as well as any concluding remarks provided by the students.

Learning from this project
Students responded positively to the project experience mentioning that the project increased not only their programming knowledge but also their knowledge of microcontrollers and circuits. The students specifically mentioned that the project allowed them to increase their ability to use programming knowledge to control electronic circuits. The students also added that they learned the importance of data collection accuracy in order to provide efficient control of a system. The students also responded that they learned that creating a control system could be challenging and in that they also mentioned about their system currently being controlled via programming changes but not meeting the requirement of a SCADA system providing easy methods of controls. Overall, student feedback on the questions suggests that they received the desired learning on programming knowledge from the project.

Solving any technical issues in this SCADA project
When asked about solving any technical issues around the project study, the students responded constructively in that they often faced unexpected technical issues that they had to devote a significant level of efforts moving towards the solutions. The students acknowledged that technical troubleshooting is a major part of a successful completion of a project and a complete learning of the subject matter. The students mentioned that they had created and used a testing program in order to troubleshoot why they could not get all of their components to operate together. They also reported that they had encountered troubles while trying to initiate control of the smart greenhouse via the serial monitor, adding that while they were not able to solve this issue, they believed they were close to a programming solution that would allow real time serial monitor control. Overall, the students acknowledged that the solutions to technical issues should take into consideration a thorough investigation of the problem associated with all parts of the system.

Identifying the importance of learning subject matter
When asked about an important aspect that the project provided with in their learning of the subject matter (i.e., course), the students responded constructively in that the complexity of the programming aspect of the project reinforced the importance of a logical thought process when designing a product. They also added that, although initially the program seemed straight forward, they faced multiple new challenges as the program requirements grew based on practical needs.

Identifying a real-life, practical, engineering problem
As a part of the evaluation, the students were asked whether they thought the project had given them an opportunity to investigate on a real-life, practical, engineering problem and explore its solutions with programming knowledge. Student responses to this question were positive answers where they mentioned about the practical engineering problem that they were dealing with and exploring solutions to. For instance, the students mentioned that innovation in food production is very much a real-life, practical, engineering problem and in that this smart greenhouse project had allowed them to investigate how people could produce food in a more localized and self-sustainable way. The students also added that the smart greenhouse, while not a final product, showed how food production can begin moving toward automation and increased self-sufficiency and served as a functioning example of how programming could be used to control practical applications in real time. This clearly indicated that the students received the idea of the purpose of the project correctly and were able to apply programming knowledge towards solutions to real-life, practical, engineering problems.

Self-evaluation of the project
The students were also asked to self-evaluate the project study. This means, they were asked whether they thought that the project helped them in learning the subject matter involved and if they were able to meet the learning outcomes of the course. The responses from the students suggested that the project helped them in learning the subject matter thoroughly. They acknowledged that the project helped them greatly in understanding the C++ programming language. They also mentioned that while the smart greenhouse was not identical to their initial vision, it came close to accomplishing everything they set out to accomplish. The students also mentioned that they were not able to facilitate long term storage of data collection or real-time control of the system; however, they mentioned that they believe that they were close and given enough time they believe that they would be able to integrate these two features into the system.

Addressing sustainability
In the final question, the students were asked whether their SCADA project addressed sustainability. The objective of this question was to understand what and how the students thought about the concept of sustainability in their project and whether they were able to define sustainability of any form through their project work. Within the question, the students were also given some ideas on what the concept of sustainability could mean, for instance, managing environment well, reducing the burning of fossil fuel, costeffectiveness (financial sustainability), or any other form of sustainability measures.
The responses from the students clearly suggest that the students were able to understand the concept of sustainability and then define it in the context of their project work. The students also responded with details in that their project idea and the project itself touched on several different areas of sustainability. The most obvious impact was personal sustainability by allowing an individual to supplement their food supply by growing some (or all) of their own foods. This also led to other forms of sustainability. The smart greenhouse can be optimized to use the minimum amount of water necessary to irrigate plants versus the largely wasteful watering that occurs in a farm field. More locally grown foods would also benefit the environment due to reducing the pollution that is produced by transporting crops long distances via various transportation vehicles. Growing own foods also helps a family become more financially sustainable as it is more cost-effective to grow foods than it is to buy.

Project Description
The Smart Greenhouse project was a part of the students' project work for the ET 142 and 342 courses for a group of two students. The students worked on the project and finally demonstrated the project at the end of the semester to the class. The project work was a joint work of a student on a specific topic of their choice approved by the instructor. At the beginning of the semester, students were given a two weeks' time to come up with a project idea that would involve real-life problem solving. In the third week of the course, the students were required to discuss their project ideas with the instructor to make sure that the proposed project idea was doable within the semester's timeframe and that it is not unreasonably ambitious.
For their project, the students were given three options to choose their project type from. The options were: (a) students could either work on a hardware-based project in the field of SCADA and/or computer programming where they actually built the project using hardware components and analyzed the work, (b) students could work on a software-based SCADA or computer programming project where students could build a software-based project using any necessary software, for instance, NI Multisim, MATLAB, Arduino IDE, CodeBlocks, IGSS, or any other software and analyze the software project in detail, or (c) students were also able to do a literature survey-based work where they were required to do a thorough analysis on an emerging topic from the current literature in relation to SCADA and/or computer programming. Ideas of such emerging topics on SCADA and/or computer programing were discussed with the students as needed. We believe that providing the students with these three options on their project types helped them to decide their project based on their expertise, depth of knowledge, and comfortability with the work involved, which we believe helped them all through the process of this project work. In addition, several projects from the past years of teaching were also shared with the class so that the students were able to get some ideas on the nature and expectation of the project work in these courses.

Sustainability Focus
Apart from this, for the sustainability-focused projectbased work, students were also asked to choose such a project idea that addresses sustainability of some form at the end. Since one of our objectives was to introduce sustainability to the class by project-based work, encouraging the students to choose the project with a focus on sustainability really helped the students to understand sustainability in different forms and see that through their project work. In order to help the students in this regard, the concept of sustainability was discussed among them so that they could try to address sustainability through their project work in these courses.

Project Deliverables
For these two courses, the project deliverables have been discussed below based on the type of the project. For hardware-based and software-based projects, a project report of a minimum of 2 pages in length, single-spaced, 1 inch margin in all sides, in doc format would be required. The project report would provide the title of the project, functional description, circuit diagram (if any), the names of the parts that the students used (if any), the name of the software package that the students used (if any), and a link to the project video in both MP4 format and as a sharable link, e.g. YouTube. The project report is a group submission meaning that each group of students would submit only one report for their project.
For software-based projects, the students were required to submit the source codes of the software as well in addition to the project report described above. Students were recommended to include their software codes as an appendix to their project reports. Including the source codes would be useful for future students if they would like to know more about these projects. Finally, for softwarebased projects, students were encouraged to record a video where they would explain their project work by capturing their computer screen to explain their projects in a timeframe of a maximum of 5 minutes in duration.
For investigative report-based projects, the students were required to submit a minimum of 30 well-prepared PowerPoint slides describing your project investigations, which should include the title of your investigative project and all findings from their literature survey. They are encouraged to design their slides as if they were presenting the project in the class. The PowerPoint slides should contain detailed information on the project, e.g., texts, figures, tables, and any other form of information from the investigated references with appropriate citations in the slides where they are used as well as a conclusion section and a list of references section. A typical length of the slides that was suggested for the students in this project purpose was 25 well-prepared slides on the subject matter while noting the fact that well-prepared slides are useful in learning a new topic, which would be helpful to other students who would be learning from their projects through these PowerPoint slides. For investigative report-based projects, the students were required to submit the PowerPoint slides only and no project report document was necessary.

Project Evaluation
Project work was evaluated on organization, details, rigorousness and depth of work done and assigned a weight in the final grades of these courses. In addition, the students were asked a set of questions, discussed in Section 3 earlier, in relation to their project work. One of the objectives of these questions was to identify how their projects addressed sustainability in relation to the work done.

Case Study: Smart Greenhouse Project
This Smart Greenhouse project was a part of the student's course requirement for the Introduction to Programming (ET 142) and Supervisory Control and Data Acquisition (ET 342) courses taught at the University of Wisconsin-Green Bay, USA. For these two courses, all students were required to complete a project part, as described in an earlier section, that involved computer programming and SCADA hardware and/or software approach respectively to solve a real-life problem. This smart greenhouse project idea came out of the students' curiosity on the subject matter and was not assigned to the students by the instructor. This made sure that the students did a reasonable amount of homework before proposing an idea for their projects, which let them understand that real-life engineering problems can be solved with computer programming and SCADA techniques.

Observations from teaching courses
As first-time learners of computer programming and SCADA hardware and/or software, some students found the projects challenging; however, it was also found that, as the project moved forward, with teamwork and sufficient study and homework, the students gradually progressed towards successful implementation of the project work. Weekly discussions were held with the students to evaluate the progress of the project as well as any issues where instructor's help was needed. Students were asked to keep notes of the work done in a current week and any work that was going to be done in the next week. The instructor met all student groups weekly in order to get updates on the progress of their projects and if there was any question that the instructor could answer or any help needed. Project progress was tracked towards a successful completion as the semester gradually came to an end. It was found that the weekly progress meetings were useful for the students to keep in touch with the instructor to discuss about the project works effectively.
Overall, it was found that a project work, although proposed as a part of a particular course, does not necessarily relate to that course materials only. Eventually, the students studied some topics that were beyond the course syllabus and self-educated them for the sake of the project success. This made the students to investigate on topics and subject matters within and beyond the typical subject area of computer programming and SCADA and guided them to successful completion of the project. It was found that the investigative nature of the project paved a way to solidify their understanding of the required engineering subjects in relation to their project, which would definitely contribute to their future educational career.

Conclusion
In this paper, a smart greenhouse project has been presented with implementation details as an example of sustainability-focused, project-based, learning experience for STEM undergraduates. We believe that the design of the smart greenhouse presented here would be useful in generating interests among students with further improvements possible in different parts of the design, especially in the directions of data collection and control strategies. As the smart greenhouse project presented in this paper is a small prototype and a simple proof of concept, a simplified design was preferred with 3 input parameters only, namely, temperature, humidity, and time, while noting that additional parameters, for instance, soil temperature, rainfall, solar radiation, availability of water for irrigation, water level indicator of the reservoir, would definitely be considered as a future work of this project. Another possible future work would focus on optimization of the control techniques for the smart greenhouse project as well as its scalability. Although the project was completed in the engineering school at the University of Wisconsin-Green Bay, Wisconsin, USA, the same style of sustainability-focused, project-based, education can be offered at any other university and other programs different from engineering. As a computer programming course is a fundamental course for several disciplines within the STEM fields, this type of project-based approach could be considered as a means to experience sustainability-focused concepts for the new generations of undergraduates. The fundamentals on the subject matter of SCADA can be learned at the junior or senior year at an engineering undergraduate curriculum. Sustainability concepts in education, yet a significant challenge to incorporate in the current STEM curricula, are getting a momentum into education fields lately. The evaluation of learning experience as well as the perspectives on instructional experience should be useful to evaluate such a STEM course with an integrated sustainability-focused, projectbased, component, although content type might sometimes be a factor and require a case-by-case evaluation. However, it is strongly believed that such a project-based approach to sustainability focus on STEM curriculum would be useful in the long-term success in making the current students better citizens aware of sustainable resource management and development and thus meeting the United Nations sustainable development goals.