Author Topic: complain about my tutorials here =)  (Read 12672 times)

0 Members and 2 Guests are viewing this topic.

Offline AdminTopic starter

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,703
  • Helpful? 173
    • Society of Robots
complain about my tutorials here =)
« on: December 08, 2006, 08:25:26 PM »
if there are any complaints about any tutorials, such as something is confusing, overcomplicated, or my grammar just sucks, this is the post to make suggestions.

do your worst!  :P

Offline trigger

  • Full Member
  • ***
  • Posts: 115
  • Helpful? 0
  • It's an op amp, not a gun part.
Re: complain about my tutorials here =)
« Reply #1 on: December 09, 2006, 01:11:34 AM »
I am a first time poster but long time reader. :) Your tutorials are excellent. I have yet to build a robot using your tutorials, but they are informative and well-written. 

My only suggestions are for the Microcontrollers tutorial. You might consider fleshing out the details a bit. Personally, I am interested in using a PIC, but I do not want to buy a programmer or a compiler. You mention that you can build a programmer but provide no instructions or links to instructions. This would be helpful (admittedly, I haven't googled it yet, but I bet others would like to see a link). Also, you state that you dislike the free compilers out there but don't explain why. Are they buggy? Write bloated code? Have you tried them all?

One other thing that isn't clear to me is the purpose of a development board. What functions does a development board have that an augmented controller doesn't?

Any links to sites that talk about augmenting uCs would be greatly appreciated. I'd like to figure out how to add a few ADCs and digital I/O ports and thereby start with a very inexpensive uC setup. To be honest, I know I could read some datasheets and figure it out myself (I did EE as an undergrad), but if you ever find such links, they would sure simplify things. A related interesting project would be to start with a uC and write a small C compiler for it, but that's another story.

Anyway, these are just a few suggestions. Keep up the great work!

There are 10 kinds of people in this world: those who can read binary, and those who can't.

Offline JesseWelling

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 707
  • Helpful? 0
  • Only You Can Build A Robot!
Re: complain about my tutorials here =)
« Reply #2 on: December 09, 2006, 03:08:31 AM »
A related interesting project would be to start with a uC and write a small C compiler for it


I'm not sure you fully understand what this entails but as a graduating CS major who has written a compiler for a kiddy
language(micro-pascal), I'm going to tell you this is very non-trivial and really doesn't have much to do with 'robots'
besides the fact that you would be learning your uC really well (probably more than you'd want to know, or need to
know for a beginner bot).

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: complain about my tutorials here =)
« Reply #3 on: December 09, 2006, 07:14:48 AM »
I wrote a compiler for the PIC a bunch of years ago, because I hated the assembler so much. It was 1998, and the 16F84 was the only FLASH-based PIC available. I tried all the free compilers that were available then, and they all sucked (were very limited, or just didn't work).

You can see what I did here, and download it:

http://www.huv.com/uSeeker/smalltalk/pic.html

I wouldn't advise anyone to try and use it though - the 16F84 is way outdated, and there are far better PIC chips available.

For someone starting off now, I would strongly advise, unless you have $250 to spend on micro-controller tools, that you go AVR. There is an excellent quality C compiler available for free (gcc), a decent (although demo-limited) free BASIC compiler (Bascom), and you can build a programmer for the things for under $10.

PICs are temperamental little beasts, which is why in the end I decided I wanted to be in the robot-building business rather than the compiler-writing business, so I stopped working on PIC/Smalltalk and bought a commercial C compiler (CCS) and a good programmer (Warp-13).

- Jon

Offline trigger

  • Full Member
  • ***
  • Posts: 115
  • Helpful? 0
  • It's an op amp, not a gun part.
Re: complain about my tutorials here =)
« Reply #4 on: December 09, 2006, 09:35:12 AM »
A related interesting project would be to start with a uC and write a small C compiler for it


I'm not sure you fully understand what this entails but as a graduating CS major who has written a compiler for a kiddy
language(micro-pascal), I'm going to tell you this is very non-trivial and really doesn't have much to do with 'robots'
besides the fact that you would be learning your uC really well (probably more than you'd want to know, or need to
know for a beginner bot).

Yes, I can see that is non-trivial. I've done quite a lot of programming, though I've never written a compiler. My motivation for playing with robots is basically to learn more about hardware and software, so to me this would be an interesting project.
There are 10 kinds of people in this world: those who can read binary, and those who can't.

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: complain about my tutorials here =)
« Reply #5 on: December 09, 2006, 09:40:46 AM »
Well, lets put it this way - if you need a tutorial to help you write a compiler, you aren't anywhere near the expertise level required to do it. Compilers are hard, not because the parsing part is hard - that's actually relatively easy. The hard part is two-fold:

1) Generating probably correct code
2) Providing (and implementing) a decent API that lets you control the hardware features of the chip (A/D, PWM, UART, SPI, I2C, Timers, Interrupts, Bank Switching, I/O port control, etc)

Number 2 is the main reason I stopped working on PIC/Smalltalk. The next generation of FLASH pics came out (16F87x series), and I realized I could spend all my time trying to support all these cool new hardware features, or I could shell out $100 and buy something and get on with building a robot.

- Jon

Offline trigger

  • Full Member
  • ***
  • Posts: 115
  • Helpful? 0
  • It's an op amp, not a gun part.
