Projects 4 and 5 #
Build an intrepid robot that traverses an obstacle course and delivers freight #
Projects 4 and 5 are, in a sense, one mega-project. In the first part, P4, you and your team build a robot. In the second part, P5, you and your team modify it to traverse an obstacle course and deliver a payload.
Requirements for project 5 #
Build something that traverses or climbs over the maze by Thursday, December 15, high noon #
Your robot, which you have constructed for P4, must complete two tasks:
- It must EITHER travel through the maze (shown below) or scale the ramp, cross the roof of the maze, and drive down the ramp on the far side.
- After completing the first challenge, your robot must visit the freight terminal, where it will be given a payload. Your robot will then deliver the payload to the drop zone. Once one of your team members has received the payload in the drop zone, your team has completed the challenge.
Characteristics of the maze #
If your robot traversed the hallway and doorway of P4, it will fit through the maze. However, the maze has a roof on it, and you can’t see inside. To spice things up a little, the maze has two movable walls. One of the walls will be at location A or B. The other wall will be at location C or D. You will not know which location the movable walls are in. This means you will need to add some kind of sensor system to your robot. You might consider using ultrasonic distance sensors, optical sensors, pushbuttons bumpers, or a webcam to navigate the maze.
If sensors are not that interesting to you, you can instead choose to drive over the maze. This will likely require that you upgrade your robot to be able to drive up and down ramps, which is a non-trivial challenge.
Characteristics of the freight terminal and drop zone #
Okay, to be honest, we were considering having a freight terminal where you have to pick up a payload with a forklift (or something like that), but it seemed too difficult. So, all you have to do is have your robot drive up to a table to receive freight. When your robot arrives, one of the LA’s will put a payload (a mass weighing less than 1 kg and less than 10 cm in diameter) on your robot. If your robot can drive to the nearby drop zone (an area marked by tape on the floor), you’re victorious!
The length of the ramp surface is 122 cm, and its height is 41 cm.
Requirements for project 4 #
Build something that travels by Tuesday, December 6, high noon #
This is a relatively constrained project compared to the vast open field of P3. Your task is to build a robot that can travel across the floor, controlled remotely by you.
- Your robot should fit in a circle 30 cm in diameter.
- Your robot should be less than 30 cm tall.
- The top of your robot should be a freight platform that can support a load, up to 10 cm in diameter that weighs up to 1 kg.
- Your robot should be stable, so that as it travels, laden with freight, it does not tilt its load more than 3 degrees in any direction from the horizontal plane.
- You should not touch your robot during its adventures. This probably means that your robot should be remote controlled.
- You should not use an RC car controller. This probably means that your robot should be controlled through wifi from a laptop or phone.
- Your robot cannot fly. (We don’t have the space to test drones safely, unfortunately.)
- You should submit video documentation to Canvas and bring your something-that-drives to class.
- Note: It would be a good idea to focus on making your robot drive effectively before you worry about any higher level mechanics or control through the internet.
Due date: Tuesday, December 6, high noon
In class on December 6, we will test drive the robots through a basic course– basically a U-shaped hallway with a 30 cm doorway. If your robot can navigate and meets the requirements above, it will do fine.
Project grading: As with all projects in ME 30, if your robot demonstrates an attempt at meeting all requirements, you receive full points for the project.
Project planning resource: We suggest discussing this list of P4 planning questions with your team.
Team options for projects 4 and 5 #
Option 1 – Work in a team of 2 or 3 chosen by you If there are 1 or 2 other people in the class you would like to work with, send Kristen and Brandon an email listing the names of the people on your team.
Option 2 – Work in a team of 2 or 3 assigned to you by Kristen and Brandon We’ll pool all the people who would like to be assigned a partner and try to team you up. We might need to make a team of 4 depending on who is available. If you’d prefer this option, no need to do anything; we’ll team up everyone not already on a team.
More details for projects 4 and 5 #
- If you need parts (like a sensor or a certain kind of motor), we’re happy to order them for you.
- See the Raspberry Pi setup page to learn how to control your Pi via serial cable and the Internet.
- See the servers and clients page to learn how to coax your Pi into sending and receiving data through the Internet.
- See the client and server setup demo video that walks through the code for Raspberry Pis and Arduinos as clients and servers
- See the Internet page to find out how IP addresses work.
Project #3: Build an electromechanical game #
Your task is to build a game with the following characteristics:
- It is controlled by a Feather microcontroller.
- It has at least one electromechanical element that moves, like a motor or a solenoid.
- It has some kind of user input, like buttons, knobs, joysticks, sensors, or the like (no need to spend your own $ - see note below about the ME 30 Nolop tab).
- It is at least sort of fun to play. A blinking LED is not a game.
- It is NOT exactly like a game that already exists, like skee-ball or checkers. It can be kinda similar to existing games, but you must use your creativity here.
- (It does not need to have a custom PCB, but it can if you want. If it has a custom PCB, you must make a working prototype first.)
Where to get materials for your game:
- Feel free to use anything from your ME 30 kit.
- Nolop has buttons, potentiometers, LEDs, and materials for laser cutting. You do not need to pay personally for these items. You can use Nolop materials for your projects by “charging” it to the ME 30 tab located on a clipboard on the Nolop front table. (That involves writing down the item and your name.)
- Bray also has materials for fabrication.
- If you need something not available at Nolop or Bray, please talk to Brandon or Kristen.
Midway milestone: Bring a prototype to class and submit some photo or video documentation of it to Canvas: Tuesday, Nov. 1
Final demo in class and submit video of it in operation and your code to Canvas: Thursday, Nov. 10
Class on November 10th will consist entirely of us playing each other’s games.
Project 3 FAQs / Resources #
- State machine code shown in class: https://gist.github.com/pingswept/1d37a74943f73a6266688db44f3e382d
- Downloading CircuitPython libraries onto your Feather: https://learn.adafruit.com/welcome-to-circuitpython/circuitpython-libraries
- Full bundle of CircuitPython libraries for the Feather: https://circuitpython.org/libraries
NOTE: I recommend downloading the entire bundle to your laptop, and then transferring ONLY the libraries you need for your game to your Feather. Transferring the entire bundle to your Feather will take quite a long time.
- Stepper motors - how to wire: https://lastminuteengineers.com/stepper-motor-l298n-arduino-tutorial/
- Stepper motors - how to code:
Project 2.5: Create a secure motor attachment #
Because the third major project will require using a motor to actuate some part of an interactive game, in Project 2.5, you’ll building some knowledge about how to attach a part securely to a motor.
Your task in Project 2.5 is to design and build a motor hub that meets the following specifications:
- Provides a 3 mm hole 15 mm from the shaft axis (you’ll insert a paper clip with a weighted string into this hole)
- Fits on and attaches to your motor shaft
- Stays attached securely enough to handle the amount of torque that stalls the motor when it is operating at 12 V
- Shaped like a spool or lever arm (i.e., shape is up to you)
Submit to Canvas a Solidworks or Onshape rendering of your design, and bring your hub to class. In class on the P2.5 due date, we will compile everyone’s results into histogram showing the range of torques applied before the hubs either (a) slip on their motor shaft or (b) successfully stall the motor.
Due date: Tuesday, 10/25, at noon (in class)
Project #2: Build an H-bridge motor controller #
The second project is to build a motor controller with the following characteristics:
- It consists of a PCB with connectors for a motor, plus power and control lines.
- It also accepts power from a 2.1 x 5.5 mm plug from a 12 V wall adapter.
- It has a power LED that lights up when motor power is available.
- It can make a DC motor spin in both directions.
- The motor current traces can handle 12 V and 5 A continuously without melting.
- It can be controlled by logic signals from a Feather (but later, not as part of what you submit for P2).
Here is a graphical version of those first two bullet points about connectors.
Due date for prototype: Thursday, October 6, 11:59 PM
To get started building your prototype H-bridge, review the Low Power/high power and the H-bridge(http://andnowforelectronics.com/notes/h-bridges/) pages, including their mini-lecture videos on BJT and MOSFET transistors. After that, if you’re stuck, consult the H-bridge testing demo video. Note that this video is not intended to give you step-by-step building or testing instructions, but rather to give you a feel for the kind of approach you might take to building and testing this circuit. If your H-bridge prototype isn’t working by the deadline for this prototype, don’t worry! Just submit to Canvas a photo of what you have, working or not.
Due date for PCB submission: Thursday, October 13, 11:59 PM
When your design is ready, you should submit it to the fabricator, OSH Park. It will cost you around $10. (If this cost is a hardship, please let Kristen or Brandon know, and we will help, no questions asked.) After you submit it, take a screenshot of your order confirmation and upload it to the Project 2 PCB assignment on Canvas (proof that you submitted your project on time). Also, take a screenshot of your PCB design in KiCad and upload that as well (it would be a good idea to save this screenshot for your portfolio).
Project 1: Build a breadboard power supply #
The first project is to build a power supply with the following characteristics:
- It consists of a PCB that plugs directly into a breadboard.
- It accepts power from a 2.1 x 5.5 mm plug from a 12 V wall adapter.
- It emits 12 V, 5 V, and 3.3 V (at the same time).
Due date (for PCB submission): Thursday, September 22, 11:59 PM
When your design is ready, you should submit it to the fabricator, OSH Park. It will cost you around $10. After you submit it, take a screenshot of your order confirmation and upload it to the Project 1 PCB assignment on Canvas. That will serve as proof that you submitted your project on time.
More details for project 1 #
First of all, we’re not trying to build anything revolutionary in this project. None of you have ever made a PCB before, so the point is to make something fairly simple to get comfortable with the process. If you search Amazon for “breadboard power supply”, you’ll see that you can buy various versions of things like this, though none with a 12 V passthrough, so far as we’re aware.
Here’s what a typical one of these things looks like.
The image below shows the rough mechanical constraints for the PCB. You can make a board of whatever dimensions you want, but it needs to plug into the breadboard, so you probably want to follow the pin location dimensions shown below. You don’t have to have pins where all of the 8 red dots are– you could get by with just 4, but 8 will make the board stay in place a little more securely.
In your project kit, you’ll find all the components you’ll need to build a prototype of your power supply on a breadboard. You build the prototype and make sure that you’ve got the wiring right. Then, make the PCB with the same connections. Finally, when your PCB arrives in the mail, you can reuse the prototype components on your PCB.
Important note: the pins on the two regulators are not in the same order!
Check the datasheets for the components to see which pin is the input pin, which is the output pin, and which should connect to ground.
If you feel like you understand this project pretty well, or if you’ve made a basic circuitboard before, you could try adding additional features. Look at the open source Ant breadboard power supply for inspiration. The schematics are available if you’re curious about the details.
P1 prototype: what you should do before class #3 (before Tues., 9/13) #
- Read and try to make sense of the website notes on voltage regulation. Pay special attention to the circuit diagram showing the L7805C voltage regulator.
- Try your best to make a breadboard circuit so that 12 V goes into your circuit and 5 V comes out, as shown on the website diagram. You’ll need to use your 5V voltage regulator component.
- Install Kicad.
- Watch the Kicad demo videos, a total of 5 minutes, 59 seconds for the first two demo videos
- If you can absorb material from books efficiently, read as much of chapter 2 from the Practical Electronics textbook as you can.
Project 0: Power an LED with “wall” power through our DC power supply. Control it with a push button. #
The getting-started “project” is really more of a warm-up activity, and we’ll do it together in class. The goal is to create a circuit on your breadboard that powers an LED with power from the wall, directed through your kit’s DC power supply. This circuit should have the following characteristics:
- It is implemented on a breadboard.
- It accepts power from a 2.1 x 5.5 mm plug from a 12 V wall adapter.
- It turns on an LED when a push button is pressed.
Due date (for submitting a photo of your circuit to Canvas): Thursday, September 8, 11:59 PM