<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://peda.net/:static/535/atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Aikapommi</title>
<id>https://peda.net/id/edaefaae41e</id>
<updated>2019-03-08T23:55:46+02:00</updated>
<link href="https://peda.net/id/edaefaae41e:atom" rel="self" />
<link href="https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/aikapommi#top" rel="alternate" />
<logo>https://peda.net/:static/535/peda.net.logo.bg.svg</logo>
<rights type="html">&lt;div class=&quot;license&quot;&gt;Tämän sivun lisenssi &lt;a rel=&quot;license&quot; href=&quot;https://peda.net/info&quot;&gt;Peda.net-yleislisenssi&lt;/a&gt;&lt;/div&gt;&#10;</rights>

<entry>
<title>Aikapommi</title>
<id>https://peda.net/id/6d7e037241e</id>
<updated>2019-03-10T20:14:03+02:00</updated>
<link href="https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/aikapommi/aikapommi#top" />
<content type="html">&lt;b&gt;Aikapommi on klassikko pakopeli -gadget. &lt;/b&gt;Usein sitä käytetään pakopelin pääratkaisuna (pura pommi, selviä ennen kuin pommi räjähtää). &lt;br/&gt;&#10;&lt;a href=&quot;https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/aikapommi/aikapommi/4#top&quot; title=&quot;4B98135D-6545-488F-8101-46AD2DC77DDE.jpeg&quot;&gt;&lt;img src=&quot;https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/aikapommi/aikapommi/4:file/photo/e632c5c17ad0c566c73e889ea9eaff172d305cd7/4B98135D-6545-488F-8101-46AD2DC77DDE.jpeg&quot; alt=&quot;&quot; title=&quot;4B98135D-6545-488F-8101-46AD2DC77DDE.jpeg&quot; class=&quot;inline&quot; loading=&quot;lazy&quot;/&gt;&lt;/a&gt;&lt;br/&gt;&#10;&lt;b&gt;&lt;br/&gt;&#10;Herättää tietysti kysymyksiä, onko pommi sopiva gadget koulumaailmaan? &lt;/b&gt;Tässä kohden täytyy muistaa, että &lt;em&gt;tässä kyseessä on kuitenkin vain peli.&lt;/em&gt; Käydäänhän historiassakin yläkoulussa läpi erittäin paljon sotahistoriaa. Toisaalta pelillisesti ajateltuna aikapommi on monille tuttu pelimaailmasta (esimerkiksi CS) tai airsoftaamisesta. Pommi luo piinaavaa tunnelmaa ja sillä on immersiovoimaa. &lt;em&gt;Toki, en suosittele tätä käytettäväksi alakoululaisten kanssa. K-12 lienee aika sopiva luokitus.&lt;/em&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Tässä on esitelty &lt;em&gt;simppeli&lt;/em&gt; versio pommista. Siinä on vain ajastin ja tikittävä ääni&lt;/b&gt;. Ajastimen ajan ja nopeuden voi säätää ohjelmasta. Tämän tarkoitus on siis luoda tunnelmaa ja olla pelin aikalaskuri (selvitä mysteeri, ennenkuin pommi ”räjähtää”).&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Tekotarpeet&lt;/b&gt;:&lt;br/&gt;&#10;- Arduino + USB.johto (+tietokone)&lt;br/&gt;&#10;- Breadboar (mitä pienempi, sen parempi)&lt;br/&gt;&#10;- 7-segment 4-digit näyttö&lt;br/&gt;&#10;- Piezo -kaiutin&lt;br/&gt;&#10;- Kytkentäjohtoja.&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Askartelu:&lt;/b&gt;&lt;br/&gt;&#10;- mitä tahansa ylimääräisiä johtoja, rautalankaa tms. joiden avulla askarrellaan pommista vaarallisen näköinen.&lt;br/&gt;&#10;- talouspaperin pahvirulla, putkea tai muuta soveltuvaa ”dynamiittia”&lt;br/&gt;&#10;- A4 paperia&lt;br/&gt;&#10;- punaista maalia (halutessasi myös mustaa maalia/tussi kirjoitukseen ”TNT”)&lt;br/&gt;&#10;- mustaa sähköteippiä&lt;br/&gt;&#10;- kiinnitysnarua/rautalankaa tms. Jolla kiinnitetään Arduino ja breadboar pommiin.&lt;br/&gt;&#10;- Jos haluat Arduinon toimivan ilman USB-virtaa, käytä esimerkiksi 9V-paristoa ja Arduinon paristojohtoa (näitä myydää erikseen, halpa).&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Askartelu&lt;/b&gt;.&lt;br/&gt;&#10;Tästä videosta saat hyvin ideasta kiinni. Sovella askartelua oman maun mukaan!&lt;br/&gt;&#10;&lt;div class=&quot;youtube&quot;&gt;&lt;iframe loading=&quot;lazy&quot; width=&quot;640&quot; height=&quot;360&quot; src=&quot;https://www.youtube.com/embed/CpIsbBXIhA4?rel=0&amp;amp;modestbranding=1&amp;amp;hl=fi&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&lt;div&gt;&lt;a href=&quot;https://youtu.be/CpIsbBXIhA4&quot; title=&quot;https://youtu.be/CpIsbBXIhA4&quot; target=&quot;_blank&quot; rel=&quot;nofollow ugc noopener&quot;&gt;https://youtu.be/CpIsbBXIhA4&lt;/a&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;b&gt;Kytkentä ja ohjelmointi:&lt;/b&gt;&lt;br/&gt;&#10;1. Laita 7-segment näyttö kiinni breadboardin keskelle. Kytke johdot alla olevan kytkentäkaavion mukaisesti kiinni Arduinoon.&lt;br/&gt;&#10;&lt;br/&gt;&#10;2. Aseta Piezo-kaitin haluamaasi paikkaan. Kytke sen toinen jalka Arduinon ainoaan vapaaseen digitaalipinniin (PIN 13) ja toiseen jalkaan GND. Jos et halua sitä breadboardille, käytä alligaattorijohtoja. Ne antavat pommille muutenkin kivan säväyksen!&lt;br/&gt;&#10;&lt;br/&gt;&#10;3. Ohjelmoi/kopioi Sketchiin alla ohjelma ja lataa se Arduinoon.</content>
<published>2019-03-09T00:13:40+02:00</published>
</entry>

