Oct 7th: Today, I began researching project ideas in order to figure out what I want to make for my capstone project. I wanted to make something in order to count my steps as I go on walks or runs, but in order to make this a more sophisticated project to meet the qualifications for our capstone project, I decided I wanted to make a fit-bit-like watch that could count my steps, but could also send the data to my phone to know how many steps I walked overtime.
Oct 8th: Today, I continued my research to find information about my potential step counter, and I found a lot of websites to potentially help me make the project, but what I learned researching this project idea was that I could not just use one website, but would have to use different coding and help from various websites to control the app connecting the watch to my phone, and to make the electronics themselves count my steps.
Oct 10th: Today, I ordered my materials for my project from the primary tutorial that I will be using for my project. It included a schematic and a code and the materials that could potentially work to make my watch, step counter, so I ordered my materials to begin working on my project.
Oct 11th: Today, I experienced my first setback on my project. After researching more about the tutorial that I used and looking up the app that was connected to the coding, I realized that the app could only be downloaded on androids and not apple devices, so I began researching more websites to connect a step counter device or apps that could communicate with my phone, getting information from electronics such as arduinos. I found two websites and am trying to combine codes that are related to an app called Blynk. Now I am trying to understand code.
Oct 21st: Today, I created my task analysis and set plan for project. This is my initial plan, that I am basing off of the website that had the materials that I am using for my project and the website that helps me understand how to code, work Blynk, and connect this project to my phone. This is the initial plan, so will probably be changed throughout my project.
Oct 22nd: Today, I talked with Mr. Dubick on how to combine code if it would work in order to make it read off my phone as well, with the materials and software I planned to use for my project. He suggested that I look at a Bluetooth module and ways to code this to have it connect to my phone and apps like that but using Blynk could work too. I began researching bluetooth modules and if I could connect them to Blynk if necessary.
Oct 23rd: Today, I began researching an Arduino nano 33 sense because we need to order something compatible with my phone and with Bluetooth. I am trying to use the code from the instructable to manipulate it to be compatible with this type of sensor with the Blynk program. This would hopefully work better than the hc-05 sensor I had because hc-05 sensors are only compatible with Samsung and so is phone app I tried to use, so now I am trying a different approach.
Oct 28th: Today, I desoldered holes in a new Arduino board. Then, I put pins in the arduino to later solder them, and made sure there were enough for each hole. I also went back to my original task analysis to make sure it was done and detailed enough to be through enough for me to know what the next steps were to my project, even if the boards weren’t the same, I could see where the milestones were for my project as a whole.
Oct 29th: Today, I tested the Arduino nano bluetooth with the sample Blynk program on Arduino. I changed the speed of delay on the Blynk program to make sure it was working properly, and the next step is to try to connect the board to my phone. I downloaded app called lightblue to run the code and program because lightblue works better with bluetooth connection, whereas Blynk works better with wifi but can work with both.
Oct 30th: Today, I soldered the Arduino nano bluetooth and began to test the bluetooth of the board with light blue and trying to see connections, but after working on those connections all day, we’ve decided to change to a wireless connect board because Bluetooth was not working well, and the internet could be a higher connection and work more consistently, potentially.
Oct 31st: Today, I started using a wemos d1 wireless. This is the third new board I'm trying, and since it is wireless instead of Bluetooth, it will hopefully be more consistent and work. I started by going through the tutorial page on google classroom to make sure it works. I had to download a new library on the arduino program for this board to work, and so I could run simple test on it to make sure it was working and that I understood what the pin outs and how the board worked.
Nov 1st: Today, I soldered my wemos board. After soldering the pins to the wemos board, I needed a way to learn how to connect the wemos to my phone using the Blynk program on my phone, and the best way to learn these connections was through an LED. Mr. Dubick created an example of a blinking LED using his phone, and now I was to test this to see if it would work with my phone.
Nov 4th: Today, I got the wemos board to blink with simple blink test on Arduino and it being hooked up to the computer, but now I am trying to get it to blink with my phone. I have the wemos online now due to the basic Blynk code that is blinkBlynk, designed to blink an LED, and when I entered my authorization code and the wifi information, I still couldn’t get it to blink yet but got wemo online, so it may be a wiring problem.
Nov 5th: Today, I added a terminal to my Blynk program on my phone to see if it was online and working. I got the LED to blink by changing the LED legs, switching short and long, and I realized that the wire was going to ground and not power and I needed to change the wire to D1 to talk to phone. I used a 330k resistor, and now I'm trying to blink 2 LEDs, in order to make sure I understand the Blynk program and how electronics work with it, and not just making sure it works with one, but can work with multiple functions. The 2nd LED not working, right now.
Nov 6th: Today, I learned that the problem with my second led was that it was not connected to a ground, and I had the wire connected to the power, but I needed another wire to make it go to the ground that was being used for the other led, and this allowed me to blink both leds. I also watched videos and looked at the image of the accelerometer wemos to see where I was going to go next with my project.
Nov 7th: Today, I found the right accelerometer that was compatible with the wemos D1 mini. It is called the lis3dh accelerometer. I began looking at tutorials for the sensor and trying to understand it so that when it arrived, I could test how it worked with the wemos so it could get accelerometer information.
(https://learn.adafruit.com/adafruit-lis3dh-triple-axis-accelerometer-breakout).
Nov 8th: Today, I downloaded the adafruit library to Arduino for the lis3dh accelerometer to test if the new accelerometer would work with just a basic code with the wemos. I then soldered three pins on the other side of accelerometer. Then I set up the wemos with wiring connecting it to the accelerometer to be able to test to see what it does or if it can measure or count numbers with the accelerometer, and I will test it next class.
Nov 11th: Today, I rewired my board because it didn't match with website. After I rewired the bored, I tried to download the code for basic lis3dh practice code. I changed the pins for the code to match the wemos board, but now it won't upload to the wemos board and it is getting really hot when plugged in. I tried different wemos names under boards on the Arduino programming to try to upload it and still won't upload or compile for the board, but I will keep working on this.
Nov 12th: Today, I continued working on the Arduino nano programming, and the library is still not working and won't compile to wemo D1, so now I am focusing on trying to look up how to calculate how to count steps based off of code and the boards I am using, which is an accelerometer and a Arduino nano.
Nov 15th: Today, I had trouble compiling the code so tried using normal Arduino Uno and it wouldn't work for the port so I restarted the computer and it compiled but now the serial values won't read, and I realized that the accelerometer could be fried due to a short connection, and now have to wait for new accelerometer to come in to work on it.
Nov 18th: Today, I am working on the math for my project, using a spreadsheet, by defining variables based off of a formula on a website to have how many strides and how many steps in a stride and how to calculate for different heights. I also am doing research to figure out how my accelerometer will measure distance.
Nov 19th: Today, I tried to research accelerometers measuring distance, but nobody recommended doing this and after talking and reevaluating my project, I realized that I need a gps to measure distance and to connect and find values. I will need to incorporate code to measure steps to connect to my Blynk phone program, but in order to measure distance I need a gps and I can't do that with accelerometer.
Nov 20th: Today, I soldered another LIS3DH accelerometer, and I tried to work with a Adafruit gps, but I couldn't because didn't have the right coax connecting cord to connect and act like an antenna and connect it and I couldn't find values, so I ordered that to be ready to do calculations.
Nov 21st: Today, I figured out why the accelerometer was not working. It was going off of an spi program that we did not have, so commented that and uncommented line that defined what LIS3DH is defined as and this made values appear. I tested my old LIS3DH and it worked too. Now have to work with gps to get distance data.
Nov 22nd: Today, I worked on finding a simple test to do for gps and the cord is coming in, so I needed a basic test to make sure the gps works and can get serial values. I found a pdf that gives a basic gps test so just have to solder the gps pins in, and I have to wire the board to go with Arduino uno to make sure it works.
Nov 25th: Today, I soldered my gps. Then I set up my gps to test to make sure it works. I came up with the idea that if I used code to find steps and put it on the gps code, I could calculate those values and if I used app to directly translate it then it could work, but I don't know if this will work- just an idea of how to make this come together. Now I began researching how to find a code that would work for these calculations I need.
Dec 1st: Today, I tested the gps and it works. I got the adaptor for the gps but it isn't compatible; I need a male to female adaptor and I have a male to male adaptor. Now I am realizing that I will have to use wemos to say what values are in code to measure steps and communicate that to Blynk, and then use a gps with that board to give location for steps. I found an adaptor for the cord for the gps and also created a spreadsheet of how to calculate steps with more detail and more specific variables.
Dec 2nd: Today, the code I used for wemos was basic blink code, so when doing the code, I will have to make a code designed for gps combining with the basic step finding code or could wire the wemos to gps like I wired it to Arduino uno, combining those two and then I would need to figure out how to make code talk to phone using language like Marco Polo but saying if this many steps show this number values as virtual pin. Changed gps wired to Arduino uno to wired to wemos, and I am trying to upload blank document to see if it works and it is not right now to the wemos and gps. Blynkblink1 is the name of document I used for the blink of wemos. It's not working with the blink code, and I will try to connect both of these with Arduino uno in between, to see if that will make it work.
Dec 3rd: Today, I worked with Mr. Dubick to figure out if wemos D1 works with a serial monitor. I also researched to try to find codes that might work to connect gps and wemos but also display values, close to working, but not quite yet.
Dec 5th: Today, I experienced a major setback in my project; the gps I was using does not have spi or I2C making it not compatible with the wemos board so spi or I2C won't communicate and boards won't work together, so I am getting a new board from Adafruit that just came out for gps. Now I am researching to see if the new gps tracks mileage.
Dec 6th: Today, I found 2 potential websites to use for code to calculate mileage from longitude and latitude and looks like they will work. Once I can make sure this works when the gps comes, then I can add the step calculation to the mileage to calculate that to make all those functions work. Now I am looking at the codes to differentiate between the two and seeing what calculations are actually leading to, to see if one would be better or work better than the other.
Dec 9th: Today, I broke down the Arduino and new gps finding what is wrong in each piece and troubleshoot my whole project. I did Arduino then Arduino and new gps then wemo then wemo and new gps and it is now reading values off of the serial port. Now need to add code to make values turn into steps.
Dec 10th: Today, I worked on incorporating my codes together, and I did calculations to change to steps. The problem is that it won't read or get position from gps- many code issues, so I am having to troubleshoot my code in order to make it work and read my gps values and do math at the same time.
Dec 11th: Today, I am trying to fix codes by breaking down to just trying to declare gps because that is a common problem in my code and the codes I have tried. When I did this, tiny gps was not a file or directory so I need to download it. I installed tiny gps library to try to make it work. Now I need to try to combine steps code and declaring gps code to see if this combination will work, still troubleshooting code because not working.
Dec 12th: Today, the code is still not working and not declaring the gps and longitude and latitude values, so I will need to try another haversine formula, to calculate steps. I deleted a portion on my steps code and turned it to void loop from void setup to see if it works. I found out that the Flora I2C code works with the gps and wemos, not the tiny gps library code, to get initial code info.
Dec 13th: Today, my gps is only reading values of zero because it was raining outside. I found code off of Blynk tutorials that connect to my gps that I can test to see if work with phone. GPS is offline which is only problem communicating to phone, but will probably connect and tell me values tomorrow.
Dec 16th: Today, my phone can now connect to my gps, and I changed the code to d2 and d1 instead of normal values to be a virtual pin and read values off of the wemos board. Then I made code for haversine formula and will see if it works or not. Variables are defined and math equations works off of variables, but may not work.
Dec 17th: Today, the haversine formula can work if define values like instead of just variable, they are given specific numbers, it is just not together with the whole code or with code that connects to GPS yet, but learning about code and variables through a lot of different codes. I used Fusion 360, a CAD program, to design and 3d print a prototype of a band to later put electronics in. It takes after a model of a fitbit, to look like a watch, but can still have a dip in the band to hold the electronics and hide them later. I also researched how to power the wemos D1 board, and I found that lithium batteries will work to power them, so will be using a lithium battery in project.
Jan 6th: We recently got back from holiday break and are continuing to work on our capstone projects. I am trying to figure out how to get the lithium battery to fit in my case and power the wemos D1 and gps, without it taking up too much space, but still be able to power and have my watch work as a whole. I am using a new Adafruit battery to try to power my battery while connecting it to my board as well.
Jan 7th: Today, I had to use heat shrink to connect two wires to make my ground wire strong enough, without breaking, to put in my bread board. This allowed my wire to be strong enough to connect my circuits. It took me a while to figure out how the wire would connect because it was too thin to be strong enough on its own, but with the small tube, black heat shrink, it worked. Now I am trying to hook my wemos and gps up to the power board the connects to the lithium battery.
Jan 8th: Today, I I had some trouble connecting my new battery to my breadboard with my other electronics, and the location is not displaying on my phone and the gps is not connecting to my phone. This could be due to rainy weather outside, interfering with my gps, so now I am working on my case for my project. I changed the units on Fusion to inches to better work with my project dimensions.
Jan 9th: Today, I continued working on watch case. I tried to measure the exact inch measurements needed to make my case, so I would be able to manipulate the prototype case I made to fit the wemos board and gps board and battery in my case. I began by recreating similar lines to my prototype, but making the lines longer and taller.
Jan 10th: Today, I made a sketch for my watch, and I extended the height by 1 inch so I could make the arch to the watch. I am connecting the lines and using the push pull tool to make the box with the arch I just created 3d. I am making the push pull the same as the width of my box to be able to hold all my electronics together.
Jan 13th: Today, I made my new task analysis for my project. It included what I had left to complete my project, the deadlines I gave myself to complete each part of the project and the materials needed to complete my project. I had three main areas to complete, which was put together my code, make my case, and put my project all together. I had already begun working on all these things, but I need to finish them up in order to complete my project.
Jan 14th-21st: I worked on Excel tutorials on Lynda to understand how to use Excel and how to do basic functions to be able to make spreadsheets and use Excel more efficiently in the future.
Jan 22nd: Today, I made an initial cut in my watch case, but now I'm trying to make a sketch to go through the middle to make the pocket in the case, and I still need to make slits in the side. It is hard to orient a box to be able to cut through my watch but still be able to maintain the arch as well, so I have been working on trying to orient the box the cut through the middle and not the sides of my arched box, and still make a deep enough pocket to put my electronics in it, so I will continue to work on this next class.
Jan 23rd: Today, I made a rectangle to cut through as a pocket in my case. I cut it deep enough to still have the bottom of my case still there, so I could put my electronics in it, with them being hidden enough in the case and still be held in the case without falling out. Then I made slits in the side for a band. I used the line tool to make the side rectangles and made them on each side of the watch to make equal size bands on each side.
Jan 24th: Today, I downloaded my watch as an stl to later 3d print. I also downloaded all of my code to my new computer to work on, and I downloaded all the necessary libraries to make my code work. I got moved to a different computer the second semester so I had to make sure I would still be able to work on my code and it would still work with my boards even on my new computer.
Jan 27th: Today, I am going back through code to understand it. I am remembering which codes worked to result in different functions, like which code gave me basic location of gps and which codes were printing serial values for my gps and wemos d1 board together. I am also charging my lithium battery to use for my project using the computer. I am now researching how to define variables on blink and in general to be able to display and get values to combine my codes.
Jan 28th: Today, I am making a code with actual latitude and longitude already in it to try to get basic math down. I am placing a value to see how far or how many steps I walk in a mile and in one change in latitude and longitude so I can see if I can get the math to work separately to have a basic code for the math of my steps.
Jan 29th: Today, I edited the code so that it doesn't include the word math because basic math functions are already included into the arduino program, and it wasn't working before, and I need to test with arduino so that I can see if it uploads to serial print value. I got basic math to work, which is a lot of progress in my project.
Jan 30th: Today, figured out a possible way to combine basic gps and blynk and math codes, but using the already built in longitude and latitude variables in another code I used, instead of using the set longitude and latitude numbers I used in my basic math code, and hopefully it will work. It is still not working at the moment.
Jan 31st: Today, I found a board to connect my electronics to that is not a breadboard. I had to find two protoboards that looked like breadboards so I would be able to solder my wires to the thinner protoboards instead of keeping my electronics on the clunky breadboards because then the boards would be too thick for my case. I took pictures of my wiring so I would be able to solder it onto my new protoboards.
Feb 3rd: Today, I worked on fixing my case because it was so big and clunky, and way too wide to be placed on my wrist or used as a watch. I also realized that I needed to solder stuff to a thin bread board, the protoboard. I also began researching the distance in longitude and latitude that makes steps in a mile in order for my code to work from one value to the next. Lots of little details on my project that need to be fine tuned.
Feb 4th: Today, I soldered my electronics and boards to the two protoboards instead of breadboards, so I could make it thinner. I realized that I needed to make the case longer not taller because of how the protoboards line up. Since the case was so wide, too wide for my wrist, and the protoboards lined up to be around 6in when overlapping and together, I could make it longer rather than wide and have it be as wide as the protoboards.
Feb 5th: Today, the setbacks of my case was that it all deleted when fusion glitched and now I can't download it onto my computer so have to edit it more, and also I took new measurements of the length and width of my project to be more exact with the new way I was going to build or manipulate my case. I was able to extend the lines of my case and make it longer, and now I just have to make it shorter rather than tall, because my side walls are really tall and I don’t need that.
Feb 7th: Today, I realized dimension off on case, and that it needed the width to be 2.5 inches, not 4 inches, in order to fit all of my protoboards exactly into my case. This was the major problem I would have to fix in order to make my case functional on my wrist, so I began trying to manipulate the lines of my case, but it just messed up the other dimensions and lines of my project, so I will have to keep working on fixing this problem.
Feb 10th: Today, I used the scale tool to make my sides less wide and make them 2.5 inches. I scaled my case on the y axis to make it less wide, rather than affecting the dimensions of all of my project. Now I am trying to 3D print my case after I exported it as an stl file, and the printer failed the first time, so now I’m trying to print it again. It keeps failing because it says the tip of the 3d printer is not clean and can’t orient, so I will keep trying to print it.
Feb 11th: Today, the 3d printer works now so print out the case. Also I added calculation to measure steps per mile, by dividing my math by 69 in order to get the steps per mile, and be able to have the calculation on my wemos. I also edited my blynk program to add a display value so I can see distance to distance and the values I am calculating.
Feb 12th: Today, I put my project together with my electronics in my case, and I tested my project using the blynk app and it can measure distance or values between one location to the next. I put the lithium battery underneath the protoboards and the battery connecter on the side of the watch and it fits perfectly width and length now, so the case looks a lot better than before.