<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marcus Follrud &#187; pic</title>
	<atom:link href="http://marcusfollrud.net/tag/pic/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcusfollrud.net</link>
	<description>Wish I had a slogan</description>
	<lastBuildDate>Thu, 22 Mar 2012 12:11:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Vattna blommorna &#8211; del 10</title>
		<link>http://marcusfollrud.net/2009/08/21/vattna-blommorna-del-10/</link>
		<comments>http://marcusfollrud.net/2009/08/21/vattna-blommorna-del-10/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 21:26:55 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[16f690]]></category>
		<category><![CDATA[blommor]]></category>
		<category><![CDATA[gpsim]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pic16f690]]></category>
		<category><![CDATA[real pic simulator]]></category>
		<category><![CDATA[sdcc]]></category>
		<category><![CDATA[vat]]></category>
		<category><![CDATA[vattna blommor]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=268</guid>
		<description><![CDATA[Nu händer det grejer. Mitt program för min pic känns komplett. Har suttit och debuggat kod nu ikväll och kommit fram till att den lösningen jag postade nu senast inte var den bästa, för att vara helt ärlig. Bland annat så verkar inte !RA# fungera riktigt i kompilatorn av någon anledning. Koden beter sig konstigt [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F21%2Fvattna-blommorna-del-10%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F21%2Fvattna-blommorna-del-10%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Nu händer det grejer.</p>
<p>Mitt program för min pic känns komplett. Har suttit och debuggat kod nu ikväll och kommit fram till att den lösningen jag postade nu senast inte var den bästa, för att vara helt ärlig.</p>
<p>Bland annat så verkar inte !RA# fungera riktigt i kompilatorn av någon anledning. Koden beter sig konstigt när detta händer. Eller har jag bara programmerat kasst?</p>
<p>Efter lite kodändringar fungerade det!</p>
<p>Koden ser ut såhär nu:</p>
<pre name="code" class="c">#include &lt;pic16f690.h&gt;

typedef unsigned int word;

word at 0x2007 __CONFIG = (_INTRC_OSC_NOCLKOUT &amp; _CP_OFF &amp; _WDT_OFF &amp; _BOR_OFF &amp; _PWRTE_ON &amp; _MCLRE_OFF &amp; _IESO_OFF &amp; _FCMEN_OFF);
void delay_ms(long ms)
{
    long i;

    while (ms--)
        for (i=0; i&lt;=50; i++) //50 iterations is _basically_ 1 ms.
			;
}
unsigned int pumpint=0; //just an int for loops..
unsigned int totalpumpms = 0; //A counter for how many ms the pump has been running
unsigned static int maxpumpms = 100000; //Change this if you are using a slower/faster pump.
void main () {
  TRISC = 0x00;	/* PORTC, All outputs */
  TRISA = 0x1f; /* RA1-RA4 input, RA&gt;4 output */
  while(1)
  {
    pumpint = 0;
    //Start pumping water, if RA3 isn't activated.
    if(RA3 || totalpumpms &gt;= maxpumpms)
    {
		//Do nothing..
		delay_ms(1);
    }
    else
    {

      while(pumpint &lt; 5000) //Max pumptime is 5 secs.
      {
        if(RA3) //If(ra3) is used since while(ra3) doesn't seem to work as good with sdcc compiler.
        {
          break;
        }
	else if (totalpumpms &gt;= maxpumpms)
	{
		break;
	}
        PORTC=0x0f;
        //As an extra marker, never pump for more than 5 secs.
        delay_ms(1);
		totalpumpms++; //Add to the total pumpmscounter.
        pumpint++; //just for this loop.
      }
	  pumpint = 0;
    }
    //Pumping done. Wait 15 minutes
    PORTC=0x00; //Close all outputs

    //Reset button must work within this time. Don't sleep for a whole 15 mins, but keep polling.
    while(pumpint &lt;= 90000) //15 min == 900000ms. We're polling each 100ms.
    {
      if(RA4) //RA4 is the reset switch
      {
		totalpumpms = 0;
		break;
		//at this point, we have resetted the counter, and let the water start pumping again.
      }
      pumpint++;
      delay_ms(100);
    }
  }
}</pre>
<p>För närvarande använder jag Windows 7 (ja, jag vet, det är inte omtyckt, men faktum är att win börjar konkurrera med kde och linux..) och mitt debuggingprogram blev &#8221;<a href="http://digitalelectrosoft.com/pic-simulator.html">Real Pic Simulator</a>&#8221; som utförde sitt arbete mycket väl! Programmet är dock inte gratis, men en 30-dagars testversion gick att ladda ner. Och mer tid behöver jag nog inte <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Som<em> open source</em> entusiast skulle jag kört <a href="http://gpsim.sourceforge.net/">gpsim </a>som är det naturliga och självklara valet om man tycker om öppen mjukvara men jag tyckte inte att jag hade lust med att mecka conf-filer och tillägg för att få just min pic att stödjas. RPS fick funka ikväll, vilket det gjorde!</p>
<p>Nu kan jag lugnt slappna av resten av kvällen och njuta av mitt arbete <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Imorgon blir det att kolla nya möbler och liknande, då vår flytt har ändrats från 1:a November till 1:a Oktober/Mitten på September.</p>
<p>Ha en god afton. Själv Njuter jag med lite jamaicansk öl. Det är ju inne med Jamaica nu <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
/Marcus</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/08/21/vattna-blommorna-del-10/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Del 7</title>
		<link>http://marcusfollrud.net/2009/08/10/vattna-blommorna-del-7/</link>
		<comments>http://marcusfollrud.net/2009/08/10/vattna-blommorna-del-7/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 05:39:27 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[16f690]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[sdcc]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=210</guid>
		<description><![CDATA[God morgon! Tänkte jag kunde bidra med koden som jag skrev igår. Den är nog inte helt färdig vid närmaste eftertanke, men jag tror den fungera som den skall just nu. Det enda som inte är testat är RA2 och hur den fungerar. Men det hoppas jag den gör . Blir det att köra till [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F10%2Fvattna-blommorna-del-7%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F10%2Fvattna-blommorna-del-7%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>God morgon!</p>
<p>Tänkte jag kunde bidra med koden som jag skrev igår. Den är nog inte helt färdig vid närmaste eftertanke, men jag tror den fungera som den skall just nu. Det enda som inte är testat är RA2 och hur den fungerar. Men det hoppas jag den gör <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Blir det att köra till Kjell.com och köpa lödkort ikväll? <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Koden jag skrev ser ut enligt följande:</p>
<pre name="code" class="c">#include &lt;pic16f690.h&gt;

typedef unsigned int word;

word at 0x2007 __CONFIG = (_INTRC_OSC_NOCLKOUT &amp; _CP_OFF &amp; _WDT_OFF &amp; _BOR_OFF &amp; _PWRTE_ON &amp; _MCLRE_OFF &amp; _IESO_OFF &amp; _FCMEN_OFF);
void delay_ms(long ms)
{
    long i;

    while (ms--)
        for (i=0; i&lt;=50; i++) //50 iterations is _basically_ 1 ms.
			;
}
unsigned int pumpint=0; //just an int for loops..
unsigned int totalpumps = 10; //Keeping total pumps for ten pumps before a reset is needed (until calculated how much 10 litres goes for)
void main () {
	TRISC = 0x00;	/* PORTC, All outputs */
  TRISA2 = 0x01; /* RA2 input */
  while(1)
  {
    //Start pumping water, if RA3 isn't activated.
    //Wait for the breaking SW1
    if(!RA3 &amp;&amp; totalpumps &lt; 10)
    {
      while(1)
      {
        if(RA3)
        {
          break;
        }
        PORTC=0x0f;
        //As an extra marker, never pump for more than 5 secs.
        delay_ms(1);
        if(pumpint &gt;= 5000) //Loop until 5000ms == 5secs is reached.
        {
          PORTC=0x00;
          pumpint = 0;
          totalpump++;
          break;
        }
        pumpint++;
      }
    }
    //Pumping done. Wait 15 minutes
    PORTC=0x03;
    //Reset button must work within this time. Don't sleep for a whole 15 mins, but keep polling.
    while(pumpint &lt;= 90000) //15 min == 900000ms. We're polling each 10ms.
    {
      if(RA2) //RA2 is the reset switch
      {
        totalpumps = 0;
        pumpint = 0;
      }
      pumpint++;
      delay_ms(10)
    }
  }
}</pre>
<p>Som ni säkert ser så är det inget direkt avancerat för att skriva program till en PIC:-).<br />
Ska ta och skapa mig en riktig projektsida här på bloggen om just detta. Så fort jag har lite mer fysiskt arbete klart!</p>
<p>Vi hörs<br />
Marcus</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/08/10/vattna-blommorna-del-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Del 6</title>
		<link>http://marcusfollrud.net/2009/08/09/vattna-blommorna-del-6/</link>
		<comments>http://marcusfollrud.net/2009/08/09/vattna-blommorna-del-6/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 20:25:38 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[16f690]]></category>
		<category><![CDATA[blommor]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[sdcc]]></category>
		<category><![CDATA[vattna]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/2009/08/09/vattna-blommorna-del-6/</guid>
		<description><![CDATA[Idag har jag fått lite tid till att programmera lite mer på mitt blomstervattnarprojekt! Den stora anledningen till varför det har tagit så lång tid har varit för att jag har tyckt att det har varit roligare med att programmera annat,men framförallt att Windows har krävts för att labbkortets switchknapp skall fungera. Och jag är [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F09%2Fvattna-blommorna-del-6%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F09%2Fvattna-blommorna-del-6%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Idag har jag fått lite tid till att programmera lite mer på mitt blomstervattnarprojekt!</p>
<p>Den stora anledningen till varför det har tagit så lång tid har varit för att jag har tyckt att det har varit roligare med att programmera annat,men framförallt att Windows har krävts för att labbkortets switchknapp skall fungera. Och jag är ju ingen jättefan av Windows, när det gäller hemanvändning <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>Oavsett operativsystem så fick jag igång alltihop och nu ser det ut att fungera precis som det skall.</p>
<p>Programflödet i piccen ser ut enligt följande:</p>
<ol>
<li>Vänta 60 sec innan rutinen körs igångs.</li>
<li>Kolla att RA3 är FALSE</li>
<li>Om FALSE Pumpa vatten 5 sec eller till RA3 blir TRUE</li>
<li>Vänta 15 min. Kör om rutinen.</li>
</ol>
<p>Det är ett relativt enkelt program (till att börja med iallafall) som inte gör mer än vattnar på enklaste vis.</p>
<p>Kod kan jag posta först imorgon, då datorn är avstängd och jag för närvarande skriver från min netbook.</p>
<p>Jag återkommer med mer information imorgon!</p>
<p>På återseende!<br />
Marcus</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/08/09/vattna-blommorna-del-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>En.. Lördag?</title>
		<link>http://marcusfollrud.net/2009/08/08/en-lordag/</link>
		<comments>http://marcusfollrud.net/2009/08/08/en-lordag/#comments</comments>
		<pubDate>Sat, 08 Aug 2009 09:25:47 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Privat]]></category>
		<category><![CDATA[bada]]></category>
		<category><![CDATA[blomstervattnare]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[spytify]]></category>
		<category><![CDATA[stranden]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=200</guid>
		<description><![CDATA[Jaha.. Vad ska man göra idag? Personligen skulle jag vilja lägga ner lite tid på mitt blomsterprojekt. Men jag vet inte om det verkligen blir så. Det är första fina helgen i Helsingborg på iallafall fyra veckor, och min käraste vill helst till stranden. Är det acceptabelt att ta med sin dator till stranden? Tror [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F08%2Fen-lordag%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F08%2F08%2Fen-lordag%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Jaha.. Vad ska man göra idag?</p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Personligen skulle jag vilja lägga ner lite tid på mitt blomsterprojekt. Men jag vet inte om det verkligen blir så. Det är första fina helgen i Helsingborg på iallafall fyra veckor, och min käraste vill helst till stranden. <span style=" font-weight:600;">Är det acceptabelt att ta med sin dator till stranden?</span> Tror inte det.</p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Det finns så mycket jag _vill_ göra men som det inte riktigt finns tid till. Vilket suger lite grann, om jag ska vara ärlig.</p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Bland annat så <span style=" font-style:italic;">vill jag</span></p>
<ol style="-qt-list-indent: 1;">
<li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Få klart min blomstervattnare.</li>
<li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Skriva en klient mot Spytify</li>
<li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Skapa ett roligt php-projekt</li>
<li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lära mig C bättre</li>
<li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lära mig C++ bättre</li>
<li style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Lära mig C# (Mono) bättre</li>
</ol>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Jag kanske har för höga ambitioner, men det är några av sakerna som jag har som mål att bli färdig med i höst.</p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Vad som är extra irriterande är att jag är så duktig på att tänka ut vad jag vill göra, men sämre på att utföra det.<span style=" font-weight:600;"> Någon annan som har det problemet?</span></p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Nu är det dock dags för att göra lite hushållssysslor. Ta tag i disken bland annat. Vi hörs!</p>
<p style=" margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">/Marcus</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/08/08/en-lordag/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Del 5</title>
		<link>http://marcusfollrud.net/2009/07/18/vattna-blommorna-del-5/</link>
		<comments>http://marcusfollrud.net/2009/07/18/vattna-blommorna-del-5/#comments</comments>
		<pubDate>Sat, 18 Jul 2009 13:53:46 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[16f690]]></category>
		<category><![CDATA[blommor]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pk2cmd]]></category>
		<category><![CDATA[sdcc]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=70</guid>
		<description><![CDATA[Det blev inte så mycket programmerat igår, men lite grann fick jag till iaf. Konsten att förstå sig på en PIC-processor kräver att man läser en massa dokument. Och Microtec har dokument för sina Pic:ar, men de vill givetvis inte skriva något annat än assembler. Men SDCC verkar inte ha några exempel, än de man [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F18%2Fvattna-blommorna-del-5%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F18%2Fvattna-blommorna-del-5%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Det blev inte så mycket programmerat igår, men lite grann fick jag till iaf.</p>
<p>Konsten att förstå sig på en PIC-processor kräver att man läser en massa dokument. Och Microtec har dokument för sina Pic:ar, men de vill givetvis inte skriva något annat än assembler.</p>
<p>Men SDCC verkar inte ha några exempel, än de man surfar efter. Mina skills är helt enkelt inte de bästa när det gäller PIC-programmering generellt. Har jag tagit mig vatten över huvudet, eller komme jag klara det efter lite tid? Vi får se, men jag ger mig inte så fort =).</p>
<p>Jag hittade ett projekt som hette <a href="http://github.com/mfpuentear/i4uc/tree/master">i4uC</a>, som är ett öppen källkodsbaserat IDE för Mikroprocessor som använder SDCC och där PIC16F690 stöds. Det gick inte så bra att installera i ubuntu, så jag får göra det i Arch lite senare, som ivf är en miljö med många <em>nya</em> paket och inte 3 år gamla. Det får bli en senare utmaning.</p>
<p>Det var ett litet sidorpår. Jag gjorde en del programmering igår, bland annat testade jag RC-utgångarna för att få leddarna att lysa. Man använder egentligen bara en variabel för att sätta igång de olika, där 0&#215;00 är alla avstända och 0x0F är alla 4 tända. Kombinationerna ser ut såhär:</p>
<pre>Hex	Led1	Led2	Led3	Led4
0x00
0x01	x
0x02		x
0x03	x	x
0x04			x
0x05	x		x
0x06		x	x
0x07	x	x	x
0x08				x
0x09	x			x
0x0a		x		x
0x0b	x	x		x
0x0c			x	x
0x0d	x		x	x
0x0e		x	x	x
0x0f	x	x	x	x</pre>
<p>Jag gjorde tested enkelt genom att bara skriva lite kod som ändrar hexkoden och väntar 100ms:</p>
<pre lang="c">#include
<pic16f690.h>

typedef unsigned int word;

word at 0x2007 __CONFIG = (_INTRC_OSC_NOCLKOUT &amp; _CP_OFF &amp; _WDT_OFF &amp; _BOR_OFF &amp; _PWRTE_ON &amp; _MCLRE_OFF &amp; _IESO_OFF &amp; _FCMEN_OFF);
void delay_ms(long ms)
{
    long i;

    while (ms--)
        for (i=0; i &lt; 100; i++)
            ;
}

void main () {
	TRISC = 0x00;	/* PORTC, All outputs */
	PORTC = 0x00;
	while (1)
	{
	 PORTC = 0x00;
	 delay_ms(100);
	 PORTC = 0x01;
	 delay_ms(100);
	 PORTC = 0x02;
	 delay_ms(100);
	 PORTC = 0x03;
	 delay_ms(100);
	 PORTC = 0x04;
	 delay_ms(100);
	 PORTC = 0x05;
	 delay_ms(100);
	 PORTC = 0x06;
	 delay_ms(100);
	 PORTC = 0x07;
	 delay_ms(100);
	 PORTC = 0x08;
	 delay_ms(100);
	 PORTC = 0x09;
	 delay_ms(100);
	 PORTC = 0x0a;
	 delay_ms(100);
	 PORTC = 0x0b;
	 delay_ms(100);
	 PORTC = 0x0c;
	 delay_ms(100);
	 PORTC = 0x0d;
	 delay_ms(100);
	 PORTC = 0x0e;
	 delay_ms(100);
	 PORTC = 0x0f;
	 delay_ms(100);
	}
}</pre>
<p>Efter det är det bara att kompilera med SDCC och skicka ut genom PicKit2:</p>
<p><strong>$ sdcc -mpic14 -p16f690 -V main.c &amp;&amp; pk2cmd -B/usr/share/pk2/  /PPIC16F690 -Fmain.hex -M -T</strong></p>
<p>Nu ska jag iväg till mina föräldrar. so long.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/07/18/vattna-blommorna-del-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Del 4</title>
		<link>http://marcusfollrud.net/2009/07/17/vattna-blommorna-del-4/</link>
		<comments>http://marcusfollrud.net/2009/07/17/vattna-blommorna-del-4/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 06:09:35 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[ANSI C]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pic16f590]]></category>
		<category><![CDATA[pic18f2550]]></category>
		<category><![CDATA[sdcc]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=66</guid>
		<description><![CDATA[Det blev aldrig något blogginlägg igår, sorry! Har satt som mål att skriva något ivf varje dag, så jag inte tappar fokus. Men, även om jag glömde skriva igår har jag inte tappat fokus =). Vid lunchtid igår åkte jag ner till NovaLund och köpte mig ett PicKit2, Supermikrobrytare, Relä, Kabel och annat sådant trevligt [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F17%2Fvattna-blommorna-del-4%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F17%2Fvattna-blommorna-del-4%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Det blev aldrig något blogginlägg igår, sorry! Har satt som mål att skriva något ivf varje dag, så jag inte tappar fokus. Men, även om jag glömde skriva igår har jag inte tappat fokus =).</p>
<div class="wp-caption alignleft" style="width: 235px"><a href="http://www.kjell.com/content/media/images/items/87814.jpg"><img title="PicKit2" src="http://www.kjell.com/content/media/images/items/87814.jpg" alt="" width="225" height="144" /></a><p class="wp-caption-text">PicKit</p></div>
<p>Vid lunchtid igår åkte jag ner till NovaLund och köpte mig ett PicKit2, Supermikrobrytare, Relä, Kabel och annat sådant trevligt som varje tekniknördig man kräver för tillfredsställning!<br />
Berättade lite om mitt projekt för clerken (Svenskt ord här tack) som tyckte det lät roligt, och även han hade haft planer på att göra ett, men som aldrig blivit av <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  (tänka sig, det finns fler som snackar utan verkstad).</p>
<p>Nåväl, efter jobb blev det hem och prova det nya kittet, och till min besvikelse så vill MikroChip <em>enbart</em> skriva sin kod i assembler. <strong>Assembler är sååå 1980</strong>&#8230; <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Jahapp, ut och kolla på nätet vad det fanns för några bra grejer som kunde kompilera C-kod och som kunde köras i min <strong>PIC16F690 </strong>(som medföljde). Och efter lite sökande på nätet hittade jag att 16f690 inte var särskilt väl anpassad för att skriva C-kod. GAH!</p>
<div class="wp-caption alignright" style="width: 235px"><a href="http://www.kjell.com/content/media/images/items/90610.jpg"><img title="PIC18F2550" src="http://www.kjell.com/content/media/images/items/90610.jpg" alt="En PIC18F2550" width="225" height="188" /></a><p class="wp-caption-text">En PIC18F2550</p></div>
<p>Det fick bli iväg till kjellan igen och köpa mig en annan PIC. Denna gången var det inte en kunnig/intresserad clerk dock, utan det fick bli standard-väla-personalen där kunskapen sträcker sig till DLINK == ROUTER. Nåväl, jag var rätt säker på vad jag skulle ha, men behövde veta ifall den passa, vilket han inte visste (Nu ska jag nog inte vara så hård mot honom egentligen, han sa att det var hans första dag! Han löste det galant med att hämta delen och lova att det gick att returnera ifall den inte passade).  Jag hade två alternativ på PIC:ar, <strong>PIC18F2550 </strong>&amp;<strong> PIC18F4550</strong>. 4550 såg ut att vara alldeles för stor, så det fick bli 2550 som jag läst skulle vara bra för C-kod. Jag betalar 79:-, kör hem glatt tillsammans med Angie (som snällt följde med som sällskap <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , kommer hem och ser att den har 4 pinnar för mycket&#8230;. Jag höll på att bli tosig! Det var väll fanken vad svårt det skulle vara att få tag i något som fungerar!</p>
<p>Mer forum. <em>Kan man öht skriva sitt program i C</em> eller <span style="text-decoration: underline;">måste</span> man skriva det i assembler. Läser något om <a href="http://sdcc.sf.net">SDCC</a>, klickar och blir överlycklig. Ett öppenkällkodsprojekt för Mikroprocessorer! Jippi! Dom har lagt in stöd för de flesta, och Microchips PIC:ar är påväg in!</p>
<p>Installerar, börjar koda men inser att det inte var så väl dokumenterat när det gällde på hur man skulle göra. Nåja! Det ordnar sig säkert. Det gäller bara att hitta rätt i pic16f690.h filen.</p>
<p>Just nu ser min kod ser ut enligt följande:</p>
<blockquote><p>#include &lt;pic16f690.h&gt;</p>
<p>void main(void){<br />
//Jaaadåå vi har ett c-program som görs om till assembler och därefter till binärkod!<br />
//Work in progress haha</p>
<p>}</p></blockquote>
<p>Så, ikväll, tillsammans med lite rötjut kan det bli mycket kodat!</p>
<p>Hoppas Andjelka inte tycker jag är en pina för jag nördar mig&#8230;</p>
<p>Mer rapport ikväll!<br />
Marcus</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/07/17/vattna-blommorna-del-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Del 3</title>
		<link>http://marcusfollrud.net/2009/07/15/vattna-blommorna-del-3/</link>
		<comments>http://marcusfollrud.net/2009/07/15/vattna-blommorna-del-3/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 09:20:31 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Privat]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[blommor]]></category>
		<category><![CDATA[mikrobrytare]]></category>
		<category><![CDATA[oxidering]]></category>
		<category><![CDATA[pappa]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[pump]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[surning]]></category>
		<category><![CDATA[vatten]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=61</guid>
		<description><![CDATA[Hade ett långt samtal med min käre far idag, som ansåg att inblandningen med fuktsensor/mäta ph-värdet/resistansen i jorden är inte någon särskilt bra teknik, eftersom att stavarna kommer oxidera inom en vecka, och därmed kräva att man polerar dem lite då och då, vilket inte känns roligt på ett &#8221;automatiserat system&#8221;. Det stora problemet med [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F15%2Fvattna-blommorna-del-3%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F15%2Fvattna-blommorna-del-3%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hade ett långt samtal med min käre far idag, som ansåg att inblandningen med fuktsensor/mäta ph-värdet/resistansen i jorden är inte någon särskilt bra teknik, eftersom att stavarna kommer oxidera inom en vecka, och därmed kräva att man polerar dem lite då och då, vilket inte känns roligt på ett &#8221;automatiserat system&#8221;.</p>
<p>Det stora problemet med oxidering är att när det oxiderat tillräckligt länge kommer man inte få någon kontakt alls när man ska mäta, vilket innebär at maskinen kommer tro att där är torrt oavsett hur mycket vatten man pumpat in, vilket kan resultera i mycket vatten på golvet <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<div class="wp-caption alignleft" style="width: 237px"><a href="http://www.kjell.com/content/templates/shop_main_details.aspx?item=36031&amp;path=239000000,253500000,258500000,259000000"><img title="Mikrobrytare" src="http://www.kjell.com/content/media/images/items/36031.jpg" alt="En mikrobrytare" width="227" height="112" /></a><p class="wp-caption-text">En mikrobrytare, 25:- på Kjell.com</p></div>
<p>Ska man utesluta det får man ha en mikrobrytare i botten som är riktad neråt med en bit frigolit som lyfts upp med vattennivån, som en extra säkring på att man inte &#8221;häller över kanten&#8221;. Och har man ändå satt en sådan kan man lika gärna utesluta jordfuktigheten och bara använda den väldigt nära botten på krukan för att inte få överskottsvatten, som gör att blomman surnar.</p>
<p>En annan sak vi kom fram till var att vattnet lätt surnar ifall man låter det stå still, så eventuell fläkt/motor kan (ej bekräftat om det går) behövas i tanken för att &#8221;röra om&#8221; vattnet. Ska man se till att vattnet inte surnar måste man destillera det för att ta bort alla tillsatser/alger, vilket låter dyrt och tidskrävande. Alternativt att man häller i något medel som gör att det inte surnar, men det lär inte blommorna tåla. <strong>Tål inte blommor surt vatten?</strong></p>
<p>Med andra ord blir det lite ändringar i planen. PIC-processorn behövs fortfarande, förstås för att mäta hur mycket vatten som pumpats upp för att se till att inte pumpen torrkörs (då går den sönder).</p>
<p>En annan ändring är att jag nog ska köpa en PIC18XXXX istället, då de kör på C-kod och inte Asembler.</p>
<p style="text-align: center;">Snabb ritning</p>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://marcusfollrud.net/wp-content/kaez.JPG"><img class="size-thumbnail wp-image-63 aligncenter" title="Ritning" src="http://marcusfollrud.net/wp-content/kaez-150x150.jpg" alt="Dålig ritning. Är den äns fullständig?" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/07/15/vattna-blommorna-del-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Del 2</title>
		<link>http://marcusfollrud.net/2009/07/14/vattna-blommorna-del-2/</link>
		<comments>http://marcusfollrud.net/2009/07/14/vattna-blommorna-del-2/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 21:24:35 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Privat]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[blommor]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[vatten]]></category>
		<category><![CDATA[vattna blommor]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=59</guid>
		<description><![CDATA[Hade lite mer funderingar idag under lunchen på jobb. Funderingar som rörde ifall jag borde ha någon typ av sensor som känner av hur fuktig jorden är. Och automatisera det ännu mer än vad en timerbaserad är. Förvisso är det enklare att göra en tidsbaserad som vattnar ett par gånger om dagen. Men det känns [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F14%2Fvattna-blommorna-del-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F14%2Fvattna-blommorna-del-2%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Hade lite mer funderingar idag under lunchen på jobb. Funderingar som rörde ifall jag borde ha någon typ av sensor som känner av hur fuktig jorden är. Och automatisera det ännu mer än vad en timerbaserad är. Förvisso är det enklare att göra en tidsbaserad som vattnar ett par gånger om dagen. <strong>Men det känns inte lika kul, eller hur?</strong></p>
<p>Alternativen är att sänka en fuktsensor i en håla i jorden för att mäta luftfuktigheten. Eller att använda sig av två metallstänger som försöker &#8221;nå&#8221; varandra genom jorden, och därefter använda motståndet i jorden som mätbarhet (högre motstånd, mindre vatten).</p>
<p>Jag har ingen aning om alternativ nummer ett fungerar över huvudtaget så jag antar att det får blir alternativ nummer två.</p>
<p>Så. Kollar vi kostnader:</p>
<ul>
<li>Pump, 79,90</li>
<li>Pic processor PIC16F886 49:-</li>
<li>Experimentkort 45:-</li>
<li>Kabel för kontakt.. Vet inte vad de heter UNKNOWN:- <strong>TIPSA GÄRNA</strong></li>
<li>Plastdunk med lock, 10 liter, 45:-</li>
<li>Vävslang, 9mm 15:-/st</li>
<li>Tryckströmbrytare. 2X a 19:-</li>
<li>Röd diod för påfyllning av vatten 39:- för fem</li>
</ul>
<p>Det borde räcka för tillfället. Projektet landar (just nu) på <strong>308:-</strong><br />
Det blir att köpa dessa delar nästa lön (just nu är det lite tajt) :&gt;. Ska bli ett roligt projekt.</p>
<p><strong>Hur hade du löst problemet? Vad hade du köpt?</strong></p>
<p><strong>Trevlig kväll<br />
</strong>/marcus<strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/07/14/vattna-blommorna-del-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vattna blommorna &#8211; Automatiskt</title>
		<link>http://marcusfollrud.net/2009/07/14/vattna-blommorna-automatiskt/</link>
		<comments>http://marcusfollrud.net/2009/07/14/vattna-blommorna-automatiskt/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 22:49:01 +0000</pubDate>
		<dc:creator>marcus</dc:creator>
				<category><![CDATA[Privat]]></category>
		<category><![CDATA[Programmering]]></category>
		<category><![CDATA[blommor]]></category>
		<category><![CDATA[lödning]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[vattna blommorna]]></category>

		<guid isPermaLink="false">http://marcusfollrud.net/?p=55</guid>
		<description><![CDATA[Fick precis en snilleblixt. Det är så fruktansvärt tråkigt att vattna blommorna i lägenheten. Så pass tråkigt att både och Andjelka glömmer/struntar i det. Och om vi nu eventuellt ska flytta till en större lägenhet, lite närmare folket (Just nu bor vi på 4:e våningen och lägenheten vi eventuellt ska ta över ligger på 2:a) [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F14%2Fvattna-blommorna-automatiskt%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fmarcusfollrud.net%2F2009%2F07%2F14%2Fvattna-blommorna-automatiskt%2F&amp;source=marcusfollrud&amp;style=normal&amp;service=bit.ly&amp;service_api=R_7d280395e19104feae6bc0cd839f41c0&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Fick precis en snilleblixt. Det är så fruktansvärt tråkigt att vattna blommorna i lägenheten. Så pass tråkigt att både och Andjelka glömmer/struntar i det. Och om vi nu eventuellt ska flytta till en större lägenhet, lite närmare folket (Just nu bor vi på 4:e våningen och lägenheten vi eventuellt ska ta över ligger på 2:a) kanske det kan vara dags att ta hand om blommorna lite mer <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Dock vet jag inte hur länge vi kommer vattna blommorna (haha) innan vi skippar det igen.</p>
<p>Så. Idén kom att snickra ihop en liten automatisk dosa som själv vattnar blommorna med en pump och lite vatten <img src='http://marcusfollrud.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Hur löser vi det här?</strong> Låt oss säga att vi inte bryr oss om att känna på jorden innan vi vattnar, utan vi ska bara vattna 1 dl var 3e timme (till en början får vi nöja oss med att ha växter som kräver den mängden med vatten) tills vattnet är beräknat slut i tanken.</p>
<p>Vi kommer behöva:</p>
<ul>
<li>10-liters spann med vatten</li>
<li>En pump som kan pumpa lagom med vatten (12V pump med en kraft på 7.5l/min hittad på biltema)</li>
<li>Slangar som kan transportera vattnet från spannen till krukorna</li>
<li>Kopplingskort för PIC</li>
<li>PIC-processor</li>
<li>Strömkabel att koppla med på kortet</li>
<li>Elektroniklåda som håller kortet</li>
<li>Displayer som visar hur många gånger det pumpats</li>
<li>Röd diod som lyser ifall vattnet börjar ta slut (matematiskt uträknat med sekunders körning kontra flödet vatten som passerar) och avbryter processen för pumpning.</li>
<li>Strömbrytare till pumpen, styrd från pic-processorn</li>
<li>Reset-omkopplare som nollställer räknaren efter att man fyllt på vatten i spannen</li>
<li>PIC-programmerare (har ingen just nu)</li>
</ul>
<p><strong>Har jag glömt något? Tipsa gärna isf!</strong></p>
<p>Det mesta finns nog att köpa på kjell.com. Jag får titta på det imorgon!</p>
<p>Trevlig kväll!</p>
<p>Mvh<br />
Marcus</p>
]]></content:encoded>
			<wfw:commentRss>http://marcusfollrud.net/2009/07/14/vattna-blommorna-automatiskt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

