<?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=8&amp;t=11218&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-03-30T20:05:20+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=11218&amp;mode</id>
<entry>
<author><name><![CDATA[krzychu]]></name></author>
<updated>2015-03-30T20:05:20+01:00</updated>
<published>2015-03-30T20:05:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=125108#p125108</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=125108#p125108"/>
<title type="html"><![CDATA[Re: Attiny45 - wzbudzanie się wejścia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=125108#p125108"><![CDATA[
Faktycznie pomogło <img src="https://forum.atnel.pl/images/smilies/icon_redface.gif" alt=":oops:" title="Zawstydzony" /> Już nie mam tego efektu, nawet gdy wylutowałem kondensator. Zmyliło mnie jednak to, że sam przycisk działał na pierwszy rzut oka poprawnie. Wciskałem i układ robił co chciałem. Gdyby nie fakt, że układ był już na płytce pcb i dotknąłem śrubokrętem złącza śrubowego i w tym momencie układ zareagował jakbym wcisnął przycisk, nigdy bym nie zwrócił na to uwagi. I to mnie zaczęło zastanawiać, niczego nie zwierałem, po prostu zwykłym śrubokrętem dotknąłem złącza. Przecież przycisk nie jest wtedy ani wciskany, ani zwalniany więc nie chodzi o drgania (chyba). Wiesz może dlaczego tak jest? To że wyzwalało mi się przez pomiar napięcia tłumacze sobie tak, że voltomierz mimo że w teorii o nieskończenie dużej rezystancji to w praktyce jakiś jednak mały prąd prąd przez niego przepływa i on powodował reakcję jak na wciśnięcie. Przepraszam jak zadaje głupie pytania, ale niestety nie mam kogo oto zapytać.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=677">krzychu</a> — 30 mar 2015, o 20:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2015-03-29T17:32:49+01:00</updated>
<published>2015-03-29T17:32:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=124988#p124988</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=124988#p124988"/>
<title type="html"><![CDATA[Re: Attiny45 - wzbudzanie się wejścia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=124988#p124988"><![CDATA[
A moze kolega by tak zajrzal na bloga do tej obslugi klawiszy ... i sprawdzil gdzie robi babola? ... a przeciez robi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 mar 2015, o 17:32</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzychu]]></name></author>
<updated>2015-03-29T17:26:24+01:00</updated>
<published>2015-03-29T17:26:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=124987#p124987</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=124987#p124987"/>
<title type="html"><![CDATA[Attiny45 - wzbudzanie się wejścia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=11218&amp;p=124987#p124987"><![CDATA[
Cześć<br /><br />Dawno nie robiłem nic na AVR, aż przyszło zrobić mi pewien dość prosty układ. Układ ten po wciśnięciu przycisku, ma w odpowiedniej sekwencji przełączyć parę przekaźników. I wszystko działa ok, oprócz jednej drobnostki. Wejście od przycisku wzbudza mi się, kiedy dotknę je czymkolwiek, obojętnie czy próbuję zmierzyć napięcie na stykach przycisku, czy też dotykam sobie kawałkiem drucika pinu od strony uC. Układ reaguje tak jakbym wcisnął przycisk, zaczyna się wykonywać sekwencja. Wrzucam schemat mojego układu, oraz kod:<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/677/cb24ab290ddbc9d03273ddbed008c859.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/677/cb24ab290ddbc9d03273ddbed008c859.jpg" alt="Obrazek" /></a><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/delay.h&gt;<br /><br />#define OUT1 (1&lt;&lt;PB0)// sygnalizacja<br />#define OUT2 (1&lt;&lt;PB1)// zasilanie sterownika<br />#define OUT3 (1&lt;&lt;PB2)// switch do kalibracji<br />#define IN1 (1&lt;&lt;PB3)// wejście na przycisk<br />#define IN2 (1&lt;&lt;PB4)// wejście na sygnał potwierdzenia poprawności kalibracji<br /><br />uint8_t key_lock, key_lock2;<br /><br /><br /><br />int main(void){<br /><br />// inincjalizacja portów<br />DDRB |= OUT1;// ustawienie pinu PB0 jako wyjściowy<br />DDRB |= OUT2;   // ustawienie pinu PB1 jako wyjściowy<br />DDRB |= OUT3;   // ustawienie pinu PB2 jako wyjściowy<br /><br />DDRB &amp;=~ IN1;// ustawienie pinu PB4 jako wejściowy<br />DDRB &amp;=~ IN2;// ustawienie pinu PB3 jako wejściowy<br />PORTB |= IN1;   // podciągnięcie rezystora wewnętrznego do pinu wejściowego<br />// wejście IN2 zewnętrzny pull-down<br /><br /><br />PORTB &amp;=~ OUT1;<br />PORTB |= OUT2;<br />PORTB &amp;=~ OUT3;<br /><br />key_lock = 0;<br />key_lock2 = 0;<br /><br />while(1){<br />if (!key_lock &amp;&amp; !(PINB &amp; IN1)){<br />key_lock = 1;<br /><br /><br />PORTB &amp;=~ OUT2; // rozłącz zasilanie<br />_delay_ms(1000);<br />PORTB |= OUT3;  // przełącz układ w tryb kalibracji<br />_delay_ms(1000);<br />PORTB |= OUT2; // podłącz zasilanie<br />_delay_ms(1000);<br />PORTB &amp;=~ OUT3;  // wyłącz tryb kalibracji<br />} else if(key_lock &amp;&amp; (PINB &amp; IN1)) key_lock = 0;<br /><br /><br />// Jeżeli pali się zielona dioda na sterowniku, zapal diodę w układzie<br />if (!key_lock2 &amp;&amp; (PINB &amp; IN2))<br />{<br />key_lock2 = 1;<br />PORTB |= OUT1;<br />}<br />else if (key_lock2 &amp;&amp; !(PINB &amp; IN2))<br />{<br />key_lock2 = 0;<br />PORTB &amp;=~ OUT1;<br />}<br />}<br /><br />return 0;<br />}[/syntax]<br /><br />Problem zauważyłem po wykonaniu PCB żelazkiem, myślałem że to coś nie tak z płytką, ale niestety na płytce stykowej układ zachowuje się tak samo. Częściowo poradziłem sobie w ten sposób, że wlutowałem kondensator 100nF między stykami przycisku i rezystor 200 omów szeregowo z przyciskiem. Teraz układ nie wzbudza mi się już przy byle dotknięciu, jednak sekwencja wykonuje się mi raz po włączeniu zasilania, mimo że nie mam tego w programie. Moją piętą achillesową jest zwłaszcza elektronika, dlatego niestety muszę się poradzić kogoś co to może być i co można z tym zrobić, mimo że podejrzewam że to pewnie jakaś pierdoła...<br /><br />Dzięki z góry i pozdrawiam.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=677">krzychu</a> — 29 mar 2015, o 17:26</p><hr />
]]></content>
</entry>
</feed>