Skip to content
Snippets Groups Projects
Commit f035faa9 authored by Sosuke Kanegae's avatar Sosuke Kanegae
Browse files

Edit week03 Add construction kit

parent 09efa699
No related branches found
No related tags found
No related merge requests found
Pipeline #375426 passed
Showing with 100 additions and 2 deletions
No preview for this file type
......@@ -356,6 +356,104 @@ I did that by writing the following line in <strong>Additional Boards Manager UR
<source src="../../images/week04/hiImsosuke.mp4" type="video/mp4">
</video>
<h4 id="customizing-the-program">Customizing the program</h4>
<p>I changed the program so that it will blink in different patterns if a vowel was typed.</p>
<p>If a vowel is typed, RGB LED will turn "cyan magenta yellow white black".
If something else (consonant, number or synbol) is typed, the RGB LED will turn "red green blue white black".</p>
<div class="highlight"><pre><span></span><code><a id="__codelineno-1-1" name="__codelineno-1-1" href="#__codelineno-1-1"></a>#include &lt;Adafruit_NeoPixel.h&gt;
<a id="__codelineno-1-2" name="__codelineno-1-2" href="#__codelineno-1-2"></a>//
<a id="__codelineno-1-3" name="__codelineno-1-3" href="#__codelineno-1-3"></a>// globals
<a id="__codelineno-1-4" name="__codelineno-1-4" href="#__codelineno-1-4"></a>//
<a id="__codelineno-1-5" name="__codelineno-1-5" href="#__codelineno-1-5"></a>#define numpixels 1
<a id="__codelineno-1-6" name="__codelineno-1-6" href="#__codelineno-1-6"></a>#define pixelpower 11
<a id="__codelineno-1-7" name="__codelineno-1-7" href="#__codelineno-1-7"></a>#define pixelpin 12
<a id="__codelineno-1-8" name="__codelineno-1-8" href="#__codelineno-1-8"></a>#define bufsize 25
<a id="__codelineno-1-9" name="__codelineno-1-9" href="#__codelineno-1-9"></a>char buf[bufsize];
<a id="__codelineno-1-10" name="__codelineno-1-10" href="#__codelineno-1-10"></a>int count=0;
<a id="__codelineno-1-11" name="__codelineno-1-11" href="#__codelineno-1-11"></a>//
<a id="__codelineno-1-12" name="__codelineno-1-12" href="#__codelineno-1-12"></a>// setup
<a id="__codelineno-1-13" name="__codelineno-1-13" href="#__codelineno-1-13"></a>//
<a id="__codelineno-1-14" name="__codelineno-1-14" href="#__codelineno-1-14"></a>Adafruit_NeoPixel pixel(numpixels,pixelpin,NEO_GRB+NEO_KHZ800);
<a id="__codelineno-1-15" name="__codelineno-1-15" href="#__codelineno-1-15"></a>void setup() {
<a id="__codelineno-1-16" name="__codelineno-1-16" href="#__codelineno-1-16"></a> Serial.begin();
<a id="__codelineno-1-17" name="__codelineno-1-17" href="#__codelineno-1-17"></a> pixel.begin();
<a id="__codelineno-1-18" name="__codelineno-1-18" href="#__codelineno-1-18"></a> pinMode(pixelpower,OUTPUT);
<a id="__codelineno-1-19" name="__codelineno-1-19" href="#__codelineno-1-19"></a> digitalWrite(pixelpower,HIGH);
<a id="__codelineno-1-20" name="__codelineno-1-20" href="#__codelineno-1-20"></a> }
<a id="__codelineno-1-21" name="__codelineno-1-21" href="#__codelineno-1-21"></a>//
<a id="__codelineno-1-22" name="__codelineno-1-22" href="#__codelineno-1-22"></a>// main loop
<a id="__codelineno-1-23" name="__codelineno-1-23" href="#__codelineno-1-23"></a>//
<a id="__codelineno-1-24" name="__codelineno-1-24" href="#__codelineno-1-24"></a>void loop() {
<a id="__codelineno-1-25" name="__codelineno-1-25" href="#__codelineno-1-25"></a> char chr;
<a id="__codelineno-1-26" name="__codelineno-1-26" href="#__codelineno-1-26"></a> //
<a id="__codelineno-1-27" name="__codelineno-1-27" href="#__codelineno-1-27"></a> // check for a char
<a id="__codelineno-1-28" name="__codelineno-1-28" href="#__codelineno-1-28"></a> //
<a id="__codelineno-1-29" name="__codelineno-1-29" href="#__codelineno-1-29"></a> if (Serial.available()) {
<a id="__codelineno-1-30" name="__codelineno-1-30" href="#__codelineno-1-30"></a> //
<a id="__codelineno-1-31" name="__codelineno-1-31" href="#__codelineno-1-31"></a> // read, save, and send char
<a id="__codelineno-1-32" name="__codelineno-1-32" href="#__codelineno-1-32"></a> //
<a id="__codelineno-1-33" name="__codelineno-1-33" href="#__codelineno-1-33"></a> chr = Serial.read();
<a id="__codelineno-1-34" name="__codelineno-1-34" href="#__codelineno-1-34"></a> buf[count] = chr;
<a id="__codelineno-1-35" name="__codelineno-1-35" href="#__codelineno-1-35"></a> count += 1;
<a id="__codelineno-1-36" name="__codelineno-1-36" href="#__codelineno-1-36"></a> buf[count] = 0;
<a id="__codelineno-1-37" name="__codelineno-1-37" href="#__codelineno-1-37"></a> if (count == (bufsize-1))
<a id="__codelineno-1-38" name="__codelineno-1-38" href="#__codelineno-1-38"></a> count = 0;
<a id="__codelineno-1-39" name="__codelineno-1-39" href="#__codelineno-1-39"></a> Serial.print(&quot;hello.RP2040-XIAO.blink-echo.ino: you typed &quot;);
<a id="__codelineno-1-40" name="__codelineno-1-40" href="#__codelineno-1-40"></a> Serial.println(buf);
<a id="__codelineno-1-41" name="__codelineno-1-41" href="#__codelineno-1-41"></a> if (chr == &#39;a&#39; || chr == &#39;e&#39; || chr == &#39;i&#39; || chr == &#39;o&#39; || chr == &#39;u&#39;){
<a id="__codelineno-1-42" name="__codelineno-1-42" href="#__codelineno-1-42"></a> //
<a id="__codelineno-1-43" name="__codelineno-1-43" href="#__codelineno-1-43"></a> // blink LED cyan magenta yellow white black
<a id="__codelineno-1-44" name="__codelineno-1-44" href="#__codelineno-1-44"></a> //
<a id="__codelineno-1-45" name="__codelineno-1-45" href="#__codelineno-1-45"></a> pixel.setPixelColor(0,pixel.Color(0,255,255));
<a id="__codelineno-1-46" name="__codelineno-1-46" href="#__codelineno-1-46"></a> pixel.show();
<a id="__codelineno-1-47" name="__codelineno-1-47" href="#__codelineno-1-47"></a> delay(100);
<a id="__codelineno-1-48" name="__codelineno-1-48" href="#__codelineno-1-48"></a> //
<a id="__codelineno-1-49" name="__codelineno-1-49" href="#__codelineno-1-49"></a> pixel.setPixelColor(0,pixel.Color(255,0,255));
<a id="__codelineno-1-50" name="__codelineno-1-50" href="#__codelineno-1-50"></a> pixel.show();
<a id="__codelineno-1-51" name="__codelineno-1-51" href="#__codelineno-1-51"></a> delay(100);
<a id="__codelineno-1-52" name="__codelineno-1-52" href="#__codelineno-1-52"></a> //
<a id="__codelineno-1-53" name="__codelineno-1-53" href="#__codelineno-1-53"></a> pixel.setPixelColor(0,pixel.Color(255,255,0));
<a id="__codelineno-1-54" name="__codelineno-1-54" href="#__codelineno-1-54"></a> pixel.show();
<a id="__codelineno-1-55" name="__codelineno-1-55" href="#__codelineno-1-55"></a> delay(100);
<a id="__codelineno-1-56" name="__codelineno-1-56" href="#__codelineno-1-56"></a> //
<a id="__codelineno-1-57" name="__codelineno-1-57" href="#__codelineno-1-57"></a> pixel.setPixelColor(0,pixel.Color(255,255,255));
<a id="__codelineno-1-58" name="__codelineno-1-58" href="#__codelineno-1-58"></a> pixel.show();
<a id="__codelineno-1-59" name="__codelineno-1-59" href="#__codelineno-1-59"></a> delay(100);
<a id="__codelineno-1-60" name="__codelineno-1-60" href="#__codelineno-1-60"></a> //
<a id="__codelineno-1-61" name="__codelineno-1-61" href="#__codelineno-1-61"></a> pixel.setPixelColor(0,pixel.Color(0,0,0));
<a id="__codelineno-1-62" name="__codelineno-1-62" href="#__codelineno-1-62"></a> pixel.show();
<a id="__codelineno-1-63" name="__codelineno-1-63" href="#__codelineno-1-63"></a> }else{
<a id="__codelineno-1-64" name="__codelineno-1-64" href="#__codelineno-1-64"></a> //
<a id="__codelineno-1-65" name="__codelineno-1-65" href="#__codelineno-1-65"></a> // blink LED red green blue white black
<a id="__codelineno-1-66" name="__codelineno-1-66" href="#__codelineno-1-66"></a> //
<a id="__codelineno-1-67" name="__codelineno-1-67" href="#__codelineno-1-67"></a> pixel.setPixelColor(0,pixel.Color(255,0,0));
<a id="__codelineno-1-68" name="__codelineno-1-68" href="#__codelineno-1-68"></a> pixel.show();
<a id="__codelineno-1-69" name="__codelineno-1-69" href="#__codelineno-1-69"></a> delay(100);
<a id="__codelineno-1-70" name="__codelineno-1-70" href="#__codelineno-1-70"></a> //
<a id="__codelineno-1-71" name="__codelineno-1-71" href="#__codelineno-1-71"></a> pixel.setPixelColor(0,pixel.Color(0,255,0));
<a id="__codelineno-1-72" name="__codelineno-1-72" href="#__codelineno-1-72"></a> pixel.show();
<a id="__codelineno-1-73" name="__codelineno-1-73" href="#__codelineno-1-73"></a> delay(100);
<a id="__codelineno-1-74" name="__codelineno-1-74" href="#__codelineno-1-74"></a> //
<a id="__codelineno-1-75" name="__codelineno-1-75" href="#__codelineno-1-75"></a> pixel.setPixelColor(0,pixel.Color(0,0,255));
<a id="__codelineno-1-76" name="__codelineno-1-76" href="#__codelineno-1-76"></a> pixel.show();
<a id="__codelineno-1-77" name="__codelineno-1-77" href="#__codelineno-1-77"></a> delay(100);
<a id="__codelineno-1-78" name="__codelineno-1-78" href="#__codelineno-1-78"></a> //
<a id="__codelineno-1-79" name="__codelineno-1-79" href="#__codelineno-1-79"></a> pixel.setPixelColor(0,pixel.Color(255,255,255));
<a id="__codelineno-1-80" name="__codelineno-1-80" href="#__codelineno-1-80"></a> pixel.show();
<a id="__codelineno-1-81" name="__codelineno-1-81" href="#__codelineno-1-81"></a> delay(100);
<a id="__codelineno-1-82" name="__codelineno-1-82" href="#__codelineno-1-82"></a> //
<a id="__codelineno-1-83" name="__codelineno-1-83" href="#__codelineno-1-83"></a> pixel.setPixelColor(0,pixel.Color(0,0,0));
<a id="__codelineno-1-84" name="__codelineno-1-84" href="#__codelineno-1-84"></a> pixel.show();
<a id="__codelineno-1-85" name="__codelineno-1-85" href="#__codelineno-1-85"></a> }
<a id="__codelineno-1-86" name="__codelineno-1-86" href="#__codelineno-1-86"></a> pixel.show();
<a id="__codelineno-1-87" name="__codelineno-1-87" href="#__codelineno-1-87"></a> }
<a id="__codelineno-1-88" name="__codelineno-1-88" href="#__codelineno-1-88"></a> }
</code></pre></div>
<p>The program suceeded like this:</p>
<video width="100%" controls>
<source src="../../images/week04/blink_vowel.mp4" type="video/mp4">
</video>
<h2 id="3-compare-several-arcchitectures">3. Compare several arcchitectures</h2></div>
</div>
</div>
......
File added
public/images/week04/additional_board_manager.jpg

267 KiB

public/images/week04/board_manager.jpg

360 KiB

public/images/week04/check_neopixel.jpg

238 KiB

public/images/week04/example_blink.jpg

455 KiB

File deleted
File deleted
File deleted
public/images/week04/xinfront.jpg

155 KiB

public/images/week04/xinpin.jpg

165 KiB

......@@ -283,5 +283,5 @@
<!--
MkDocs version : 1.4.2
Build Date UTC : 2023-02-20 21:45:56.760807+00:00
Build Date UTC : 2023-02-20 22:16:40.434139+00:00
-->
This diff is collapsed.
No preview for this file type
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment