I follow the same process as Week 6 using Eagle and routing by hand
Making the schematic
In this step we need to add components by typing add and we could choose them from a list part. We also could make change of position by dragging them, change of value or name by typing the respective command.
On this enviroment we can place elements dragging them, we can also rotate them typing rot and clicking or dragging them to the desire angle. We have to type route and clicking one pad and this will show to which pad is connected, you can select between different types of lines and nodes; and we can delete a wire writting ripup and clicking it.
I follow the same method and steps as Week 6 to make the board to control a speaker (You can seleect anyone you want from Fab Academy web site)
Cut a vinil stencil, paste it to the board and paint it with black spray paint
Etch the board and clean it
Put the tin paste, place the components and solder
Programming the board
I have to say that you could program the board from Arduino IDE or from your OS Terminal (You need to instal Cygwin Terminal for Windows).
I used the second way, and what we have to do first is download C file and Make file from Fab Academy web site. I decided to program a Thermistor so I had to download its respectives files.
But before doing anything it's better to understando what we are doing.
C file it's the file that contents the configuration and indications for speaker's function, on C programming language.
Make file contents the indications for the make command to generate certain types of file that we expect to obtain. But basically we expect to get an HEX file, that is a file with the C commands translated to Hexadecimal commands, that is the "language" that microcontroller understands.
Make command is a Linux tool that make the revision and compilation of the code, but also charge it to the microcontroller if is indicated.
Now that we know that, this is the make file that we need to use on Windows, bold lines indicate the changes I needed to do to work. If you are working on Mac or Linux you need to erase those changes.
These changes are because sometimes (in my case) make couldn't find the configuration file, so we have to help it.
Tip 1 - If you don't know where is the file neither, you can type whereis.exe avrdude on the Terminal that you are using, this will tell you where is installed AVRDude and you can look for the configuration at the folders of the same level. This means that if you find AVRDude on "avr/bin/avrdude.exe" you need to go up to the "avr" directory.
The C file that is on the FabAcademy web page is basically reading the sensor and sending the information by the serial port. It make the serial port synchronization by counting 1..2..3..4 and then sending two words: ADCL (Analog-Digital Converter Lowest Register) and ADCH (Analog-Digital Converter Highest Register)
To program this C code on the board we need to follow this steps:
Connect FabISP to your Output Board and both with the computer with their respective cable
Open Cygwin Terminal
Type cd cygdrive, enter
Type cd C (or your hard drive name), enter
And so on until you get to the file where you have the C file and Make file
Type make -f temp.make program-usbtiny, enter
Reading the Board
To read the serial port we are going to use Python Language so we need to download and install Python 2.7 and we also need to install PySerial and NumPy; for both open Terminal and type python -m pip install pyserial and python -m pip install numpy.
Then follow the next steps:
Download the Py File for your board, in my case Temp.py
Connect your board only with the FTDI-USB cable to the computer
Go to File Explorer, right click on ThisPC, select Manage, on the left panel select Device Manager, look for and expand Ports - COM and LPT and see the number of the Port COM (COM#)
Oper Terminal
Type cd yourRoot and enter until you get to the file where you save the Py File
Type python Temp.py COM# change # by your Port COM number in my case it was COM4
This will make appear a window that is showing the temperature that is sensing the Thermistor