* Read a microcontroller data sheet
* Program your board to do something, with as many different programming languages and programming environments as possible
* Extra credit: experiment with other architectures.
Neil's class Summary
This week's weekly class at
Sinergia Tech
was led by
Pablo Gindel
, our teacher and guru in programming and electronics. We went from abstract concepts and physical laws that regulate the behavior of electrical energy to prototyping and programming a simple circuit using an
Arduino UNO board
.
We learned to recognize the basic differences between the
different architectures
and the computing capabilities each offers. Arduino UNO has an architecture of 8 Bits, works at a speed of 16Mhz and has an internal memory of 32Kb while a regular desktop PC, for example, has a 64-bit architecture (8 times more powerful than Arduino), can Processing at a speed of 3.4Ghz (3400Mhz) and has an internal memory of 32Mb (32000Kb). This comparison provides a quick view of the actual capabilities of each tool.
We talked about the difference between analog and digital:
Boolean
concepts, their symbology and the phenomenon of
aliasing
in analog readings.
We then sketch, prototype and program - with Arduino IDE - some simple circuits to observe the concepts in the field.
Great class Pablo! Thank you very much!
After a quick reading of the
ATiny44A data sheet
and to consult some sites of
students
of previous years i went straight to program my Hello board.
It is very important to handle the nomenclature of the pins and their correspondence with Arduino IDE.
These are the appropriate connections for programming: we must connect the Hello board to our FabISP and from there to the pc using a USB cable.
It is not possible to program the board using the FTDI connector, i think that it only allows monitoring the status of the board. If you carefully observe the design you will see that we just have connections to VCC, GND, TX and RX.
At the beginning I had many problems to program it using Ubuntu: both running on a virtual machine and running directly from boot. I could not get Ubuntu to recognize and be able to write through the USB port to which I plugged my board. After several failed attempts, I decided to program it directly from
Windows 7.
The first thing was to install the driver for the USBTinyISP card to work. I recommend doing it
this way
.
Verify that the device is properly installed from Device Manager.
Then download and install
Arduino IDE
.
Now we must add the Attiny44a microcontroller to the list of chips that Arduino can program: under File/Preferences go to "Additional Boards Manager URLs" and paste the following route:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
For more information about configuring the Arduino IDE to program oher microcontrollers please check
this link.
.
Then, under Tools/Boards Manager .. search for "attiny" and install it.
Now we set the ATTiny 44 board, the clock to 20Mhz, the port (COM3 for me), the programmer to USB tinyISP and burn the bootloader.
I did several tests uploading differents Arduino sketches to the board.
1. Blinking LED (File / Examples / 01.Basics / Blink)
2. Button (FIle / Examples / 02.Digital / Button)
3. Button toggling from LOW to HIGH (more information
here
).
Download the Arduino sketches.