Saturday, May 10, 2008

Working Now


I now am an employee of SHA INC, an assembly company that takes printed circuit boards and adds the components to them. My job so far seems to be operating the machines that place the components onto the boards. I'm very happy to have this job, and the pay is good (although if gas goes high enough it may not be so great haha). Although this job is in a different area of electronics than what I'm going into, I still enjoy the first-hand experience I get from this. I've always wondered how they produced these things. The company has one location and is family owned, and seems to do mainly prototyping (but not always). They take jobs ranging from 1 to 300 (and even more) PCBs to assemble. My only concerns about working there is that they may want me to work more than I first expected, which could mean a lot less personal time for my hobbies. I was really hoping to get started on my K&R and haven't read that much due to work. I usually fall right to sleep when I get home. This seems like a good job though to keep through school until I am ready for a higher level job (something along the lines of design and engineering). In addition to operating the machines, I also help around with odd jobs and even have the opportunity to use Visual Basic, which coincidently I decided to take last semester as an optional class. Visual Basic is used in Macros for Excel, and they seem to use quite a lot of Excel.

I also received my grades for the Winter Semester. I am glad to say that I was able to get all A's. All the A's I received were expected except for Sociology. Sociology was a wild card, and I was pretty confident I was going to receive a B in the class. Oh well, all for the better. This Thursday my Spring semester starts, I am taking Technical Writing as an online class. I really hope that with my job and class I will find a good amount of time for my personal studies, I really hate to sacrifice my education at this point.

Friday, April 25, 2008

Good News!




The other day I was awarded, by Mr. Harrill, the "Outstanding Student Award" for Electronics and Computer Technology. I was honored by him two days ago at the Meyer theater and my family attended (including my sister's boyfriend). This honor is definitely a resume booster. On top of that, I received a call the same day for a potential job. I was out when I was called, and had to call back. I go in for an interview on Thursday, after all my finals are finished. I'm really excited, if I am able to get the job this will be my first real job in electronics. I also receive my Electronics and Computer Technology Associates Degree after I finish this semester, and I expect to have at most one B for this semester (in Sociology). This has been a great week, and I'm really happy.

In addition to all the important things, I also have finally gotten a GLCD to work properly. Mr. Harrill purchased one a few weeks ago and unfortunately it only came with a single page for a datasheet that gave a potentially wrong pinout. The darn thing wouldn't work after 3 hours, and after extensive debugging of the program I checked the wiring over again. I happened to touch the controllers on the back of the GLCD and noticed they were extremely hot. After that fiasco I went and bought my own off of Sparkfun since they provided heavy documentation (to note I was the one who told Mr. Harrill to buy the faulty GLCD from Mouser). The Sparkfun GLCD used the same controllers and after plugging everything in the program worked great. As of now it is a very simplistic program that displays a line (simply to test the thing). I intend on making a quick picture displaying program for it after I finish with finals this upcoming week. It should be great for the presentations we (Mr. Harrill, Alex and I) do for the Electronics section at various High Schools. Mr. Kelly and Alex suggested a simple game, which I probably will end up doing. A simple scroller where you control a horizontally stationary sprite that navigates through a path, similar to this.

Over this weekend I have to wrap up studying and any leftover homework. If we manage to box up most of the lab (for the lab renovations) before the weekend I will be able to finally start reading K&R. Ugh, 8 classes with 8 tests next week. Thankfully I only have 19 credits next Fall semester, the free time for personal projects and a possible job will be amazing. Below is my schedule for the Fall,

ART-155-01 (13466) Art Appreciation
MECH-102-01 (13902) Manufacturing Processes
MATH-162-02 (14052) Introduction to Statistics
PHY-251-01 (14065) Engineering Physics I
MATH-271-01 (14061) Calculus III


Don't mind the Art Appreciation, that's for the Computer Engineering Degree. After all, I need to be "well rounded." :)

Monday, March 24, 2008

Learning C Programming


