Theoretical knowledge is necessary, but practical exposure is equally important. To quote the
famous Confucius…” I Hear and I Forget. I see and I Remember. I do and I Understand”
Driven by the same ideology, the BMSCE IEEE Student Branch came forward with an idea of
forming a Special Interest Group (SIG) within the Student Branch. The aim was to start a learning
group, where everybody interested could join and learn what they wanted to learn. We realized that
hosting a workshop for a couple of days is not very effective. People attend the workshop, learn, but
when the workshop ends, the learning ends too. A very few percentage of people are there who
actually continue practicing what they learnt in the workshop.
As a result, most of the people eventually forget what they leant and when the time comes to use that knowledge, they are blank. It is this particular thing that we wanted to change. The whole idea was to start a series of lessons for the students, interested in a particular domain, teach them the basics over a period of time and then continue our learning in a similar manner and proceed on with doing some projects based on what we learn. With these ideas in mind we started our first SIG on AVR.
AVR (Alf Vegard RISC) is a series of very successful microcontrollers by ATMEL, having strong correlations with the ‘Modified Harvard Architecture’. AVR chips, because of their simplicity to work with and the power they gave to the user, became extremely popular and were used to develop the “Arduino” Platform.
We had in total of seven classes in this semester. In the first class the participants were made aware with what AVR was, it’s history and its technical specifications. We started with the core basics. I told them what a microcontroller is, and how it is different from a microprocessor. I showed them what the microcontroller physically looked like, and made them aware of the basic terms and verbal notations used while working with such embedded systems.
In the second class I taught them about microcontroller architecture, teaching them about CU, ALU, FLASH, EEPROM, RAM, SRAM, REGISTERS, LATCHES, SPI, System Clock, data Busses etc. Then i gave a basic overview about how they can program the microcontroller flash and then programmed the microcontroller and showed them a blinking LED, blinking at an interval of 1 second.
In the third class, I taught them about SPI (Serial Programming Interface), ADC, USART, Oscillator and other basic peripherals which the AVR Series IC’s contain. In the third session, we also started with programming of the IC, followed by hardware simulation of the actual circuit. We used “WinAvr” along with “Programmers Notepad” to program and “Proetus ISIS” to build and simulate the circuit. The students simulated the led blinking circuit, demonstrated to them in the previous class.
In the fourth and fifth class we did more of practical work, I gave them some problems to work out and achieve its solution using the hardware. I also taught them more about the programming part of the hardware and told them the header files used, and the functions accessed from the libraries and the use of those functions. An important aspect was that i told them how the code affected the hardware and how the code is actually being processed by the hardware, and what effect a particular change in the code would have on our hardware. Some of the more enthusiastic students also got their own hardware and implemented their code on the actual hardware.
In the sixth class we learnt about more programming operations, such as controlling individual pins of the microcontroller instead of the complete set of 8pins. We also learnt how to check whether a particular pin is high or low, thereby allowing us to add a button to our hardware and control and LED using it. We learnt shifting operations too, to shift 1’s and 0’s into individual pins.
In the seventh, the last class for this semester, I taught them about the “L293D dual HBridge Motor driver”. The SIG ended by a short written quiz, based on what had been taught in the classes. Students scoring satisfactory marks will be given a certificate.