XGameStation Game Console Starter Kit, Lesson 5

Hey!  It’s microcontroller “Hello World!”  How fun is that?  The labs for lesson 5 introduce the student (that’d be me in this case) to the fundamentals of working with a microcontroller.  That is, hooking it up to power and ground, building its programming circuit, and using its programmer tools to load a binary onto it.  There are three labs in this one; all are essentially flavors of the same fundamental lab.  The easiest one delivers you some blinkenlights (pictured below).  Another demonstrates use of the microcontroller as a seven-segment display driver.  The final one is a sort of crude one-dimension pixel game played with some LEDs and a pushbutton.

It’s great to finally feel like I’m getting to the meat of the project, that is, using a microcontroller to do things.  All in all, these lessons are fun and definitely produce an air of excitement.  There’s nothing quite as much fun as plugging in the programmer key and watching it all work.  I also can now definitely understand the author’s choice in microcontroller (the Parallax SX).  It’s very easy to program and its debugging is easy to control.  It’s a good beginner’s chip.

Of course, inevitably, I have to mention what seem like the road blocks to learning.  Both of these are minor complaints and should be taken as such.  The first is that I don’t think enough attention is paid to what could possibly go wrong.  Specifically, this is the first lab in the entire kit that both has a large number of “moving parts” and which also carries the warning about how easy it is to break some of them (like the SX Key).  This lesson could greatly benefit from some material on how to debug common problems safely.  In my case, I had a problem with my programmer circuit.  The result was that the SX Key Editor could sense the SX Key and would attempt to program the microcontroller, but would then die complaining “Could not create VPP”.  I knew the problem was with my programmer circuit, but the error didn’t give me much to go on and there wasn’t much help to be found through web searches, since most of the material I found was about having oscillators on the same line as the programmer pins for the microcontroller.  I eventually decided to dissect the programmer circuit, and finally found that I’d accidentally run a wire to the wrong pin.  Lesson learned, of course, but it would have been a huge help to even see the lab materials contain information about common errors you can encounter and what you should check.  It’s nice to feel like you’re not completely out in the weeds on your own.

My other complaint is that the author provides sample code sufficient for the student to finish the lab without digging into SX assembly at all.  In fact, it brushes it aside as unnecessary to have because there’s plenty of information out on the Web.  I understand the author’s perspectives and priorities here, but there’s plenty of information on basic circuit theory on the web, too, and that got 4 dedicated lessons, each with several labs in them.

I’m going out on a limb here, but I used to teach so I feel qualified being out here.  Teaching programming by dissection is a pedagogical failure.  It’s roughly the equivalent to learning Japanese by listening to the same handful of J-pop albums over and over again.  You learn the songs, sure, but you don’t know Japanese.  Seeing how a functioning program works isn’t the same as learning how to build one on your own, and it generates little more than a shallow parroting of known idioms.  Is sample code essential to a learn-at-home kit?  Absolutely.  What’s also essential, though, are extra labs without code that push the student through writing code on his/her own.

That said, the lesson achieves its effect, which is to get your feet wet with the microcontroller and drills into you the most important rule of working with a new microcontroller — do not do anything before you first get power, a programmer, and a blinking LED to work.  That’s “Hello world!” and it’s essential to do it every time.  If you don’t, you’re just asking for trouble.  I can deal with this.  It’s pretty common for me to write a “Hello world!” for every driver, service, and application, proving first that I at least have the boilerplate structure right.  It’s good to see someone teaching this responsibly.

Blinking LEDs from Lesson 5, Lab 1

Blinking LEDs from Lesson 5, Lab 1

Oh!  You’ll notice an extra LED in this photo, off to the left.  That’s not part of the lab at all.  Basically, the barrel connector I was sent is mildly defective and sometimes the wall wart doesn’t make enough contact, causing issues.  I got tired of constantly testing to see if I had a power supply problem, so I put an extra LED on to let me know that the power’s on.  I also added a simple switch so I could turn the power on and off without unplugging the wall wart.  It’d be nice to see these added to the labs in general.  It’s convenient and easier on your parts.

lig tv

ligtv

maç izle

canlı maç

футбол онлайн

трансляция футбол

смотреть онлайн футбол

смотреть футбол

soccer live

soccer tv

live soccer streaming

stream soccer

online football

watch football

football match

football streaming

live streaming

watch football

live football

football tv

futbol vivo

partido en vivo

juegos futbol

futbol online

futbol gratis

roja directa

jogos de futebol

jogo de futebol

futebol online

assistir tv

atdhe

foot en direct

jeux de foot

jeux football

calcio diretta

