Sunday, November 27, 2016

Week 4: Adventures in Making


SketchUp:

This week I explored SketchUp software to design a Maker Space. I played around with the 3D features, but I would need more time to explore and create 3-D objects in SketchUp. I logged the hours I spent exploring SketchUp at 15 hours. I decided to create a 2D space due to lack of time in getting my assignments complete. Once I learn how to use all the features SketchUp offers I believe it would be excellent software to use as a tool for creating and printing 3D objects. Here is a sketch of my exploration with SketchUp and my vision for a maker space.



Week 4: Electronic Dice Machine

On to the Maker Challenge of the week which is to create an Electronic Dice Machine. The challenge was to design, build, program, test and document an electronic dice machine. The build is using seven LEDs, and a push button with the correct coding which will "roll the dice," then roll the "electronic dice 100 times and document the results.

I wanted to work with the push button before I dove into this weeks challenge so I build Circuit #5: Push Button. Here is a video of the working circuit.



Electronic Dice Machine

This was the most challenging circuit so far. The major problem I had was getting the push button to control the LEDs. I wasn't sure if the problem was with way I had the board set up or if it was the code. I worked with each for a few days until I knew I couldn't do it myself, so I used the Arduino website, and Google. I still struggled for a few hours until I broke everything down and started over once again. There were times I thought I actually broke the Arduino. Then.... SUCCESS!! I feel that I accomplished more with this challenge because it was so difficult for me, but I didn't give up and throw in the towel.

Code used for Electronic Dice Machine



Picture of the circuit including Arduino and Breadboard 



 Electronic Diagram



Connections




Electronic Dice Machine Video


Once I completed the circuit and was watching the YouTube video, I noticed at times when the generated number displayed I would have seven LEDs light up. I went back and worked with the code once again until I found the problem. I did not have LED number four turning off when number six was rolled. I am happy that was a simple fix. Below is a video of the finished circuit.




Reflection:
Stepping out on my own this week was frighting. I am one of those people who will try to assemble something on my own before reading the instruction manual and building this circuit was no different. I spent hours trying to complete the project on my own before realizing I needed help to complete it. Although it was frustrating to do so, I was able to learn more how the code works and doesn't work due to my many failures. This week I have learned more patience in working with the Arduino and working with the code which will help me to continue exploring and enjoying the Arduino after the completion of this course.

As I was working on this circuit the extension that continued coming to mind is family game time. I feel my children would enjoy pushing the button to roll the dice instead of rolling an actual dice for a change. Another extension this type of circuit could be used for is slot machines and other gaming machines.

I have provided a graph of the distribution of rolls out of 100 rolls created with my Electronic Dice Machine.



Friday, November 18, 2016

Week 3: Adventures in Making

This week was more challenging than the previous two weeks. This week we had two projects to conquer. The first project was complete a RGB LED so three different colors will be blinking from the same LED bulb. The second project was to complete a circuit which consists of multiple LEDs, eight to be exact.


Circuit 3- RGB LED

The code used for the RGB LED is more complicated than the previous projects. For the RGB LED project I learned about PWM ("Pulse-Width Modulation") which is when a digital pin is used to "fake" an analog signal by the pin blinking faster than they eye can see, which I think is fascinating. If the code is set on HIGH, the LED will be brighter, and if the code is set on LOW, the LED will appear dim. I have provided the code and documentation of my project below. 

Code used for RGB LED



Screenshot of Code



Schematic of the Circuit Used



Picture of the circuit including Arduino and Breadboard


 



 Electronic Diagram




Circuit 3: RGB LED Video



Circuit 4: Multiple LED’s

I enjoyed building the Multiple LED's circuit. As a reward, I enjoyed watching the dancing LED's. The most difficult aspect of this weeks project is understanding the code. I learned about "for()loops" which are used to run a code the amount of times you would like the code to run. "Arrays[]" are used to manage variables by grouping them together. The array function made controlling the LEDs easier. It would take much longer to write the code for each individual LED. I didn't run into any problems setting up the breadboard, I found the challenge enjoyable. I have provided the clean code, and documentation of the Multiple LED's project below.

Code used for Multiple LED's




Schematic of the Circuit Used



 Pictures of the circuit including Arduino and Breadboard






Electronic Diagram Multiple LEDs


Multiple LEDs Video



Week 3 Challenge

This weeks challenge was indeed a challenge. My goal was to create multiple LED's as a count down event that lights up the RGB LED. The code is getting more complex and I am struggling to make sense of it in such a short time. After hours of studying and working with the code, through trial and error I partially accomplished my goal. The multiple LED's goes through one complete cycle up the strand, and back down the strand before the RGB LED flashes. It wasn't exactly what I had planned, but I can still sit and watch the dancing lights until my eyes are hurting. 


