<?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>Numerolukko (Arduino gadget)</title>
<id>https://peda.net/id/72c22edef71</id>
<updated>2019-10-30T10:52:33+02:00</updated>
<link href="https://peda.net/id/72c22edef71:atom" rel="self" />
<link href="https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/nagl#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>Tarvikkeet</title>
<id>https://peda.net/id/3afd2d6cf96</id>
<updated>2019-11-06T20:00:08+02:00</updated>
<link href="https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/nagl/keypad-luonnos#top" />
<content type="html">TÄMÄ OSIO ON HIUKAN KESKEN = TYÖNALLA!&lt;br/&gt;&#10;&lt;br/&gt;&#10;Arduino Uno + USB-johto&lt;br/&gt;&#10;&lt;a href=&quot;https://www.arduino.cc/en/main/software&quot; rel=&quot;noopener nofollow ugc&quot; target=&quot;_blank&quot;&gt;Arduino IDE&lt;/a&gt; -ohjelmointiympäristö asennettuna tietokoneelle (ilmainen)&lt;br/&gt;&#10;Breadboard eli kytkentälevy (ei pakollinen, mutta helpottaa kytkentää)&lt;br/&gt;&#10;&lt;a href=&quot;https://www.elektroniikkaosat.com/c-93/p-490620411/Hyppylankalajitelma-65-kpl.html&quot; rel=&quot;noopener nofollow ugc&quot; target=&quot;_blank&quot;&gt;Hyppylankoja&lt;/a&gt; eli kytkentäjohtoja, uros-uros sekä tarvittaessa uros-naaras&lt;br/&gt;&#10;&lt;br/&gt;&#10;Sitten tarvitaan Keypad eli kalvonäppäimistö, joka on yleinen ja edullinen Arduino -komponentti. Esimerkiksi &lt;a href=&quot;https://www.radioduo.fi/tuote/kalvonappaimisto-3-x-4-matriisi-/VMA300/&quot; rel=&quot;noopener nofollow ugc&quot; target=&quot;_blank&quot;&gt;Radioduolla&lt;/a&gt; hinta on 4,14€ (28.10.2019). Näppäimistöjä löytyy erikokoisina. Tässä on käytetty ylläolevan linkin mukaista 3x4 kokoista matriisia. Liitteenä on käyttöohje PDF -muodossa, josta löydät kytkentäohjeet.&lt;br/&gt;&#10;&lt;br/&gt;&#10;Riippuen projektista, tarvitset jotain, minkä oikea salasana aktivoi. Se voi olla vaikkapa servomoottori, jonka avulla voit tehdä helppotoimisen salpalukon tai vaikkapa äänitiedosto (katso &lt;a href=&quot;https://peda.net/id/9435ec503b5&quot; rel=&quot;noopener&quot; target=&quot;_blank&quot;&gt;puhelin -gadge&lt;/a&gt;t). Tässä projektissa tehdään vain led-valo -koodi, joten tarvitaan sopiva määrä ledejä.&lt;br/&gt;&#10;&lt;br/&gt;&#10;Pohjana on käytetty tätä nettisivua: &lt;a href=&quot;https://www.electroschematics.com/arduino-with-keypad/&quot; rel=&quot;noopener nofollow ugc&quot; target=&quot;_blank&quot;&gt;https://www.electroschematics.com/arduino-with-keypad/&lt;/a&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;Kytkentä:&lt;br/&gt;&#10;1. Kytke numeropädi ohjeen mukaisesti.&lt;br/&gt;&#10;2. Kytke ledit vapaaksi jääneisiin portteihin. GND:n voi jakaa ledeille breadboardin kautta.</content>
<published>2019-10-28T11:42:17+02:00</published>
</entry>

