Hi, my name is Gabriella and I am a rising junior at Yeshiva University High School for Girls. I had no knowledge about engineering prior to Bluestamp. During the six weeks I spent at Bluestamp, I accomplished two projects that required me to step out of my comfort zone, and learn new things. My starter project was an electronic die, and the way it works is you tap the die on the table, the piezo senses it and sends a signal to the microcontroller, and the microcontroller decides which LED should light up. My starter project required a lot of soldering. I did not solder correctly and that led me to run into a few problems which I eventually overcame. My main project was an LED necktie. For my intensive project I had to connect the neopixels to the GND,D6, and VBATT pins on the flora board. The microphone is connected to the D9, 3.3V, GND pins on the flora board. I had to code so that my neopixels would light up. Since Coding was very new to me, I had to learn what everything meant in my code, and that was very frustrating. I was able to light up the neopiexls in many different patterns. In the past six weeks at Bluestamp I’ve learned how to solve problems on my own, and I’ve become more independent. Bluestamp was an extraordinary experience. The information that I learned at Bluestamp will last me a lifetime.
My final milestone was getting my neopixels to light up with different patterns by speaking into the microphone. I needed to download the Neopixel library, because I needed information on the neopixels in my code. I had a difficult time understanding what each code did. There are a few different codes for the different patterns. For the blue and orange patterned code I had to add uint32_t c2= strip.Color(0, 0, 255); //blue to the code that adafruit had. Uint32 is a variable, and a variable is a value that can change depending on when the information goes through the program. The three numbers in the parentheses represent (r,g,b) and represent how much of each color there will be. Zero is the least amount and 255 is the most. The code that I used for the voice activation was the color organ code by adafruit. For the rainbow code the i in the for loop decides which neopixel should light up. The function strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255)) says which neopixel should light up. Strip.numPixels() goes through each pixel in a for loop and lights them up. It has the type void, and in a function with the type void, the function does not have to return its information to the function that it came from. The function just decides which neopixel should light up and it does not have a value. In the for loop there are three statements in the parentheses. If the second statement is true then the for loop will happen again, if the second statement is false then the statement in the for loop will stop being used. In the for loop there are i and j variables. The i represents the neopixels and j is a variable and they are parameters. Parameters are the variables in the parentheses.
I encountered a few problems while building my project. The wires that are soldered to the microphone kept breaking, and that caused a bad connection between the neopixels, and made the neopixels very dim. I had to keep soldering the wires back which was very frustrating.
Bill of Materials:
For my first milestone I made my LED blink by using my microphone which was really exciting. I needed to download the Arduino IDE which means integrated development environment; it’s a definition that I just learned the meaning of. I had to re-download the adafruit Arduino IDE because I needed the adafruit flora in Arduino. The code was only able to work if under the boards there was adafruit flora. I used the basic blinking code and changed a few things. I added Serial.begin() and it is used to set a connection in bits per second. I also added int which is short for integer and it stores data in numbers. I also added an if statement where if the variable is greater then 600 then a signal is sent to light up the LED, and if that statement does not happen then the else statement will come true. The microphone is connected to the flora through wires. Three wires are soldered to three holes on the microphone: OUT, GND, and VCC (which stands for voltage common collector), and those wires are connected to the flora. The OUT is connected to pin D9, the GND is connected to the GND pin, the VCC is connected to the 3.3V. The LED is connected to the flora through wires. One wire is in the GND pin and it connects to the wire that is on the negative side of the breadboard. Another wire is in the D12 pin which is a logic pin and it connects to the resistor which is on the positive side of the breadboard.
My starter project was an Electronic Dice Kit. It requires PIC12F675 which stands for PIC (programmable integrated circuit) microcontroller and it is an electronic circuit that can do many different tasks. I also used four 470 ohm resistors, one mega ohm resistor, and a 10k ohm resistor. Resistors are used to resist the flow of a current. A Zener diode is used to allow the flow of current forward and backwards in the circuit, seven 10 mm LEDs give off light when an electric current passes through them, and a Piezo sensor with leads is attached to 1/4″ acrylic base by four 3/4″ screws. A CR2032 battery supplies power to the PCB. The Electronic Dice is not your typical die. When the die is tapped on the table the piezo senses it and sends a signal to the microcontroller and the microcontroller decides which LED should light up. The PIC is able to go into a sleeping mode because it was pre-programmed with a timer and once the timer goes out the die goes to sleep. The PIC wakes up when the pins sense a change. The random numbers occur because there are 10 bits of binary numbers, binary numbers values are one and zero, no other numbers. Each binary number is equal to two to the power of a number, and the numbers double. Those 1o bits of binary numbers represent 0 to 1023. In the microcontroller only the last three bits out of the ten are used and they are equal to a number from zero to seven. When the bits shift to the left it leaves a value from one to six.
I had a few problems while building the Electronic Dice Kit. At first only a few of the LEDs were working and then all of them stopped working all together. Another problem was the leads from the Piezo kept breaking. The reason for all the problems was that I didn’t solder correctly, so I had to solder everything again. A very important thing that I learned from building this project was to solder correctly.