ss="row">

4.140/MAS.863

Where Emilee Johnson Tries to Make Almost Anything

Networking and Communications

For this week I definitely spent the most time working on stuff for my final project, but I also did explore this week's theme because bluetooth is going to hopefully be a major portion of my finished product. I have been reading the data sheets for all of the hardware I'm expecting to use and ordered a couple of parts last Wednesday. This week I used the HC-05 bluetooth module to talk to the Arduino Uno that I already currently happen to own. I wanted to eliminate as many variables as possible (such as manufacturing issues with the Fabduino) because it's a very important learning week for me to start talking to this board and get ready for the purpose I intend to use it for in a couple of weeks.


Project 11a
So once again here is the bluetooth module I chose to use, the HC-05. I picked it for a couple of reasons. One major reason is that after a lot of digging around on the internet, this particular device is what consistently came up as recommended for use with the Arduino, and since I'm hoping to use a Fabduino to power my final project with the Arduino software that's perfect for my use. I also spent a lot of time reading about audio signals. I've learned that I should be able to send music serially to the bluetooth module because it is capable of handling pulse code modulation, which is the digital way of streaming the music. So for next week my goal will be to get the bluetooth to take that input and output it to the Arduino.
Project 11b
Here's the HC-05 all wired up. As you can see I'm using an Arduino Uno this week to connect the two of them. Next week I plan to do this again but with a Fabduino instead, and additionally I would like to be processing audio signals instead of just running the bluetooth version of 'blink LED' which is where I'm getting at now.
Project 11c
Screenshot of the Arduino code and such. I also found this business online called Tera Term that I downloaded for this. I just did some reading that was talking about how Windows' built in command line programs are crap. Honestly I just figured it was worth a shot to get something else on my computer and see how it works. Interestingly enough in the download package there was some stuff in there called 'cygterm' which I'm sure is essentially cygwin for this shell. Once upon a time I thought I was going to do all my class page updating in cygwin, and then it was a nightmare so I learned how it works in the regular command prompt and my life has been infinitely easier. Anyway, about to give this a run and see how it goes. I believe the point is to have a shell for a serial monitor that is a bit more user friendly than using the powershell settings built in to the Windows command prompt. Reading this information on Sparkfun clarified things for me a little bit: https://learn.sparkfun.com/tutorials/terminal-basics/all#serial-terminal-overview-
Project 11d
Looks like the boards are doing the thing, so I guess I could call this a success. Now that I know I have them talking to each other, it's going to be as simple as getting my code prepped for the Arduino and LED board as if bluetooth wasn't even a thing, then writing a separate set of lines to send PCM audio to the Arduino for processing. Or as complicated....guess I'll be finding out over the next couple of days. In other news, the LED matrix that I ordered from Adafruit arrived yesterday, so I'll have the ability to work on a much larger scale over the next week. I've actually already started writing a lot of the code for the FFT function and linking it up to LEDs, but not having the board limited me as far as seeing the output on a device so I didn't finish it all this week. I also have some additional concerns about the number of pins on the Arduino versus the size of the LED matrix I ordered. I'm not sure I want to compromise and get a smaller board, so I'm currently reading about how to deal with it. Seems like the internet has a mixed opinion (doesn't it always?) on how functional it would be to run the 16x32 matrix with an Arduino sized board.