{"id":29,"date":"2006-11-13T18:46:23","date_gmt":"2006-11-13T22:46:23","guid":{"rendered":"http:\/\/scott.sherrillmix.com\/blog\/programmer\/easypic4-first-impressions\/"},"modified":"2007-02-13T00:51:04","modified_gmt":"2007-02-13T04:51:04","slug":"easypic4-first-impressions","status":"publish","type":"post","link":"http:\/\/scott.sherrillmix.com\/blog\/programmer\/easypic4-first-impressions\/","title":{"rendered":"EasyPic4 First Impressions"},"content":{"rendered":"
As a biologist, I’ve often thought “I could really use an instrument that did X”. Logging temperatures, locations, depth, light levels and other variables, controlling devices like cameras or servos, and communicating with a computer seem like a task for microcontrollers<\/a>. So it’s been in my head for a while to try and learn a bit about them.<\/p>\r\n\r\n\r\n\r\n After putting it off for a while, I thought I would try to find a nice starter kit to experiment with. I looked through a few possibilities before finally deciding, including the:<\/p>\r\n As is evident from the title, I decided to go with the EasyPIC4. This seemed like the most beginner friendly option. I figured it would be nice to be able to learn how to program without worrying that problems were actually caused by some misplaced solder or mistaken understanding of electronics. Conveniently, the EasyPIC4 comes with a 16F877A PIC microcontroller<\/a>. It cost $119 plus $17 for a graphic LCD and $15 for a character LCD and temperature sensor with a total cost of $152US for enough features to keep me busy learning for quite a while. So I ordered it from mikroElektronika<\/a>.<\/p> \r\n\r\n I’ve gotten used to almost instant shipping and I was looking forward to trying the thing out so I was a little disappointed when a week passed and I hadn’t heard anything besides the initial confirmation email. But after an email to the mikroElektronika sales, they quickly and nicely got back to me and coincidentally said that my order had been shipped that same day. The shipping is through the Serbian national post so I thought I was out of luck for package tracking but it turns out I could plug the tracking number into Canada’s own post for tracking.<\/p>\r\n\r\n\r\n So it finally came but, since I’m cheap and had decided to not order any software along with it, I needed a PIC program compiler. It turns out that mikroElektronica also offers demo versions<\/a> of their Pascal, Basic, and C compilers<\/a> for PIC. I went with mikroC since I have a passing familiarity with C++. I think the demo version has a limit in how big a program you can write but I think that it’s large enough for an amateur like me to play around quite a bit without running into.<\/p>\r\n\r\n So once I had the right software, I plugged in the EasyPIC4 into my USB port. It immediately started flashing LED’s and displaying a countdown on its numeric display. After having images of the ticking bomb in every Hollywood action movie flash through my head, I realized that mikroElektronika had preloaded the PIC with a demo program. That seemed like a nice touch since I could immediately tell that things were working. So now it was time to try my hand at programming. Luckily the EasyPIC4 comes with a bunch of demo programs<\/a>. I count 23 sample programs plus a whole bunch in the extra_examples folder that I haven’t even gotten a chance to look at yet. LED_Blinking.c seemed like a good place to start. It took just a few seconds to compile the program and, since mikroC connects easily with the included flash memory loading PICFLASH2 program, load it onto the microcontroller. After seeing the little red LEDs<\/a> (each labeled with the pin that it connects to) start flashing and looking through the source, I made my own sequence of flashing LEDs within half an hour (sorry about the jerkiness I hadn’t really thought of making an animation out of it until later).<\/p> \r\n\r\n\r\n\r\n So to wrap up, the EasyPIC4 lived up to its name. Things went easily and well right out of the box. It seems like a really good way for a novice to experiment with microcontrollers. It was really enjoyable to see the tiny computer making real world things happen. I’m looking forward to trying out more of the features.<\/p>","protected":false},"excerpt":{"rendered":"As a biologist, I’ve often thought “I could really use an instrument that did X”. Logging temperatures, locations, depth, light levels and other variables, controlling devices like cameras or servos, and communicating with a computer seem like a task for microcontrollers. So it’s been in my head for a while to try and learn a […]","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,5,14],"tags":[110,112,114,111,113,81],"_links":{"self":[{"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/posts\/29"}],"collection":[{"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/comments?post=29"}],"version-history":[{"count":0,"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/posts\/29\/revisions"}],"wp:attachment":[{"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/media?parent=29"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/categories?post=29"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/scott.sherrillmix.com\/blog\/wp-json\/wp\/v2\/tags?post=29"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}\r\n\t