I've decided to take up learning C for the AVR 8-bit microcontroller. Although I enjoy programming in ASM, larger scale projects require C programming. I suppose the LCD program was a wake up call as to how useful C programming is. I wanted to create a function in C that would output a string to the LCD display. Essentially I wanted to be able to type LCDPrint("Testing!"); and have "Testing!" appear on the display. After a few days working with C, I came up with a simple program that does just that. Arrays are fabulous for just this type of thing, and this was a great chance to learn the language.

Mr. Harrill, my electronics professor, has requested a project on outputting a keyboard to a LED display. I plan on interfacing the keyboard to an LCD display and then having that output go to the larger LED displays. This LCD program I made is the first step in that process. Since I don't want to have a large bundle of wires going to every LED controller or setting up extra hardware such as shift registers on the LED end, I need to work on doing USART communication between microcontrollers, and also interfacing with a keyboard. The keyboard seems to be quite easy, since I could probably setup an interrupt based system where it reads the bit value after each clock pulse. USART will be used simply because it's easy to use and is supported by nearly all AVR microcontrollers. I wish I had more time to work on all this, I barely had time to setup the LCD program. As stated earlier, classes, in this case macroeconomics, are crowding up my free time. Anyways, attached in this post is the program to interface with the 2x16 character LCD.

EDIT: Oh and did I mention I got a new job at the college?

LCD Interfacing Program: http://salgat.googlepages.com/LCDInterface.zip

Friday, March 7, 2008

Pictures and a Video of my Simple DVM Project

Today I took some pictures and a video of my DVM project. I really wish I had potentiometers to calibrate this thing, oh well, this is more of a learning project than anything else.


A picture of the DVM in action!




A view of the entire circuit, although the voltage dividers are kind of hidden behind the LCD display.




This video shows it in action. This circuit uses a ATmega644 microcontroller.


Attachments,
Picture of Assembler/Simulator: http://salgat.googlepages.com/simulation.JPG
Project Folder including Source Code: http://salgat.googlepages.com/AVRDVM.zip

Thursday, March 6, 2008

Updates on my Life

Just wrapped up a project I have been working on the past 2 mornings. I wanted to learn both ADC and the 2x16 character LCD, so I found a suitable project to incorporate them both, a simple DVM (digital voltmeter). The result is quite pleasing! In under 300 bytes I made a simplistic program that outputs "Voltage: XX.XV". The internal 2.56V reference isn't working for some reason, so I just used two 330 Ohm resistors in series to half 5V into 2.5V. If you take that along with the divide by 10 resistor network for the ADC input and the 10% tolerances of the resistors, it becomes understandable why it isn't perfect in accuracy (at lower voltages, the accuracy is within .1V, while at the upper limit around .8V). Since I knew anything beyond the tenths place wouldn't be close to accurate, I chose to use only 8-bit accuracy for the conversion. The program runs great and the display updates ~4 times per second (although this restriction is strictly aesthetic). The total cost of this high impedance DVM with decent accuracy is around $10, and higher accuracies will be obtained once I find more accurate resistors and fix the internal reference voltage problem.

I wish I could say that my devotion to my electronics is equivalent to my devotion to my school work. I have neglected all my school work this entire spring break, and now have 3 days left to play catch up. I hate to say hate, but I am absolutely sick of all my classes not related to my major electronics. Sociology, Business Management, and Economics in particular are becoming a nuisance. I find myself diverting almost all my attention from electronics to maintain my performance in those classes (although I do admit that I spend almost all my time on Friday-Sunday on Video Games, but that is to keep me sane through the rest of the week). As much as I love school, I dislike classes that while provide some life-long benefit, tend to be unnecessary. $1,400 and ~140 hours of my time going towards those classes, I hope that later in life they make up for their cost.

Another class that I have an aversion to is Visual Basic Programming. Although the class is neither required nor necessary by any means, I still decided to take it due to the many employers out there asking for experience with it. I absolutely enjoy programming in Assembly. The feeling of absolute control over what I am doing is amazing. My comparison between learning Assembly and learning Visual Basic is the difference between learning Math and English. I don't receive the same enjoyment from designing windows and programming in a manner where the computer does everything for me. I suppose it's the syntax that gets to me. Assembly on the AVR consists of 120 instructions. That's it, no more, no less. Visual Basic consists of thousands of different rules and instructions, all of which I have to learn. I have never liked English class, and I did poorly in my Intro to French Class. I am not surprised that I have a B in Visual Basic. I have found that the greatest challenge in taking 24 credits this semester is not the work, but the lack of interest. Last semester was heavenly, all electronics classes and a math class, which is why I could handle 23 credits with all A's. This semester however, I find it hard to find any interest in 5 of my classes. The possibility of several B's this semester is strong, but I'll probably drudge through it and increase my grades anyways. After all, I really would like a Scholarship or two for Lawrence Tech.