Re: complain about my tutorials here =)
« Reply #6 on: December 09, 2006, 09:43:18 AM »
I wrote a compiler for the PIC a bunch of years ago, because I hated the assembler so much. It was 1998, and the 16F84 was the only FLASH-based PIC available. I tried all the free compilers that were available then, and they all sucked (were very limited, or just didn't work).

You can see what I did here, and download it:

http://www.huv.com/uSeeker/smalltalk/pic.html

I wouldn't advise anyone to try and use it though - the 16F84 is way outdated, and there are far better PIC chips available.

For someone starting off now, I would strongly advise, unless you have $250 to spend on micro-controller tools, that you go AVR. There is an excellent quality C compiler available for free (gcc), a decent (although demo-limited) free BASIC compiler (Bascom), and you can build a programmer for the things for under $10.

PICs are temperamental little beasts, which is why in the end I decided I wanted to be in the robot-building business rather than the compiler-writing business, so I stopped working on PIC/Smalltalk and bought a commercial C compiler (CCS) and a good programmer (Warp-13).

- Jon


Thanks! This is really helpful. So is the AVR uC an atmel product? That was the first hit I had on google.  A related questions is what is involved in building a programmer?
There are 10 kinds of people in this world: those who can read binary, and those who can't.

Offline trigger

  • Full Member
  • ***
  • Posts: 115
  • Helpful? 0
  • It's an op amp, not a gun part.
Re: complain about my tutorials here =)
« Reply #7 on: December 09, 2006, 09:46:10 AM »
Well, lets put it this way - if you need a tutorial to help you write a compiler, you aren't anywhere near the expertise level required to do it. Compilers are hard, not because the parsing part is hard - that's actually relatively easy. The hard part is two-fold:


You are probably right. What I didn't tell you is that I have a secret weapon--my wife was a CS major. ;) Together with my EE knowledge, we could figure it out.  ;D But to be honest, that would come down the road, after I'd already become familiar with robot building in general.
There are 10 kinds of people in this world: those who can read binary, and those who can't.

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: complain about my tutorials here =)
« Reply #8 on: December 09, 2006, 09:46:33 AM »
One other thing that isn't clear to me is the purpose of a development board. What functions does a development board have that an augmented controller doesn't?

A development board basically allows you to access the chip without having to solder together your own board. Microcontroller chips have external requirements - for instance, to use a PIC 16F876, you need a voltage regulator, which required specific capacitors, you need a crystal (more caps required) or resonator, you need a pull-up resistor on MCLR, you need a couple decoupling capacitors for the chip itself, you typically want a way to turn on and off power, you might want a reset button, and having headers that are already connected to the I/O pins of the chip makes your life much simpler.

Any links to sites that talk about augmenting uCs would be greatly appreciated. I'd like to figure out how to add a few ADCs and digital I/O ports and thereby start with a very inexpensive uC setup.

Microcontrollers are already inexpensive. A PIC 16F876 costs less than $10, and it has all those features and many more. If you want to go with really inexpensive, you might want to look at BEAM robots, which don't use a micro-controller at all, but instead build up analog control circuits using various inexpensive components.

- Jon

Offline JonHylands

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 562
  • Helpful? 3
  • Robot Builder/ Software Developer
    • Jon's Place
Re: complain about my tutorials here =)
« Reply #9 on: December 09, 2006, 09:53:21 AM »
You are probably right. What I didn't tell you is that I have a secret weapon--my wife was a CS major. ;) Together with my EE knowledge, we could figure it out.  ;D But to be honest, that would come down the road, after I'd already become familiar with robot building in general.

Well, I have a bachelor in computer science as well, and it doesn't make any of the points I raised any less valid...  :-\

In order to be successful at building a robot, you have to focus on what you're doing. If you're willing to take years to build a single robot, then by all means write your own compiler, build a programmer, design your own micro-controller, whatever. If you want to build a robot in a reasonable amount of time, either invest in the right tools, or find a technology you can use so you don't have to.

Like I said before, look into AVR. Buy a development board for your first micro-controller, but make sure its a board that has a micro-controller brand/line that you plan to use for other robots.

Right now, I'm in the process of switching over to AVR, so I'm going to buy one of these:

http://www.sparkfun.com/commerce/product_info.php?products_id=35
http://www.sparkfun.com/commerce/product_info.php?products_id=14

For less than $50 I get a board and a programmer that I know work, so I'm not going to waste weeks and weeks of time dealing with that, and I can get onto the part I find interesting, which is building a robot and writing the software for it.

- Jon

Offline Militoy

  • Expert Roboticist
  • Full Member
  • *****
  • Posts: 111
  • Helpful? 0
Re: complain about my tutorials here =)
« Reply #10 on: December 09, 2006, 12:55:05 PM »
Wow - did this string wander off-subject! I use PIC micros - for Primitives control on our robot, and for power supply control and other general control functions in various projects. I haven't found them extremely persnickety to work with - but then, I'm mainly involved with the hardware and base control logic, and I have help with the final code from our "software gurus". I bought a programmer from eBay for around $35, and I find it works as well as our Microchip model. I concur with JonHylands, in the value of the development boards from just about any micro manufacturer. Right now, on the workbench in front of me, I have a PICDEM 2 PLUS, and a PICDEM CAN-LIN 2 DEMO BOARD hooked up to my control laptop, as an aid to new circuit integration. I also would prefer to concentrate my efforts on developing new control schemes, rather than building what's available off-the-shelf.

As far as complaints on tutorials - I think the ones I've read so far are great. The only mistake I've noticed is that one link titled "PIC" something links to Cypress's website.

 


data_list