<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=47&amp;t=6297&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-03-13T06:06:24+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=47&amp;t=6297&amp;mode</id>
<entry>
<author><name><![CDATA[foreste]]></name></author>
<updated>2014-03-13T06:06:24+01:00</updated>
<published>2014-03-13T06:06:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=74121#p74121</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=74121#p74121"/>
<title type="html"><![CDATA[Re: Problem z blokiem kodu z if]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=74121#p74121"><![CDATA[
Poprawiłem kod jest nie co lepiej , ale nadal jest babol ze blok if wykonuje działanie do końca i nie reaguje procek na button , dopiero reaguje kiedy if kończy zadanie czyli przy 8 diodach jak gasi 8 dioda i w tym czasie kliknę buttona to przechodzi do 2 if<br />[syntax=cpp]/*ATB 1.04a ATMEGA 644P*/<br />//bibloteki<br />#include &quot;Arduino.h&quot;<br />#include &quot;Bounce.h&quot;<br />//definicja i dekleracja zmiennych<br />#define swith 8<br />int x = 0;<br />Bounce bouncer = Bounce(swith, 25) ;<br />int state = 0;<br /><br />void setup()<br />{<br />  //ustawienia pinów microkontrolera<br />  Serial.begin(9600);<br />  pinMode(swith,INPUT);<br />    digitalWrite(swith, HIGH);<br />  pinMode(0, OUTPUT);<br />  pinMode(1, OUTPUT);<br />  pinMode(2, OUTPUT);<br />  pinMode(3, OUTPUT);<br />  pinMode(4, OUTPUT);<br />  pinMode(5, OUTPUT);<br />  pinMode(6, OUTPUT);<br />  pinMode(7, OUTPUT);<br />  //piny stan wysoki <br />  digitalWrite(0, HIGH);<br />  digitalWrite(1, HIGH);<br />  digitalWrite(2, HIGH);<br />  digitalWrite(3, HIGH);<br />  digitalWrite(4, HIGH);<br />  digitalWrite(5, HIGH);<br />  digitalWrite(6, HIGH);<br />  digitalWrite(7, HIGH);<br />}<br /><br /><br />void loop()<br />{<br />  //deboucer styków<br />  bouncer.update();<br />  state = bouncer.read();<br />//zmiana wartosci zmiennej po wcisnieciu klawisza<br />  if(state == LOW){<br />    x++;<br />    <br />     if(x == 3)<br />  {<br />    x = 0;<br />  }<br />  }<br /> // 1 opcja swiecenia diod<br />   if(x == 1)<br />{<br />   <br />   for(int c = 0; c &lt; 8; c++)<br />   {<br />     <br />     //Serial.println(&quot;poziom 1&quot;);<br />     digitalWrite(c, LOW);<br />     delay(100);<br />     digitalWrite(c, HIGH);<br />     //delay(1);<br />     <br />   }  <br /><br />}<br />// 2 opcja swiecenia diod<br />if(x == 2)<br />{ <br /><br />    for(int c = 8; c &gt; 0; c--)<br />   {<br />     <br />     //Serial.println(&quot;poziom 1&quot;);<br />     digitalWrite(c, LOW);<br />     delay(100);<br />     digitalWrite(c, HIGH);<br />     //delay(1);<br />   <br />}<br /> }<br />}[/syntax]<br />albo jest błąd w kodzie lub trza iść w stronę przerwań zewnętrznych wtedy to ma sens<br />działanie kodu mojego miał polegać jak na tym filmiku z yt <br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=525">foreste</a> — 13 mar 2014, o 06:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[stachu]]></name></author>
<updated>2014-03-12T17:42:51+01:00</updated>
<published>2014-03-12T17:42:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73999#p73999</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73999#p73999"/>
<title type="html"><![CDATA[Re: Problem z blokiem kodu z if]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73999#p73999"><![CDATA[
Zdecydowanie na początku tak popatrz co masz w examples <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /><br />[syntax=cpp]const int buttonPin = 2;     // the number of the pushbutton pin<br />const int ledPin =  13;      // the number of the LED pin<br /> <br />// variables will change:<br />int buttonState = 0;         // variable for reading the pushbutton status<br /> <br />void setup() {<br />  // initialize the LED pin as an output:<br />  pinMode(ledPin, OUTPUT);      <br />  // initialize the pushbutton pin as an input:<br />  pinMode(buttonPin, INPUT);<br />  digitalWrite(buttonPin, HIGH);<br />}<br /> <br />void loop(){<br />  // read the state of the pushbutton value:<br />  buttonState = digitalRead(buttonPin);<br /> <br />  // check if the pushbutton is pressed.<br />  // if it is, the buttonState is HIGH:<br />  if (buttonState == HIGH) {    <br />    // turn LED on:    <br />    digitalWrite(ledPin, HIGH);  <br />  }<br />  else {<br />    // turn LED off:<br />    digitalWrite(ledPin, LOW);<br />  }[/syntax]<br /><br />dobrze że pin na którym masz button ustawiasz w stan wysoki nie musisz martwić się zewnętrznym rezystorem <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=72">stachu</a> — 12 mar 2014, o 17:42</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[foreste]]></name></author>
<updated>2014-03-11T03:28:41+01:00</updated>
<published>2014-03-11T03:28:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73820#p73820</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73820#p73820"/>
<title type="html"><![CDATA[Re: Problem z blokiem kodu z if]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73820#p73820"><![CDATA[
<div class="quotetitle">stachu napisał(a):</div><div class="quotecontent"><br /><strong>Bounce bouncer = Bounce(swith, 50) ;</strong><br /><br />to wcale nie jest konieczne wystarczy delay po wciśnięciu klawisza <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br /></div><br />Czyli mam  wyrzucić z kodu obsługę filtracji drgań styków ? <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" />.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=525">foreste</a> — 11 mar 2014, o 03:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[stachu]]></name></author>
<updated>2014-03-10T22:53:31+01:00</updated>
<published>2014-03-10T22:53:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73782#p73782</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73782#p73782"/>
<title type="html"><![CDATA[Re: Problem z blokiem kodu z if]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73782#p73782"><![CDATA[
<strong>Bounce bouncer = Bounce(swith, 50) ;</strong><br /><br />to wcale nie jest konieczne wystarczy delay po wciśnięciu klawisza <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=72">stachu</a> — 10 mar 2014, o 22:53</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[atmel]]></name></author>
<updated>2014-03-10T15:56:51+01:00</updated>
<published>2014-03-10T15:56:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73690#p73690</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73690#p73690"/>
<title type="html"><![CDATA[Re: Problem z blokiem kodu z if]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73690#p73690"><![CDATA[
Trudno się dziwić procesorowi, skoro zostało narzucone tak duże opóźnienie funkcjami &quot;delay&quot; (rzędu sekund)...<br />Nigdy nie miałem styczności z Arduino, ale ten artykuł powinien pomóc: <a href="http://playground.arduino.cc/Code/AvoidDelay#.Ux3R6rVJOEV"  class="postlink">http://playground.arduino.cc/Code/AvoidDelay#.Ux3R6rVJOEV</a><br /><br />Dla szybkiej reakcji na naciśnięcie klawisza najlepszym rozwiązaniem jest użycie przerwań zewnętrznych wyzwalanych zboczem.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1183">atmel</a> — 10 mar 2014, o 15:56</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[foreste]]></name></author>
<updated>2014-03-10T11:14:42+01:00</updated>
<published>2014-03-10T11:14:42+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73650#p73650</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73650#p73650"/>
<title type="html"><![CDATA[Problem z blokiem kodu z if]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=6297&amp;p=73650#p73650"><![CDATA[
Witam mam problem z napisanym kodem, błąd polega powolnej reakcji na wciśnięty przycisk pomiędzy przejściem z 1 bloku if na 2 blok if ,efekt wygląda jak by był mikroprocesor zajęty<br />proszę o pomoc w tym i wytłumaczeniu jak na przyszłość poprawnie napisać kod.<br />[syntax=cpp]//bibloteki<br />#include &quot;Arduino.h&quot;<br />#include &quot;Bounce.h&quot;<br />//definicja i dekleracja zmiennych<br />#define swith 8<br />int x = 0;<br />Bounce bouncer = Bounce(swith, 50) ;<br /><br /><br />void setup()<br />{<br />  //ustawienia pinów microkontrolera<br />  Serial.begin(9600);<br />  pinMode(swith,INPUT);<br />  pinMode(0, OUTPUT);<br />  pinMode(1, OUTPUT);<br />  pinMode(2, OUTPUT);<br />  pinMode(3, OUTPUT);<br />  pinMode(4, OUTPUT);<br />  pinMode(5, OUTPUT);<br />  pinMode(6, OUTPUT);<br />  pinMode(7, OUTPUT);<br />  //piny stan wysoki <br />  digitalWrite(0, HIGH);<br />  digitalWrite(1, HIGH);<br />  digitalWrite(2, HIGH);<br />  digitalWrite(3, HIGH);<br />  digitalWrite(4, HIGH);<br />  digitalWrite(5, HIGH);<br />  digitalWrite(6, HIGH);<br />  digitalWrite(7, HIGH);<br />}<br /><br /><br />void loop()<br />{<br />  //deboucer styków<br />  bouncer.update();<br />  int state = bouncer.read();<br />//zmiana wartosci zmiennej po wcisnieciu klawisza<br />  if(state == LOW){ <br />    x++;<br />    delay(100);<br />    digitalWrite(swith, HIGH);<br />     if(x == 3)<br />  {<br />    x=0;<br />  }<br />  }<br /> // 1 opcja swiecenia diod<br />   if(x == 1)<br />{<br />   for(int c = 0; c &lt; 8; c++)<br />   {<br />     //Serial.println(&quot;poziom 1&quot;);<br />     digitalWrite(c, LOW);<br />     delay(100);<br />     digitalWrite(c, HIGH);<br />     delay(100);<br />   }  <br /><br />}<br />// 2 opcja swiecenia diod<br />if(x == 2)<br />{ <br /><br />    for(int c = 8; c &gt; 0; c--)<br />   {<br />     //Serial.println(&quot;poziom 1&quot;);<br />     digitalWrite(c, LOW);<br />     delay(100);<br />     digitalWrite(c, HIGH);<br />     delay(100);<br />   <br />}<br /> }<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=525">foreste</a> — 10 mar 2014, o 11:14</p><hr />
]]></content>
</entry>
</feed>