STEM IoT Invention with Arduino

I have just finished a unit for a year 8 STEM class. This is based on the resources available at Apps for good. Students team up to set up their own startup company and work together to design an IoT project that solves a problem. They back up their ideas with market research consult potential users. After this they create an IoT prototype and pitch their design to potential investors.

It is mapped against both Digital and Design Technologies ACARA standards.

Please find the pdf or OneNote or on this page: https://www.throughtheclassroomdoor.com/dt-resources/

Enjoy!

IoT Invention with BBC Microbit

I have just finished a unit for a year 7 STEM class. This is based on the resources available at do your bit, a challenge for children and teens to combine creativity and technology in solutions for the Global Goals. The coding is Microsoft MakeCode. It is mapped against both Digital and Design Technologies ACARA standards.

Please find the pdf or OneNote or on this page: https://www.throughtheclassroomdoor.com/dt-resources/

Enjoy!

VexIQ Sumobot Adventures

I have only just started playing with the VEXIQ system and have discovered some interesting issues. I have previously had to account for the clock cycle of the ‘brain’ and how block code is compiled when using LEGO and Makecode. I have found that these embedded systems don’t care much for nested conditions and don’t like events, in particular.

With VEXcode IQ Blocks, I coded a routine for a SumoBot to reverse and spin at a white line and spin slowly until it detects an opponent; and then charge. With embedded systems, a Loop forever, if..else if nesting is required:

Forever
If sense colour that is greater than 15 (white), then:
Stop driving
Reverse 5cm
Spin around 180 degrees
Else it is black, so
If ultrasonic sensor detects object (distance < 20) then:
drive forward at opponent
Else spin around slowly until detected

MakeCode

forever(function () {

if (sensors.color3.light(LightIntensityMode.Reflected) > 50) {

motors.stopAll()

motors.largeBC.steer(0, –50, 2, MoveUnit.Rotations)

motors.largeBC.tank(-100, 100)

} else {

if (sensors.ultrasonic4.distance() < 20) {

motors.largeBC.steer(0, 100)

} else {

motors.largeBC.tank(-25, 25)

pauseUntil(() => sensors.ultrasonic4.distance() < 20)

}

}

})

VEXcode IQ Blocks

The issue that I had, when I tested out my code, was that there was a delay between detecting the opponent and charging forward; and so it would hit it at an angle or miss completely. I have found this in the past, with the way the code is compiled and run on the bot and issues with nested if statements. I figured the problem was the ‘wait until’, which should have been fine, or it would have been on an Arduino, anyway. Therefore, I modified the code to include a ‘while’ not statement.

This seems to have made the system much happier, as the results below show.

 

First Lego League ACARA Unit

I’m getting a head start with the new season of First Lego League by incorporating the Game challenge into Digital Technologies and STEM for year 8. This has resources for the 2019 challenge, but can very easily be updated for 2020 and beyond. I have tried to make it about designing algorithms with pseudocode, as much as possible, so that any coding IDE can be used. At the moment, it uses MakeCode and I plan on updating it to the new scratch-like EV3 Classroom when it is available.

Please access the OneNote file or the PDF.

Enjoy!

VEX IQ Challenge Unit

I have just finished writing a Unit of Work targeted at the Vex IQ Challenge. This is using the ACARA standards, but could easily be mapped to others. It also incorporates some Agile Project Management skills.

The PDF version is embedded below, but the onenote version can be accessed via the DigTech link above.

VexIQ