DIGITAL INNOVATION
  • Pathway
    • Week 1 - Define your project
    • Week 2 - Construct your timeline
    • Week 3 - Relevant Implications
    • Github Setup
    • Award Information
  • Develop a Design
    • Design Overview
    • Year 12 >
      • Conventions and Design - Yr12
      • AS91891 - Design Assessment
    • Year 13 >
      • User Experience Methodologies - Yr13
      • AS91891 - Design Assessment
  • Develop an Outcome
    • Outcome Development
    • Year 12 >
      • Advanced Processes
      • AS91897 - Develop an Advanced Outcome
    • Year 13 >
      • Complex Techniques
      • AS91907 - Develop an Outcome using complex tools
  • Media Outcome
    • Create a Digital Media Outcome
    • Year 12 >
      • Advanced Techniques
      • AS91893 - Media Outcome Advanced Techniques
    • Year 13 >
      • Complex Techniques
      • AS91903 Media Outcome - Complex Techniques
  • Programming
    • Basics
    • Year 12 >
      • Advanced Programming Techniques
      • AS91896 - Advanced Programming
    • Year 13 >
      • Complex Programming Techniques
      • AS91906 - Complex Programming
  • Electronics
    • Basics
    • Year 12 >
      • Advanced Techniques
      • AS91894 - Advanced Electronics
    • Year 13 >
      • Complex Techniques
  • Externals
    • 12 Summary >
      • Exam Prep
    • 13 Reflective Summary >
      • Exam Prep
    • 12 Optional - Computer Science
    • 13 Optional - Computer Science
  • Freyberg Digital

Complex Techniques

In order to pass AS91904 you will need to use at least 2 of the following complex  techniques:
● implementing communication protocols e.g. i2C, serial communications   
● wireless transfer of information
● feedback control
● implementing software flags and interrupts
● CAD design, 3D printing, CNC, PCB making
​● filtering, noise and EMI suppression. 

​This section will help you decipher what these terms mean and hopefully give you some practical examples of where this could be used.


Implementing communication protocols e.g. i2C, serial communications 

Communication protocols are rules for devices to talk to each other. I2C is a protocol where a main device (like a microcontroller) communicates with other devices (like sensors) using two wires: one for data and one for timing. Serial communication sends data one bit at a time over a wire, often used with computers or displays.

Examples:

Serial Communication Example: Send a message (e.g., "Hello") from an Arduino to a computer’s Serial Monitor via USB.
  • Components: Arduino Uno, USB cable.
  • Code: Use Serial.begin(9600) and Serial.println("Hello") in the Arduino IDE.

LED Display: Display a message on a LED screen.
  • Components: Arduino Uno, USB cable, LED Display.
  • Code: Use Serial.begin(9600) and Serial.println("Hello") in the Arduino IDE. ​​​
Picture
Picture

Wireless transfer of information

Sending data between devices without wires, using technologies like Wi-Fi, Bluetooth, or radio signals.

​Examples:
Turn on the lights: use a IR remote to change LED lights.
  • Components: Arduino Uno, IR Remote, IR Sensor, LED's
  • Code: Use If statements to program different IR signals to turn different lights on. 
​
RFID ID CARD
Program an RFID Card Reader:
A RFID reader that can read and write cards
  • Components: Arduino Uno, RFID Reader/Writer, LED's
  • Code: Use If statements to program different RFID's to turn on different lights.

​
Picture
Picture

​Feedback control

What It Means: A system that adjusts itself based on sensor data to maintain a desired state. For example, a thermostat turns a heater on/off to keep a room at a set temperature.

Examples: 
Light Sensor: A project that measures light and turns on an LED if light levels are too low. It might adjust its light depending on lighting
  • Components: Arduino Uno, Light Sensor
  • Code: Use code to pick up data from the light sensor then adjust LED's in response

Thermometer: Thermometer project that can read and display temperature
  • Components: Arduino Uno, Temperature reader, LED display (optional)
  • Code: Program an Arduino to read in temperature and then display the information in either serial or led display.


​
Picture
Picture

​ Implementing software flags and interrupts

What It Means:
  • Software Flags: Variables in code that act like signals to track conditions (e.g., a variable that says whether a button was pressed).
  • Interrupts: Special code that runs immediately when an event happens (e.g., a button press), pausing the main program briefly.
Note: The complex techniques need both a software flag and interrupt to pass this technique.
​Examples:
Flags Example: Create a program where pressing a button toggles an LED on/off. Use a flag (e.g., bool ledOn = false) to track the LED’s state.
  • Components: Arduino Uno, push button, LED, resistor, breadboard.
  • Code: In the main loop, check the button state and toggle the ledOn flag to control the LED.