Code for Challenge: Chasing LED and RGB 





Picture of the circuit including Arduino and Breadboard




Chasing LEDs and RGB  LED Video





Reflection
I loved working with the dancing lights this week. I continue to feel more comfortable with the Arduino. I enjoy building the circuits and finding solutions if part of the circuit is not working properly. The coding is the most difficult for me to understand. As the coding gets more complex I feel lost and unsure of myself. I feel if I had more time to learn the code I might feel differently, but this is a fast pace course so I try to grasp all I can. The challenge that was most difficult for me this week was modifying the code to create a circuit from the four circuits and their associated codes I worked with in circuit 3 and 4. I will continue to study the codes to hopefully feel more comfortable working with them. 

When I think of possible extensions of the project I completed, I think of the chasing Christmas lights.  I couldn't help but think of the RGB LED circuit as I looked at the dehumidifier in my home.  The LED in the on position is green, and when the water chamber is full the light turns to orange and the dehumidifier shuts off. Another possible extension that comes to mind is speakers that have LED's that pulse with the beat of the music. When I have more time I would like to spend more time exploring the circuits I have created this week and their possibilities.

Saturday, November 12, 2016

Week 2: Adventures in Making

This week I explored the difference between analog and digital data. For the exploration, I used a potentiometer also known as a variable resistor. This week’s challenge was to use a potentiometer to control the voltage of the LED which will control the brightness of the LED. 


I have provided a screenshot below of the clean code used for the circuit. 




Schematic of the Circuit Used



Circuit 2: Potentiometer Diagram




For Circuit 2- Potentiometer, I began by running the red jump wire from digital pin 13 to j-20 on the breadboard. I then connected resistor to j-21 to the ground on the breadboard. Next, I connected the positive side (anode) of my LED to h-20 and negative side (cathode) to h-21. I then began setting up the connections for the potentiometer. I ran the green jumper wire from analog A0 to e-7 on the breadboard. In doing so, this should provide “HIGH” (5 Volts) and “LOW” (0 Volts) which will cause the LED to blink faster, and slower, and cause the LED to dim and become brighter. The blue jumper wire is ran from the negative to e-6, and the yellow jumper wire is ran from e-8 to the positive. The potentiometer is in a-6, a-7, and a-8. A-6 is positive, a-7 is the voltage (from 0V to 5V) and a-8 is the negative. My last step was to connect a red jumper wire from the 5V pin to the anode on the breadboard, and a black jumper wire from the ground pin to the diode on the breadboard.  

I reviewed the code and typed it in the Arduino IDE to have an understanding of the code and how it works. Once I felt comfortable in running the code, I verified the code to check for errors and thankfully all was well. I uploaded the code to the Arduino and the result is in the video below. 

Photo of my circuit



*The explanation of my circuit 2 is provided above. I tried to narrate the video, but the background noise that I could not control would be distracting to some viewers.



Circuit and Code Play


This week, the Circuit and Code Play, and Extension Challenge were not as overwhelming as last week. Don't get me wrong, it was extremely challenging, but thankfully I didn't have anxiety as I did last week. I believe I had a breakthrough during the readings and discussions. Struggling is where I learn and grow the most, so I will embrace the challenges and struggles.


1.     See what happens if you use two digital pins rather than one digital and one analog pin.

When I connected two digital pins rather than one digital and one analog pin, the LED would blink but the potentiometer did not control the dimming of the LED.



2.  See what happens if you use two analog pins rather than one digital and one analog pin.

When I connected two analog pins rather than one digital and one analog pin the LED stop blinking.




3.     What happens if you replace analogWrite with digitalWrite and vice versa?

When I replaced analogWrite with digitalWrite and vice versa in the code I could not get the LED to blink using any of the previous scenarios.


Extension Challenge

1. Can you control 2 lights with the same brightness or same blink rate?

  I had no problem controlling 2 lights with the same brightness and same blink rate. 







2. Can you control 2 lights with one potentiometer but have them controlled so that as one light gets dim, the other gets bright or one blinks fast while the other blinks slow?


This extension challenge was indeed a challenge. I had no problem setting up the Arduino board, the challenge was with the code. After a couple hours of working with the code I was finally able to get the code to run without errors. As the video below shows that one LED is bright and the other LED is dim. Each are blinking intermittently. I tried but could not get the coding of the LEDs so that one LED would blink fast while the other LED blinked slow. 





Reflection
I was actually excited to work with the Arduino this week. I don't look at it as some scary board that will try to defeat me as I did last week. I am becoming more familiar with the Arduino board, but the codes are were I struggle the most. I am still hopeful as the course moves ahead I will feel more comfortable working with the codes. To be honest it still bothers me that I couldn't get the code written to work for all the challenges of extension challenge 2, but I will keep trying. I do not want to accept defeat!

