{"id":50,"date":"2013-01-09T19:31:05","date_gmt":"2013-01-09T19:31:05","guid":{"rendered":"http:\/\/honza.paws.cz\/?p=50"},"modified":"2013-03-08T08:07:22","modified_gmt":"2013-03-08T07:07:22","slug":"zasilka-z-ciny","status":"publish","type":"post","link":"http:\/\/honza.paws.cz\/?p=50","title":{"rendered":"Z\u00e1silka z \u010c\u00edny"},"content":{"rendered":"<p>Dnes dorazil bal\u00ed\u010dek z dx.com s hlavn\u00ed v\u00e1rkou v\u011bci\u010dek na bastlen\u00ed. Jmenovit\u011b ultrazvukov\u00fd m\u011b\u0159i\u010d vzd\u00e1lenosti (80 K\u010d), modul re\u00e1ln\u00e9ho \u010dasu (90 K\u010d) a krokov\u00fd motor s \u0159adi\u010dem ULN2003 (90 K\u010d za sadu). Ceny jsou u n\u00e1s nesrovnateln\u011b vy\u0161\u0161\u00ed, pokud se v\u016fbec d\u00e1 v\u011bc sehnat a nav\u00edc i kdybych si nechal poslat ka\u017edou v\u011bc zvl\u00e1\u0161\u0165, neplatil bych za po\u0161tovn\u00e9 nic.<br \/>\nKrokov\u00fd motor nebylo obt\u00ed\u017en\u00e9 zprovoznit pomoc\u00ed n\u00e1vodu ze str\u00e1nek\u00a0<a href=\"http:\/\/www.raspberrypi-spy.co.uk\/2012\/07\/stepper-motor-control-in-python\/\">http:\/\/www.raspberrypi-spy.co.uk\/2012\/07\/stepper-motor-control-in-python\/<\/a><\/p>\n<p>Tamn\u00ed k\u00f3d lze pou\u017e\u00edt po uprav\u011b p\u0159ipojen\u00fdch GPIO pin\u016f, autor \u010dl\u00e1nku uv\u00e1d\u00ed, \u017ee p\u0159ipojil IN# postupn\u011b k pin\u016fm 18, 22, 24, 26. M\u011b v\u0161ak pin 26 odm\u00edtal poslu\u0161nost a tak jsem jej nahradil pinem 25, kter\u00fd se k\u00f3du tak\u00e9 vyskytuje. Okop\u00edruji si pro sv\u00e9 pot\u0159eby k\u00f3d p\u016fvodn\u00edho autora a vyma\u017eu pro m\u016fj osmikrokov\u00fd motor nepot\u0159ebn\u00e9 \u010d\u00e1sti.<\/p>\n<pre>\r\n#-----------------------------------\r\n# Name: Stepper Motor\r\n#\r\n# Author: matt.hawkins\r\n#\r\n# Created: 11\/07\/2012\r\n# Copyright: (c) matt.hawkins 2012\r\n#-----------------------------------\r\n#!\/usr\/bin\/env python\r\n\r\n\r\n# Import required libraries\r\nimport time\r\nimport RPi.GPIO as GPIO\r\n\r\n\r\n# Use BCM GPIO references\r\n# instead of physical pin numbers\r\nGPIO.setmode(GPIO.BCM)\r\n\r\n\r\n# Define GPIO signals to use\r\n# Pins 18,22,24,26\r\n# GPIO24,GPIO25,GPIO8,GPIO7\r\nStepPins = [18,22,24,25]\r\n\r\n\r\n# Set all pins as output\r\nfor pin in StepPins:\r\n\u00a0 print \"Setup pins\"\r\n\u00a0 GPIO.setup(pin,GPIO.OUT)\r\n\u00a0 GPIO.output(pin, False)\r\n\r\n\r\n# Define some settings\r\nStepCounter = 0\r\nWaitTime = 0.1\r\n\r\n\r\n# Define advanced sequence\r\n# as shown in manufacturers datasheet\r\nStepCount = 8\r\nSeq = []\r\nSeq = range(0, StepCount)\r\nSeq[0] = [1,0,0,0]\r\nSeq[1] = [1,1,0,0]\r\nSeq[2] = [0,1,0,0]\r\nSeq[3] = [0,1,1,0]\r\nSeq[4] = [0,0,1,0]\r\nSeq[5] = [0,0,1,1]\r\nSeq[6] = [0,0,0,1]\r\nSeq[7] = [1,0,0,1]\r\n\r\n\r\nEnd = 200\r\nSteps = 0\r\n\r\n\r\n# Start main loop\r\nwhile Steps&lt;End:\r\n\r\n\r\n\u00a0 for pin in range(0, 4):\r\n\u00a0 \u00a0 xpin = StepPins[pin]\r\n\u00a0 \u00a0 if Seq[StepCounter][pin]!=0:\r\n\u00a0 \u00a0 \u00a0 print \" Step %i Enable %i\" %(StepCounter,xpin)\r\n\u00a0 \u00a0 \u00a0 GPIO.output(xpin, True)\r\n\u00a0 \u00a0 else:\r\n\u00a0 \u00a0 \u00a0 GPIO.output(xpin, False)\r\n\r\n\r\n\u00a0 StepCounter += 1\r\n\u00a0 Steps += 1\r\n\r\n\r\n\u00a0 # If we reach the end of the sequence\r\n\u00a0 # start again\r\n\u00a0 if (StepCounter==StepCount):\r\n\u00a0 \u00a0 StepCounter = 0\r\n\u00a0 if (StepCounter&lt;0):\r\n\u00a0 \u00a0 StepCounter = StepCount\r\n\r\n\r\n\u00a0 # Wait before moving on\r\n\u00a0 time.sleep(WaitTime)\r\n\r\n\r\nfor pin in StepPins:\r\n\u00a0GPIO.output(pin, False)\r\nexit(0)\r\n<\/pre>\n<p>Na konec p\u0159id\u00e1v\u00e1m uvoln\u011bn\u00ed pin\u016f, pokud se podle p\u016fvodn\u00edho n\u00e1vodu ukon\u010d\u00ed b\u011bh stiskem Ctrl+C, motor z\u016fstane viset v jedn\u00e9 poloze a zbyte\u010dn\u011b se h\u0159eje (mo\u017en\u00e1 je to ale na n\u011bco dobr\u00e9). Pl\u00e1nuji v\u0161ak m\u00edsto Pythonu programovat v C, kter\u00e9 jsem kdysi ovl\u00e1dal a te\u010f je mo\u017enost znalosti opr\u00e1\u0161it, Tento program je velice jednoduch\u00fd, ale jako prvn\u00ed n\u00e1hled na v\u011bc je neoceniteln\u00fd.<\/p>\n<div><\/div>\n<p>Dal\u0161\u00ed zprovozn\u011bnou v\u011bc\u00ed je RTC modul pro udr\u017eov\u00e1n\u00ed p\u0159ibli\u017en\u00e9ho \u010dasu, i bez p\u0159\u00edtomnosti internetov\u00e9 p\u0159\u00edpojky, RPi toti\u017e nem\u00e1 baterku a po nastartov\u00e1n\u00ed bere posledn\u00ed ulo\u017een\u00fd \u010das, tedy ten p\u0159i vypnut\u00ed.<br \/>\nV obchod\u011b jsem si vybral ten ozna\u010den\u00fd n\u00e1pisy\u00a0mini_RTC a JY_MCU, obsahuje \u010dip DS1307Z a po hodin\u011b ( sp\u00ed\u0161 dvou nebo t\u0159ech hodin\u00e1ch) hled\u00e1n\u00ed a \u0161kub\u00e1n\u00ed vlas\u016f jsem zjistil, \u017ee volba tohoto byla spr\u00e1vn\u00e1. Sta\u010d\u00ed vz\u00edt dr\u00e1ty a p\u0159ipojit konektor\u00a0VCC na 5V pin (02 nebo 04), za\u010d\u00ednal jsem toti\u017e s nap\u00e1jen\u00edm 3,3V a to hodinky prost\u011b slou\u017eit nemohou. GND typicky na zem SDA na SDA pin (03) a SCL na SCL pin (05) pozn.: RPi rev. 2.<\/p>\n<p>Pokud jste je\u0161t\u011b se s\u00e9riov\u00fdm rozhran\u00edm nepracovali budete nejsp\u00ed\u0161 pot\u0159ebovat nainstalovat n\u00e1stroje:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo aptitude install i2c-tools<\/span><\/p>\n<p>D\u00e1le si povolit n\u00e1sleduj\u00edc\u00ed moduly:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo modprobe i2c-dev<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">sudo modprobe i2c-bcm2708<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">sudo modprobe rtc-ds1307<\/span><\/p>\n<p>M\u00e1te-li revizi 2 jako j\u00e1 pi\u0161te n\u00e1sleduj\u00edc\u00ed, pro revizi 1 je na konci nula:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo i2cdetect -y 1<\/span><\/p>\n<p>Vyp\u00ed\u0161e nalezen\u00e1 za\u0159\u00edzen\u00ed, hodinky maj\u00ed adresu 68, tak\u017ee spust\u011b n\u00e1sleduj\u00edc\u00ed p\u0159\u00edkazy:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo bash<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">echo ds1307 0x68 &gt; \/sys\/class\/i2c-adapter\/i2c-1\/new_device<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">exit<\/span><\/p>\n<p>A pokud se zada\u0159ilo, n\u00e1sleduj\u00edc\u00ed p\u0159\u00edkaz sd\u011bl\u00ed, \u017ee v hodin\u00e1ch je binec:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo hwclock -r<\/span><\/p>\n<p>Pokud m\u00e1te aktualizovan\u00fd \u010das nap\u0159. p\u0159es ntp, zapi\u0161t\u011b jej do hodinek:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo hwclock -w<\/span><\/p>\n<p>Aby se RPi d\u00edvalo na \u010das zb\u00fdvaj\u00ed je\u0161t\u011b drobnosti, do soubor\u016f zapsat to co u\u017e jsme provedli, tak aby se po\u010d\u00edta\u010d staral s\u00e1m:<\/p>\n<p>Do\u00a0<span style=\"font-family: Courier New, Courier, monospace;\">\/etc\/modules:<\/span><\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo nano \/etc\/modules<\/span><\/p>\n<p>P\u0159idat \u0159\u00e1dky:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">i2c-bcm2708<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">i2c-dev<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">rtc-1307<\/span><\/p>\n<p>Do\u00a0<span style=\"font-family: Courier New, Courier, monospace;\">\/etc\/rc.local<\/span>:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">sudo nano \/etc\/rc.local<\/span><\/p>\n<p>p\u0159idat \u0159\u00e1dky p\u0159ed \u0159\u00e1dek <span style=\"font-family: 'Courier New', Courier, monospace;\">exit 0<\/span>:<\/p>\n<p><span style=\"font-family: Courier New, Courier, monospace;\">echo ds1307 0x68 &gt; \/sys\/class\/i2c-adapter\/i2c-1\/new_device<\/span><br \/>\n<span style=\"font-family: Courier New, Courier, monospace;\">hwclock -s<\/span><\/p>\n<p>A to je v\u0161e. Nem\u00e1m to ale ze sv\u00e9 hlavy, v\u0161chno jsem na\u0161el p\u011bkn\u011b \u00fahledn\u011b sepsan\u00e9 v n\u00e1vodu od adafruit, kter\u00fd si m\u016f\u017eete prohl\u00e9dnout na adrese:\u00a0<a href=\"http:\/\/learn.adafruit.com\/adding-a-real-time-clock-to-raspberry-pi\">http:\/\/learn.adafruit.com\/adding-a-real-time-clock-to-raspberry-pi<\/a>.\u00a0T\u00edmto jim d\u011bkuji. Thanks to adafruit.<\/p>\n<p>Ultrazvukov\u00fd m\u011b\u0159i\u010d vzd\u00e1lenosti si nech\u00e1m na jindy, nem\u00e1m toti\u017e je\u0161t\u011b sadu odpor\u016f. I tak m\u011b je\u0161t\u011b \u010dek\u00e1 zprovoznit \u010dty\u0159kan\u00e1lov\u00fd digitiz\u00e9r videa kter\u00fd m\u011b vy\u0161el na 180 K\u010d, v \u010cR pokud je k dost\u00e1n\u00ed tak hodn\u011b p\u0159es 1000 K\u010d, osobn\u011b jsem si v minulosti zakazoval nakupovat \u010d\u00ednsk\u00e9 v\u00fdrobky, ale za zdej\u0161\u00ed ceny bych si prost\u011b nic nekoupil, nem\u011bl bych na to.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dnes dorazil bal\u00ed\u010dek z dx.com s hlavn\u00ed v\u00e1rkou v\u011bci\u010dek na bastlen\u00ed. Jmenovit\u011b ultrazvukov\u00fd m\u011b\u0159i\u010d vzd\u00e1lenosti (80 K\u010d), modul re\u00e1ln\u00e9ho \u010dasu (90 K\u010d) a krokov\u00fd motor s \u0159adi\u010dem ULN2003 (90 K\u010d za sadu). Ceny jsou u n\u00e1s nesrovnateln\u011b vy\u0161\u0161\u00ed, pokud se v\u016fbec d\u00e1 v\u011bc sehnat a nav\u00edc i kdybych si nechal poslat ka\u017edou v\u011bc zvl\u00e1\u0161\u0165, neplatil [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/50"}],"collection":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=50"}],"version-history":[{"count":5,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions"}],"predecessor-version":[{"id":82,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=\/wp\/v2\/posts\/50\/revisions\/82"}],"wp:attachment":[{"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=50"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=50"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/honza.paws.cz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=50"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}