<entry>
<title>Arduino IDE koodi</title>
<id>https://peda.net/id/f3e0cd54f71</id>
<updated>2019-10-28T11:52:06+02:00</updated>
<link href="https://peda.net/joensuu/jm/lightabot-luonnos/pakopelit/ep/nagl/arduino-ide-koodi#top" />
<content type="html">&lt;b&gt;Voit kopioida alla olevan koodin suoraan IDE:n ohjelmaruutuun:&lt;/b&gt;&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;//Paina numeropädiltä ensin * ja syötä sitten koodi. Paina lopuksi #&lt;br/&gt;&#10;&lt;br/&gt;&#10;&lt;br/&gt;&#10;#include &amp;lt;Keypad.h&amp;gt;// Header file dor Keypad&lt;br/&gt;&#10;const byte ROWS = 4;&lt;br/&gt;&#10;const byte COLS = 3;&lt;br/&gt;&#10;&lt;br/&gt;&#10;char keys [ROWS][COLS]= {&lt;br/&gt;&#10;{'1', '2', '3'},&lt;br/&gt;&#10;{'4', '5', '6'}, &lt;br/&gt;&#10;{'7', '8', '9'},&lt;br/&gt;&#10;{'*', '0', '#'}&lt;br/&gt;&#10;};&lt;br/&gt;&#10;byte rowPins[ROWS]={2, 3, 4, 5};&lt;br/&gt;&#10;byte colPins[COLS]={6, 7, 8};&lt;br/&gt;&#10;Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS);&lt;br/&gt;&#10;char KEY[4] = {'1', '2', '3', '4'}; //Tässä kohden on salasana&lt;br/&gt;&#10;char attempt [4] = {0,0,0,0};&lt;br/&gt;&#10;int z=0;&lt;br/&gt;&#10;&lt;br/&gt;&#10;void setup() &lt;br/&gt;&#10;{&lt;br/&gt;&#10;pinMode(12, OUTPUT);&lt;br/&gt;&#10;pinMode(13, OUTPUT);&lt;br/&gt;&#10;Serial.begin(9600);&lt;br/&gt;&#10;}&lt;br/&gt;&#10;void correctKEY() //tee tämä, jos oikea avain on syötetty&lt;br/&gt;&#10;{&lt;br/&gt;&#10;Serial.println(&amp;quot; Avain hyväksytty...&amp;quot;);&lt;br/&gt;&#10;digitalWrite(12, HIGH);&lt;br/&gt;&#10;delay(1000);&lt;br/&gt;&#10;digitalWrite(12,LOW); &lt;br/&gt;&#10;&lt;br/&gt;&#10;}&lt;br/&gt;&#10;void incorrectKEY () // tee tämä, jos avain on väärä&lt;br/&gt;&#10;{&lt;br/&gt;&#10;Serial.println(&amp;quot; Avain hylätty!&amp;quot;);&lt;br/&gt;&#10;digitalWrite(13,HIGH);&lt;br/&gt;&#10;delay(1000); &lt;br/&gt;&#10;digitalWrite(13,LOW); &lt;br/&gt;&#10;}&lt;br/&gt;&#10;void checkKEY()&lt;br/&gt;&#10;{&lt;br/&gt;&#10;int correct=0;&lt;br/&gt;&#10;int i;&lt;br/&gt;&#10;for ( i = 0; i &amp;lt; 4 ; i++)&lt;br/&gt;&#10;{&lt;br/&gt;&#10;if (attempt[i]==KEY[i])&lt;br/&gt;&#10;{&lt;br/&gt;&#10;correct++;&lt;br/&gt;&#10;}&lt;br/&gt;&#10;}&lt;br/&gt;&#10;if (correct==4)&lt;br/&gt;&#10;{&lt;br/&gt;&#10;correctKEY();&lt;br/&gt;&#10;}&lt;br/&gt;&#10;else&lt;br/&gt;&#10;{&lt;br/&gt;&#10;incorrectKEY();&lt;br/&gt;&#10;}&lt;br/&gt;&#10;for (int zz=0; zz&amp;lt;4; zz++) //poista aiemmin syötetyt&lt;br/&gt;&#10;{&lt;br/&gt;&#10;attempt[zz]=0;&lt;br/&gt;&#10;}&lt;br/&gt;&#10;}&lt;br/&gt;&#10;void readKeypad()&lt;br/&gt;&#10;{&lt;br/&gt;&#10;char key = keypad.getKey();&lt;br/&gt;&#10;if (key != NO_KEY)&lt;br/&gt;&#10;{&lt;br/&gt;&#10;switch(key)&lt;br/&gt;&#10;{&lt;br/&gt;&#10;case '*':&lt;br/&gt;&#10;z=0;&lt;br/&gt;&#10;break;&lt;br/&gt;&#10;case '#':&lt;br/&gt;&#10;delay(100); //added debounce&lt;br/&gt;&#10;checkKEY();&lt;br/&gt;&#10;break;&lt;br/&gt;&#10;default:&lt;br/&gt;&#10;attempt[z]=key;&lt;br/&gt;&#10;z++;&lt;br/&gt;&#10;}&lt;br/&gt;&#10;&lt;br/&gt;&#10;}&lt;br/&gt;&#10;}&lt;br/&gt;&#10;&lt;br/&gt;&#10;void loop()&lt;br/&gt;&#10;{&lt;br/&gt;&#10;readKeypad();&lt;br/&gt;&#10;}</content>
<published>2019-10-25T14:09:45+03:00</published>
</entry>


</feed>