Week 12: Physical computing. Content integration and multidisicplinarity.¶
Assignments¶
- Use a development board (arduino, microbit …) to sense something in your class (noise / light / movement) and produce some kind of response (audio, light, movement)
- Reflection questions
Physical computing project: rain sensor using an Arduino MICRO and servo¶
For this assignment, I used an Arduino Micro and a rain sensor to control a servo motor, simulating a windscreen wiper that changes speed depending on rain intensity.
Below is the circuit diagram of the system, created in Fritzing (electronics design and prototyping software).

The microcontroller continuously reads the rain sensor’s analog value, maps it to a 0–255 scale (inverted so higher values mean more rain), and prints the result to the Serial Monitor/Plotter. It then compares the rain level to two thresholds:
- No rain (below the low threshold): the servo stays at 0°
- Light/moderate rain (between thresholds): the servo moves back and forth like a wiper
- Heavy rain (above the high threshold): the servo moves back and forth more frequently
This process runs continuously, so the servo responds in real time as the sensor reading changes.
The following flowchart summarizes the program logic.

Next is a photo of the wired circuit using the actual components.

This is the code used for this project.
// rain_sensor
#include <Servo.h>
#define rainSensorPin A0 // Sensor on A0
const int servoPin = 10; // Servo on D10
Servo myServo;
const int thresholdLow = 40; // threshold on the 0–255 scale
const int thresholdHigh = 130; // threshold on the 0–255 scale
void setup() {
Serial.begin(9600);
myServo.attach(servoPin);
myServo.write(0); // initial position
}
void loop() {
int sensorValue = analogRead(rainSensorPin); // 0–1023
int outputValue = map(sensorValue, 0, 1023, 255, 0); // 0–255 (inverted)
Serial.println(outputValue); // Serial Plotter
if (outputValue > thresholdLow && outputValue < thresholdHigh) {
myServo.write(120); // light rain: move servo to 120°
delay(500);
myServo.write(0); // return servo to 0°
delay(500);
}
else if (outputValue > thresholdHigh) {
myServo.write(120); // heavy rain: faster movement
delay(200);
myServo.write(0); // return servo to 0°
delay(200);
}
else {
myServo.write(0); // no rain: keep servo at 0°
}
delay(500);
}
Finally, the video demonstrates the system in action, using a wet sponge to trigger the different rain thresholds.
Reflection¶
- Did you bring several disciplines together in your own teaching? Do you collaborate with teachers in other disciplines? What are the opportunities and challenges.
By teaching Design & Technology and working in a makerspace, I naturally bring different disciplines together because projects often combine creativity, design, engineering, and digital tools. In secondary schools, the makerspace frequently supports whole-school events, which creates regular opportunities to collaborate with other departments.
For example, I’ve supported cross-curricular work like building sets and props for Drama, contributing to STEAM Week, helping Art students with prototypes/installs, and supporting STEAM challenges and national competitions.
I believe the opportunities include authentic, real-world projects, higher student engagement, shared resources and expertise, and developing transferable skills (problem-solving, teamwork, communication).
There can be challenges such as timetabling and coordination, aligning learning objectives and assessment across subjects, and managing workload, safety, and budget.
- How do you envision a makerspace in your school? How does it look like? If you have one already, how would you modify it.
I’ve had the opportunity to work in secondary schools with well-equipped workshops, and in my opinion the ideal makerspace depends heavily on the curriculum and which disciplines will use the space. Overall, a school makerspace or STEAM lab should feel open, inspiring, inclusive, welcoming, and empowering.
Makerspaces can take different approaches, from a strong digital fabrication focus to more traditional manufacturing processes. If traditional making is still prominent in the curriculum and you want students to explore a wide range of materials and processes, the space should include dedicated areas for timber, metals, plastics, etc. In settings like these, I have used timber equipment such as scroll saws, pillar drills, a band saw, belt sander, hand power tools, a CNC router, and a wood turning lathe. The metalworking area included a power hacksaw, milling machine, metal lathe, and a brazing/hearth area for hot work. For foams I used a hot wire cutter, and for plastics I used an oven, line bending machine, vacuum forming, and an injection moulding machine.
To support digital fabrication, I would include several 3D printers, a laser cutter, a 3D scanner, a vinyl cutter, and CNC equipment, ideally with clear safety boundaries and a controlled workflow. I would also include a CAD/graphics and computing area with 2D and 3D design software, coding tools, and electronics circuit design software. An electronics and robotics area should provide a range of components (sensors, actuators), protoboards, microcontrollers, and tools, and, if relevant, educational kits such as FIRST LEGO League or VEX Robotics.
In terms of layout, I would divide the space into zones based on safety and learning needs, considering clean versus dirty areas, noisy versus quiet activities, how many classes might run at the same time, and the need for storage and preparation space. A collaboration area, a project display area would help make learning visible. A certain level of flexibility and modularity is important too so movable tables, mobile tool carts, trilleys with a selection of materials make it easier to adapt the space for different projects and group sizes.
Finally, to keep the space and equipment running smoothly, I believe the makerspace should include a technician who can prepare materials and resources, assist during lessons, maintain equipment, manage safety, and handle stock control and ordering.
- After the definiton of computational thinking? Are you somehow using computational thinking in your teaching? How? Do you think you can take advantage of computational thinking? How?
Tools¶
- Fritzing
- Arduino IDE