Tuesday, November 6, 2007

All As

On every midterm I took I received an A. Very pleased. The only classes that are wild cards as of now is Calculus 2 and Medium Voltage. Although I have an A in both classes, Calculus 2 always hold some amount of unknown in how difficult the test will be, and Medium Voltage, another class I have an A in, has the final remaining which is worth 50% of my grade. I have so much homework to catch up on; Electronics 2, Microcontrollers, Circuit Analysis, and Calculus 2. Last Winter Semester I waited until the last minute to finish the work, and I know now not to do that. This weekend I am dedicating myself to Calculus. Next weekend, well Microcontrollers I suppose.

In other school related news, I have a rough idea of what classes I will be taking this 2008 winter semester,
BMGT-201-01
ECON-251-01
ELEC-138-01
CIS-152-01
SOC-151-03
ELEC-136-01
ELEC-141-01
ELEC-144-01

8 classes for a total of 24 credits. This is nearly double the workload of my first semester of college. The 3 electronics classes and CIS-152 Visual Basic Programming should be of no concern, but Sociology, Business Management, and Economics are the beasts to tackle. I can easily handle 23 credits under my belt, but save for Calculus 2 all the classes I am currently taking are ELEC classes. Maybe this is a chance to prove to myself my limits. As much as it pains me to say this, the standards at community college are lower than at universities. Perhaps the workload of next semester will be a way for me to balance that difference. When I transfer to Lawrence Tech I plan on taking credits nearing 20, so I have to prove that I can handle it. If I succeed this winter, then maybe I could justify taking 30 credits... Haha, that'd be crazy! Well, if a 3.7 GPA afforded me 23 credits, then I will be able to tear down any concerns with my 3.92 GPA. Speaking of restrictions, I have to hurry and get Intro to Programming waved so I can take Visual Basic Programming!

Thursday, November 1, 2007

Hate for Homework



After next Wednesday (11-07-07) I will be able to report all my midterm grades. I'm a bit curious of my score for the test I took yesterday in Medium Voltage. The only concern I have with my academic performance is the homework that I still need to complete. If there is one thing I hate it is homework. Homework is typically busywork given by teachers who want to make sure you're busy even outside of their class. Others think of homework as a way to practice on what you learned, and to hone your knowledge of the material covered in class. I consider homework to be a lazy tool used by educators who assume that homework will be affective as a means of learning and becoming better. For many, including me, homework is nothing more than an annoyance I mindlessly burn through in an attempt to get it done with. I do it for the grade, not to learn.

In all the classes that require homework, I have never found it to be helpful, not even once. But, for the classes that give out homework as supplemental and optional, I have found it to be extremely beneficial. In my Calculus 1 and Calculus 2 classes, homework assignments are given but are optional and are not graded. In this way, I can focus on problems that I am not familiar with, and know what material I can use to be prepared for class. If anything, the optional homework guides me and prepares me. The same can be said true for my Chemistry class that I took my freshman fall semester. Although homework was given, it was optional and was not graded. I used this homework as a means to know what would be covered in the tests and through that I was able to achieve an A in the class. When homework is optional, it becomes a tool to be used when needed.

I cannot say the same about required homework assignments. Although I have scored 90%+ on my Electronics 2, Microprocessors and Circuit Analysis classes, I have yet to even start on the homework. If I have proven my knowledge of the material through tests, why must I still do the homework? Why is it required in the first place? In some ways I don't hold it against the professors who assign the homework, as homework is a traditional part of education. Hopefully educators will eventually overcome this widely held belief that homework should be required as a means of succeeding and understanding the class. Anyways, I have homework to do, even if I won't remember a thing from it as I mindlessly drudge through it.