The goal of performing this project was to encompass learning objectives acquired throughout the duration of this course. We wanted to use a motor to pull back the arm of a catapult and have a solenoid be the release mechanism. The project was successful. When we pressed the appropriate key, the motor would pull back the arm and the solenoid would retract.
This project utilized two different microcontrollers, an ATmega328pb and an Arduino Uno R3. Combining these two was a major component of this project. To connect them we utilized a digital output from the Arduino and connected that to a digital input on the ATmega328pb, essentially using the ATmega328pb as an output peripheral for the Arduino. The ATmega328pb still had the LCD connected as it had been in previous labs, thus no changes were made to how it was connected. The Arduino had multiple outputs along with the ATmega328pb, those being the lights for the house and the actuator for the door lock. The Arduino circuit also utilizes a Bluetooth receiver which communicates with an android app to send commands to the house. During testing it was found that one digital output could not power the “locked” LEDs, the actuator, and the signal to the ATmega328pb, this presented a problem because the project needed all of those things to happen when the door was locked. To overcome this problem, a second output pin was utilized that copied the signals sent to the original output pin so that the required power was met to activate everything needed.
One of the two main components which we had to program for the house project was the ATmega328PB board that we’ve been using previously throughout the class. We did so using the Atmel Studio 7 application and accomplished our tasks using both the C and Assembly languages, very similar to the style of Lab 3. Both the C and Assembly sections utilized the base sample code from Lab 3 as we decided to use the LCD interface to have a function relating to our door lock on the house. The board is receiving this input anytime the door lock is engaged or disengaged on the Arduino, and is receiving a separate signal to the LCD than what is going to the Actuator.
The goal of this project is to create an 8×8 LED maze. The user should be able to use buttons to navigate up, down, left, and right through the maze. Instead of simply showing the entire maze at once, the only parts of the maze that should be visible would be the parts of the maze a person inside would be able to see, assuming the walls are taller than the person. I.E. the only maze walls visible would be the walls in the line of site of the user, and no walls behind another wall would be visible. A “Fog of War” type of effect. The goal is to accomplish this using transistors, shift registers, ray tracing, resistors, buttons, and of course LEDs. A jewelry holder is used as the physical “casing” for the Maze. Images above are the initial LED layout, and the casing used.