This week I spent some more time getting through tasks on our Gantt chart in order to keep on schedule. At the beginning of the week, Aidan and I were able to finish up the demo that we were stuck on towards the end of last week where we were trying to be able to programmatically change the display using the ESP32. We added two images onto the micro sd card that we put the build file onto and we were able to flip between the two images using some Arduino code. We realized that we had to match the baud rate of not just the serial monitor that we had previously been doing but also the fact that we are sending commands between the transmitting/receiver line. That was one of the causes of the issue we were facing last week. The second was the fact that when sending the command to the display, we were just doing a Serial.write of the entire string command that changes the variable from the first to the second image. We ended up switching to writing the command one character at a time before sending the terminating strings. This is probably a good reference for us to switch between different images or a floor plan. But now we have to think about how we will be tracing a path over the floor plan. It seems that the Nextion application might only be used for the background image but all of the other code will be done on an Arduino sketch that will interface between the display and the ESP32.
After we got this working, I wanted to move forward with trying to test the smaller components that make up our nodes, like the 5 LEDs that show the direction and the smoke sensors. During the middle of the week, I coded up an Arduino file that iterated between North, East, South, and West commands and would display the arrow for the corresponding direction on a timer. This was just done through hard coding the four directions and changing which second LED was on because we decided the middle, reference LED will always be one so the user can tell directionally which way to go. Finally, as the smoke sensors only arrived Friday afternoon, I started to figure out how to wire it but it required multiple look throughs of datasheets and tutorials. I already wrote up the code for how to test it but based on my understanding of how to wire it, I created the circuit below.
My readings for smoke seem a bit off so I want to ensure that I am wiring it up correctly and I might try a different method as the tutorials I’ve gone through mention the use of a fourth pin or simply just three. I want to figure this out by early next week. Further, we only ordered one breakout board for the smoke sensors as we would be using our own version of PCBs for an entire node so we wanted one to ensure the right pin layout. For now, as I am not soldering quite yet, I just used banana plugs to make my connections with the breadboard but eventually we would solder directly onto the PCB we end up using.
In the upcoming week, I want to tune the smoke sensor to display accurate readings. I also have been communicating with Aidan about what our plans are for the PCB in which case I would like to finalize the in house manufacturing method that Professor Mukherjee had mentioned. We had mentioned that in this case we might not need a complex Eagle design but if we do I want to ensure enough time. Beyond this, I would love to get some integration going before our final demo. Based on Jason’s pathfinding code and broadcasting methods, we would love for it to be integrated with the temperature and smoke sensors that we are reading and have it correspond to some sort of helpful output on our display.
While we missed a little bit of class time due to the ethics lecture, we were able to work on our parts independently outside of class. That being said, I think I am close to being on schedule with the exception of the smoke sensors which I hope to fix early next week. Jason worked hard on the broadcasting between nodes that we were behind on last week so now that task is up to date. The only part I am behind on at the moment is the PCB design because before we thought we would be sending them out to a third party to be fabricated before we had the meeting about the in house manufacturing. That being said, we are prioritizing figuring out those details and finalizing what we would need to do to prepare for that to happen in a timely manner so we would need to push that back on our schedule a bit more.