<entry>
<title>IDE KOODI</title>
<id>https://peda.net/id/a7e286d4435</id>
<updated>2019-03-10T20:10:45+02:00</updated>
<link href="https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/aikapommi/nimet%C3%B6n-a7e2#top" />
<content type="html">//TÄMÄ ON TOIMIVA VERSIO!&lt;br/&gt;&#10;//Below the list: 7 segement pin number - 7 segement light - arduino pin number&lt;br/&gt;&#10;&lt;br/&gt;&#10;//pin 11 - A = 12&lt;br/&gt;&#10;//pin 7 - B = 10&lt;br/&gt;&#10;//pin 4 - C = 8&lt;br/&gt;&#10;//pin 2 - D = 7&lt;br/&gt;&#10;//pin 1 - E = 6&lt;br/&gt;&#10;//pin 10 - F = 11&lt;br/&gt;&#10;//pin 5 - G = 9&lt;br/&gt;&#10;&lt;br/&gt;&#10;//pin 3 is decimal, tämä ei käytössä!&lt;br/&gt;&#10;&lt;br/&gt;&#10;/*&lt;br/&gt;&#10;12 11 10 9 8 7&lt;br/&gt;&#10;| | | | | | &lt;br/&gt;&#10; A&lt;br/&gt;&#10; ---&lt;br/&gt;&#10;F | | B&lt;br/&gt;&#10; | G |&lt;br/&gt;&#10; ---&lt;br/&gt;&#10;E | | C&lt;br/&gt;&#10; | |&lt;br/&gt;&#10; --- . dec&lt;br/&gt;&#10; D&lt;br/&gt;&#10;| | | | | |&lt;br/&gt;&#10;1 2 3 4 5 6&lt;br/&gt;&#10;*/&lt;br/&gt;&#10;&lt;br/&gt;&#10;//pin 12 - first digit = 1&lt;br/&gt;&#10;//pin 9 - second digit = 2 &lt;br/&gt;&#10;//pin 8 - third digit = 3&lt;br/&gt;&#10;//pin 6 fourth digit = 4&lt;br/&gt;&#10;&lt;br/&gt;&#10;const int a = 12;&lt;br/&gt;&#10;const int b = 10;&lt;br/&gt;&#10;const int c = 8;&lt;br/&gt;&#10;const int d = 7;&lt;br/&gt;&#10;const int e = 6;&lt;br/&gt;&#10;const int f = 11;&lt;br/&gt;&#10;const int g = 9;&lt;br/&gt;&#10;int p = 0;&lt;br/&gt;&#10;&lt;br/&gt;&#10;int startStopReset = 13; &lt;br/&gt;&#10;int buttonValue;&lt;br/&gt;&#10;&lt;br/&gt;&#10;const int d1 =1;&lt;br/&gt;&#10;const int d2 =2;&lt;br/&gt;&#10;const int d3 =3;&lt;br/&gt;&#10;const int d4 =4;&lt;br/&gt;&#10;&lt;br/&gt;&#10;long n = 9999999; //start time -&amp;gt; CAN CHANGE TO WHATEVER TIME YOU WANT&lt;br/&gt;&#10;int x = 100; &lt;br/&gt;&#10;int del = 400; //delay value&lt;br/&gt;&#10; &lt;br/&gt;&#10;void setup()&lt;br/&gt;&#10;{&lt;br/&gt;&#10;&lt;br/&gt;&#10; pinMode(d1, OUTPUT);&lt;br/&gt;&#10; pinMode(d2, OUTPUT);&lt;br/&gt;&#10; pinMode(d3, OUTPUT);&lt;br/&gt;&#10; pinMode(d4, OUTPUT);&lt;br/&gt;&#10; pinMode(a, OUTPUT);&lt;br/&gt;&#10; pinMode(b, OUTPUT);&lt;br/&gt;&#10; pinMode(c, OUTPUT);&lt;br/&gt;&#10; pinMode(d, OUTPUT);&lt;br/&gt;&#10; pinMode(e, OUTPUT);&lt;br/&gt;&#10; pinMode(f, OUTPUT);&lt;br/&gt;&#10; pinMode(g, OUTPUT);&lt;br/&gt;&#10; pinMode(p, OUTPUT);&lt;br/&gt;&#10; pinMode(startStopReset, INPUT); &lt;br/&gt;&#10; digitalWrite(startStopReset, HIGH); &lt;br/&gt;&#10; pinMode(A1, INPUT);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void loop()&lt;br/&gt;&#10;{&lt;br/&gt;&#10;&lt;br/&gt;&#10; digitalWrite (p, HIGH);&lt;br/&gt;&#10;&lt;br/&gt;&#10; clearLEDs();&lt;br/&gt;&#10; pickDigit(1);&lt;br/&gt;&#10; pickNumber((n/x/1000)%10);&lt;br/&gt;&#10; delayMicroseconds(del);&lt;br/&gt;&#10; &lt;br/&gt;&#10; clearLEDs();&lt;br/&gt;&#10; pickDigit(2);&lt;br/&gt;&#10; pickNumber((n/x/100)%10);&lt;br/&gt;&#10; delayMicroseconds(del);&lt;br/&gt;&#10; &lt;br/&gt;&#10; clearLEDs();&lt;br/&gt;&#10; pickDigit(3);&lt;br/&gt;&#10; dispDec(3);&lt;br/&gt;&#10; pickNumber((n/x/10)%10);&lt;br/&gt;&#10; delayMicroseconds(del);&lt;br/&gt;&#10; &lt;br/&gt;&#10; clearLEDs();&lt;br/&gt;&#10; pickDigit(4);&lt;br/&gt;&#10; pickNumber(n/x%10);&lt;br/&gt;&#10; delayMicroseconds(del);&lt;br/&gt;&#10; &lt;br/&gt;&#10; n--; //'n++' for stopwatch&lt;br/&gt;&#10; &lt;br/&gt;&#10; if (digitalRead(0) == HIGH)&lt;br/&gt;&#10; {&lt;br/&gt;&#10; n = 100000; //re-start time -&amp;gt; CHANGE TO WHATEVER TIME YOU ORIGONALLY SET (start time)&lt;br/&gt;&#10; }&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void pickDigit(int x) //changes digit&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(d1, HIGH);&lt;br/&gt;&#10; digitalWrite(d2, HIGH);&lt;br/&gt;&#10; digitalWrite(d3, HIGH);&lt;br/&gt;&#10; digitalWrite(d4, HIGH);&lt;br/&gt;&#10; &lt;br/&gt;&#10; switch(x)&lt;br/&gt;&#10; {&lt;br/&gt;&#10; case 1: &lt;br/&gt;&#10; digitalWrite(d1, LOW); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 2: &lt;br/&gt;&#10; digitalWrite(d2, LOW); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 3: &lt;br/&gt;&#10; digitalWrite(d3, LOW);&lt;br/&gt;&#10; digitalWrite(p, HIGH); //new &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; default: &lt;br/&gt;&#10; digitalWrite(d4, LOW); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; }&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void pickNumber(int x) //changes value of number&lt;br/&gt;&#10;{&lt;br/&gt;&#10; switch(x)&lt;br/&gt;&#10; {&lt;br/&gt;&#10; default: &lt;br/&gt;&#10; zero();&lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 1: &lt;br/&gt;&#10; one(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 2: &lt;br/&gt;&#10; two(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 3: &lt;br/&gt;&#10; three(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 4: &lt;br/&gt;&#10; four(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 5: &lt;br/&gt;&#10; five(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 6: &lt;br/&gt;&#10; six(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 7: &lt;br/&gt;&#10; seven(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 8: &lt;br/&gt;&#10; eight(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; case 9: &lt;br/&gt;&#10; nine(); &lt;br/&gt;&#10; break;&lt;br/&gt;&#10; }&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void dispDec(int x)&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(p, LOW);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void clearLEDs()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, LOW);&lt;br/&gt;&#10; digitalWrite(b, LOW);&lt;br/&gt;&#10; digitalWrite(c, LOW);&lt;br/&gt;&#10; digitalWrite(d, LOW);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, LOW);&lt;br/&gt;&#10; digitalWrite(g, LOW);&lt;br/&gt;&#10; digitalWrite(p, LOW);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void zero()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, HIGH);&lt;br/&gt;&#10; digitalWrite(f, HIGH);&lt;br/&gt;&#10; digitalWrite(g, LOW);&lt;br/&gt;&#10; tone(13,500,1); // PIEZO SOUND (PIN, TAAJUUS, KESTO) &amp;lt;— muuta kahta jälkimmäistä vapaasti&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void one()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, LOW);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, LOW);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, LOW);&lt;br/&gt;&#10; digitalWrite(g, LOW);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void two()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, LOW);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, HIGH);&lt;br/&gt;&#10; digitalWrite(f, LOW);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void three()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, LOW);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void four()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, LOW);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, LOW);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, HIGH);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void five()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, LOW);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, HIGH);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void six()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, LOW);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, HIGH);&lt;br/&gt;&#10; digitalWrite(f, HIGH);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void seven()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, LOW);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, LOW);&lt;br/&gt;&#10; digitalWrite(g, LOW);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void eight()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, HIGH);&lt;br/&gt;&#10; digitalWrite(f, HIGH);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10; &lt;br/&gt;&#10;void nine()&lt;br/&gt;&#10;{&lt;br/&gt;&#10; digitalWrite(a, HIGH);&lt;br/&gt;&#10; digitalWrite(b, HIGH);&lt;br/&gt;&#10; digitalWrite(c, HIGH);&lt;br/&gt;&#10; digitalWrite(d, HIGH);&lt;br/&gt;&#10; digitalWrite(e, LOW);&lt;br/&gt;&#10; digitalWrite(f, HIGH);&lt;br/&gt;&#10; digitalWrite(g, HIGH);&lt;br/&gt;&#10;}&lt;br/&gt;&#10;&lt;br/&gt;&#10;void button1()&lt;br/&gt;&#10;{buttonValue = analogRead(A1);&lt;br/&gt;&#10;&lt;br/&gt;&#10; if (buttonValue&amp;gt;=1010 &amp;amp;&amp;amp; buttonValue&amp;lt;=1015) return;}</content>
<published>2019-03-10T20:09:32+02:00</published>
</entry>


</feed>