Transcript from the "Introduction" Lesson
[00:00:26] So the kit that we're gonna be using is the Johnny-Five Inventor's Kit. And we'll talk about what Johnny-Five is in a second. But this is kind of the spread. It's in a nice, little, neat box, but if you were to spread it out across the table, this is roughly what it looks like.
[00:01:22] But that we're still using the same technologies that we used to create web servers and browser-based experiences, and that we can bring all of those together. We can use any library on NPM. We can use the browser and any of the APIs on the browser, and mix and match all those things together.
[00:02:35] We're gonna leave ours plugged into our computer, cuz who needs to invite the chaos of 20 devices programed over WiFi in a room together? So we're gonna use USB. But if you're using it somewhere in your home, you could install it somewhere and still deploy code to it over the WiFi.
[00:02:51] It can run a web server that you can connect to that we're gonna do later today. So a lot of really kind of cool things involved. So tech specs, if you care, it's not something that we need to know, but just fun trivia, is that there is 64MB of RAM, 32MB of flash storage.
[00:03:30] Cool, so this is kind of some other views of it. What's really kinda interesting for our purposes is on the side there are a bunch of GPIO ports. What does GPIO stand for? It stands for General Purpose Input Output, which I think I have on another slide. But let's actually kind of look at what we have.
[00:03:52] So we have a A port and a B port. They are slightly different. Not all the ports are the same. If you're just using general, like I need to use something very simple, you can use any of them. But some of them have certain capabilities that others don't.
[00:04:06] The first one on each side is ground, and the second one is some power that we can use if we need to power a given component. The rest are actually, yep, is just input and output, we have 16 ports. Starts with B0 and A0, because programming, we start with 0.
[00:04:23] It makes sense. There's actually additional 5 volts of power on the top, kind of by that USB stack. In the way we power it as well as extra ground, stuff along those lines. We're not gonna use any of those. The WiFi is at the bottom. So on and so forth.
[00:04:39] There's actually from built-in LEDs that we'll actually get started with, and a few things along those lines. But we're actually gonna kind of wire together our own components for most of this workshop. So yep, GPIO, I'll say it a bunch of times, there will not be a quiz on it later, general purpose input/output.
[00:04:57] All 16 pins, as I said earlier, can be used for GPIO, but some pins do stuff other pins don't. If this slide stresses you out, do not worry about it. You actually don't need to know any of this, except for that third bullet point. And when you need to know it, we'll get to it.
[00:05:15] This is just general. If you're curious what all the special things that these ports can do are, here's a slide that you can refer to later. And here it is lined up to the actual board itself. So we're gonna be using the PWM ports at one point, as well as the I2C.
[00:05:33] But all the other fun stuff is just there for general knowledge. But also, if at one point you see me wiring something up, you're like, why did he pick that port? It's one of two answers. One is, it's a GPIO port, and I could have picked any of them, or two, it is one of the ones that only supports a certainly protocol, right?
[00:05:51] And we kinda have called that out. For PWM, that's just a way to actually send some amount of data, anything that can vary between one and zero, cuz think about digital, zeroes and ones is really easy. Anywhere between zero and one, kind of hard. So the PWM ports will actually support that, and the I2C is for some of our more complicated components.
[00:06:13] And so I'll be plugging in to ports either zero or one for that, and ports five or six for things when I need something between zero and one.