For this weeks assignment we have to read a microcontroller data sheet and program our board to do something.
READING A DATA SHEET
try to read the data sheet was very frustrating for me because despite doing my greatest attempt, could not quite understand anything of what I saw. All this has led me to conclude that for my training and study it feels much easier to understand the hardware side but I have no theoretical basis of any type in order to understand how the software works.
From the image of the chip I can understand but I look in Michael Hurtado's last years website and it really helped me to understend everything better. It made me understand the diference of pins A and wich are digital inputs and outputs, in the port A having converters andlog/digital that also can be used as analog pins.
I'll keep trying to find the way to understand better the datasheet but it will definetely take me more than a week to find it out. Unfortunately I found this week's assignment very frustrating for me.
In this week I also searched por new ways of developing a knowledge in programming from scratch as I consider my understanding in less than zero so I found different programs even for kids that help you develop this way of thinking. I consider myself a very visual person so I need my programming interfases to be more graphics to understend them better. Next I show you some of the ones I found:
One of them is Scratch which is a free desktop and online multimedia authoring tool that can be used by students, scholars, teachers, and parents to easily create games and provide a stepping stone to the more advanced world of computer programming or even be used for a range of educational and entertainment constructionist purposes from math and science projects, including simulations and visualizations of experiments (source).
An other one that I realy liked is Hopscotch for iPad which help you learning fundamental programming concepts which I do not have like sequiencing, abstraction, values and conditionals.
In the process of trying different ways of programming I found also interesting the use of Ardublock a programming system Tool designed by MIT. For installing you jus have to put the "jar" file into "tools/ArduBlockTool/tool/ardublock-all.jar" in your system file.
Next I'll show you the hardware to be programmed: a multi purpose board with an ATtiny44 chip and a external board with LEDs and a button. You can see the process of its design and producction in here.
For the programming I'll be using the FABISP and Linux terminal to upload the C code as an exersice. In case you want to program in the Arduino IDE you will have to install the Attiny44 libraries then select it on tools / Board and then in the programmer choose the USBtinyISP to programm using de FABISP.
As you can see in this image it was important to know how to conect each pin betweem boards so I identify each in the back of each one. I connected the button on the pin 11 and the LEDs I connect them to the pin 6 that correspond in the datasheet to PA2 and PA7 respectively.
For my lack of understanding and experience in the subject they recommended following the exercise of my instructor José de los Ríos to complete this assignment understanding the C program itself.
In the linux terminal using it as an administrator I wrote " sudo make -f embedded_programming.c.make" then "program-usbtiny-fuses" and then enter and it asked me for the password I digited it and the program run. It ended with the messaje "avrdude done. Than you". This is time to "sudo make -f embedded_programming.c.make" and "program-usbtiny".
You can download here the programming files.
Next you can see an image of the resoults and a video.
Click here to see this class content
Click here to see this class recorded video