{"id":782,"date":"2016-01-04T15:46:09","date_gmt":"2016-01-04T13:46:09","guid":{"rendered":"http:\/\/dety.net.ua\/?p=782"},"modified":"2016-01-04T15:46:09","modified_gmt":"2016-01-04T13:46:09","slug":"reading-arduino-serial-ports-in-windows-7-with-python-pyserial","status":"publish","type":"post","link":"https:\/\/dety.net.ua\/?p=782","title":{"rendered":"Reading Arduino serial ports in Windows 7 with Python + Pyserial"},"content":{"rendered":"<p>Copy-pasted from here: <a href=\"http:\/\/petrimaki.com\/2013\/04\/28\/reading-arduino-serial-ports-in-windows-7\/\" target=\"_blank\">http:\/\/petrimaki.com\/2013\/04\/28\/reading-arduino-serial-ports-in-windows-7\/<\/a><\/p>\n<p>Here i am going to show you 3 working examples on how to read Arduino serial ports with windows. You are going to need following programs \/ tools:<\/p>\n<ul>\n<li>Arduino UNO<\/li>\n<li>Windows 7<\/li>\n<li><a href=\"http:\/\/www.python.org\/\">Python <\/a>+ <a href=\"http:\/\/pyserial.sourceforge.net\/\">Pyserial<\/a><\/li>\n<\/ul>\n<p><strong>Installing Python + Pyserial to Windows<\/strong><\/p>\n<p>First you have ton install Python on your computer. This is just typical install with no big deal. When you have installed Python you may want to restart your computer. If you are not sure if your install was succesfull you can open your command prompt and type python or go to location where you installed python and run Python.exe. If everything works correctly your\u00a0command prompt should look something like this:<\/p>\n<p><a href=\"http:\/\/petrimaki.files.wordpress.com\/2013\/04\/python_command_prom.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-111\" src=\"http:\/\/petrimaki.files.wordpress.com\/2013\/04\/python_command_prom.jpg?w=300&amp;h=192\" alt=\"python command prompt\" width=\"300\" height=\"192\" \/><\/a><\/p>\n<p>After installing Python you can download Pyserial. Unzip pyserial to folder where you installed python and says lib. For me example to location was:<\/p>\n<p><strong>c:\\Python27\\Lib\\pyserial-2.6\\<\/strong><\/p>\n<p>After you have unzipped pyserial, you should start\u00a0command prompt and go to location above. In there you can find setup.py named file, which you cn run by typing:<\/p>\n<p><strong>python setup.py install<\/strong><\/p>\n<p>Now you have installed Python + Pyserial<\/p>\n<h2>Reading \u00a0Arduino serial ports with Pyserial<\/h2>\n<p>First code is basic \u201dHello world\u201d with arduino and python<br \/>\nCode for Arduino:<\/p>\n<h3>Hello world with serial ports<\/h3>\n<p>Arduino code:<\/p>\n<div>\n<div id=\"highlighter_134739\" class=\"syntaxhighlighter  cpp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">setup(){<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"cpp comments\">\/\/ Open serial connection.<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"cpp plain\">Serial.begin(9600);<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">loop(){<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"cpp plain\">Serial.print(<\/code><code class=\"cpp string\">\"Hello world\"<\/code><code class=\"cpp plain\">);<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"cpp plain\">delay(10); <\/code><code class=\"cpp comments\">\/\/ ms<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Next code for python: (Note that WordPress might break\u00a0Pythons code blocks)<\/p>\n<div>\n<div id=\"highlighter_291626\" class=\"syntaxhighlighter  python\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">serial<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">time<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"python plain\">ser <\/code><code class=\"python keyword\">=<\/code> <code class=\"python plain\">serial.Serial(<\/code><code class=\"python string\">'COM3'<\/code><code class=\"python plain\">, <\/code><code class=\"python value\">9600<\/code><code class=\"python plain\">, timeout<\/code><code class=\"python keyword\">=<\/code><code class=\"python value\">0<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"python keyword\">while<\/code> <code class=\"python value\">1<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"python spaces\">\u00a0<\/code><code class=\"python keyword\">try<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python functions\">print<\/code> <code class=\"python plain\">ser.readline()<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">time.sleep(<\/code><code class=\"python value\">1<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"python spaces\">\u00a0<\/code><code class=\"python keyword\">except<\/code> <code class=\"python plain\">ser.SerialTimeoutException:<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python functions\">print<\/code><code class=\"python plain\">(<\/code><code class=\"python string\">'Data could not be read'<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"python spaces\">\u00a0\u00a0<\/code><code class=\"python plain\">time.sleep(<\/code><code class=\"python value\">1<\/code><code class=\"python plain\">)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Arduino read data from Python<\/h3>\n<p>Arduino read data when user type something and prints it out byte by byte.<\/p>\n<p>Arduino code:<\/p>\n<div>\n<div id=\"highlighter_996025\" class=\"syntaxhighlighter  cpp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">incomingByte = 0;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">setup(){<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"cpp comments\">\/\/ Open serial connection.<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"cpp plain\">Serial.begin(9600);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">loop(){<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"cpp keyword bold\">if<\/code> <code class=\"cpp plain\">(Serial.available() &gt; 0) {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp comments\">\/\/ read the incoming byte:<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp plain\">incomingByte = Serial.read();<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp comments\">\/\/ say what you got:<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp plain\">Serial.print(<\/code><code class=\"cpp string\">\"I got: \"<\/code><code class=\"cpp plain\">); <\/code><code class=\"cpp comments\">\/\/ ASCII printable characters<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp plain\">Serial.println(incomingByte, DEC);<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Python code:<\/p>\n<div>\n<div id=\"highlighter_654818\" class=\"syntaxhighlighter  python\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">serial<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">time<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"python plain\">ser <\/code><code class=\"python keyword\">=<\/code> <code class=\"python plain\">serial.Serial(<\/code><code class=\"python string\">'COM3'<\/code><code class=\"python plain\">, <\/code><code class=\"python value\">9600<\/code><code class=\"python plain\">, timeout<\/code><code class=\"python keyword\">=<\/code><code class=\"python value\">0<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"python plain\">var <\/code><code class=\"python keyword\">=<\/code> <code class=\"python functions\">raw_input<\/code><code class=\"python plain\">(<\/code><code class=\"python string\">\"Enter something: \"<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"python plain\">ser.write(var)<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"python keyword\">while<\/code> <code class=\"python value\">1<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python keyword\">try<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python functions\">print<\/code> <code class=\"python plain\">ser.readline()<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python plain\">time.sleep(<\/code><code class=\"python value\">1<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python keyword\">except<\/code> <code class=\"python plain\">ser.SerialTimeoutException:<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python functions\">print<\/code><code class=\"python plain\">(<\/code><code class=\"python string\">'Data could not be read'<\/code><code class=\"python plain\">)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Arduino control led<\/h3>\n<p>Controlling 1 led light with arduino and pyserial by typing 0 or 1 to turn led on and off<\/p>\n<p>Code for arduino:<\/p>\n<div>\n<div id=\"highlighter_356418\" class=\"syntaxhighlighter  cpp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<div class=\"line number13 index12 alt2\">13<\/div>\n<div class=\"line number14 index13 alt1\">14<\/div>\n<div class=\"line number15 index14 alt2\">15<\/div>\n<div class=\"line number16 index15 alt1\">16<\/div>\n<div class=\"line number17 index16 alt2\">17<\/div>\n<div class=\"line number18 index17 alt1\">18<\/div>\n<div class=\"line number19 index18 alt2\">19<\/div>\n<div class=\"line number20 index19 alt1\">20<\/div>\n<div class=\"line number21 index20 alt2\">21<\/div>\n<div class=\"line number22 index21 alt1\">22<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">incomingByte = 0;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">ledPin = 13;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">setup(){<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"cpp plain\">pinMode(ledPin, OUTPUT);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">loop(){<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"cpp keyword bold\">if<\/code> <code class=\"cpp plain\">(Serial.available() &gt; 0) {<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"cpp comments\">\/\/ read the incoming byte:<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"cpp plain\">incomingByte = Serial.read();<\/code><\/div>\n<div class=\"line number13 index12 alt2\"><\/div>\n<div class=\"line number14 index13 alt1\"><code class=\"cpp comments\">\/\/ say what you got:<\/code><\/div>\n<div class=\"line number15 index14 alt2\"><code class=\"cpp keyword bold\">if<\/code><code class=\"cpp plain\">(incomingByte == 49) { <\/code><code class=\"cpp comments\">\/\/ ASCII printable characters: 49 means number 1<\/code><\/div>\n<div class=\"line number16 index15 alt1\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp plain\">digitalWrite(ledPin, HIGH);<\/code><\/div>\n<div class=\"line number17 index16 alt2\"><code class=\"cpp plain\">} <\/code><code class=\"cpp keyword bold\">else<\/code> <code class=\"cpp keyword bold\">if<\/code><code class=\"cpp plain\">(incomingByte == 48) { <\/code><code class=\"cpp comments\">\/\/ ASCII printable characters: 48 means number 0<\/code><\/div>\n<div class=\"line number18 index17 alt1\"><code class=\"cpp spaces\">\u00a0<\/code><code class=\"cpp plain\">digitalWrite(ledPin, LOW);<\/code><\/div>\n<div class=\"line number19 index18 alt2\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number20 index19 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number21 index20 alt2\"><\/div>\n<div class=\"line number22 index21 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Code for python:<\/p>\n<div>\n<div id=\"highlighter_591718\" class=\"syntaxhighlighter  python\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">serial<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python plain\">ser <\/code><code class=\"python keyword\">=<\/code> <code class=\"python plain\">serial.Serial(<\/code><code class=\"python string\">'COM3'<\/code><code class=\"python plain\">, <\/code><code class=\"python value\">9600<\/code><code class=\"python plain\">, timeout<\/code><code class=\"python keyword\">=<\/code><code class=\"python value\">0<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"python keyword\">while<\/code> <code class=\"python value\">1<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python plain\">var <\/code><code class=\"python keyword\">=<\/code> <code class=\"python functions\">raw_input<\/code><code class=\"python plain\">(<\/code><code class=\"python string\">\"Enter 0 or 1 to control led: \"<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python plain\">ser.write(var)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>Reading data from sensor and printing that to computer<\/h3>\n<p>In this code we are going to use unknown light sensor for arduino. You can basically use any type of sensor you want since the principle is the same.<\/p>\n<p>Code for arduino:<\/p>\n<div>\n<div id=\"highlighter_362427\" class=\"syntaxhighlighter  cpp\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<div class=\"line number11 index10 alt2\">11<\/div>\n<div class=\"line number12 index11 alt1\">12<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"cpp color1 bold\">int<\/code> <code class=\"cpp plain\">lightPin = 1;<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"cpp color1 bold\">float<\/code> <code class=\"cpp plain\">lightValue;<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">setup(){<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0<\/code><code class=\"cpp plain\">pinMode(ledPin, OUTPUT);<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"cpp plain\">}<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"cpp keyword bold\">void<\/code> <code class=\"cpp plain\">loop(){<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0<\/code><code class=\"cpp plain\">lightValue = analogRead(lightPin);<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0<\/code><code class=\"cpp plain\">Serial.println(lightValue);<\/code><\/div>\n<div class=\"line number11 index10 alt2\"><code class=\"cpp spaces\">\u00a0\u00a0<\/code><code class=\"cpp plain\">delay(1000);<\/code><\/div>\n<div class=\"line number12 index11 alt1\"><code class=\"cpp spaces\">\u00a0\u00a0<\/code><code class=\"cpp plain\">}<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p>Code for python:<\/p>\n<div>\n<div id=\"highlighter_489649\" class=\"syntaxhighlighter  python\">\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td class=\"gutter\">\n<div class=\"line number1 index0 alt2\">1<\/div>\n<div class=\"line number2 index1 alt1\">2<\/div>\n<div class=\"line number3 index2 alt2\">3<\/div>\n<div class=\"line number4 index3 alt1\">4<\/div>\n<div class=\"line number5 index4 alt2\">5<\/div>\n<div class=\"line number6 index5 alt1\">6<\/div>\n<div class=\"line number7 index6 alt2\">7<\/div>\n<div class=\"line number8 index7 alt1\">8<\/div>\n<div class=\"line number9 index8 alt2\">9<\/div>\n<div class=\"line number10 index9 alt1\">10<\/div>\n<\/td>\n<td class=\"code\">\n<div class=\"container\">\n<div class=\"line number1 index0 alt2\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">serial<\/code><\/div>\n<div class=\"line number2 index1 alt1\"><code class=\"python keyword\">import<\/code> <code class=\"python plain\">time<\/code><\/div>\n<div class=\"line number3 index2 alt2\"><code class=\"python plain\">ser <\/code><code class=\"python keyword\">=<\/code> <code class=\"python plain\">serial.Serial(<\/code><code class=\"python string\">'COM3'<\/code><code class=\"python plain\">, <\/code><code class=\"python value\">9600<\/code><code class=\"python plain\">, timeout<\/code><code class=\"python keyword\">=<\/code><code class=\"python value\">0<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number4 index3 alt1\"><code class=\"python keyword\">while<\/code> <code class=\"python value\">1<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number5 index4 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python keyword\">try<\/code><code class=\"python plain\">:<\/code><\/div>\n<div class=\"line number6 index5 alt1\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python functions\">print<\/code> <code class=\"python plain\">ser.readline()<\/code><\/div>\n<div class=\"line number7 index6 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python plain\">time.sleep(<\/code><code class=\"python value\">1<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number8 index7 alt1\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python keyword\">except<\/code> <code class=\"python plain\">ser.SerialTimeoutException:<\/code><\/div>\n<div class=\"line number9 index8 alt2\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python functions\">print<\/code><code class=\"python plain\">(<\/code><code class=\"python string\">'Data could not be read'<\/code><code class=\"python plain\">)<\/code><\/div>\n<div class=\"line number10 index9 alt1\"><code class=\"python spaces\">\u00a0\u00a0\u00a0\u00a0<\/code><code class=\"python plain\">time.sleep(<\/code><code class=\"python value\">1<\/code><code class=\"python plain\">)<\/code><\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<p><strong>Sources:<\/strong><\/p>\n<ul>\n<li>Tero karvinen \u2013 HAAGA-HELIA teacher (<a href=\"http:\/\/terokarvinen.com\/\" rel=\"nofollow\">http:\/\/terokarvinen.com\/<\/a>)<\/li>\n<li><a href=\"http:\/\/botbook.com\/\" rel=\"nofollow\">http:\/\/botbook.com\/<\/a><\/li>\n<\/ul>\n<p>P.S.: I installed pyserial just with <strong>pip install pyserial<\/strong> on Windows XP with Python 2.7<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Copy-pasted from here: http:\/\/petrimaki.com\/2013\/04\/28\/reading-arduino-serial-ports-in-windows-7\/ Here i am going to show you 3 working examples on how to read Arduino serial ports with windows. You are going to need following programs \/ tools: Arduino UNO Windows 7 Python + Pyserial Installing Python + Pyserial to Windows First you have ton install Python on your computer. This [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,12],"tags":[],"class_list":["post-782","post","type-post","status-publish","format-standard","hentry","category-novosti","category-windows"],"_links":{"self":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/782","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=782"}],"version-history":[{"count":1,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/782\/revisions"}],"predecessor-version":[{"id":783,"href":"https:\/\/dety.net.ua\/index.php?rest_route=\/wp\/v2\/posts\/782\/revisions\/783"}],"wp:attachment":[{"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=782"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=782"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dety.net.ua\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=782"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}