April 27, 2021

Week
Thirteen

Networking

Group Project

This week for our group assignment we worked to have two of our boards communicate with one another. My group wrote the code for an output board while another group wrote the code for an input board. We then had it set up so that when a button is pressed on our board we send a serial signal that causes an LED to light up on the other board. Once that was done we made it so that we had an imput board again that sent increasing numbers depending how many times the button was pressed in sucsession. Then an output board that made it so that depending on the number of presses a little servo motor moves an appropriate ammount of degrees.

Individual Assignment

Unfortunately I wasn't able to get this weeks project done on time. I could not clear up a couple of hours to come mill out new boards, and the boards that I have I was unable to get working. I did write the code that I'm going to send to the two boards when they are done, so hopefully things should come together smoothly once we get that far.

So...

Okay so for this week I may be gently stretching the words of this assignment. So to begin I would like to just point out the phrase "node(s):" that to me implies that I can have just one board made to connect up to a network of different devices. So I'll start here by laying out what exactly is going on. I have an Arduino Uno hooked up to a computer via serial, and then I have my servo board hooked up to the arduino via I2C.

So I have this system hooked up so that when you type 1 in the serial on your computer and the built in light on the Arduino Uno will flash. If you then type 2 in the serial then the Arduino will see that know not to turn on the light and will instead send a signal down the line to my board to have it turn the servo. Does this work? Yes. Is it doing what the assignment asks? I have no idea but hope so. What if it isn't? Then I will accept my fate as I can no longer mill any boards so this is the bed I have made.

Board

So making this board, well it's actually the board that I designed for the final project. It consists of coding pins, I2C pins, power pins, a capacitor, and an attiny 1616. It isn't very complicated but it does what it needs to. I would mention board milling, but this is one of the boards that I milled at Kevin's mill with the really nice Z mapping, so there were no real problems. Soldering also wasn't any more difficult then milling any other smaller boards, but not really anything happened that was noteworthy.

Thing Milling Thing Milling Thing Milling

Coding

Coding this board and the Arduino also isn't to wild a task. The two boards really aren't that complicated. The only bit that is a little truckiy is that you need to use the Wire library in order to actually use I2C but commands for that are available online.

Thing Milling Thing Milling
  • Downloads!