All language subtitles for Build Your Own RoboLamp! - CrunchLabs (720p, h264)

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (SoranĂ®)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,000 --> 00:00:04,240 Welcome back to CrunchLabs. I'm Mark Rober, and I'm so stoked that you're 2 00:00:04,240 --> 00:00:08,240 because it means you are in possession of the Hack Pack RoboLamp. Now this is 3 00:00:08,240 --> 00:00:13,220 sort of our homage to that adorable Pixar desktop lamp in robotic form. Now 4 00:00:13,220 --> 00:00:17,120 little fella here has quite the personality, and I'll get into all of 5 00:00:17,120 --> 00:00:18,120 features. Over here. Hey. 6 00:00:18,880 --> 00:00:22,740 Okay, in just a second, but first let's take a look at the trophy case, which of 7 00:00:22,740 --> 00:00:26,600 course is your opportunity to hack any of the builds and take it all the way to 8 00:00:26,600 --> 00:00:31,760 11. Here we've got the tank plant being controlled by a PS5 controller, which is 9 00:00:31,760 --> 00:00:36,060 really cool. And the D -pad moves the head on the tank plant, so this is full 10 00:00:36,060 --> 00:00:41,100 control. This Iron Man glove works with the laser tag, which is really cool. 11 00:00:41,380 --> 00:00:45,220 Sort of wish we had thought of that first. Here they turned the turret and 12 00:00:45,220 --> 00:00:49,460 domino boxes into a game of Russian Roulette. Again. these hacks that 13 00:00:49,460 --> 00:00:53,640 multiple hack packs I think are my favorite. So basically it reads the 14 00:00:53,640 --> 00:00:57,000 whether or not there's tape on it and then that will determine whether or not 15 00:00:57,000 --> 00:01:01,060 shoot. So straight up domino turret Russian roulette. And I love this, again 16 00:01:01,060 --> 00:01:05,540 another combo, they 3D printed their own rotating gear piece, attached it to the 17 00:01:05,540 --> 00:01:09,320 tank plant, and now you've got a rotating sentry that of course likes to 18 00:01:09,320 --> 00:01:09,958 the sunlight. 19 00:01:09,960 --> 00:01:13,280 As a reminder, if you want to get your brilliant hacks featured in the trophy 20 00:01:13,280 --> 00:01:16,880 case, we've got this QR code, or you can just upload them directly to our 21 00:01:16,880 --> 00:01:20,840 Discord. As for the RoboLamp, when you first turn it on, it powers up, clearly 22 00:01:20,840 --> 00:01:24,460 is very happy to be here, and it sort of looks just like a normal lamp. But it 23 00:01:24,460 --> 00:01:25,540 gets a little distracted. 24 00:01:25,780 --> 00:01:26,579 Hey, over here. 25 00:01:26,580 --> 00:01:28,280 Back here. I need light right here. 26 00:01:29,600 --> 00:01:30,479 So close. 27 00:01:30,480 --> 00:01:31,560 But more in this direction. 28 00:01:31,800 --> 00:01:34,680 Now, of course, at any point, if you want to get his attention, you just take 29 00:01:34,680 --> 00:01:39,720 over the joystick and point it exactly where you... I said exactly where you 30 00:01:39,720 --> 00:01:43,540 need it to go. That's better. And so now, if you're working on a project 31 00:01:43,540 --> 00:01:44,540 you need that blue... 32 00:01:44,700 --> 00:01:47,280 I said, hey, hey, no, down here. 33 00:01:48,180 --> 00:01:54,060 Thank you. And so now if you're working on a project where you need that blue 34 00:01:54,060 --> 00:01:59,220 light, it's going to shine it perfectly exactly where you need it to be. 35 00:01:59,720 --> 00:02:03,480 he's a precocious little guy so as you'll notice there's four buttons right 36 00:02:03,480 --> 00:02:08,280 and those are just presets so if i hit one it goes orange and it goes down here 37 00:02:08,280 --> 00:02:12,080 at this level if i hit two it's yellow it's pointing this way at this height 38 00:02:12,080 --> 00:02:16,460 three goes blue pointing out and finally four is green and that's going straight 39 00:02:16,460 --> 00:02:20,660 out as you might suspect those are very easily reprogrammed even without hooking 40 00:02:20,660 --> 00:02:24,860 up to a computer. So all you do is get it to the correct height you want by 41 00:02:24,860 --> 00:02:25,839 pushing this. 42 00:02:25,840 --> 00:02:27,720 Let's say I want it right here. 43 00:02:28,000 --> 00:02:31,040 And then you aim where you want it to go. Let's say right there. 44 00:02:31,300 --> 00:02:34,380 And finally, when you want to get the right color, you just click down on the 45 00:02:34,380 --> 00:02:35,380 joystick once. 46 00:02:35,420 --> 00:02:39,500 I want a soft white. So now all I have to do is hold down the number one and 47 00:02:39,500 --> 00:02:43,940 it saves this preset. So again, I can go four up here. Now if I press one, it 48 00:02:43,940 --> 00:02:46,360 comes right back to that white light pointing right in this direction. 49 00:02:46,600 --> 00:02:49,640 Of course, it wouldn't be hack pack. We didn't pack this thing full of 50 00:02:49,640 --> 00:02:53,300 personality. As you know, here at Crunch Labs, there's nothing we love more than 51 00:02:53,300 --> 00:02:54,560 anthropomorphizing a robot. 52 00:02:54,800 --> 00:02:58,100 So now if I want to cheer up our little friend here, I just double click two. 53 00:03:01,619 --> 00:03:03,660 Suddenly, he's got this wonky little smile. 54 00:03:04,000 --> 00:03:07,000 He's like a little puppy. He's happy to be here. Okay, so that's one end of the 55 00:03:07,000 --> 00:03:10,420 spectrum. But now let's say for some cruel, cruel reason, you want to make 56 00:03:10,420 --> 00:03:11,399 RoboLamp sad. 57 00:03:11,400 --> 00:03:12,900 Well, then you just double -click three. 58 00:03:14,140 --> 00:03:15,138 Oh, no. 59 00:03:15,140 --> 00:03:17,040 He's experiencing a range of emotions. 60 00:03:19,280 --> 00:03:20,280 Just hopeless. 61 00:03:20,480 --> 00:03:21,720 Wait, maybe there's hope? No. 62 00:03:22,200 --> 00:03:25,770 No. There's not. I'm sorry, little fella. I shouldn't have done that to 63 00:03:25,830 --> 00:03:29,430 Which is why we also have double -clicking four, which now just snaps it 64 00:03:29,430 --> 00:03:32,650 all modes. So you can position it exactly where you want. You can change 65 00:03:32,650 --> 00:03:35,530 light color to where you want. And then, of course, you can go back to your 66 00:03:35,530 --> 00:03:37,930 presets. In my case, I want to single -press one. 67 00:03:38,590 --> 00:03:42,450 Time to get to work. Speaking of wit, makes the perfect time, transition to 68 00:03:42,450 --> 00:03:44,370 talking about our gear badge topic, LEDs. 69 00:03:44,730 --> 00:03:48,250 As we've talked about before, you own an electromagnetic wave detector. 70 00:03:48,530 --> 00:03:51,450 In fact, you own two of them, and you're using them right now, because they're 71 00:03:51,450 --> 00:03:54,810 your eyes. So I look at this lamp, and it looks purple. Well, your brain is 72 00:03:54,810 --> 00:03:58,830 really telling you that a photon came and hit that, and then reflected and hit 73 00:03:58,830 --> 00:04:02,010 my eye, and the electromagnetic wave that was reflected back, well, that had 74 00:04:02,010 --> 00:04:03,470 wavelength of 400 nanometers. 75 00:04:03,690 --> 00:04:07,150 Or take this switch here, which we would say is red. What's really telling your 76 00:04:07,150 --> 00:04:11,450 brain, the photon hit that, it created an electromagnetic wave, then bounced 77 00:04:11,450 --> 00:04:15,230 hit your eye, and that wavelength is about 700 nanometers. So it's like a 78 00:04:15,230 --> 00:04:16,109 bit longer. 79 00:04:16,110 --> 00:04:18,290 Now for these sensors to work, we need photons. 80 00:04:18,610 --> 00:04:22,330 In other words, we need light. Now for thousands of years, engineers have 81 00:04:22,330 --> 00:04:26,250 to improve the way we create that light. Starting first, of course, with fire, 82 00:04:26,410 --> 00:04:31,990 then to torches and lanterns, lighthouses, incandescent bulbs, and 83 00:04:31,990 --> 00:04:36,750 this. An LED bulb. And the reason an LED bulb is so amazing is there's a problem 84 00:04:36,750 --> 00:04:40,230 with incandescent bulbs, which we've had for a very long time. And that's that 85 00:04:40,230 --> 00:04:43,650 they're just not very efficient at using the energy you put into them. And that 86 00:04:43,650 --> 00:04:47,270 means not only do they give off light, they also give off a lot of heat. In 87 00:04:47,270 --> 00:04:51,210 fact, I had a Care Bear stuffed animal growing up, and I sat on top of a lamp 88 00:04:51,210 --> 00:04:54,450 one time, and when I turned on the lamp in the room, I noticed after like five 89 00:04:54,450 --> 00:04:57,670 minutes... something smelled very, very bad and was probably carcinogenic. 90 00:04:57,890 --> 00:05:01,230 And forevermore, that Care Bear had a bear spot right on its butt where the 91 00:05:01,230 --> 00:05:04,470 light completely burned and melted through all of the hair. Now that would 92 00:05:04,470 --> 00:05:06,690 never happened today because we have LEDs. 93 00:05:06,970 --> 00:05:09,870 And because they're way more efficient using that energy, even after running 94 00:05:09,870 --> 00:05:12,470 them for hours and hours, they're totally cool to detect. 95 00:05:12,770 --> 00:05:16,530 This is why your energy bill is lower. You're not wasting all that energy 96 00:05:16,530 --> 00:05:20,670 not even visible. It's like going from performing surgery with a machete versus 97 00:05:20,670 --> 00:05:24,430 a scalpel. It's precise. It does exactly just what you want it to do. But how 98 00:05:24,430 --> 00:05:28,390 exactly does that work? Like, why is that such a good deal? How does this 99 00:05:28,390 --> 00:05:31,510 so bright? Well, inside every single LED, there's a semiconductor. 100 00:05:32,190 --> 00:05:35,830 Semiconductors aren't quite conductors, like a copper wire that just let 101 00:05:35,830 --> 00:05:40,130 electrons flow freely, and they aren't quite insulators that just totally stop 102 00:05:40,130 --> 00:05:43,790 the flow of electrons, like rubber. Instead, they like kind of conduct. 103 00:05:44,070 --> 00:05:45,390 You could say they semi -conduct. 104 00:05:45,900 --> 00:05:50,520 Like they conduct a little bit. Because instead, they let electrons flow in very 105 00:05:50,520 --> 00:05:54,120 special ways. You can think of semiconductors like a little cliff. 106 00:05:54,360 --> 00:05:56,100 As usual, we're using some... 107 00:05:56,750 --> 00:05:57,990 Very delicious electrons. 108 00:05:58,370 --> 00:06:01,810 And it's just a fact, you can't convince me otherwise, that 700 nanometer 109 00:06:01,810 --> 00:06:06,750 electrons taste way better than like 450 ones. Now, at first, the electrons are 110 00:06:06,750 --> 00:06:10,210 at the top of the cliff. But in reality, they want to get to the bottom of the 111 00:06:10,210 --> 00:06:13,290 cliff. Because that's low energy. It's just the way the universe works. The 112 00:06:13,290 --> 00:06:16,850 fancy word for that is entropy. Now let's imagine that these Skittles are 113 00:06:16,850 --> 00:06:20,150 electrons. They start at the top of this cliff, you know, in the power supply. 114 00:06:20,370 --> 00:06:21,370 And as they come out... 115 00:06:21,870 --> 00:06:25,490 They fall off. They go to the lower energy state. And of course, that energy 116 00:06:25,490 --> 00:06:26,329 to go somewhere. 117 00:06:26,330 --> 00:06:28,570 And so that energy gets released all at once. 118 00:06:28,780 --> 00:06:31,780 Now, as we mentioned before, our eyes detect different wavelengths of 119 00:06:31,780 --> 00:06:35,640 electromagnetic waves by finding them colors in our brain. So blue here is a 120 00:06:35,640 --> 00:06:39,420 wavelength of around 450 nanometers, and red is around 700. 121 00:06:39,660 --> 00:06:44,800 Now, the smaller the wavelength, in this case blue at 450, the more energy, the 122 00:06:44,800 --> 00:06:48,700 more ups and downs you get in, let's say, a second. So it has more energy. 123 00:06:48,700 --> 00:06:53,580 packing more of those waves into a given length or time. This is why x -rays and 124 00:06:53,580 --> 00:06:57,720 gamma rays are really harmful, because they're so energetic that they 125 00:06:57,720 --> 00:06:59,090 actually... damage your DNA. 126 00:06:59,290 --> 00:07:03,190 But the longer wavelengths you have, like radio waves, those are very little 127 00:07:03,190 --> 00:07:04,570 energy, not at all harmful. 128 00:07:04,790 --> 00:07:08,890 So then what's really special about LED semiconductors, they're like one of 129 00:07:08,890 --> 00:07:13,110 these boxes. They can specify exactly the amount of energy that needs to be 130 00:07:13,110 --> 00:07:16,290 dropped. And by doing so, they're basically specifying the wavelength. 131 00:07:16,590 --> 00:07:20,630 So in this case, at this specific height, that energy level, when the 132 00:07:20,630 --> 00:07:21,630 fall off... 133 00:07:21,760 --> 00:07:25,020 That emits a little bit higher energy blue wavelength, where in this case, 134 00:07:25,020 --> 00:07:29,420 the cliff is lower, the LED semiconductor specifies exactly that 135 00:07:29,420 --> 00:07:32,880 they fall off the cliff, go to the lower energy state. Well, that looks like red 136 00:07:32,880 --> 00:07:33,499 to us. 137 00:07:33,500 --> 00:07:38,600 So again, the LED semiconductor specifies exactly the amount of energy, 138 00:07:38,600 --> 00:07:42,800 electron pass through at that energy level, and when it falls down to the 139 00:07:42,800 --> 00:07:46,800 energy state through entropy, well, it gives off that specific energy level. In 140 00:07:46,800 --> 00:07:48,180 other words, that specific wavelength. 141 00:07:48,440 --> 00:07:51,320 In this case, it was Crete. But something else is happening here that's 142 00:07:51,320 --> 00:07:55,500 cool. We said it's a semiconductor, so it kind of lets it conduct, right? 143 00:07:55,500 --> 00:07:59,380 notice, if I try and push these red skittles back up the cliff... 144 00:07:59,630 --> 00:08:03,630 I can't do it. The one -way door, it only goes this way. In engineering, we 145 00:08:03,630 --> 00:08:04,630 that a diode. 146 00:08:04,640 --> 00:08:09,140 A diode allows the flow of electrons in one way but blocks them in the other. In 147 00:08:09,140 --> 00:08:13,300 fact, if you look at any LED, you'll see that one lead is like a little bit 148 00:08:13,300 --> 00:08:16,540 longer than the other. The longer lead is like the top of the cliff. 149 00:08:16,760 --> 00:08:20,760 The shorter lead is like the bottom. So if I take this little coin battery and 150 00:08:20,760 --> 00:08:24,260 then I hook it up, you'll notice it works when it goes from the positive to 151 00:08:24,260 --> 00:08:27,380 negative side of the coin battery because electrons are going to flow this 152 00:08:27,440 --> 00:08:30,260 If I flip it around, you'll notice the diode is very hard at work. 153 00:08:30,860 --> 00:08:34,350 Semiconductor in action. It says no dice, you get no light from me. today. 154 00:08:34,350 --> 00:08:37,990 you might be thinking though, well if LEDs only make one specific color, I get 155 00:08:37,990 --> 00:08:42,230 how you get all the colors of the rainbow, like if we pop off our little 156 00:08:42,230 --> 00:08:46,650 here. Sorry buddy. So now that the diffuser's off, you can see the LEDs are 157 00:08:46,650 --> 00:08:50,310 active under there. And indeed, they're all making different colors. But there's 158 00:08:50,310 --> 00:08:54,290 one here making white. And so if you look really closely, you'll see there's 159 00:08:54,290 --> 00:08:58,130 just three LEDs in there. A green, a blue, and a red. Of course when you 160 00:08:58,130 --> 00:08:59,570 those together, they look like white. 161 00:08:59,880 --> 00:09:03,520 It's just like the sun in a prism. When you combine all the colors, you get 162 00:09:03,520 --> 00:09:06,820 white, which I think is pretty dang cool. All right, well, now that you got 163 00:09:06,820 --> 00:09:10,220 basic understanding of what's going on here, let's go ahead and bring out Adam, 164 00:09:10,280 --> 00:09:15,000 who is the product engineer, primarily responsible for coming up with and 165 00:09:15,000 --> 00:09:16,660 designing the RoboLamp. Take it away, Adam. 166 00:09:17,140 --> 00:09:20,840 Hi, I'm Adam, the lead engineer for the Robotic Lamp, or RoboLamp for short. 167 00:09:20,960 --> 00:09:23,180 Let's take a look at the cool science that makes this thing work. 168 00:09:23,400 --> 00:09:27,200 Most robotic motors move in a machine -like way. So much so that we even talk 169 00:09:27,200 --> 00:09:30,840 about things moving robotically to mean they move in a way that's stiff and 170 00:09:30,840 --> 00:09:34,060 awkward. But what makes RoboLamp so special is it's focused on moving in 171 00:09:34,060 --> 00:09:37,320 that feel lifelike. Animators have known how to create believably real motion 172 00:09:37,320 --> 00:09:40,800 for a really long time, maybe best captured by Disney's 12 Principles of 173 00:09:40,800 --> 00:09:45,260 Animation, which highlight techniques like slow in, slow out, arcs, 174 00:09:45,260 --> 00:09:46,260 action. 175 00:09:47,189 --> 00:09:48,450 timing, and silhouette. 176 00:09:48,950 --> 00:09:52,650 In your robot, we achieve these effects by using a combination of sensors like 177 00:09:52,650 --> 00:09:56,390 the buttons that receive user inputs, effectors like the motors that drive the 178 00:09:56,390 --> 00:10:00,050 lamp to move, and the Arduino brain, which uses software to instruct the 179 00:10:00,050 --> 00:10:03,370 on how to move. Breaking down the anatomy of RoboLamp, we start up at the 180 00:10:03,370 --> 00:10:07,210 lighting fixture, the bell, which houses the PCB with three concentric rings of 181 00:10:07,210 --> 00:10:10,150 LED lights, like the ones that Mark talked about earlier. In the inner and 182 00:10:10,150 --> 00:10:14,090 rings, we have alternating warm and cool white LEDs, whereas in the middle ring, 183 00:10:14,230 --> 00:10:18,310 we have 12 of what look like larger LEDs, but which each actually contain 184 00:10:18,310 --> 00:10:22,350 of their very own teeny tiny LEDs that are red, green, and blue, allowing the 185 00:10:22,350 --> 00:10:25,750 robot to individually change both the color and brightness of each pixel. We 186 00:10:25,750 --> 00:10:29,080 sometimes refer to these as individually addressable RGB LEDs. 187 00:10:29,420 --> 00:10:33,140 The bell's motion is determined by two 180 -degree servo motors controlling the 188 00:10:33,140 --> 00:10:36,120 up -down pitch and side -to -side yaw, which let it look around the entire 189 00:10:36,120 --> 00:10:39,320 hemisphere in front of it. To raise and lower the bell, the gear motor drives a 190 00:10:39,320 --> 00:10:42,720 worm, which drives a worm gear. This type of gear train sacrifices a little 191 00:10:42,720 --> 00:10:46,120 of efficiency, but gives us a lot of torque and also ensures that the motor 192 00:10:46,120 --> 00:10:49,340 not back -drivable, which means once the lamp is unpowered, the head will stay 193 00:10:49,340 --> 00:10:52,660 wherever you put it and not collapse into a pile. After the worm gear, the 194 00:10:52,660 --> 00:10:55,520 RoboLamp uses what's called a double -reverse four -bar linkage. 195 00:10:55,920 --> 00:10:59,420 A regular four -bar linkage uses a mechanical advantage to move one bar 196 00:10:59,420 --> 00:11:02,180 with another, but the resulting movement at the ends of the linkage actually 197 00:11:02,180 --> 00:11:05,900 ends up drawing a curve. But if you slap a second four -bar linkage on top of 198 00:11:05,900 --> 00:11:09,180 the first, the curves cancel out and you get perfectly linear movement at the 199 00:11:09,180 --> 00:11:12,120 far end of the assembly. The combination of all of these movements give the 200 00:11:12,120 --> 00:11:15,260 RoboLamp a lot of functionality, but also a lot of expressiveness. It can 201 00:11:15,260 --> 00:11:19,160 up and look around inquisitively, lower and look down pensively, and shake its 202 00:11:19,160 --> 00:11:20,220 head enthusiastically. 203 00:11:20,620 --> 00:11:23,260 Some of these motions have been grouped together into what we call moods. By 204 00:11:23,260 --> 00:11:26,440 double -clicking the one preset, for example, RoboLamp enters the distracted 205 00:11:26,440 --> 00:11:29,260 mood. You set it looking somewhere, and after a few seconds, it gets a little 206 00:11:29,260 --> 00:11:30,500 bored and starts looking around. 207 00:11:30,740 --> 00:11:33,280 Bumping the joystick will cause it to snap out of it and snap back to 208 00:11:33,660 --> 00:11:34,660 Hey, focus up. 209 00:11:36,020 --> 00:11:39,440 Double -clicking the two button sends the lamp into its happy mood. A smiley 210 00:11:39,440 --> 00:11:42,380 face pops onto its display, and it cycles through a few custom animations. 211 00:11:43,860 --> 00:11:47,340 Double -clicking the three sets the lamp into its moody mood. It will turn blue 212 00:11:47,340 --> 00:11:49,720 and purple and settle into a sad little funk. 213 00:11:51,030 --> 00:11:54,210 Finally, if you really just want your lamp to be a lamp, double -click the 4 214 00:11:54,210 --> 00:11:56,750 put it into the focus mood, where it will be well -behaved for all of your 215 00:11:56,750 --> 00:11:57,489 lighting needs. 216 00:11:57,490 --> 00:12:00,190 To get a better sense of how the code is working to support this expressiveness, 217 00:12:00,370 --> 00:12:03,510 let's walk through exactly what happens when we activate RoboLamp's happy mood. 218 00:12:03,630 --> 00:12:06,710 At this point, we've double -clicked the 2 button and fired off the set mood 219 00:12:06,710 --> 00:12:07,589 happy callback. 220 00:12:07,590 --> 00:12:11,050 Inside this callback, we include the parameter true, ensuring the lamp gives 221 00:12:11,050 --> 00:12:13,770 visual confirmation of our selection with a friendly yellow blink. 222 00:12:14,160 --> 00:12:16,120 The set mood happy function does a few important things. 223 00:12:16,360 --> 00:12:19,800 It first switches the lamp's current mood state to equal mood happy before 224 00:12:19,800 --> 00:12:22,420 setting current animation type to equal anim excited. 225 00:12:22,660 --> 00:12:26,080 Finally, it restores the smiley face from the startup animation in case it 226 00:12:26,080 --> 00:12:29,620 disappeared by running show startup smiley to populate the correct light for 227 00:12:29,620 --> 00:12:30,620 smiling and blinking. 228 00:12:30,700 --> 00:12:33,480 The happy mood actually has two types of animation to keep things interesting. 229 00:12:33,640 --> 00:12:36,560 The first is a default behavior that makes the lamp look around excitedly 230 00:12:36,560 --> 00:12:40,190 idle. The lamp reads its current position and can wander around with a 231 00:12:40,190 --> 00:12:43,450 update happy mood. The second type of animation is the most dynamic, the 232 00:12:43,450 --> 00:12:44,450 keyframe animations. 233 00:12:44,550 --> 00:12:48,610 Keyframe sequences are a series of timestamps and positions in space that 234 00:12:48,610 --> 00:12:51,710 robot can orient towards sequentially. Shifting the placement and number of 235 00:12:51,710 --> 00:12:53,510 keyframes can significantly change the animation. 236 00:12:53,850 --> 00:12:57,790 The lamp selects a pre -made keyframe sequence using load excited animation 237 00:12:57,790 --> 00:12:59,290 drops it into its memory buffer. 238 00:12:59,530 --> 00:13:01,550 Because we're in happy mood, we're going to need a happy face. 239 00:13:01,770 --> 00:13:05,430 As long as config smiley is enabled, the function draw smiley face will keep the 240 00:13:05,430 --> 00:13:06,349 face animated. 241 00:13:06,350 --> 00:13:08,510 while the keyframe playback is driving the line's motion. 242 00:13:08,790 --> 00:13:11,870 Every time we pass through the code's main loop function, we have to activate 243 00:13:11,870 --> 00:13:14,710 update keyframe playback, which then calls play keyframe animation. 244 00:13:15,070 --> 00:13:18,350 It asks, how far through this keyframe's duration are we? It tracks the progress 245 00:13:18,350 --> 00:13:21,830 through the keyframe, then applies easing, or as animators call it, slow 246 00:13:21,870 --> 00:13:25,650 slow out. Easing is one technique that we use to make robots feel less robotic, 247 00:13:25,790 --> 00:13:29,450 rather than just beelining from one position to another as fast as we can. 248 00:13:29,450 --> 00:13:32,710 calculate values on the way to the position so we can speed up and slow 249 00:13:32,710 --> 00:13:35,800 naturally as we leave the starting point and arrive at the end point. Another 250 00:13:35,800 --> 00:13:39,680 animation technique we use is to specify the arc of each motion. We can set the 251 00:13:39,680 --> 00:13:43,200 lamp to move linearly from point to point, or follow a smooth motion called 252 00:13:43,200 --> 00:13:44,019 Bezier curve. 253 00:13:44,020 --> 00:13:46,320 Moving linearly is going to feel a little more intentional, like if you're 254 00:13:46,320 --> 00:13:49,500 looking just straight from left to right, whereas following a Bezier curve 255 00:13:49,500 --> 00:13:52,100 going to look more like you're bobbing your head to music. In both of these 256 00:13:52,100 --> 00:13:56,280 cases, play keyframe animation will compute the yaw and pitch based on where 257 00:13:56,280 --> 00:13:59,620 lamp should be looking, and then assign the servos those positions at every 258 00:13:59,620 --> 00:14:01,080 point along the keyframe's duration. 259 00:14:01,320 --> 00:14:04,340 Sometimes when the RoboLamp is moving through keyframes, it gets to the end of 260 00:14:04,340 --> 00:14:07,700 its range of motion. When this happens in the height axis, for example, instead 261 00:14:07,700 --> 00:14:10,640 of letting the four bar linkages jam and the motor stall, which definitely 262 00:14:10,640 --> 00:14:13,340 happened during prototyping, I had to reduce the length of threads on the worm 263 00:14:13,340 --> 00:14:16,820 to stop the motion. This had an actually unexpected animating effect of making 264 00:14:16,820 --> 00:14:19,860 the robot bounce up and down, so I ended up including it in the third animation. 265 00:14:20,180 --> 00:14:21,940 Is it a feature or a bug? You'll have to tell me. 266 00:14:22,720 --> 00:14:26,120 When the last keyframe finishes, play keyframe animation ends the sequence by 267 00:14:26,120 --> 00:14:29,680 calling finish keyframe playback, returning the lamp to the idle behavior 268 00:14:29,680 --> 00:14:33,000 update happy mood. In this way, the lamp switches seamlessly between moving 269 00:14:33,000 --> 00:14:36,300 around idly and playing its defined keyframe animations, which makes it feel 270 00:14:36,300 --> 00:14:37,159 less repetitive. 271 00:14:37,160 --> 00:14:39,540 There's so many ways you can adjust the animations of your lamp. You can do 272 00:14:39,540 --> 00:14:42,860 everything from changing the order of the moods to adjusting the timing, or 273 00:14:42,860 --> 00:14:45,340 coming up with your own keyframe sequences to animate. Everything is 274 00:14:45,340 --> 00:14:46,680 to you in our widget in the IDE. 275 00:14:46,900 --> 00:14:48,140 All right, now let's put this thing together. 276 00:14:48,360 --> 00:14:52,910 First, find four small black bolts, four small black nuts, and the joystick 277 00:14:52,910 --> 00:14:56,530 module. Thread the bolts through the joystick module's four mounting holes 278 00:14:56,530 --> 00:15:00,370 capture the bolts with the nut. Pro tip, use the back of the screwdriver to 279 00:15:00,370 --> 00:15:04,130 tighten the nut. Next, find the adhesive mounted feet and the lower base piece. 280 00:15:04,370 --> 00:15:07,270 Apply five feet to the base over the engraved circles. 281 00:15:07,530 --> 00:15:11,870 Flip the base piece over. Find four more small black nuts. Mount the joystick to 282 00:15:11,870 --> 00:15:16,010 the base by passing the bolts through these four holes on the base piece and 283 00:15:16,010 --> 00:15:17,130 attach it with the nut. 284 00:15:17,470 --> 00:15:20,050 Find the black gear motor and the gear motor mount. 285 00:15:20,270 --> 00:15:24,830 Insert the gear motor into the gear motor mount so the light purple worm 286 00:15:24,830 --> 00:15:26,970 onto the mount's pronged bearing surface. 287 00:15:27,310 --> 00:15:29,990 Grab two long silver 25 millimeter bolts. 288 00:15:30,240 --> 00:15:33,780 Pass them through the black gear motor and thread them into the gear motor 289 00:15:33,780 --> 00:15:38,360 mount. Locate the potentiometer and unthread the nut that comes with it. 290 00:15:38,360 --> 00:15:42,460 the potentiometer through the gear motor mount and capture it with the nut. Pro 291 00:15:42,460 --> 00:15:47,480 tip, use the hex tool in the fork to tighten this nut. Find four small black 292 00:15:47,480 --> 00:15:51,920 bolts. Attach the gear motor mount to the base plate, being careful not to 293 00:15:51,920 --> 00:15:56,900 -tighten the bolt. Grab the motor driver, two black 10mm M3 bolts, and two 294 00:15:56,900 --> 00:16:00,690 nuts. Thread the bolts through the motor driver's mounting holes and capture in 295 00:16:00,690 --> 00:16:01,690 place with the nut. 296 00:16:01,890 --> 00:16:03,070 Locate two more nuts. 297 00:16:03,290 --> 00:16:07,750 Mount the whole motor driver assembly onto the base plate by passing the bolts 298 00:16:07,750 --> 00:16:11,590 through the two back mounting holes and capture on the other side with two more 299 00:16:11,590 --> 00:16:15,370 nuts. Plug the motor into the motor driver, making sure that the little tab 300 00:16:15,370 --> 00:16:19,210 the JST connector fits correctly into the socket. Find the motor driver 301 00:16:19,210 --> 00:16:20,210 connector wires. 302 00:16:20,350 --> 00:16:23,230 Plug them into the corresponding socket on the motor driver. 303 00:16:23,510 --> 00:16:27,510 Grab five long 25 millimeter black standoffs and five black nuts. 304 00:16:27,730 --> 00:16:31,850 Pass the standoff threaded portions into the five mounting holes on the base 305 00:16:31,850 --> 00:16:33,690 plate and capture with the nuts. 306 00:16:34,040 --> 00:16:38,560 Locate the membrane button pad and top plate. Pass the DuPont socket through 307 00:16:38,560 --> 00:16:41,000 wire management hole below the Hack Pack logo. 308 00:16:41,400 --> 00:16:45,400 Peel the sticker backing off the membrane button pad and press down into 309 00:16:45,400 --> 00:16:49,500 designated rectangular engraving. Peel the sticker off the light purple foam 310 00:16:49,500 --> 00:16:53,640 piece on the DuPont socket and stick it to the underside of the top plate. Find 311 00:16:53,640 --> 00:16:55,400 the membrane button pad connector wires. 312 00:16:55,920 --> 00:17:00,040 Feed the plug side through the bottom wire management slot and plug the 313 00:17:00,040 --> 00:17:04,140 into the membrane button pad. Grab the momentary up and down toggle. Pass the 314 00:17:04,140 --> 00:17:07,339 wires through its rectangular slot and pop it down into place. 315 00:17:07,710 --> 00:17:11,190 Feed the wires from the toggle up through the corresponding wire 316 00:17:11,190 --> 00:17:15,550 slot. Pass the wires from the joystick and motor driver up through their wire 317 00:17:15,550 --> 00:17:19,530 management slots in the upper plate and the wires from the potentiometer through 318 00:17:19,530 --> 00:17:23,230 the large gear motor cutout in the center of the upper plate. The upper 319 00:17:23,230 --> 00:17:27,990 should come to rest on the lower plate's 25 millimeter standoff. Find five small 320 00:17:27,990 --> 00:17:29,530 black M3 screws. 321 00:17:29,790 --> 00:17:34,170 Align the lower plate standoffs with the mounting holes on the upper plate and 322 00:17:34,170 --> 00:17:35,170 screw it in place. 323 00:17:35,420 --> 00:17:40,580 Locate the smaller clevis pin, the cotter pin, the aluminum tube labeled 1, 324 00:17:40,580 --> 00:17:44,540 the purple worm gear. Insert the worm gear into the end of the aluminum tube 325 00:17:44,540 --> 00:17:49,120 closest to the long slot. Then drop the clevis pin into the hole and insert the 326 00:17:49,120 --> 00:17:52,240 cotter pin into the clevis pin to lock everything together. 327 00:17:52,620 --> 00:17:54,980 Pro tip, make sure to use the short clevis pin. 328 00:17:55,200 --> 00:17:58,420 Find the long webbed data wires and the long power wires. 329 00:17:58,800 --> 00:18:02,460 Separate the webbed data wires into three units by peeling them apart. 330 00:18:02,680 --> 00:18:06,900 Feed them into the slot in the aluminum tube and out the back end. Next, find a 331 00:18:06,900 --> 00:18:11,720 long 25 millimeter M3 bolt. Drop the worm gear into the gear motor mount and 332 00:18:11,720 --> 00:18:15,620 onto the worm, making sure it sits flat on the upper plate parallel with the 333 00:18:15,620 --> 00:18:19,360 ground. Drive the bolt through the mount and the worm gear and tighten into the 334 00:18:19,360 --> 00:18:23,380 threads on the far side of the mount. Pro tip, tighten fully then loosen a 335 00:18:23,380 --> 00:18:25,380 quarter turn to prevent it from getting stuck. 336 00:18:25,700 --> 00:18:30,070 Find the small lavender pinion gear and press it onto the potentiometer. Make 337 00:18:30,070 --> 00:18:33,650 sure when it's fully depressed that it meshes with the worm gear. It may take a 338 00:18:33,650 --> 00:18:35,010 little force to mesh properly. 339 00:18:35,270 --> 00:18:38,910 Pro tip, make sure the arrows on the gears are pointing at each other when 340 00:18:38,910 --> 00:18:39,990 gear is pressed into place. 341 00:18:40,230 --> 00:18:41,630 Locate the breadboard assembly. 342 00:18:41,930 --> 00:18:45,410 Peel off its sticker backing and drop it down through the gap in the upper 343 00:18:45,410 --> 00:18:49,230 plate, making sure the on -off button is pointed towards you. Press down 344 00:18:49,230 --> 00:18:51,810 securely to adhere to the bottom base plate. 345 00:18:52,070 --> 00:18:53,670 Now plug in the wires from the joystick. 346 00:18:54,240 --> 00:18:56,920 Then plug in the wires from the momentary up -down switch. 347 00:18:57,220 --> 00:18:59,380 Next plug in the wires from the motor driver. 348 00:18:59,620 --> 00:19:03,400 Now plug in the wires from the membrane button. Feed the wires from the 349 00:19:03,400 --> 00:19:07,680 potentiometer through the wire management slot in the first aluminum 350 00:19:07,680 --> 00:19:09,040 plug them into the breadboard. 351 00:19:10,000 --> 00:19:13,940 Plug the wires from the first aluminum tube into the remaining breadboard slot. 352 00:19:14,180 --> 00:19:18,400 At the other end of the first aluminum tube, take the extra length of wire and 353 00:19:18,400 --> 00:19:22,800 feed them through one rubber end stopper and press the stopper into place in the 354 00:19:22,800 --> 00:19:23,719 aluminum tube. 355 00:19:23,720 --> 00:19:28,120 Locate the two smaller polypropylene finger guard pieces, as well as a small 356 00:19:28,120 --> 00:19:29,019 threaded rod. 357 00:19:29,020 --> 00:19:32,560 Feed the rod through a finger guard piece, the aluminum tube, and then the 358 00:19:32,560 --> 00:19:33,560 second guard piece. 359 00:19:33,700 --> 00:19:37,460 Pro tip, wiggle the rod so that the wires don't get in your way. Find the 360 00:19:37,460 --> 00:19:41,330 purple end caps and screw them on. to the threaded rod, pinching the finger 361 00:19:41,330 --> 00:19:42,330 guard pieces in place. 362 00:19:42,530 --> 00:19:45,930 Note that the finger guard pieces should be pointing up. Grab one of the elbow 363 00:19:45,930 --> 00:19:48,850 gears as well as the aluminum tube labeled with a 2. 364 00:19:49,050 --> 00:19:53,110 Pop the gear into the side of the tube closest to the 2. Note which side the A 365 00:19:53,110 --> 00:19:57,090 is pointing so you can match it later. Locate the two larger polypropylene 366 00:19:57,090 --> 00:20:01,770 finger guard pieces and pop them onto the elbow gear. Find another threaded 367 00:20:01,770 --> 00:20:03,650 and two more purple end caps. 368 00:20:03,930 --> 00:20:07,770 Pass the threaded rod through the first finger guard, the aluminum rod, and the 369 00:20:07,770 --> 00:20:11,630 second finger guard and capture everything in place with the end cap. 370 00:20:12,000 --> 00:20:16,000 Grab another long silver 25 millimeter bolt, drop the second aluminum tube 371 00:20:16,000 --> 00:20:20,380 assembly into the black gear motor mount, then pin in place using the 372 00:20:20,380 --> 00:20:24,520 tip, tighten the bolt fully, then loosen a quarter turn so the aluminum tube 373 00:20:24,520 --> 00:20:25,520 doesn't bind. 374 00:20:25,620 --> 00:20:29,560 Check to make sure the smaller finger guard is behind the larger finger guard. 375 00:20:29,660 --> 00:20:33,680 If it's not, pull the larger finger guard to the outside before the next 376 00:20:33,840 --> 00:20:37,860 Pick up the third aluminum tube and the second elbow gear. Pop the gear into the 377 00:20:37,860 --> 00:20:41,630 tube so that the A side is facing the same direction as the number Number 378 00:20:41,750 --> 00:20:46,470 set the third aluminum tube onto the second. This is easiest if the lamp base 379 00:20:46,470 --> 00:20:50,830 sitting flat on a table and the first and second bars are parallel with the 380 00:20:50,830 --> 00:20:54,870 table. Check once more to make sure that your A sides are pointed in the same 381 00:20:54,870 --> 00:20:58,130 direction and that the little notch between your gears lines up. Find a long 382 00:20:58,130 --> 00:21:01,330 clevis pin, the cotter pin, and the two wooden elbow guards. 383 00:21:01,550 --> 00:21:03,590 Sandwich them on the two elbow gears. 384 00:21:03,850 --> 00:21:07,750 Pass the clevis pin through one wooden elbow guard and the first aluminum tube, 385 00:21:07,990 --> 00:21:11,930 being careful to separate the wires as you pass. it through, and finally 386 00:21:11,930 --> 00:21:15,270 the second wooden guard. Hold it in place with a cotter pin. Grab the fourth 387 00:21:15,270 --> 00:21:19,290 aluminum tube and another rubber end cap. Take the ends of your data and 388 00:21:19,290 --> 00:21:23,330 wires and feed them through the cap and the aluminum tube. Then press the cap 389 00:21:23,330 --> 00:21:24,330 into place. 390 00:21:24,480 --> 00:21:28,480 Find another long clevis pin as well as another cotter pin. Drop the fourth 391 00:21:28,480 --> 00:21:31,840 aluminum tube into the space between the wooden elbow guard. 392 00:21:32,040 --> 00:21:35,920 Pin everything together with the clevis pin, then drop a cotter pin into the end 393 00:21:35,920 --> 00:21:37,260 of the clevis pin to secure. 394 00:21:37,540 --> 00:21:41,580 Locate three more end caps and pop them into the second, third, and fourth 395 00:21:41,580 --> 00:21:45,260 tubes. Find two long black M3 bolts and the upper fork. 396 00:21:45,580 --> 00:21:48,640 Slide the forks down over the third and fourth aluminum tubes. 397 00:21:48,900 --> 00:21:52,840 The wires should be able to fold through the forks and should not be pinched 398 00:21:52,840 --> 00:21:55,200 underneath. Secure the forks with the two bolts. 399 00:21:55,420 --> 00:21:59,140 Pro tip, wiggle the bolts to pass them between the wires. Tighten both, then 400 00:21:59,140 --> 00:22:01,580 loosen a quarter turn so the forks don't bind. 401 00:22:01,940 --> 00:22:06,240 Unpack the light PCB helper board as well as the helper board connector 402 00:22:06,560 --> 00:22:10,420 Plug the wires into the board. You may need pliers to gently squeeze this 403 00:22:10,420 --> 00:22:11,520 connector into place. 404 00:22:11,930 --> 00:22:14,890 Locate three short black standoffs and three nuts. 405 00:22:15,170 --> 00:22:19,210 Install the standoffs into the helper board and secure with the nuts. Grab the 406 00:22:19,210 --> 00:22:20,210 main light PCB. 407 00:22:20,470 --> 00:22:24,490 Plug the other end of the helper board connector wires into the light PCB. 408 00:22:24,770 --> 00:22:29,250 Find three small M3 bolts and use them to secure the main light PCB to the 409 00:22:29,250 --> 00:22:31,070 helper board's three standoffs. 410 00:22:31,270 --> 00:22:33,930 Locate the pitch servo and the yaw servo assembly. 411 00:22:34,190 --> 00:22:38,430 Press the pitch servo into the yaw servo's attached mount, making sure the 412 00:22:38,430 --> 00:22:43,860 of the mount's circular bearing surface pitch servo's neural axle are collinear. 413 00:22:43,900 --> 00:22:48,720 Grab two small black M3 bolts. Using the bolts, attach the pitch servo to the 414 00:22:48,720 --> 00:22:51,520 yaw servo's mount. Find the lower plastic bell piece. 415 00:22:51,720 --> 00:22:56,580 Pass the yaw servo up into the bell piece, keeping the yaw servo's wires 416 00:22:56,580 --> 00:22:57,920 towards the back of the bell. 417 00:22:58,140 --> 00:22:59,980 Locate two more small M3 bolts. 418 00:23:00,190 --> 00:23:04,030 Pass them through the lower bell pieces mounting holes and thread them into the 419 00:23:04,030 --> 00:23:07,890 yaw servo. Flip the main PCB assembly around so you're looking at the back 420 00:23:07,890 --> 00:23:12,850 plug the yaw servo into the socket labeled yaw and the pitch servo into the 421 00:23:12,850 --> 00:23:13,990 socket labeled pitch. 422 00:23:14,270 --> 00:23:18,110 Find the short power and data adapters. Pass them through the small circular 423 00:23:18,110 --> 00:23:22,030 opening in the lower bell and plug them into the helper board. Flip the main LED 424 00:23:22,030 --> 00:23:26,190 assembly back 90 degrees so it aligns with the lower bell and points outwards 425 00:23:26,190 --> 00:23:30,600 expected. Drop the assembly into the lower bell making sure the tab on the 426 00:23:30,600 --> 00:23:32,380 slots into the lower bell. 427 00:23:32,600 --> 00:23:36,300 Now grab the upper bell piece. Nest it over the lower bell and wiggle it down 428 00:23:36,300 --> 00:23:38,740 into place until the attachment tabs click. 429 00:23:38,980 --> 00:23:43,160 The PCB should seat nicely into a groove in the upper bell. Find the diffuser 430 00:23:43,160 --> 00:23:48,360 lens. Pop it into place over the lower two tabs and then snap it past the upper 431 00:23:48,360 --> 00:23:52,740 tab. Keeping the head parallel with the ground, drop the pitch servo down into 432 00:23:52,740 --> 00:23:56,580 the fork. Pro tip, put the head in exactly parallel with the base. 433 00:23:56,910 --> 00:24:01,370 not tipped up or down later if you notice your lamp head doesn't lean 434 00:24:01,370 --> 00:24:05,650 back the whole way you can separate the forks and adjust the head manually to 435 00:24:05,650 --> 00:24:09,370 reach its full range find the bell counterweight spring hook it first down 436 00:24:09,370 --> 00:24:13,530 around the attachment hole in the fork and then second into the attachment hole 437 00:24:13,530 --> 00:24:17,650 in the yaw servo mount plug in the adapter wires from the helper board into 438 00:24:17,650 --> 00:24:21,670 long data and power wires from the breadboard make sure the colors on the 439 00:24:21,670 --> 00:24:26,110 match up grab the two large lamp counterweight springs Pop them onto the 440 00:24:26,110 --> 00:24:29,410 end caps attached to the first and second aluminum tubes. 441 00:24:29,670 --> 00:24:31,650 These may be a tight fit, so press firmly. 442 00:24:31,870 --> 00:24:36,230 From home, find a 5 -volt USB wall adapter, a 5 -volt battery from another 443 00:24:36,230 --> 00:24:40,950 pack, or a laptop USB port and plug in your lamp. If the lamp is shutting off 444 00:24:40,950 --> 00:24:45,250 acting unpredictable while in use, make sure your power source can supply at 445 00:24:45,250 --> 00:24:46,670 least 0 .8 amps. 446 00:24:47,160 --> 00:24:48,620 Congratulations! You've built your lamp! 447 00:24:48,820 --> 00:24:51,400 Now that you're familiar with the ins and outs of the RoboLamp, let's get to 448 00:24:51,400 --> 00:24:52,820 hacking. First hack is all about productivity. 449 00:24:53,100 --> 00:24:55,940 For those of us, like yours truly, who need a little bit of discipline in our 450 00:24:55,940 --> 00:24:59,120 lives sometimes, it's a software hack that turns your RoboLamp into a Pomodoro 451 00:24:59,120 --> 00:25:00,420 timer when you double -click the joystick. 452 00:25:00,680 --> 00:25:03,640 It's going to start you off with a countdown in red for time you should be 453 00:25:03,640 --> 00:25:05,900 working. That gives you a little blinking light. And then a countdown in 454 00:25:05,900 --> 00:25:08,580 for when you should be taking a break. And after a couple cycles of this, it'll 455 00:25:08,580 --> 00:25:09,580 give you a longer break. 456 00:25:13,919 --> 00:25:17,420 You can use the standard pattern of 20 minutes of work, 5 minutes of break, 10 457 00:25:17,420 --> 00:25:21,100 minute break every 4 cycles, or you can use the level 2 configuration file to 458 00:25:21,100 --> 00:25:24,480 change those parameters to ones that work for you. For example, for me, it 459 00:25:24,480 --> 00:25:28,400 to have 6 seconds of work time followed by 6 seconds of break time followed by a 460 00:25:28,400 --> 00:25:31,740 long break of 12 seconds. This is great if you want a quiet visual reminder of 461 00:25:31,740 --> 00:25:34,200 when you should be working and when you should be taking breaks. The second hack 462 00:25:34,200 --> 00:25:38,840 makes use of an awesome library called FastLED, I call it FastLED, to bring in 463 00:25:38,840 --> 00:25:42,300 some awesome new color palettes, and we call this the disco hack, where choosing 464 00:25:42,300 --> 00:25:45,860 your color doesn't result in a single solid color but an elegant and flowing 465 00:25:45,860 --> 00:25:49,060 pattern. Rather than using the joystick to update brightness, it updates... 466 00:25:49,280 --> 00:25:50,159 speed of the animation. 467 00:25:50,160 --> 00:25:52,740 You can really level up your color game with this hack. Third hack is a hardware 468 00:25:52,740 --> 00:25:55,620 hack called the sunrise light hack. Just grab a light sensor from your tank 469 00:25:55,620 --> 00:25:58,600 robot, plug it into the power and ground, and plug the tank plant sensor 470 00:25:58,600 --> 00:26:01,640 into the A5 socket and upload the new code. The lamp will behave normally, 471 00:26:01,760 --> 00:26:04,900 except if you choose the soft white preset. In that case, the robo lamp will 472 00:26:04,900 --> 00:26:08,260 take its cues from this light sensor. Put it in a sunny window or strap it to 473 00:26:08,260 --> 00:26:10,780 the back of your lamp. When the sun comes up, the light will mimic that 474 00:26:10,780 --> 00:26:13,460 by rising up itself and getting brighter. When the sun goes down or it 475 00:26:13,460 --> 00:26:16,620 dark, the lamp will slowly descend and then go to sleep. Level this hack up 476 00:26:16,620 --> 00:26:20,090 further by getting your own real -time clock. module and turning your Sunrise 477 00:26:20,090 --> 00:26:24,340 alarm clock into an actual timekeeping alarm clock finally we have our 478 00:26:24,340 --> 00:26:27,840 ir remote hack control your lamp from across the room with your turret ir 479 00:26:27,840 --> 00:26:30,840 great for puppeteering as you can hide the remote and have the robo lamp 480 00:26:30,840 --> 00:26:33,440 interact with other people who come across it also great if you want to 481 00:26:33,440 --> 00:26:36,100 the mood lighting in your room from a distance i really hope you enjoyed the 482 00:26:36,100 --> 00:26:39,020 robo lamp i had a blast building it i actually keep one on my desk and i named 483 00:26:39,020 --> 00:26:42,320 it mark because he really respects his product engineers we know he thinks the 484 00:26:42,320 --> 00:26:46,220 world of us how creative we are some might say even more creative than he is 485 00:26:46,220 --> 00:26:50,300 specifically our intelligence all right that's enough get out of here these 486 00:26:50,300 --> 00:26:53,420 robots aren't gonna that themselves all right well you've definitely earned your 487 00:26:53,420 --> 00:26:57,280 led gear badge this is a really big deal because you'll notice in your box you 488 00:26:57,280 --> 00:27:01,720 also have a level three sundial and that means you've now graduated not just 489 00:27:01,720 --> 00:27:06,540 from level one from level two on half pack so this is the updated sun gear 490 00:27:06,540 --> 00:27:09,920 should make you really excited because level three is where things get really 491 00:27:09,920 --> 00:27:10,920 wild 492 00:27:47,370 --> 00:27:48,370 Alright, 493 00:27:49,670 --> 00:27:53,350 so go add that diploma to your gear badge and get to work creating the most 494 00:27:53,350 --> 00:27:57,290 exciting piece of office equipment you've ever imagined, and then use it to 495 00:27:57,290 --> 00:28:01,170 build other hackpacks, use it to just be a little friendly companion, and most 496 00:28:01,170 --> 00:28:03,230 importantly, show off and impress your friends. 497 00:28:03,430 --> 00:28:05,550 See you next time, right here at Crackpot. 49551

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.