All language subtitles for Build Your Own RoboLamp! - CrunchLabs (720p, h264)
Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (SoranĂ®)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
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.