We then placed four pushbuttons in the appropriate areas (excluding the horn pushbutton). We proceeded to wire up the four pushbuttons with the Leeds, resistors, and appropriate jumper cables. We decided that we would use red wires for VOID (power), light blue wires for inputs and outputs of the pins, and black wires for the VS. (ground). This was to ensure that we could easily distinguish the differences bet/men the wires and their destinations. At the end of the day, the board was quite messy. This was because there were long jumper wires and resistors condensed on one side of the 1/0 pins.
We hadn't utilized all the pins, and therefore our board had become cluttered. Thus ended day 1 Day 2 (Tuesday, May 26th 201 5) Today, we started the coding for our model automobile. We decided to organize the sections of code with green dashes so that we would be able to easily distinguish what each part operated for. We then started to evaluate what variables we would need for our right and left indicators. Since we needed them to blink 10 times, we set a counter as a variable, sized Word. Then we took the headlight into account.
We found that it would be easy to tell basic stamp that the first push of a button would turn on a headlight, and the second push of a button would tell it to turn it off, and therefore we chose sights as another variable, sized Word. Following this, we got started on our left and right indicator codes. We did this by basically telling basic stamp to flash the lights 10 times if the pushbutton was pressed once. Thus ended day 2. Day 3 (Wednesday, May 27th 2015) Today, we started our code for the brake lights.
We did this with ease, as all we had to do was tell basic stamp that if one of the pushbuttons was pressed, and therefore allowing the flow of electricity into a designated pin, the red Leeds would be given power until such time that the pushbutton is released. We then moved onto the headlight. We attempted to do the headlight code by using Gatos as we wanted to test out this new function. We found out that we could only get it to turn on and off once, having to reset the whole board to perform the function again.
So we decided to go with the lights variable and use that to count the number of times the pushbutton was pressed, such that it would allow the headlight Leeds to shut off the second time the button was pressed. Thus ended day 3. Day 4 (Thursday, May 28th 2015) Today, we focused on the horn. We put a pushbutton right in between the pushbuttons of the brake light and left indicator. This allowed for easy access to the speaker. All we had to do was enter the frequency code, and wire the pushbutton and speaker up.
We first found that the speaker was working, but died off after a while and instead, gave out a static croaking noise every time the pushbutton was pressed. We called Mr.. Marino into the scene, and told us to change the frequency, and the horn started to work again. Day 5 (Friday, May 29th 201 5) We had complete all the functions of the automobile simulation, which included: headlight, left and right indicators, brake lights, and a horn. We then deed Gatos to each part of the code to allow the code to freely flow from the brake light to the horn for example, simultaneously. And thus our program worked as intended.
We were deciding on adding photo-resistors to automatically turn on the headlights, but we figured that it was so hard to wire everything on the board and program it to do the intended function, so we completely discarded that. Our main focus now was clearing up the board such that the resistors and jumper wires would efficiently use the 1/0 pins in accordance to where its pushbutton was placed, as well as shortening them such that there wouldn't be an overload of large wires on the board. And through this, a long and aggravating process of rewiring and modifying code came into play.
Day 6 (Monday, June 1st 201 5) We continued to rewire the board. We found a great many frustrations. Some pushbuttons wouldn't work at times, some pushbuttons would do functions of which it wasn't supposed to, and sometimes the board would fully shut off for no apparent reason. And so, we had to completely change the scheme of our board. However, keeping ourselves calm, we were able to flow smoothly after quickly recognizing our mistakes and taking action accordingly. At the end Of class, we had completely rewired the board such that the 1/0 pins were most efficiently used.
This meant we had more space on the board. However, we still had not cut the wires to make it shorter. We made this our top priority for next class. Day 7 (Tuesday, June 2nd 2015) Today was dedicated towards making wires as short as possible. From the red (vs.), black (void), light blue (1/0), we cut all wires so that there was a higher chance of resistors and cables not crossing. Ultimately, we wanted our board to be as clean and visually appealing as possible. This process was a relatively Eng one, but we got all the work done in one period.
Our next priority for the following class was to add comments and properly format our code. Day 8 (Wednesday, June 3rd 2015) Looking at our code was very confusing, partly because there weren't any comments, but more importantly because the indentation was very tainted. We stared to make comments to point out the major routines in the code, such as pointing out the main DO LOOP and the flashing of the left and right indicators for 10 times. We tried to limit the comments to a maximum of 4 per section of code, and felt that anything above that number would be excessive.
We also created an introduction explaining the code briefly, the due date, and the programmers. In addition, we separated each section of code using dashed lines. We feel all of this made our code look a lot cleaner. Day 9 (Thursday, June 4th 201 5) Today we finished all the schematics with ease. We also attempted the flow chart but were having immense difficulty due to the lack of knowledge on how they work. We went to Mr.. Marino and he said that we had to do the flowchart for the whole continuous code. This was an issue, because we couldn't fit that on a piece of paper!
So we imagined how long it would be. But we attempted it and finished it to the best of our abilities. The rest of our class time was just testing our board to see if there were any errors. Day 10 (Friday, June 5th 201 5) Today we took pictures of our breadboard. We also found that our speaker had fried somewhat, emitting a croaking noise, regardless of changing the frequencies and length of tone. But Mr.. Marino told us that he would accept the flaw. Now our goal over the weekend was to finish up the conclusion, cover page, and report, and drop it off by Monday.
Conclusion Throughout the process of this SIS, we attempted to create an automobile emulation using a basic Stamp microelectronic. Throughout the process Of creating this automobile simulation, we encountered several challenges which made the overall experience more meaningful. At the beginning of our project, we created a basic layout of several pushbuttons and Lead's on the circuit board and attempted to wire and code them in a way that would allow users to use functional parts of a car, inclusive of a headlight, break light, left and right indicators, as well as a horn.
At this point, our pushbuttons and lights were working, but very inefficiently. Our wiring was extremely impotent: hey were long, obstructive, and moreover unaesthetic. In addition, the long and deformed resistors sometimes crossed each other, and overall led to dysfunction within the breadboard. Finally, we noticed that we weren't utilizing the full breadth of the 1/0 pins. We were condensing them to one side of the pins, and therefore led to wiring disorientation.
We attempted to rewire the connections, inherent of: VS. wires, VOID wires, wires connecting to the pushbutton, and resistors. We also modified our code accordingly. However, the problem was still persistent. This is when we realized that we ad to shorten our jumper wires and resistors. When we finally did this, our board became a visual spectacle in our eyes: it was clear and concise. Even though we had 3/4 of the functions, we still more to go as we still had to wire a final pushbutton with the speaker to make the horn.
We wired up both Of the pushbuttons, but had some difficulty in coding it in order to make it work; mainly choosing the frequency was the issue. We thought of several different ways in which to code the buttons and were finally successful in making the horn work after realizing that the wiring was the issue. After successfully ring and coding all of our pushbuttons, Lead's, and speaker, we ran our first official test. After this trial, we found that the different functions of the board worked simultaneously with the other functions, excluding the left and right indicators.
But after a few trials, we found that the board lagged at times. Michele Marino told us this was due to basic stamp taking up too much RAM and that this was a minor issue. We asked some of our peers to test out our machine, and all of them gave us positive feedback and additional ways in which we could improve, some of which included shortening the wires to ultimately make it more aesthetically pleasing. The way in which users could functions the various parts of the car on our board was somewhat ergonomic, but could still be significantly improved.
The buttons on the extreme right hand side of the board was used to turn the brake light, horn, and left indicator on. The wires connecting to these respective pushbuttons were somewhat deformed, but we made an agreement that after our trials we wouldn't mess with the hardware due to the complications and frustrations involved. We also made an agreement that we would not add anything extra e had in mind before we started this project, like adding a button for the gas, or photo resistors to automatically turn on the headlights.
But we did display things like "Headlight on which we felt would suffice well enough. In addition, maybe if we had another pushbutton, it would give the user the ability to turn on and off the whole automobile, ultimately adding convenience and giving the user a better simulation. Ultimately, this has been an eye opening experience. The issues we faced during this SIS have been used to better develop our problem solving, collaboration, and communication skills.
We were able to maintain composure during high- stress moments, and moreover flow through the project and finish three days before the deadline, which gave us ample time to make modifications and finish the flowchart and schematics. In addition, we feel that we met all the requirements of this project. We produced a relatively clean board, with all the appropriate functions working, as well as a neatly organized code, which we feel is our greatest accomplishment. Through this project, we will transfer our skills developed to other classes like math and computer science, as this has required a diverse amount of skills.