calcio streaming

giochi calcio

live ποδόσφαιρο

podosfairo live

αγωνεσ ποδοσφαιρου

video sepak bola

game bola sepak

Siaran Langsung Sepakbola

bola siaran langsung

futbol juegos

partidos en vivo

bóng đá online

xem bóng đá

bóng đá trực tuyến

bóng đá trực tiếp

ฟุตบอล online

ฟุตบอลสด

บอล online

ดู ฟุตบอล สด

ถ่ายทอด สด

online futball

live fussball

fussball live stream

live stream fußball

bundesliga live stream

fußball live

bundesliga fußball

piłka nożna na żywo

piłka nożna online

fotbal live

fotbal online

fotbal živě

fotbal zive

fotbollskanalen

fotball live

fotball på tv

футбол онлайн

футбол трансляція

футбол канал

live voetbal

live voetbal

voetbal kijken

voetbal online

фудбал уживо

fudbal uzivo

live fudbal

futbal online

live futbal

live footy

مباريات كرة القدم

مباشر كرة القدم

بث حي مباشر

مباشر مباريات

כדורגל שידור ישיר

שידור חי כדורגל

بث كرة القدم

football forum

tn115

tn115 toner

brother tn115

tn115bk

brother tn115bk

tn115bk toner

DCP-9040CN toner

DCP-9045CDN toner

HL-4040CDN toner

HL-4040CN toner

HL-4070CDW toner

MFC-9440CN toner

MFC-9450CDN toner

MFC-9840CDW toner

DCP9040CN toner

DCP9045CDN toner

HL4040CDN toner

HL4040CN toner

HL4070CDW toner

MFC9440CN toner

MFC9450CDN toner

MFC9840CDW toner

q6000a toner

q6000a cartridge

hp 1600 color

hp 1600 toner

hp 1600 ink

laserjet 1600 toner

hp color 2600

hp toner 2600

hp 2600 ink

hp 2600 toners

hp 2600 cartridge

1600 toner

2600 toner

toner laserjet 2600

hp 2600n color

toner for hp 2600n

hp 2600n toner

hp 2600n toners

ink for hp 2600n

toner for hp laserjet 2600n

hp laser 2600n toner

hp 2600n cartridge

hp 2600n cartridges

hp laserjet 2600n ink

toner laserjet 2600n

hp toner q6003a

q6003a cartridge

q6000a toner

q6002a cartridge

hp color 3800

toner for hp 3800

toner hp 3800

hp 3800 cartridges

laserjet 3800 toner

cartridge q6470a

q6470a hp

toner q6470a

hp q6470a black

hp q7581a

q7581a toner

hp q7583a

q7583a toner

hp q7582a

q7582a toner

hp 3800dn toner

hp cp3505 toner

hp 3600 toner

toner for hp 3600

hp 3600 toners

hp 3600 cartridge

hp 3600 cartridges

hp 3600 ink

laserjet 3600 toner

q6470a toner

q6470a cartridge

q6470a black

hp q6470a

q6471a toner

hp q6471a

hp q6473a

toner q6473a

hp q6472a

toner q6472a

hp 3600 toner

toner for hp 3600

hp 3600 toners

hp 3600 cartridge

hp laserjet 3600 toner

hp 3600 ink

hp 3600 toner cartridge

hp laserjet 3600 cartridge

hp 3600 toner cartridges

laserjet 3600 toner

hp 3600n toner

toner for hp 3600n

hp 3600n cartridge

hp laserjet 3600n toner

hp 3600n cartridges

hp 3600n ink

hp color laserjet 3600n toner

hp 3600n toner cartridge

hp color laserjet 3600n cartridge

q6470a hp

toner q6470a

cartridge q6470a

hp q6470a black

hp q6471a

q6471a toner

hp 2550 toner

toner 2550

hp 2550 color

hp 2550 drum

laserjet 2550 toner

toner for hp 2550

hp 2550 toners

hp 2550 ink

hp laserjet 2550 toner

hp 2550 cartridge

hp 2550 cartridges

hp 2550 toner cartridge

hp 2550 toner cartridges

hp laserjet 2550 cartridges

hp 2550 printer cartridges

q3960a toner

q3960a cartridge

q3960a black

q3960a hp

hp laserjet q3960a

q3961a toner

hp q3960a

q3962a toner

q3963a toner

hp q3963a

hp q3962a

hp q3961a

hp toner 2840

toner for hp 2840

hp 2840 toners

hp 2840 drum

drum for hp 2840

hp laser 2840 toner

hp 2840 cartridge

hp laserjet 2840 drum

Comments are closed.