Students should view this site weekly for lesson plans. post-class review, and lecture preparation. Adobe PDF files are viewable with Acrobat Reader (preferable Version 4.0).
Jump to a Lecture:
1 | 2 |
3 | 4 |
5 | 6 |
7 | 8 |
9 | 10
Jump to a section: Web links and References
Lesson Plan: GUI-Based Control Introduction - Part I
Visual Basic is a powerful language for programming a GUI. The integrated development environment (IDE) is introduced to write our first set of programs that feature commands buttons and text boxes.
Handouts, slides and Homeworks
Synopsis: Visual Basic's IDE was introduced. "Hello World"-type programs were generated by each student on a personal computer. Command, option and textbox controls were explored. A generic stepper motor was featured.
Lesson Plan: GUI-Based Control Introduction - Part II
Additional controls such as message boxes, labels and string handling are explored to increase our VB repertoire.
Handouts, slides and Homeworks
Synopsis: Prompting user input into a VB program can be achieved in several ways: textboxes and pop up dialog boxes. One caution is to verify input data type (e.g. Integer, Double or string). Relays were also introduced and when interfaced to a PC, a 74LS374 octal latch can be used for sinking current.
Lesson Plan: GUI-Based Control Introduction - Part III
Scroll bars, timers and menus conclude our introduction to VB basics. Numeric keypad interfacing will also be introduced.
Handouts, slides and Homeworks
Synopsis: Scroll bars, timers and menus offer additional program customization. Conceivably a user would use a scroll bar to adjust a PC-interfaced motor's speed; a timer can be used to trigger a relay at certain intervals; menus can be used to limit a user's selection of parameters. The past three lectures have given us the foundations of GUI programming which will be leveraged for real-world control in the upcoming weeks.
Lesson Plan: Advanced VB: Dynamically Link Libraries (DLL)
VB affords rapid front-end development but has some limitations, namely I/O is not possible. Other languages such as VC++ can serve as back-end code, which can be stitched to VB front-ends using DLLs.
Handouts, slides and Homeworks
Synopsis: In VC++ one can create a DLL that access I/O ports. In VB the DLL is stitched during run-time and can then read and write to ports. A VB GUI to control an 8255 interface card and LED circuit was demoed.
Lesson Plan: Advanced VB: ActiveX and Winsock
ActiveX technologies afford software recycling. Readily available components can be distributed and integrated into one's development. Winsock affords Internet programming. Both ActiveX and Winsock are covered in this lecture.
Handouts, slides and Homeworks
Synopsis: ActiveX is a technology that affords rapid development of programs by leveraging reusable and modular binaries. A program that creates a Word Document from within a VB program, a spellchecker and an LCD display were programmed to demo ActiveX. Winsock is an ActiveX component that enables internet programming. A simple client/server chat program was generated and demoed.
Lesson Plan: Midterm and Project Specifications
The midterm's first part is closed book requiring handwritten answers. The second part is open book and requires PC programming.
Handouts, slides and Homeworks
Synopsis: The 2-part midterm examines knowledge of both Windows programming concepts, VB syntax, circuit design and actually VB programming. The project was issued and will culminate in student oral presentations of its underlying working and working demos.
Lesson Plan: HTML and Project Workday
A quick introduction to web page creating using the hypertext markup language will be given. Student oral presentations are to be given using HTML, a printout of which will be the final report.
Handouts, slides and Homeworks
Synopsis: HTML can be used for documentation and fundamental aspects of the language were covered and demonstrated. Students demoed their 8255.dll LED/DIP and DAC circuits.
Lesson Plan: Winsock Hardware Control and Project Day
Winsock and the 8255.dll (covered in Week05) for controlling peripherals over the Internet are covered.
Handouts, slides and Homeworks
NB: There was no class May 26th (Memorial Day). As discussed in class, this will be a project day. Your internet-appliances are due next week. Students are expected to give a 10 minute presentation and demonstration of their project in class next week.
Technical difficulties (e.g. network downage, bounced email etc.) will not be accepted excuses.
Handouts, slides and Homeworks
Final Project Presentation Day: Students are to give a 10 minute oral presentation. They should set up their demonstration before class begins. During the class e.g. intermissions and breaks, students will be asked to give everyone a demo.
Links to Final Project
Handouts, slides and Homeworks
Future Self-Learning The benefits of open-architecture design is familiar in software circles, Linux being the classic example; by making all details available, the design is open to improvement or easy integration and expansion to other designs. Hardware designs however have not been equally "open" and manufactuers tend to keep designs proprietary. Student web-based tutorials above are open, with full hardware schematics, parts lists/vendors, and source code.
To witness the benefits of open-architecture, you are invited to do the following experiments:
The tool box contents include items like the multimeter, soldering iron, wirewrap tool, protoboards, wire etc. along with the vendor, part number and price.
Personally, I learned C by getting a DOS C compiler and playing around with it. Imprise (formerly known as Borland) now provides its Turbo C compiler for free at this site. Some of my favorite books on the topic are:
My first electronics project was building a joystick for my Atari 400 computer when I was in highschool. I began by going to my local Radio Shack and buying a solderless breadboard, some wire and Forrest Mim's "Getting Started in Electronics". This $5.00 book is still sold at Radio Shack (part no. 276-5003) and I find it excellent for both the amateur and experienced electronics hobbyist. Other books are:
Some general control systems theory books that I've enjoyed are:
Some books that are useful are: