Donovan McHenry and An learned how to use Arduinos with basic tutorials and examples. Prior to this learning module, they had little experience with the Arduino.
They used the Arduino kits in class and followed examples from the Arduino Cloud. They started with the examples 'Blink' and 'Button' before moving on to using other pieces with the Arduino.
Donovan experimented with a sensor while An played with the LEDs. She followed a post created by another user on the Arduino cloud to make a traffic light simulator.
Traffic Light Simulator Project by Zachary Haslam
By the end, they both learned more about Arduinos and other electronic parts.
Emma Werbin and An learned how to use microbits and maqueens using the online MakeCode editor website. First they played around with the MakeCode editor with the microbits and looked up a few online tutorials.
Links
Microbit website (where they found tutorials and different examples to use with Microbits)
micro:Maqueen - Assembly & Play
After getting used to the microbits and the MakeCode editor, they moved on to using the microbit with the maqueen. They were able to move the maqueen but when it came across obstacles, the maqueen did not adjust its direction as planned. After changing the code a bit and testing different parts of the code, they realized that the sensor on the maqueen had a slow reaction time which made it unable to turn away from obstacles. They change the maqueen's speed to be slower and the maqueen was able to avoid obstacles more consistently.
Returning to the microbits again, Emma thought of using one microbit to control the maqueen. Their first idea was to use the microbit as a die that would randomly choose how the maqueen would move. Their second idea was to remotely control the maqueen similar to a steering wheel. And to make it more fun, Emma and An decided to add sounds to the maqueens that would play each time it turned. They were able to successfully remotely steer the maqueen with the microbit and it was fun to see what the sounds provided by the MakeCode editor sounded like.
One other recurring issue that they had was that one of the microbits was stuck in maintenance mode. Maintenance mode is activated in microbits when the reset button is pressed while being plugged into the computer. To get out, the user would only need to unplug and plug the microbit in again without holding the reset button. But in An's case, her microbit wouldn't get out of maintenance mode and none of the online help forums were helpful to figure out this problem. The best solution that they could come up with was to change the microbit sets.
Nathan Bach and An learned how to solder and successfully soldered a board with blinking LEDs and sound. On the first day, they started by watching tutorial videos to learn how to solder. These were the videos they watched:
Soldering Tutorial for Beginners-5 Easy Steps
For the following four days, they took turns soldering each part on and constantly referred to the instruction manual that came with the soldering kit for help. There were no notable issues during the whole process except for when they needed to desolder a part of the board once. They found that the soldering iron could also be used to melt the rosin even after it has already dried to add a wire they had left out. Overall, they found that soldering was simple and fun to do.
Kevin Bond and An worked together to learn the Unity software and attempted to make 2D games of their own. Neither of them had any experience with Unity prior to this learning module.
They started by watching tutorial videos on YouTube, most from the channel Muddy Wolf. This channel covered a variety of tutorials with Unity, including more advanced topics for different types of games. For their first project, An and Kevin decided to make a 2D platformer. These were the videos they watched:
Setting Up - 2D Platformer in Unity #1
Player Movement - 2D Platformer in Unity #2
Player Jumping - 2D Platformer in Unity #3
2D CHARACTER MOVEMENT IN UNITY | RigidBody2D Movement And Jumping In Unity | Unity Tutorial
With learning to use a new unfamiliar game engine software, they experienced a lot of issues and problems. The most time-consuming problem they experienced was their search for Unity's built-in IDE. The problem was that there was no built-in IDE in Unity. When following a tutorial, the video never mentioned using Visual Studios or something outside of Unity which confused An and Kevin. After two days of searching, they finally realized that Visual Studios was the IDE used with Unity. Other problems they experienced were less time-consuming, consisting of mostly compile time errors in the code, or a wrong setting selection.
An and Kevin each developed a game of their own with what they learned. By the end, both of them knew more about Unity but there was still a lot of features that they had not been able to explore which they look forward to doing in future projects.
Emma Werbin and An worked together again to work on a dancing Santa toy. Their goals were to learn how this particular dancing Santa toy worked, and how they could modify it. To modify the Santa toy, they thought of adding a sensor to activate the Santa and replace the button using the Arduino and the ultrasonic sensor.
They began by taking Santa apart. They found the circuit board that connected all of the wires together in the body. The motor next to the circuit board was how the whole toy moved except for Santa's right arm which was connected to a separate circuit board. The button that turned on Santa was connected with two wires. When they cut the wires from the button, they found that Santa would start dancing when the wires touched. And when the wires touched again, Santa would stop.
After Emma and An explored how the toy functioned, they started on adding the ultrasonic sensor. They both had some experience with the Arduino and the Arduino IDE, but needed to do more research to learn how to use the ultrasonic sensor. They looked up tutorials with ultrasonic sensors along with similar Arduino projects that used the sensor.
Human Detection Robotics System Using Arduino Uno
EASY! Ultrasonic Sensor with Arduino
Ultrasonic Sensor HC-SR04 with Arduino Tutorial - Arduino Project Hub
They had a lot of problems with this project. The main problem which ended up being the root of all of their other problems was finding how to connect Santa to the Arduino. With Santa's wires, it was difficult for Emma and An to figure out why the toy wouldn't connect and how to connect it. They tried researching how switches and buttons worked in an attempt to solve the problem but the solution ultimately came in the form of an accident. They already had one of the wires in the right spot and accidentally moved and connected the other into the power rails. From there, they were able to solve their remaining problems which were all related to the ultrasonic sensor.
The ultrasonic sensor had two main problems: it was not detecting any motion and it was too sensitive. They solved the detection problem by reducing the distance of detection because the sensor was seeing numbers that were either too large or too small. And they solved the problem of the too-sensitive sensor by setting a timer on the sensor. This way, once the sensor detected motion, Santa would start dancing for a short period of time without being interrupted.
While working on their project, Emma and An had to subject their entire class to hearing Santa's song over and over again, sometimes nonstop when Santa's sensor was too sensitive and kept restarting the song. For the sanity of their fellow classmates and teacher, they added a switch by connecting it to one of the wires that connected to Santa's batteries.
By the end of the project, both Emma and An felt really satisfied and proud of their work. It was an incredibly fun experience.
The true goal of this project was to jump-scare others. Unfortunately, by the time they finished this project, everyone had become immune to Santa's sudden singing because they had all heard it every single day.
All except for An (weird)
Chris Mackay and An worked together to explore and work with a roomba for their next learning module. Their roomba was an old donated bobSweep roomba with a dead battery and possibly some other problems that didn't affect their project. They had some ideas with what they could do with the roomba, but without sufficient knowledge of how the roomba works yet, they focused on learning and identifying the parts of the roomba before adding to it.
They first fixed the problem with the battery that the roomba came with. This bobSweep came with a charging station that the roomba would automatic go to on its own whenever it is running low. But when it didn't seem to be working, An and Chris checked the battery of the roomba. The battery was a 14 volt & 2400 milliamp battery that, when checked with a multimeter, turned out to be completely dead. The only batteries that were available to them were the smaller 9 volt batteries that had a charger, and this large one that weighed around 10-15 pounds (volts / amps unknown - I only remember that it felt heavy). The solution to this problem was connecting the batteries. There are three ways to connect batteries to increase either the voltage, amperage, or both:
Series connection: connect negative ports of a battery to a positive port of another battery --> increases voltage
Parallel connection: connect negative ports of a battery to the negative port of another battery, and same with the positive ports --> increases amperage
Series-Parallel connection: basically a combination of the previous two connections (check slides for picture references or visit this link: PowerSonic Battery Connections) --> increases both voltage and amperage
With the batteries connected to the roomba, it came to life and seemingly worked fine enough. There didn't seem to be any damage to any of the parts inside of the roomba either. After gaining at least some basic understanding of how the roomba worked, Chris and An started working on adding to the roomba. Their idea was to simply get the roomba to play sounds whenever it collided with something through its bumper. They each found videos that either showed a similar project with a sound-activating roomba, or a tutorial on how to play audio through an Arduino with an SD card.
How to Build Your Own Screaming Roomba Part 1 + Part 2 (two separate links)
3 Options for Playing Audio on Arduino
Everything was going well until it came time to play the audio. For whatever reason, they were only able to get one audio to play with mostly clear sound while every other .wav file they tried only sounded static. They were not able to figure out the problem.
By the end, Chris and An had a roomba that activated sound when its limit switch is pressed. When assembled together, this limit switch would be placed inside of the bumper where it would be pressed in collisions through the bumper.
Emma Werbin and An worked together again, this time to learn how to build a website and create one for GirlsCodingWithGirls.
Their first objective was to find where they could build the website and host it for free. Past learning modules for website building had used RepLit, a site that allows for people to learn how to build and host a website, along with exploring a variety of other topics in computer science. While looking through tutorials for HTML, An and Emma found W3Spaces from the people behind W3Tutorials. Wanting to try this alternative to RepLit, An and Emma decided to work on W3Spaces using the free plan.
Emma and An were able to create four different pages: the homepage, information page, recognition page, and the sign-up page, all of which were accessible through a working navigation bar. This navigation bar was only possible through using Javascript which they got from W3Tutorials. They also created a mobile version of the website of each page that would be accessed through another button on the navigation bar.
The W3Spaces free plan had a drawback, which was that once a limit was exceeded, the files and website would be locked or made private. An and Emma found this out when they themselves lost access to their website because they had exceeded the limit on transferred data. Fortunately, aside from paying for a subscription, they would eventually regain access to the website after a few weeks according to W3Spaces because it would reset all of the limitations (except for storage used). Limitations that would be reset would be the requests and data transfers, either of which were never clearly explained. There was also no warning before they were locked out, other than the bars at the bottom indicating how much storage, request, and data they had used.
Aside from being locked out of their website at the end, this project was good for learning HTML and CSS and Emma and An really enjoyed working on it together.
Emma Werbin and An worked together to learn and create a working 2D Unity game in less than three weeks. They were originally working with LeapMotion Controllers and Unity to create a 3D game that uses those controllers. Unfortunately, after three weeks without any progress or clear direction on how to use the controllers (at least on Unity), Emma and An moved on to working only on Unity with creating a 2D game.
They started with a tutorial that showed the basics of Unity by building a flappy bird game.
The Unity Tutorial for Complete Beginners
After following through with the tutorial, they began adding on to the game by using what they have learned and learned more from other tutorials.
Main Menu in Unity | All-In-One Tutorial (Very In-depth)
How to Change a Sprite Image with Script [Unity 2018]
How to Make A Scrolling Background
(More in log)
Besides learning how to create the game, making art assets for the game was also fun. With time limitations, An and Emma settled for a sketchy style with bright colors reminiscent of the art style in children's pictures books. They were able to make various sprite designs and add them to the game that would show from the beginning or change to as the game progresses.
This was a very educational learning module for creating 2D games in Unity, especially with the first tutorial video they watched. It was a great foundational video that can help anyone looking to learn how to create a basic 2D game in Unity.