Josh used an Arduino along with an LCD screen and ultrasonic sensor to create a device that measures distance. The distance from the sensor to the object in front of it is measured and displayed on the LCD screen. Josh learned how to wire the LCD display and program it to show whatever he wanted. He also learned how to use the inputs received by the ultrasonic sensor to measure the distance in centimeters. The Arduino IDE was used to program the device but in order to program the LCD display the LiquidCrystal library was downloaded.
Josh worked alongside Taylor to use an Arduino to be able to control a RC car remotely. To do this they both had to learn how to solder. They connected the motors to the motor shield attached to the Arduino. The soldering was important because there was no room left on the Arduino so the bluetooth module had to be soldered onto the underside of it. Before we did that we practice out soldering by attaching different electrical components on a circuit board. They learned how to use MIT App Inventor to make an app that could connect to the bluetooth module and send commands.
Josh worked with Taylor to make a 2D Platform using the Unity game engine. They followed a youtube tutorial to learn how to create the game. We learned how to use tilesets from the asset store to build our world block by block. We had to download Visual Studio to code the movements of the character and the camera. Unity. We made the running, jumping, and falling animations. We had to set when they would be activated using the Animator. The character is controlled with the AWD keys, it can run and jump on platforms to collect cherries.
Josh used the Arduino to create a security alarm for a door that could be controlled remotely. Josh used his knowledge of MIT App inventor, the bluetooth module, and ultrasonic sensor from passed learning modules. He coded a program that would trigger the red LED and the alarm when the ultrasonic sensor sensed the door opening in front of it. The next part was creating the app to control the alarm, sending commands through the bluetooth module. Josh made the app send different char characters after pressing buttons which arm, disarm, and reset the alarm.
Josh worked with Sophie to make a choose-your-own adventure Alexa skill and a Raspberry Pi BrachioGraph. They wrote out a story and used the website, VoiceApps, to make the skill. The user made choices and based off certain key phrases the Alexa would respond with the outcomes of their decision in the story. They uploaded the skill to the Amazon Developer Console and had a working game. Next, they moved onto building the BrachioGraph. A BrachioGraph is a little arm with joints that are controlled by servo motors that is able to hold a pen and draw a picture. They hooked up the servo motors to the Raspberry Pi and controlled the arm through python commands. The python commands were input through a python virtual environment on the Raspberry Pi's terminal. The Brachiograph could draw a few shaky images.
Josh worked with Sophie to make a Candy Sorter Machine using the Arduino. The Candy Sorter is made out of cardboard parts we had to cut out. The machine used servos and an RGB sensor to separate skittles and scan them for their color, one-by-one. The plan was for the skittles to slide down a movable ramp that would turn so the skittle would slide down into the correct cup. They made a range of values for each color of skittle. If the scanner scanned something that fell within the values then the slide would turn so the skittle would fall into the appropriate cup. The RGB values that the sensor showed for the skittles were completely off, at times red skittles would show up as yellow ones. The movements for all the parts of the machine worked well, the only problem was with our RGB sensor.
Josh used all the knowledge from prior Arduino learning modules to make a working timer with the Arduino Uno board. The Arduino timer uses a LCD screen to display the number being inputted and displays the numbers as the timer is counting down. It also uses an IR module with a remote that would let you input your time, clear the numbers, and start the timer. Each button had its unique hexadecimal number after it was pressed so a switch-statement was made in the code where it looked for that number to carry out an action. The enter button in the middle enters a for-loop so the numbers start counting down until zero. The command delay(1000) is used since 1000 milliseconds is 1 second so the timer will go down every second. After the timer hits zero the active buzzer is triggered and a high-pitched alarm noise blares to signify time is up! For a brief moment the screen flashes "Good Morning!" and the timer restarts by itself so you can use the timer however many times you want. This learning module was successful and worked as intended.