Dave Mucha wrote: >>but i m still a beginner in AVR.. got really freaked out coz cant > > get anythin useful... still no idea wat a > >>security dongle is n how to construct it using AT MEGA16 or TINY26 > > assembly.. > > > > What flags this for me is that you are jumping from just being > introduced to the chips and then into a very specific product that has > very limited applications and is well beyond almost any hobby use. > > Dave It seems to me that the learner is looking for what I would call a "canonical first project". In my mind, such a project should have certain characteristics and goals: [] It should perform a simple, well-defined function that the learner is already familiar with. Ideally, the project should be something that even non-technical people can relate to as well. The psychological effect of an uninvolved person seeing the finished project and commenting along the lines of "hey, that's cool, you did that?" is big boost to a learner. [] Information for realising this project should be readily available, say, from part manufacturer's websites. [] It should be realisable with a minimum of hardware. [] It should do something sufficiently useful and non-trivial as to justify either keeping the project around, making a better second version, or using it as the basis for future projects. [] It should force the development of skills. Actually, all projects should be seen as an opportunity to develop or enhance skills. [] Ideally, it should be expandable in that you can add more "bells and whistles" as the learner's skills improve. I suggest that the learner start by making a simple time-of-day clock. It fits the list of requirements above, it can also serve as the basis for other projects down the line, both in terms of actual code and hardware generated, and it is a skill-builder. It might even make a good class project. An incomplete list of tasks that have to be performed just to show the time are: [] Getting a correct hardware layout. [] Getting the clock oscillator to operate reliably and stably. [] Generating one-second events. [] Counting those events. [] Dispaying those events is a sensible form (i.e. hours, minutes, seconds). Reasonable display options involve directly driving a 7-segment display of some sort, or perhaps an LCD character module. I would favour the 7-segment display since it would not only involve learning how to do a lot of low-level bit-fiddling, but is something that can be packaged up and used in other projects. Improvements include: [] Coming up with a method of setting the clock. In increasing complexity, one could use the "two-button" method that most watches and clocks use, or one could even set up a keypad or even an actual keyboard interface. All of these can be explored; keypad routines can also be packaged up and reused. [] Adding an alarm or two. [] Adding multiple time zone display. [] Adding a calendar. [] "Use your imagination". -- erikc == "What I don't understand is why a bunch of people who say they don't believe in evolution would put a monkey in the White House and then expect him to evolve into a President". - me
Message
Hey dude, build a clock! was: (Re: [AVR-Chat] Re: lookin for a project)
2005-12-18 by erikc
Attachments
- No local attachments were found for this message.