14. Networking and communications¶
This week’s assignment:
group assignment:
send a message between two projects
individual assignment:
design, build, and connect wired or wireless node(s) with network or bus addresses
Group assignment¶
- Sending device: Katie‘s Satshakit with a Force Sensitive Resistor
- Receiving device: LCD board with 16x2 LCD from week 12 (My LCD Board Files)
- Data: Force read by Force Sensitive Resistor
- Method of communication: Serial TX on Satshakit/Software Serial RX on LCD board
We connected Katie’s board to my LCD board. Her code was as follows:
/* FSR simple testing sketch. Connect one end of FSR to power, the other end to Analog 0. Then connect one end of a 10K resistor from Analog 0 to ground For more information see www.ladyada.net/learn/sensors/fsr.html */ int fsrPin = 4; // the FSR and 10K pulldown are connected to a0 int fsrReading; // the analog reading from the FSR resistor divider void setup(void) { // We'll send debugging information via the Serial monitor Serial.begin(9600); } void loop(void) { fsrReading = analogRead(fsrPin); Serial.print("Analog reading = "); Serial.print(fsrReading); // the raw analog reading // We'll have a few threshholds, qualitatively determined if (fsrReading < 10) { Serial.println(" - No pressure"); } else if (fsrReading < 200) { Serial.println(" - Light touch"); } else if (fsrReading < 500) { Serial.println(" - Light squeeze"); } else if (fsrReading < 800) { Serial.println(" - Medium squeeze"); } else { Serial.println(" - Big squeeze"); } delay(1000); }
You can see the setup working in the above video.
Individual assignment¶
For this week’s individual assignment, I continued my Serial Display project that I began in week 12 with the assistance of Maxine! I documented it fully here on my week 12 page, but here’s a recap:
- Sending device: Satshakit with TMP36 temperature sensor from week 11 (My Satshakit Design Files)
- Receiving device: LCD board with 16x2 LCD from week 12 (My LCD Board Files)
- Data: Temperature read by TMP36
- Method of communication: Serial TX on Satshakit/Software Serial RX on LCD board
You can see the display functioning in the above two videos.
UPDATE (6/24/19)¶
Above, I have included a basic diagram that demonstrates the connections between the various components in my wired communication project shown above.
Wireless communication¶
To work towards my final project, I decided to work on connecting the aforementioned boards wirelessly to move towards my final project. To that end, I found that our Lab had Microchip’s MRF24J40MA 2.4 GHz IEEE 802.15.4 radio transceiver modules. I found the datasheet here.
My first issue was that the modules run on 3.3V, not the 5V that I run my boards on. Therefore, I had to find a solution to convert the power and all signals from the board to the module from 5V to 3.3V (the boards should be able to interpret signals at 3.3V just fine). I settled on a Logic Level Converter.
I found a library for the transceiver here.
First, I had to solder on pin headers to the boards so that I could begin prototyping with them.
UPDATE (5/19/19)¶
I finished soldering this board recently after a pause. I will likely be using it for my final project.
Above, the finished product. Note the female pin header in the top right corner to insert the TMP36 temp. sensor (which only uses 3 of the 4 pins in case you were wondering).
UPDATE #2 (6/24/19)¶
Due to many, many unresolvable issues with the MRF modules (documented here), I eventually went with the ESP8266 WiFi modules. You can see my successful results with these modules here.