{"id":95,"date":"2018-11-22T11:46:25","date_gmt":"2018-11-22T11:46:25","guid":{"rendered":"http:\/\/raisanen.org\/?page_id=95"},"modified":"2019-05-14T19:41:30","modified_gmt":"2019-05-14T19:41:30","slug":"6-analogiatulon-kasittely","status":"publish","type":"page","link":"http:\/\/raisanen.org\/?page_id=95","title":{"rendered":"6. Analogiatulon k\u00e4sittely"},"content":{"rendered":"<div class=\"entry-content\">\n<p>Raspberry Pi ei tue suoraan GPIO-pinneill\u00e4 analogiatulojen k\u00e4sittely\u00e4, vaan analogiatulo k\u00e4sitell\u00e4\u00e4n vaikkapa A\/D-muuntimen kautta. K\u00e4yt\u00e4mme harjoituksessamme MCP3002 A\/D-muunninpiiri\u00e4, jonka kanssa kommunikoimme SPI-rajapinnan kautta.<\/p>\n<p>Serial Peripheral Interface (SPI) v\u00e4yl\u00e4 on sarjaliikennett\u00e4, jota voidaan k\u00e4ytt\u00e4\u00e4 pinnien 19, 21, 23, 24 ja 26 kautta. Se on siis k\u00e4yt\u00e4nn\u00f6ss\u00e4 synkroninen sarjaliikennev\u00e4yl\u00e4standardi, jota voidaan k\u00e4ytt\u00e4\u00e4 laitteiden v\u00e4liseen kommunikaatioon<\/p>\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Serial_Peripheral_Interface_Bus\" target=\"_blank\" rel=\"noopener noreferrer\">Lis\u00e4tietoa SPI-v\u00e4yl\u00e4st\u00e4<\/a>.<\/p>\n<p>Aivan aluksi t\u00e4ytyy SPI-tuki asentaa ja laittaa toimintaan. Avaa Terminal ja aja seuraavat komennot.<\/p>\n<pre>sudo apt-get update \nsudo apt-get install python-dev \ngit clone git:\/\/github.com\/doceme\/py-spidev\ncd py-spidev\nsudo python setup.py install<\/pre>\n<p>Avaa terminaalissa raspi-config ja sielt\u00e4 7 Advanced options ja sen alta A6 SPI enable\/disable. Enable.<\/p>\n<p>Onnistuneen asennuksen voi tarkastaa ajamalla komento <em>lsmod | grep spi\u00a0<\/em>jonka tuloksena pit\u00e4isi n\u00e4ky\u00e4 seuraava rivi.<\/p>\n<pre>pi@raspberrypi ~ $ lsmod | grep spi\nspi_bcm2835 7948 0\npi@raspberrypi ~ $<\/pre>\n<p>T\u00e4m\u00e4n j\u00e4lkeen teemme kytkenn\u00e4n. Uuteen kytkent\u00e4\u00e4mme tarvitsemme:<\/p>\n<ul>\n<li>MCP3002 AD-muunninpiirin (<a href=\"http:\/\/www.ee.ic.ac.uk\/pcheung\/teaching\/ee2_digital\/MCP3002.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">datalehti<\/a>)<\/li>\n<li>potentiometrin (n. 10k\u03a9)<\/li>\n<li>kytkent\u00e4lankoja<\/li>\n<\/ul>\n<p>MCP3002 pin j\u00e4rjestys<\/p>\n<p><a href=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-159\" src=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-9.png\" alt=\"\" width=\"279\" height=\"120\" \/><\/a><\/p>\n<p>Kytkemme siis MCP3002 ja raspberry pi v\u00e4lisen yhteyden seuraavasti:<\/p>\n<ul>\n<li>MCP3002:1 =&gt; GPIO8 (CEO) pin 24<\/li>\n<li>MCP3002:2 =&gt; potentiometrin s\u00e4\u00e4detty j\u00e4nnite.<\/li>\n<li>MCP3002:3 =&gt; nc<\/li>\n<li>MCP3002:4 =&gt; GND<\/li>\n<li>MCP3002:5 =&gt; GPIO10 (MOSI) pin 19<\/li>\n<li>MCP3002:6 =&gt; GPIO9 (MISO) pin 21<\/li>\n<li>MCP3002:7 =&gt; GPIO11 (SCLK) pin 23<\/li>\n<\/ul>\n<p>Huomaa ett\u00e4 alla n\u00e4kyv\u00e4ss\u00e4 kytkenn\u00e4ss\u00e4 on\u00a0my\u00f6s aiemmin tekem\u00e4mme painonapit ja led. \u00c4l\u00e4 anna sen h\u00e4irit\u00e4.<\/p>\n<p><a href=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/teht\u00e4v\u00e46_analog_tulo_bb2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-160\" src=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/teht\u00e4v\u00e46_analog_tulo_bb2-1024x831.png\" alt=\"\" width=\"870\" height=\"706\" srcset=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/teht\u00e4v\u00e46_analog_tulo_bb2-1024x831.png 1024w, http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/teht\u00e4v\u00e46_analog_tulo_bb2-300x244.png 300w, http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/teht\u00e4v\u00e46_analog_tulo_bb2-768x624.png 768w, http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/teht\u00e4v\u00e46_analog_tulo_bb2.png 1755w\" sizes=\"auto, (max-width: 870px) 100vw, 870px\" \/><\/a><\/p>\n<p>Tehd\u00e4\u00e4n ohjelma. Avaa terminaali ja siirry kansioon Python-ohjelmat. Suorita komento:<\/p>\n<pre>sudo nano potikka.py<\/pre>\n<p>Kirjoita alla oleva koodi:<\/p>\n<p><a href=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-161\" src=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-7.png\" alt=\"\" width=\"641\" height=\"831\" srcset=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-7.png 641w, http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-7-231x300.png 231w\" sizes=\"auto, (max-width: 641px) 100vw, 641px\" \/><\/a><\/p>\n<p>Kirjoitettuasi ohjelman tallenna se ctrl+o ja paina enteri\u00e4 kun nano kysyy vahvistusta tiedostonimelle File Name to Write: potikka.py<\/p>\n<p>Voit poistua ohjelmasta ctrl+x.<\/p>\n<p>Kokeillaan ohjelman ajamista antamalla Terminalissa komento<\/p>\n<pre>sudo python potikka.py<\/pre>\n<p>Testaa\u00a0py\u00f6rittelem\u00e4ll\u00e4 potentiometri\u00e4 sit\u00e4 miten\u00a0ohjelma toimii.<\/p>\n<p>Suunnilleen jotain t\u00e4llaista tulosta pit\u00e4isi tulla.<\/p>\n<p><a href=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-162\" src=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-8.png\" alt=\"\" width=\"644\" height=\"459\" srcset=\"http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-8.png 644w, http:\/\/raisanen.org\/wp-content\/uploads\/2019\/05\/kuva6-8-300x214.png 300w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/a><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Raspberry Pi ei tue suoraan GPIO-pinneill\u00e4 analogiatulojen k\u00e4sittely\u00e4, vaan analogiatulo k\u00e4sitell\u00e4\u00e4n vaikkapa A\/D-muuntimen kautta. K\u00e4yt\u00e4mme harjoituksessamme MCP3002 A\/D-muunninpiiri\u00e4, jonka kanssa<\/p>\n<p class=\"readmore\"><a href=\"http:\/\/raisanen.org\/?page_id=95\" title=\"Read 6. Analogiatulon k\u00e4sittely\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":83,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-95","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/pages\/95","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/raisanen.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=95"}],"version-history":[{"count":3,"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/pages\/95\/revisions"}],"predecessor-version":[{"id":163,"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/pages\/95\/revisions\/163"}],"up":[{"embeddable":true,"href":"http:\/\/raisanen.org\/index.php?rest_route=\/wp\/v2\/pages\/83"}],"wp:attachment":[{"href":"http:\/\/raisanen.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=95"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}