Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Introduction to Arduino, circuits, and C family programming languages
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
For the last two days, we will be working on our final project.
Over the course of the quarter, we have learned:
To use digitalWrite to turn LEDs on and off
Use digitalRead and / or attachInterrupts to find if a button has been pushed.
Use analogRead to find how much a potentiometer has been turned.
Use Servo.write to move a servo motor.
To create your own functions if they are going to be called repeatedly to save on code space.
Use a serial monitor to share data with a user.
For the final arduino project, you are going to design something physical which uses at least 3 of these concepts. You will create a 3D model of your item and include 3D components such as the arduino, servos, etc. You will not have to wire or code the circuit, but in addition to your 3D Model, you will need to share a google doc with me describing what your invention is used for and which of the above concepts it would include.
The goal of your invention is to make life easier for the person or people using your device.
So, the 4 steps to this project are:
Before building any 3D models, start by brainstorming at list 10 ideas of things you could invent / make / modify using the skills you have. Add it to the start of the google doc you will share in a Brainstorming section.
Once you decide on an invention, build it using the arduino components in Tinkercad's 3D design space.
Write a Summary in your google doc describing what your invention is used for and which of the above concepts it would include.
Share your doc with me.
This page serves as a repository of the tutorial videos we are using for learning webots during virtual classes.
**NOTE: use the https://www.python.org/downloads/release/python-386/ version of python. Make sure you have the 64 bit installed and not the 32 bit installed. If you have them both installed, uninstall the 32 bit version.
Complete the dice roller program so that it works as shown in the videos.
Create a color blend using two different colors based on height.
Print which DICE NUMBER was rolled the most often (not the number of times rolled). For example, if the biggest number in your results list is 25152, which dice number is represented by that. In order to test -- on two dice with 100,000 dice rolled, it will probably be 7.
Your task for the OpenSCAD final project is to create a 3D printable solution to a problem. This could be a new invention or a novel variation on an existing solution. It could adapt / interface with an existing device or be a new idea. Take some time to generate several potential problems / solutions / ideas. Before beginning your final design, you will turn in a list of 10 potential ideas along with some simple sketches to illustrate your designs. It will be very important to have a well thought out sketch to model from BEFORE beginning your coding.
The following considerations will be expected in your project:
The design must be printable. This means you have thought about the build plate and made sure your design can be supported as 3D printing occurs. This may mean splitting your design into multiple pieces.
The design must be use variables. I will expect to see that variables are fully integrated into your design and allow quick refinement of your design between test prints.
The design must be functional. The design must solve a problem or be useful in some way.
In the following video, you will find an overview of some of the sculpt tools in blender. Follow along with the video and play with the tools.
When you finish the video, start a new sculpt. Use the grab, draw and clay tools to create a rough face. Use both positive and negative brushes (CTRL key to toggle). Don't worry about realism! When finished, create a screen cast and share the link with me following the directions in the next video.
Because you don't get to see each other's work as much in the online environment, I think this is a good point to start to take a look at each other's choices with the animal sculpture lessons. They are all so different!
We will be creating a finished digital sculpture using blender. This will take the skills you learned on the animal sculpture and allow you to think about theme and composition as well as detail and process.
The sculpture must:
have multiple objects (characters, set pieces, etc).
capture the theme of balance.
have good composition from every angle of the sculpture (except the bottom)
use good detailing, especially in places of focus.
be fully painted.
be placed on a base.
This will be a multi-class project. For today’s class, I want to to generate 10 idea sketches. Take a picture of the sketches, open them on a computer and walk me through your ideas with a screencast.
For today’s assignment, I want you to find an image of a famous sculpture. Share a link to a google doc or slide with me which includes:
At least two images of a single sculpture in the round from different angles.
Discuss the title, sculptor and theme of the sculpture -- what is its purpose (do a little research)
Break down the composition with focus circles as I did in the video. How does your eye move through the sculpture and how is it different from different angles.
There are several general issues that I am seeing with the base mesh. Watch each video and fix before starting your detail if it applies to you.
The final sculpting detail will be due on Monday 5/18. The painting and basing (lesson 13) will be due in 5/21 last day of class.
Each day you will turn in a screenshot of your progress. I should see at least an hour's work each class.
Seniors should due their best to complete as much as possible by 5/14 (our last class together). I am not expecting you to be completely done with the project.
As we move to an online format, we will be shifting our class focus from two dimensional work to three dimensional. Since we are away from materials like clay, we will be adaptive and focus on tools which simulate material. In this way, we will be able to touch on many of the topics inherent in art-making without needing to worry about getting access to physical material. Once we get back to school, we will be able to 3D print our forms and create physical versions of our designs.
As we did for the animals, you will be laying out the base mesh in Blender using metaballs and primitive shapes (boxes, cylinders, etc). Make sure you are using a separate base mesh for EACH object, rather than a single base mesh for everything.
Please watch the videos below for some advanced use of metaballs before proceeding.
Take two classes to work on this. It is an important step and should not be rushed!
I have provided feedback on your ideas via email. Please check to make sure you've gotten that from me.
For today, you should choose one of your ideas and develop it with more detail.
The design should:
push the concept of balance (remember this can be literal balance or conceptual / thematic balance) in your sculpture.
have multiple forms included.
give viewers a unique experience as they move around the sculpture.
have asymmetry.
be drawn from 3 views / sides
Due on 5/21, our final day of class. Make sure you turn in the complete blender file, not just a screenshot. Video coming soon.
These will go up as the projects get turned in.
To finish off the superturtle app, we are going to add the following to our program:
Move the printing of the menu options to the helper function, but run it in main.py
Add at least 3 new methods to the SuperTurtle class (whatever you want, but they should be obviously different than the things we wrote together.
Let's get a little crazy here and build a pretty sophisticated app. We're building a SuperTurtle class with lots of methods. We've built some helper functions to provide random colors or print welcome messages. And we're building an interactive menu structure to run the whole app. But if we put all of this stuff in one file it gets to be a real mess. So let's split everything up like professional software developers.
Let's make a new Python Trinket. Call it Final Turtle and save it. Then create a new file called superturtle.py. Notice that we don't include capitals or spaces in the names of our module file.
Now let's add our SuperTurtle class to this file. You can start with my copy below and then add in additional methods you may have built in our previous Trinkets.
We're going to make a file with a bunch of helpful functions. Let's call it helper.py
And let's add this code:
In order to access the rancolor()
function from helper.py, we could import that specific function with from helper import rancolor
But what'd I'd rather do, is just import helper
at the top and then change the rancolor line to helper.rancolor()
Let's add a basic menu to our app:
Try changing this project. Add options and features. I'm here to help, too.
The gang of turtles is in the main file. If we want to use it in the helper.py file, we need to pass it as a parameter. For example, I could add this method to my helper file that will make each turtle draw 100 stars:
And perhaps I want to add this super_star option to my menu. So I'll add it to my print_options
and to my main.py
's if statements:
1pt - separate SuperTurtle class and module
1pt - separate helper module
2pts - multiple adds to menu
2pts - first added method
2pts - second added method
2pts - third added method
2pts - creative display
The first part of the assignment needs
Correctly wired traffic lights as outlined in the video
variables for each light
Setup pin modes for each light
Create a pattern as outlined in the video
Once it runs correctly, create a student defined function called normalTraffic to run the pattern.
The second part of the assignment needs
A second student defined function with flashing red lights
A third student defined function with one flashing red and one flashing yellow light
A fourth student defined function with the opposite flashing red and yellow lights
For the third part of the project, add a button that controls the 4 modes.
For the fourth part of the assignment, change the button to an interrupt and add text as described in the video.
**NOTE: We will not do servos until the end of the class, even though the concepts are clustered together in this video. You will only need to watch the first 8 minutes for a while.
So far, we have learned:
To use digitalWrite to turn LEDs on and off
To use analogWrite to change the amount of power to LEDs (and hence, the brightness)
Use digitalRead to find if a button has been pushed.
Use analogRead to find how much a potentiometer has been turned.
Use Servo.write to move a servo motor.
To create your own functions if they are going to be called repeatedly to save on code space.
To create sound using a piezo buzzer.
To research and implement components on your own.
Use a serial monitor to share data with a user.
For the final arduino project, you are going to create something, either physical or on tinkercad, which uses at least 3 of these concepts. This will be a prototype for an invention. Think about how the invention would look in it's finished form beyond the circuit.
On Day 1, I want you to brainstorm at least 10 things you could invent / make / modify using the skills you have. Turn in your brainstorming list to me for final approval.
Over the last several classes, you will design and program the main function of the circuit. On the final day, you will turn in three things to me:
A working circut and program, either on a breadboard or via Tinkercad.
A paragraph describing your invention's use.
A drawing or 3D model of the final invention beyond the circuit.
For the three tasks, place your answers in separate functions. As you test them, please make sure you remove the ones you finished from void loop() :
OneServo()
Opposite()
Together()