Designing

This is a description of my thought process along the way, and the project coming together.

Rubric

The CSCOE Big Bang science fair had this printed for all of the competitors, as a rubric and a guide. Unfortunately, there is no record of the original packet for 2023, I don't know why because there was a fair, but the only difference is the dates and the location. 

Screenshot_2025-11-27_09-44-54.png

Screenshot_2025-11-27_09-45-08.png

Screenshot_2025-11-27_09-45-19.png

Screenshot_2025-11-27_09-45-28.png

Screenshot_2025-11-27_09-45-37.png

Screenshot_2025-11-27_09-45-55.png

 

Screenshot_2025-11-27_09-46-03.png

Screenshot_2025-11-27_09-45-47.png

 

Brainstorming

My original idea was to make a rover that would be sent to unknown areas and take temperature and humidity readings, plus has a carbon monoxide detector. My pi would be connected to a screen that displays the information received. The idea was to use the Elegoo v4.0 smart robot kit as sort of a base for the following additions. 

Actually, I was at first thinking of making a bird encyclopedia website but that never worked out.

The original component list: 

Engineering Design Process

Engineering Design Process

  1. Define the problem
  2. Do background research
  3. Specify requirements
  4. Brainstorm, Evaluate, and choose solution
  5. Develop and prototype solution
  6. Solution either partly or fully meets requirements (testing)
  7. Communicate results

Untitled_design_3_600x600.webp

Defining the Problem/challenge

Building a rover that takes temperature and humidity readings, can avoid obstacles, detects carbon monoxide, and more. It can be used by firefighters, scientists, anybody who wants to be sure an area is safe.

Do Background Research

Robot can be used to fight fires or just explore a cavern, like a mini mars rover. Mars rovers do almost the same thing as my rover: temperature readings, rock and soil samples, and pictures. With more developments, it could become a rover, checking if somewhere is suitable for human life. In this way, it is a lot like a Mars rover.

Rover picture:                                                                   Base rover project:

mars-rover-sulfur-hero-940x529.jpgScreenshot_2025-11-21_16-51-03.png

Specify Requirements

Carbon monoxide detector temperature and humidity sensor, mounted with the Arduino and breadboard, and jumper wires on top of the robots. The LCD will display the temperature and humidity readings. The Arduino will control and power the sensors. Another rechargeable battery powers the screen.

Brainstorm, Evaluate, and Choose Solution

Using the Elegoo robot as a base, adding cool sensors and a screen to the top to complete the requirements.

#include <DHTStable.h>

#define DHT11_PIN 7
DHTStable dht;

void setup() {
  Serial.begin(9600);
}

void loop() {
  int chk = dht.read11(DHT11_PIN);

  Serial.print("Status: ");
  Serial.println(chk);

  Serial.print("Temp: ");
  Serial.println(dht.getTemperature());

  Serial.print("Humidity: ");
  Serial.println(dht.getHumidity());

  delay(1000);
}

This is the code for the dht sensor, also a test code.

Develop and Prototype Solution

Add a photoresistor module to detect light, program it to light an LED if there is light and red LED if no light. Another Battery, no Pi, only Arduino.

 

Materials and Procedures

There were many variations of each, I will start with oldest to newest.

The Original Materials List

The Original Procedure

 As you can see, these are a bit patchy.

Materials (Updated version)

Procedure (Updated Version)

Still quite patchy but it worked for a bit.

Materials (take 3)

Procedure (take 3)

The Code

There were a lot of draft codes, like a lot, which is why these are the finalized code. Who wants to see broken code?

int buzzer = 9;
int co_sensor = 8;
int co_detected;
int msr = 0;
int sensor = A0;
int LED = 4;


#include <LiquidCrystal.h>
LiquidCrystal lcd (12, 11, 5, 4, 3, 2);

#include <dht.h>
dht DHT;
#define DHT11_PIN 7

void setup() {
  int ts = DHT.readTemperature
  int hs = DHT.readHumidity
  lcd.begin(16,2);
  Serial.begin(9600);
  pinMode(4, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(co_sensor, INPUT);
}

void loop() {
  int chk = DHT.read11(DHT11_PIN);
  lcd.setCursor(0,0);
  lcd.print("Temp-");
  lcd.print(ts);
  lcd.print("c");
  lcd.setCursor(0,1);
  lcd.print("Humidity-");
  lcd.print(hs);
  lcd.print("%");
  Serial.print
  co_detected = digitalRead(co_sensor);
  if(co_detected == LOW) {
    Serial.println("co detected... run for your life!");
    digitalWrite(buzzer, HIGH);
  }
  else {
    Serial.println("no co detected... go eat some pizza");
    digitalWrite(buzzer, LOW);
  }
  msr = analogRead(sensor);
  Serial.println(msr);
  if (msr > 100) {
    Serial.println("soft light");
    digitalWrite(4, LOW);
  }
  else {
    Serial.println("hard light");
    digitalWrite(4, HIGH);
  }
  delay(1000);
}

The Finalized code

Screenshot_2025-11-27_08-14-22.png

Screenshot_2025-11-27_08-14-43.png

Wiring

Here is the wiring diagram that I used on the board for the presentation.

image7.jpeg

Then, here is a better wiring diagram made with Tinkercad. There was a slight problem though, because Tinkercad doesn't have some of the components that I used, like the DHT11 temperature and humidity sensor, so I could only show what the LCD wiring looked like. As for the remaining sensors, I used digital pin 7 for the DHT11 sensor and  pins ~9 and 8 for the CO module and buzzer.

Screenshot_2025-11-27_09-09-13.png