I can see more possible extensions of this project than the project last week. I believe it is because I am getting more familiar with the Arduino and the entire process. As I explored this week I could not help but think about using the extension for a dimming light switch and controlling volume for stereo volume. I also looked at my desktop fan and wondered if a potenitometer is used to control the speed of the fan and immediatly my thinking went to, potentiometers can adjust and control the speed of a CPU fan. I am proud of the growth I have had over the past week. I am excited for next weeks challenges.


Sunday, November 6, 2016

Week 1: Maker Challenges

Blinking LED


1. 
My first project was using the Arduino starter kit to complete the Blinking LED circuit. The goal is to make the right connections and code so the LED light will repeatedly blink on for one second and stop for one second. A more in-depth explanation is provided in the video below titled Blinking LED: My First Circuit.

2. Screenshot of Blinking LED code.




3. Picture of the circuit including Arduino and Breadboard.






4. Electronic Diagram 






5. Video explaining the project and how it works. 



.




Circuit Play
  1. What happens if you turn the LED around (reverse the wiring)?
When I turned the LED around, the LED does not light up.
  1. What happens if you remove the positive lead from the breadboard? Does the circuit still work?
When I removed the positive lead from the breadboard the LED continues to blink.
  1. What happens if you place the resistor to the positive side of the LED and simply used a wire to run back from the LED to ground? When you do this, you will need to change up the wiring a little so check this closely to make sure you have not shorted out the circuit.
When I placed the resistor of the positive side of the LED, the LED does not light up. I then ran a jumper wire from the LED to the ground the LED started flashing again and brighter than when using the resistor.







  1. What happens if you move the wire from port 13 to port 12 on the Arduino?
Moving the wire from port 13 to port 12 will cause the LED to stop flashing. The coding would have to be changed to port 12 for the LED to light up.

Code Play
  1. If you moved the wire from port 13 to port 12 on the Arduino, what do you need to change in the code?
int led = 12;
  1. What happens if you change the two delay code lines from delay(1000) to delay(2000)? Take out a stop watch or timer of some sort and time the rate of blinking for each of these settings. How many times does the LED blink in a minute for each of these settings? What have you learned about the value that is placed between the parenthesis after delay()? What value (parameter) would you place in delay() if you wanted the LED to blink at a rate of once every 3 seconds? How about every half second?
When changing the delay code lines from delay(1000) to delay(2000)? The light blinks every two seconds instead of one. The delay(1000) blinks 30 times in a minute, and the delay(2000) blinks 15 times in one minute. The lower the number set in delay, the faster the LED blinks. I learned the higher the number delay is set to, the slower the LED blinks. The value (parameter) I placed in delay() to blink at a rate of every 3 seconds is 3000. To get a blink rate of every half second is 500.
  1. What happens if you place // before the words void setup()?
Placing // before the words void setup() breaks the code. // is used for comments and is not read by the code.
  1. What happens if you place // before the words void loop()?
           Placing // before the words void loop() breaks the code.
  1. What happens if you remove the last curly brace “}” in the program?
The code will not run if you remove the last curly brace “}” in the program.
  1. What happens if you place a // before pinMode(13,HIGH) in setup()?
The code will not be read because // is read as a comment.          
  1. What happens if you changed HIGH to high on the pinMode(13,HIGH) line?
The LED will not come on because “high” is not recognized.          
  1. What happens if you change the word pinMode to pinmode in pinMode(13,HIGH)?
The code is not recognized when I change the word pinMode to pinmode in pinMode(13,HIGH).


Extension Challenge

6. In video/text, explain how you started with the initial challenge and what your thinking was as you worked through the challenge project where the code and or the circuit was modified.

The challenge project was time consuming, but I didn't want to give up and accept defeat. I had no problem connecting the second LED, but I did have problems writing the code to make the second LED blink. I wasn't sure if I included the second pin in the same code line as the first one. Through trial and error, after a few hours I finally had two blinking LEDs. SUCCESS! I played with the delays of each light and I was finally satisfied when the LEDs were blinking at different rates because it reminds me of Christmas lights. Although frustrating and time consuming, this end result of the challenges were gratifying. 








Reflection

I am proud of what I accomplished this week. I began this class terrified and granted, I am still terrified, but I have achieved my first set of challenges. Reflecting back on the week I have learned I have to pay close attention to every detail on the circuit board and the codes. At this point I am not sure about possible extensions of this project into where I may find examples of similar programs/circuits in the real world. Christmas lights, and traffic lights are what comes to mind at this point. I'm sure as the course progresses I will have the ability to add to the list of possible programs/circuits in the real world.