Interrupts Example: Use an interrupt to count button presses. Each time a button is pressed, an interrupt increments a counter, and the count is displayed on the Serial Monitor.
  • Components: Arduino Uno, push button, breadboard.
  • Code: Use attachInterrupt() to call a function when the button pin changes state.
Picture

​CAD design, 3D printing, CNC, PCB making

What It Means:
  • CAD Design: Using software to design 3D models or circuits (e.g., Fusion 360 for 3D parts or KiCAD for circuits).
  • 3D Printing: Creating physical objects from CAD designs using a 3D printer.
  • CNC: Using a computer-controlled machine to cut or shape materials (e.g., wood or metal).
  • PCB Making: Designing and creating custom circuit boards to hold components.
Examples:
  • CAD + 3D Printing: Design a simple enclosure for an Arduino project (e.g., a box for a sensor) in Tinkercad and 3D print it.
    • Tools: Tinkercad (free CAD software), access to a 3D printer.
    • Output: A printed enclosure that fits the Arduino and sensor.
  • PCB Making: Design a simple PCB in KiCAD for an LED circuit (e.g., LED with resistor connected to a power source) and have it manufactured or etch it at home.
    • Tools: KiCAD (free), PCB manufacturer (e.g., JLCPCB) or home etching kit.
    • Output: A PCB that powers an LED when connected to a battery.
  • CNC Example: Use a CNC machine to cut a simple project base (e.g., a wooden plate with holes for mounting an Arduino).
    • Tools: Access to a CNC machine, simple CAD software.
    • Output: A cut piece that holds project components.

Picture
Picture

Filtering, noise and EMI suppression

What It Means:
Filtering: Using components or software to remove unwanted signals (e.g., smoothing sensor data).

Noise: Random electrical signals that interfere with a circuit’s operation.

EMI (Electromagnetic Interference) Suppression: Reducing interference from electromagnetic fields (e.g., from motors or radios).

Examples:

Ultrasonic sensors can give bad readings due to:
  • Echoes/Reflections: Multiple reflections in a confined space (e.g., walls or objects) can cause incorrect distance measurements.
  • Outliers: Occasional invalid readings (e.g., 0 cm or unrealistically large values) due to signal loss or interference.
  • Environmental Noise: External factors like temperature, humidity, or other ultrasonic sources can affect accuracy.
Software filtering can address these by:
  • Averaging: Taking multiple readings and calculating their average to smooth out fluctuations.
  • Outlier Removal: Discarding readings that are outside an expected range (e.g., negative distances or values > 400 cm for HC-SR04).
  • Median Filtering: Using the median of several readings to reduce the impact of outliers.
​If you wanted to add hardware filtering for completeness:
  • Add a small capacitor (e.g., 100nF) across the ECHO pin to GND to reduce electrical noise, though this is less common for ultrasonic sensors.

Picture
Picture
Powered by Create your own unique website with customizable templates.
  • Pathway
    • Week 1 - Define your project
    • Week 2 - Construct your timeline
    • Week 3 - Relevant Implications
    • Github Setup
    • Award Information
  • Develop a Design
    • Design Overview
    • Year 12 >
      • Conventions and Design - Yr12
      • AS91891 - Design Assessment
    • Year 13 >
      • User Experience Methodologies - Yr13
      • AS91891 - Design Assessment
  • Develop an Outcome
    • Outcome Development
    • Year 12 >
      • Advanced Processes
      • AS91897 - Develop an Advanced Outcome
    • Year 13 >
      • Complex Techniques
      • AS91907 - Develop an Outcome using complex tools
  • Media Outcome
    • Create a Digital Media Outcome
    • Year 12 >
      • Advanced Techniques
      • AS91893 - Media Outcome Advanced Techniques
    • Year 13 >
      • Complex Techniques
      • AS91903 Media Outcome - Complex Techniques
  • Programming
    • Basics
    • Year 12 >
      • Advanced Programming Techniques
      • AS91896 - Advanced Programming
    • Year 13 >
      • Complex Programming Techniques
      • AS91906 - Complex Programming
  • Electronics
    • Basics
    • Year 12 >
      • Advanced Techniques
      • AS91894 - Advanced Electronics
    • Year 13 >
      • Complex Techniques
  • Externals
    • 12 Summary >
      • Exam Prep
    • 13 Reflective Summary >
      • Exam Prep
    • 12 Optional - Computer Science
    • 13 Optional - Computer Science
  • Freyberg Digital