Arduino single LED blink
Circuit Diagram made on circuitdiagram.org. The diagram was used a blueprint for the actual Arduino. Only one LED was used for this Arduino.
Circuit Diagram made on circuitdiagram.org. The diagram was used as a blueprint for the actual Arduino. Six different LEDs were used in the arduino.
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led10 = 10;
int led11 = 11;
int led12 = 12;
void setup() {
pinMode(led2, OUTPUT) ;
pinMode(led3, OUTPUT) ;
pinMode(led4, OUTPUT) ;
pinMode(led10, OUTPUT) ;
pinMode(led11, OUTPUT) ;
pinMode(led12, OUTPUT) ;
}
void loop() {
digitalWrite(led2, HIGH);
delay(1000);
digitalWrite(led2, LOW) ;
delay(1000);
digitalWrite(led3, HIGH);
delay(1000);
digitalWrite(led3, LOW) ;
delay(1000);
digitalWrite(led4, HIGH);
delay(1000);
digitalWrite(led4, LOW) ;
delay(1000);
digitalWrite(led10, HIGH);
delay(1000);
digitalWrite(led10, LOW) ;
delay(1000);
digitalWrite(led11, HIGH);
delay(1000);
digitalWrite(led11, LOW) ;
delay(1000);
digitalWrite(led12, HIGH);
delay(1000);
digitalWrite(led12, LOW) ;
delay(1000);
}
Arduino 6 with six LEDs
Blinking Arduino with six LEDs
This is my Neopixel strip without the official wire. I instead soldered the smaller wires to the Arduino and LED Neopixel strip.
// NEOPIXEL BEST PRACTICES for most reliable operation:
// - Add 1000 uF CAPACITOR between NeoPixel strip's + and - connections.
// - MINIMIZE WIRING LENGTH between microcontroller board and first pixel.
// - NeoPixel strip's DATA-IN should pass through a 300-500 OHM RESISTOR.
// - AVOID connecting NeoPixels on a LIVE CIRCUIT. If you must, ALWAYS
// connect GROUND (-) first, then +, then data.
// - When using a 3.3V microcontroller with a 5V-powered NeoPixel strip,
// a LOGIC-LEVEL CONVERTER on the data line is STRONGLY RECOMMENDED.
// (Skipping these may work OK on your workbench but can fail in the field)
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h> // Required for 16 MHz Adafruit Trinket
#endif
// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1:
#define LED_PIN 6
// How many NeoPixels are attached to the Arduino?
#define LED_COUNT 17
// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
// Argument 1 = Number of pixels in NeoPixel strip
// Argument 2 = Arduino pin number (most are valid)
// Argument 3 = Pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
// NEO_RGBW Pixels are wired for RGBW bitstream (NeoPixel RGBW products)
// setup() function -- runs once at startup --------------------------------
void setup() {
// These lines are specifically to support the Adafruit Trinket 5V 16 MHz.
// Any other board, you can remove this part (but no harm leaving it):
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
clock_prescale_set(clock_div_1);
#endif
// END of Trinket-specific code.
strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
strip.show(); // Turn OFF all pixels ASAP
strip.setBrightness(255); // Set BRIGHTNESS to about 1/5 (max = 255)
}
// loop() function -- runs repeatedly as long as board is on ---------------
void loop() {
// Fill along the length of the strip in various colors...
colorWipe(strip.Color(255, 0, 0), 200); // Red
colorWipe(strip.Color(255, 0, 120), 200); // Pink
colorWipe(strip.Color(255, 0, 255), 200); // Purple
colorWipe(strip.Color(0, 0, 255), 200); // Blue
colorWipe(strip.Color(0, 120, 255), 200); // Blue Green
colorWipe(strip.Color(0, 255, 255), 200); // Teal
colorWipe(strip.Color(0, 255, 120), 200); // Green Blue
colorWipe(strip.Color(0, 255, 0), 200); // Green
colorWipe(strip.Color(120, 255, 0), 200); // Yellow
colorWipe(strip.Color(255, 255, 0), 200); // Orange
colorWipe(strip.Color(255, 255, 255), 500); // Orange
// Do a theater marquee effect in various colors...
// theaterChase(strip.Color(127, 127, 127), 50); // White, half brightness
// theaterChase(strip.Color(127, 0, 0), 50); // Red, half brightness
// theaterChase(strip.Color( 0, 0, 127), 50); // Blue, half brightness
rainbow(20); // Flowing rainbow cycle along the whole strip
//theaterChaseRainbow(50); // Rainbow-enhanced theaterChase variant
}
// Some functions of our own for creating animated effects -----------------
// Fill strip pixels one after another with a color. Strip is NOT cleared
// first; anything there will be covered pixel by pixel. Pass in color
// (as a single 'packed' 32-bit value, which you can get by calling
// strip.Color(red, green, blue) as shown in the loop() function above),
// and a delay time (in milliseconds) between pixels.
void colorWipe(uint32_t color, int wait) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
strip.setPixelColor(i, color); // Set pixel's color (in RAM)
strip.show(); // Update strip to match
delay(wait); // Pause for a moment
}
}
// Theater-marquee-style chasing lights. Pass in a color (32-bit value,
// a la strip.Color(r,g,b) as mentioned above), and a delay time (in ms)
// between frames.
void theaterChase(uint32_t color, int wait) {
for(int a=0; a<10; a++) { // Repeat 10 times...
for(int b=0; b<3; b++) { // 'b' counts from 0 to 2...
strip.clear(); // Set all pixels in RAM to 0 (off)
// 'c' counts up from 'b' to end of strip in steps of 3...
for(int c=b; c<strip.numPixels(); c += 3) {
strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
}
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
}
}
}
// Rainbow cycle along whole strip. Pass delay time (in ms) between frames.
void rainbow(int wait) {
// Hue of first pixel runs 5 complete loops through the color wheel.
// Color wheel has a range of 65536 but it's OK if we roll over, so
// just count from 0 to 5*65536. Adding 256 to firstPixelHue each time
// means we'll make 5*65536/256 = 1280 passes through this outer loop:
for(long firstPixelHue = 0; firstPixelHue < 5*65536; firstPixelHue += 256) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
// Offset pixel hue by an amount to make one full revolution of the
// color wheel (range of 65536) along the length of the strip
// (strip.numPixels() steps):
int pixelHue = firstPixelHue + (i * 65536L / strip.numPixels());
// strip.ColorHSV() can take 1 or 3 arguments: a hue (0 to 65535) or
// optionally add saturation and value (brightness) (each 0 to 255).
// Here we're using just the single-argument hue variant. The result
// is passed through strip.gamma32() to provide 'truer' colors
// before assigning to each pixel:
strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
}
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
}
}
// Rainbow-enhanced theater marquee. Pass delay time (in ms) between frames.
void theaterChaseRainbow(int wait) {
int firstPixelHue = 0; // First pixel starts at red (hue 0)
for(int a=0; a<30; a++) { // Repeat 30 times...
for(int b=0; b<3; b++) { // 'b' counts from 0 to 2...
strip.clear(); // Set all pixels in RAM to 0 (off)
// 'c' counts up from 'b' to end of strip in increments of 3...
for(int c=b; c<strip.numPixels(); c += 3) {
// hue of pixel 'c' is offset by an amount to make one full
// revolution of the color wheel (range 65536) along the length
// of the strip (strip.numPixels() steps):
int hue = firstPixelHue + c * 65536L / strip.numPixels();
uint32_t color = strip.gamma32(strip.ColorHSV(hue)); // hue -> RGB
strip.setPixelColor(c, color); // Set pixel 'c' to value 'color'
}
strip.show(); // Update strip with new contents
delay(wait); // Pause for a moment
firstPixelHue += 65536 / 90; // One cycle of color wheel over 90 frames
}
}
}
This is a video of my Neopixel strip working. The code is on the Arduino program that's installed onto my computer.
Poster of Nelson Mandela's accomplishments and achievements while he fought apartheid in South Africa.
Hashtag for Nelson Mandela empowerment poster
Brief- Guidelines that lead to a final results
Research- Looking up information that is relevant to your brief or answers your questions
Idea and Brainstorming- Using your research, come up with ideas that lead to a solution to your original brief/driving question
Prototype- Taking your ideas from the previous step, come up with a physical object that you can you use in the next step of the process
Testing- Taking what you have done in the Prototype step, begin to run some form of testing in order to collect data that can be used to help prove what was done either a 100% success or a 70% still needs some modifications
Evaluation- Looking back over the data from the test, this step allows you to look over the data from your test and figure out if you need to rework something
I first measured the sides for the cube using a ruler and some marker. I marked the carboard then cut out the 6 pieces. Finally I glued it all together to get this cube.
The simplicity of the desk organizer is what makes it unique
This desk organizer uses unity
The shape of the desk organizer is what makes it unique, it looks like a dog
This desk organizer uses form
The shape of the desk organizer is what it unique, its shaped like little houses
This desk organizer uses proportion
My desk organizer uses Form and Balance. Balance is the weight and visual appearance being balanced in a certain piece. So like the objects I put into the desk organizer will be balanced due to the design of the holes. Form is the use of three dimensional shapes. Since my desk organizer will be a 3D object it will incorporate Form.
Well my desk is in need with books and pens everywhere. I also have a metal desk so it being able to stick to the side of my desk and be out of my way made the most sense. I would mostly put pens, calculators, Chapstick, and etc. in it. There's a little shelf on the back where I'll either put my switch or a small book in it. Also on the back shelf there will be magnets for it to stick to my desk.
My desk organizer's dimensions will be 10'x3'x10'. The width of my desk organizer is relatively thin because I don't really see it being able to be held up with it super wide.
My model has 5 holes on the top and a shelf in the back for a book or my switch. I got a lot of inspiration from regular desk organizers, I didn't try to get fancy. I've learned that cardboard is kind of hard to work with especially when you don't have the right tools to cut it. Some critiques I got on my last model was that it should be secure and that I should be more courteous of how my final might look and work.
I designed my model to be skinny and tall so it could just lean against my wall or hang on my desk without it getting in the way. I knew the type of items I would put in it was just the regular things that lay around my desk. The shelf on the back can't hold a very big object it without tipping over but with a skinny book it does great.
When we first started this project we had to pick an element and principles of design. My element and principle were Form and Balance. I used form and balance in my project by making it a 3D shape and making everything on my model symmetrical. We then started our research, I mostly researched regular desk organizers because I wasn't thinking very creatively. We also made a cardboard cube to learn about dimensions. Then started the drawing, I had a basic idea of what I wanted and with time I got to my final drawing with dimensions. After that we made our first prototypes. Mine was made out of paper and was considerably smaller then my final model. I had the idea to put magnets on the back of my model but sadly they didn't come in time. For my final model I ran into some obstacles. I ran out of hot glue so my final model is half hot glue and half scotch tape and I cut out my cardboard pieces with a pocket knife because I couldn't find a pair of scissors. In all I think my final model is good but I do think if i had all my necessary tools it would've been even better.
Name of the second project for semester two
Points and objectives for this project
Rules and guidelines for the project
I chose the controller to get inspiration from because while I was growing up this was the system I played with. I think the Wii controller is very nostalgic and a pretty comfortable design.
I want my controller to be comfortable, unique, and have a sense of nostalgia.
Right now the material I used for my controller was cardboard. The only difficult thing was finding a cardboard thin enough where it didn't make the controller look to bulky. I like my design but I o worry about the placement of the buttons, but my controllers feels a lot more comfortable than it looks.
The video consists of me showing the Arduino with the wires and buttons playing the Google snake game with the Arduino Program pulled up right next to it.
My controller’s design takes a lot from the Wii controller in the sense that it’s a rectangle. From the electronic standpoint I had trouble getting the Arduino program and actually getting the code to work and it’s still a little iffy right now. My controller is 6.5x2x2 and is going to be made of cardboard. Since my controller's a little bland I plan to make my controller more unique by painting it with fun colors.
Does your design use unity or pattern? How is this shown in your design?
My prototype and design does uses balance but not pattern, my design is symmetrical.
What is your plan for incorporating color/texture into your design?
I would've painted my controller.
What did you do to make your design more comfortable to use? Did it work? If not, how can you modify your design for comfort?
My design would fit comfortable in the palm of your hand and not being too much to hold.
What is your unique feature of your controller?
The sharp edges and rectangular shape.
Would you consider your design unique? If not, how would you add/subtract from your design to make it more unique?
I wouldn't consider my design super unique, to make it more unique I would add more color and elements of design to it.
My controller took a lot of inspiration from the Wii controller because that's the system I grew up playing. My final assessment is that I wasn't able to make my actual controller just my first prototype and working Arduino. My first prototype consisted of cardboard and hot glue and it's dimensions were 6.5x2x2. My controllers work great but I wouldn't have been able to put them in the normal keypad order that I was hoping for. If I had produced a final product the buttons would've been in a straight line going up, down, right, and left. My final model would've been made of cardboard and would've been painted bright colors to make it stand out.