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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-07-04T22:06:44+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=58&amp;t=18646&amp;mode</id>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-07-04T22:06:44+01:00</updated>
<published>2017-07-04T22:06:44+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191680#p191680</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191680#p191680"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191680#p191680"><![CDATA[
Każda pomoc mile widziana zawsze można się czegoś nauczyć.<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 4 lip 2017, o 22:06</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[APAP75]]></name></author>
<updated>2017-07-04T12:12:48+01:00</updated>
<published>2017-07-04T12:12:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191656#p191656</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191656#p191656"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191656#p191656"><![CDATA[
<!-- m --><a class="postlink" href="http://podforak.rzeszow.pl/viewtopic.php?t=28491" >http://podforak.rzeszow.pl/viewtopic.php?t=28491</a><!-- m --><br /><br />Jeśli chcesz, to podeślę Ci kod - może coś Ci się coś przyda. U mnie działa to już ponad rok.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6195">APAP75</a> — 4 lip 2017, o 12:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-07-01T22:07:12+01:00</updated>
<published>2017-07-01T22:07:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191547#p191547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191547#p191547"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191547#p191547"><![CDATA[
Tak morskie 320l<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 1 lip 2017, o 22:07</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[APAP75]]></name></author>
<updated>2017-07-01T22:04:36+01:00</updated>
<published>2017-07-01T22:04:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191546#p191546</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191546#p191546"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191546#p191546"><![CDATA[
Tak odbiegnę od tematu - kolega akwarysta?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6195">APAP75</a> — 1 lip 2017, o 22:04</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-06-23T21:34:12+01:00</updated>
<published>2017-06-23T21:34:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191145#p191145</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191145#p191145"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191145#p191145"><![CDATA[
Dzięki za wyczerpującą odpowiedz zanim poprosiłem o pomoc przez tydzień siedziałem nad tym prostym kodem i byłem już trochę załamany ponieważ siedziałem już nad podobnym kodem wcześniej i nie powinno mi to sprawiać takiej trudności ale wszystko się wyjaśniło jeszcze raz dziękuje za pomoc.<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 23 cze 2017, o 21:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-23T12:51:27+01:00</updated>
<published>2017-06-23T12:51:27+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191123#p191123</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191123#p191123"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191123#p191123"><![CDATA[
<div class="quotetitle">Daro68 napisał(a):</div><div class="quotecontent"><br />co może być przyczyną źle działającej przejściówki pod attiny.<br /></div> <br />Jako że nie lubię zostawiać pytań bez odpowiedzi zgłębiłem temat u samego źródła, i jest to problem nie samej przejściówki (na tej praktycznie nie ma żadnej elektroniki poza kondkami).<br />W nowych zestawach 1.05a sprzedanych niedawno pomiędzy liniami MOSI, MISO wlutowany jest rezystor 1k na potrzeby obsługi przez wbudowany programator USBASP magistrali programującej TPI (dla procków np. attiny10 i innych posiadających tę magistralę, jak również dla obsługi modułu MedKit firmy Atnel), jako że moduł MedKit i sama idea korzystania z maluszków na zestawie pojawiły się po wprowadzeniu na rynek owych zestawów, to siłą rzeczy zostało to zrobione kompromisem. Zapewne w przyszłości w nowych wersjach jeśli się pojawią, zostanie to zrobione bezkolizyjnie.<br />Procesor Attiny45 na liniach PB0 i PB1 (do których w Twoim projekcie są podpięte sondy) ma również sygnały MOSI i MISO więc po umieszczeniu tego procka w adapterze attiny, a następnie w zestawie między PB0 i PB1 mamy owy rezystor 1k, który jest stosunkowo niską rezystancją w porównaniu z wbudowanymi w procesor rezystorami PullUp. Tak więc zwierając jeden pin do masy, drugi również jest ściągany do masy poprzez rezystor 1k, nietrudno policzyć jakie napięcie wypadkowe będzie na pinie drugim gdy procek wystawia 5V poprzez wbudowany rezystor PullUp rzędu kilkudziesięciu K, a następnie poprzez 1K jest ściągany do masy (5V*1k/(1k+PullUp); gdzie według noty rezystory PullUp mogą zawierać się w zakresie od min 20k do 50k Ohm).<br />Reasumując jeśli nie planujesz korzystać z magistrali TPI na zestawie możesz sobie ów rezystor wylutować (co ja dla sprawdzenia zrobiłem u siebie) wtedy procek attiny45 chodzi bez problemów na wyżej przetoczonym programie. Instrukcje odnośnie zlokalizowania rezystora znajdziesz na końcu instrukcji od modułu MedKit dostępnej na stronie producenta czyli firmy Atnel pod adresem <a href="http://www.atnel.pl/medkit.html"  class="postlink">http://www.atnel.pl/medkit.html</a>, jednak z drugiej strony MedKit wraz z rodziną obsługiwanych malutkich AVR-ów to fajna zabawka więc trzeba przemyśleć czy chcemy pozbywać się tej funkcjonalności. Ja owy rezystor wylutowałem, następnie w to miejsce wlutowałem niedługie odcinki Kynaru (na jednym wlutowałem szeregowo wcześniej wylutowany rezystor smd 1k) a na końcach Kynaru wlutowałem sobie dwupinowy Goldpin, na całość nałożyłem koszulkę termokurczliwą i zgrzałem pozostawiając końcówkę nie obkurczoną, a konkretnie owinąłem zworkę raz taśmą klejącą, założyłem na goldpiny obkurczyłem koszulkę, dzięki temu zworka po usunięciu taśmy izolacyjnej daje się zdjąć i założyć bez przeszkód.<br />Całość podkleiłem pod spodem zestawu w wygodnym miejscu klejem na gorąco. W ten sposób nie tracąc funkcjonalności magistrali TPI mogę, jeśli jest taka konieczność rozpiąć rezystor 1k który zwiera piny z sygnałami MOSI i MISO  <img src="https://forum.atnel.pl/images/smilies/icon_cool.gif" alt="8-)" title="Cool" /> - jak to mówią wilk syty i owca cała.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 23 cze 2017, o 12:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-22T23:22:12+01:00</updated>
<published>2017-06-22T23:22:12+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191109#p191109</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191109#p191109"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191109#p191109"><![CDATA[
Chym, chyba jednak to zdjęcie dotyczy jakiejś starszej wersji konwertera, bo faktycznie na moim (również fioletowe PCB) opis jest właściwy.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 22 cze 2017, o 23:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-06-22T21:15:51+01:00</updated>
<published>2017-06-22T21:15:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191099#p191099</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191099#p191099"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191099#p191099"><![CDATA[
Znam to zdjęcie byłem na tej stronie podpoiłem wszystko tak jak zaleca producent i nie zadziało więc ponownie podłączyłem tak jak oznaczenia na przejściówce i do tego sprawdziłem podłączenia multimetrem i wszystko się zgadzało oprócz tego że kod nie działa poprawnie , przetestowałem procka na mkAVR i wykrył attiny45 , na stykówce i atmedze zadziałało za pierwszym razem <img src="https://forum.atnel.pl/images/smilies/icon_idea.gif" alt=":idea:" title="Pomysł" />  .<br /><br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 22 cze 2017, o 21:15</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-22T20:31:29+01:00</updated>
<published>2017-06-22T20:31:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191095#p191095</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191095#p191095"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191095#p191095"><![CDATA[
Myślę że odpowiedź może się kryć na stronie producenta przejściówki <a href="http://www.atnel.pl/konwertery-procesorow-atb.html"  class="postlink">http://www.atnel.pl/konwertery-procesorow-atb.html</a><br />A konkretnie chodzi o tę fotkę:<br /><a href="https://obrazkiforum.atnel.pl/6265/6ad4b1c308df683dad603d1b325c3f44.JPG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/6265/6ad4b1c308df683dad603d1b325c3f44.JPG" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 22 cze 2017, o 20:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-06-22T20:20:24+01:00</updated>
<published>2017-06-22T20:20:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191093#p191093</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191093#p191093"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191093#p191093"><![CDATA[
Dzięki za pomoc wszystko się wyjaśniło zmieniłem attiny45 na atmega32 i kod zaczął działać poprawnie więc z powrotem  założyłem na ATB przejściówkę pod attiny45 i znów program zaczął źle działać tym razem przełożyłem attiny45 do stykówki i wszystko zaczęło dobrze działać i dlatego mam jeszcze jedno pytanie co może być przyczyną źle działającej przejściówki pod attiny.<br />Sposób podłączania do ATB <br /><a href="https://obrazkiforum.atnel.pl/14180/886a0842f3d0c329c5c7d417874d95c1.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/14180/886a0842f3d0c329c5c7d417874d95c1.jpg" alt="Obrazek" /></a><br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 22 cze 2017, o 20:20</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-21T21:46:22+01:00</updated>
<published>2017-06-21T21:46:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191046#p191046</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191046#p191046"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191046#p191046"><![CDATA[
Nie wiem jak Ty to podłączasz, ale ostatni kod jaki Ci wrzuciłem działa zgodnie z Twoimi założeniami (pod warunkiem że sondy wystawiają 0 gdy są zalane). Co prawda testowałem na atmedze 32 (nawet do testu wykorzystałem piny te same co ty na attiny czyli PB0 - PB4) ale przy tak prostym programie nie ma to najmniejszego znaczenia jeśli właściwie przypisane są piny.<br />Jedyny mało elegancki problem to taki że w momencie gdy np w zbiorniku głównym obniży się poziom wody, załączy się pompa i w trakcie uzupełniania wody w zbiorniku głównym, w zbiorniku rezerwowym skończy się woda to wyłączenie pompy następuje z pewnym opóźnieniem (które wynika z zastosowanych delay-ów na potrzeby mrugania diod świecących.<br />Na pewno masz podpięte wszystko zgodnie z definicjami w programie?<br /><br /><div class="quotetitle">Daro68 napisał(a):</div><div class="quotecontent"><br />zamiast sond używam klawiszy<br /></div>Ale jeśli używasz klawiszy które zwierają do masy to masz odwrócone stany sond bo wciskając przycisk wymuszasz 0 (tak jak pisałem stan sondy=0 oznacza zbiornik pełny - tak wywnioskowałem z Twojego pierwszego posta i kodu jaki tam przedstawiłeś), tak więc by zasymulować stan pełnych obu zbiorników musiałbyś trzymać oba przyciski wciśnięte, wówczas pompa będzie wyłączona (czyli na pinie PB2 będzie stan wysoki) led1 będzie zgaszony(czyli PB3 stan wysoki), a led2 będzie świecił (czyli PB4 stan niski).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 21 cze 2017, o 21:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-06-21T21:27:57+01:00</updated>
<published>2017-06-21T21:27:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191044#p191044</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191044#p191044"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=191044#p191044"><![CDATA[
Przetestowałem kod na zestawie ATB z przystawką do attiny zamiast sond używam klawiszy program wgrałem ale efekt jest niewłaściwy , po aktywacji sondy pierwszej czy drugiej ( naciśnięciu klawisza ) efekt jest taki  jakby były podłączone do tego samego pinu , diody zapalają się i gasną  w ten sam sposób , spróbowałem zmienić trochę kod teraz po aktywacji sondy2 dioda1 i dioda2 zapalają się na przemiennie i pompa zaczyna działać a w założeniu miała mrugać tylko dioda2 i działć pompa , znów ten sam problem z sondami jakby były podłączone do tego samego pinu .[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />//#include &lt;avr/interrupt.h&gt;<br /><br />//*************sonda*****************<br />#define SONDA1_PIN (1&lt;&lt;PB0)<br />#define SONDA2_PIN (1&lt;&lt;PB1)<br />#define SONDA_1 !(PINB &amp; SONDA1_PIN)<br />#define SONDA_2 !(PINB &amp; SONDA2_PIN)<br /><br />//****kontrolki poziomu wody LED*****<br />#define LED1_PIN  (1&lt;&lt;PB3)<br />#define LED2_PIN  (1&lt;&lt;PB4)<br /><br />#define LED1_ON PORTB &amp;= ~LED1_PIN<br />#define LED2_ON PORTB &amp;= ~LED2_PIN<br /><br />#define LED1_OFF PORTB |= LED1_PIN<br />#define LED2_OFF PORTB |= LED2_PIN<br /><br />#define LED1_TOG PORTB ^= LED1_PIN<br />#define LED2_TOG PORTB ^= LED2_PIN<br /><br />//********POMPA***********************<br />#define POMPA_PIN (1&lt;&lt;PB2)<br />#define POMPA_ON PORTB &amp;= ~POMPA_PIN<br />#define POMPA_OFF PORTB |= POMPA_PIN<br /><br />uint8_t sonda_stan(uint8_t sonda);<br />uint8_t flaga;<br />void sonda_2( uint8_t efekt);<br /><br />int main(void){<br /><br />    DDRB  |= LED1_PIN | LED2_PIN;        // LED  wyjście<br />    PORTB |= LED1_PIN | LED2_PIN;       //stan wysoki LED poziom sonda<br /><br />    DDRB  |= POMPA_PIN;                    //LED pompa port wyjście<br />    PORTB |= POMPA_PIN;<br /><br />    DDRB  &amp;=~( SONDA1_PIN | SONDA2_PIN ); // ustawienie wejścia sondy<br />    PORTB |= SONDA1_PIN | SONDA2_PIN ;    // włączenie rezystorów podciągających<br /><br /><br /><br /><br />    while (1){<br />    if (sonda_stan(SONDA1_PIN)){<br />LED1_ON;<br />_delay_ms(800);<br />LED1_OFF;<br />_delay_ms(800);<br /><br />}<br />else {<br /><br />sonda_2(1);<br />LED1_OFF;<br />}<br /><br />    }<br />   }<br /><br />//************sonda************************<br /><br />uint8_t sonda_stan( uint8_t sonda ) {<br />if(!(PINB &amp; sonda ))  {<br />_delay_ms(80);        //czas opuznienia sygnału sondy<br />if(!(PINB &amp; sonda )) return 1;<br />}<br />   return 0;<br />}<br />void sonda_2( uint8_t efekt){<br />if(efekt){<br />  if (SONDA_2) {<br />  POMPA_ON;<br />  LED2_ON;<br />  _delay_ms(300);<br />  LED2_OFF;<br />  _delay_ms(300);<br />  }<br />  else {<br />  POMPA_OFF;<br />  LED2_ON;<br />}<br />}<br />}[/syntax]<br />Za pomoc dziękuję .<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 21 cze 2017, o 21:27</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-20T19:24:01+01:00</updated>
<published>2017-06-20T19:24:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190999#p190999</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190999#p190999"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190999#p190999"><![CDATA[
Poprawiony kod poniżej, przy założeniu że sondy wystawiają stan niski gdy poziom wody jest wystarczający, a poziom wysoki gdy brak lub za mało wody.<br /><br />[syntax=c]język c<br />     <br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />         <br />         <br />//*************sonda*****************<br />#define SONDA1_PIN (1&lt;&lt;PB0)<br />#define SONDA2_PIN (1&lt;&lt;PB1)<br />#define SONDA_1 !(PINB &amp; SONDA1_PIN)<br />#define SONDA_2 !(PINB &amp; SONDA2_PIN)<br />     <br />//****kontrolki poziomu wody LED*****<br />#define LED1_PIN  (1&lt;&lt;PB3)<br />#define LED2_PIN  (1&lt;&lt;PB4)<br />     <br />#define LED1_ON PORTB &amp;= ~LED1_PIN<br />#define LED2_ON PORTB &amp;= ~LED2_PIN<br />     <br />#define LED1_OFF PORTB |= LED1_PIN<br />#define LED2_OFF PORTB |= LED2_PIN<br />     <br />#define LED1_TOG PORTB ^= LED1_PIN<br />#define LED2_TOG PORTB ^= LED2_PIN<br />     <br />//********POMPA***********************<br />#define POMPA_PIN (1&lt;&lt;PB2)<br />#define POMPA_ON PORTB &amp;= ~POMPA_PIN<br />#define POMPA_OFF PORTB |= POMPA_PIN<br />     <br />uint8_t sonda_stan(uint8_t sonda);<br />uint8_t flaga;<br />     <br />int main(void){<br />     <br />  DDRB  |= LED1_PIN | LED2_PIN;        // LED  wyjście<br />  PORTB |= LED1_PIN | LED2_PIN;       //stan wysoki LED poziom sonda<br />     <br />  DDRB  |= POMPA_PIN;                    //LED pompa port wyjście<br />  PORTB |= POMPA_PIN;<br />     <br />  DDRB  &amp;=~( SONDA1_PIN | SONDA2_PIN ); // ustawienie wejścia sondy<br />  PORTB |= SONDA1_PIN | SONDA2_PIN ;    // włączenie rezystorów podciągających<br />     <br />  while (1){<br />     <br />     if ( sonda_stan (SONDA2_PIN)) {<br />         POMPA_OFF;<br />         LED2_ON;<br />     }<br />     else{<br />     if(flaga){<br />             POMPA_ON;<br />     }<br />     else POMPA_OFF; //warunek zabezpieczający, gdy podczas dolewki zbiornik uzupełniający się opróżni.<br />         LED2_ON;<br />         _delay_ms(300);<br />         LED2_OFF;<br />         _delay_ms(300);<br />     }<br /><br />       if ( sonda_stan (SONDA1_PIN)){<br />           flaga = 1;<br />           LED1_OFF;<br />       }<br />       else{<br />           flaga = 0;<br />           LED1_ON;<br />           _delay_ms(300);<br />           LED1_OFF;<br />           _delay_ms(300);<br />        }<br /><br />    }<br />}<br />         <br />//************sonda************************<br />     <br />uint8_t sonda_stan( uint8_t sonda ) {<br />    if(!(PINB &amp; sonda ))  {<br />        _delay_ms(80);        //czas opuznienia sygnału sondy<br />        if(!(PINB &amp; sonda )) return 1;<br />        }<br />        return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 20 cze 2017, o 19:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-06-19T22:58:53+01:00</updated>
<published>2017-06-19T22:58:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190965#p190965</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190965#p190965"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190965#p190965"><![CDATA[
Nic z tego dalej nie jest tak sobie założyłem kod działa poprawnie if z sondą2 po dołożeniu if i flagi z sondą1 wszystko się sypie i nie rozumiem dlaczego led1 , led2 i pompa reagują tak samo niezależnie która sondę aktywuję diody i pompa działają w ten sam sposób .<br />Poprawnie działający kod z sondą2.<br />[syntax=c]if ( sonda_stan (SONDA2_PIN)) {<br />                 POMPA_ON;<br />                 LED2_ON;<br />                 _delay_ms(300);<br />                 LED2_OFF;<br />                 _delay_ms(300);<br />         }<br />         else{<br />             POMPA_OFF;<br />             LED2_ON;<br />          }[/syntax]<br />Teraz muszę dodać warunek który w wypadku braku wody w zbiorniku dolewki włączy pompę i diodę LED2 a dioda LED1 zasygnalizuje mruganiem na brak wody w zbiorniku na dolewkę<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 19 cze 2017, o 22:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[xentis]]></name></author>
<updated>2017-06-19T17:47:55+01:00</updated>
<published>2017-06-19T17:47:55+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190939#p190939</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190939#p190939"/>
<title type="html"><![CDATA[Re: Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190939#p190939"><![CDATA[
Poniżej masz kod z małą poprawką.<br /><br />[syntax=c]język c<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />     <br />     <br />//*************sonda*****************<br />#define SONDA1_PIN (1&lt;&lt;PB0)<br />#define SONDA2_PIN (1&lt;&lt;PB1)<br />#define SONDA_1 !(PINB &amp; SONDA1_PIN)<br />#define SONDA_2 !(PINB &amp; SONDA2_PIN)<br />     <br />//****kontrolki poziomu wody LED*****<br />#define LED1_PIN  (1&lt;&lt;PB3)<br />#define LED2_PIN  (1&lt;&lt;PB4)<br />     <br />#define LED1_ON PORTB &amp;= ~LED1_PIN<br />#define LED2_ON PORTB &amp;= ~LED2_PIN<br />     <br />#define LED1_OFF PORTB |= LED1_PIN<br />#define LED2_OFF PORTB |= LED2_PIN<br />     <br />#define LED1_TOG PORTB ^= LED1_PIN<br />#define LED2_TOG PORTB ^= LED2_PIN<br />     <br />//********POMPA***********************<br />#define POMPA_PIN (1&lt;&lt;PB2)<br />#define POMPA_ON PORTB &amp;= ~POMPA_PIN<br />#define POMPA_OFF PORTB |= POMPA_PIN<br />     <br />uint8_t sonda_stan(uint8_t sonda);<br />uint8_t flaga;<br />     <br />int main(void){<br />     <br />  DDRB  |= LED1_PIN | LED2_PIN;        // LED  wyjście<br />  PORTB |= LED1_PIN | LED2_PIN;       //stan wysoki LED poziom sonda<br />     <br />  DDRB  |= POMPA_PIN;                    //LED pompa port wyjście<br />  PORTB |= POMPA_PIN;<br />     <br />  DDRB  &amp;=~( SONDA1_PIN | SONDA2_PIN ); // ustawienie wejścia sondy<br />  PORTB |= SONDA1_PIN | SONDA2_PIN ;    // włączenie rezystorów podciągających<br />     <br />  while (1){<br />     <br />     if ( sonda_stan (SONDA2_PIN)) {<br />     <br />         if(flaga){<br />              POMPA_ON;<br />              LED2_ON;<br />              _delay_ms(300);<br />              LED2_OFF;<br />              _delay_ms(300);<br />          }<br />      }<br />      else{<br />          POMPA_OFF;<br />          LED2_ON;<br />     <br />       }<br />       if ( sonda_stan (SONDA1_PIN)){<br /><br />           flaga = 1;<br />           LED1_OFF;<br />       }<br />       else{<br />           flaga = 0;<br />           LED1_ON;<br />           _delay_ms(300);<br />           LED1_OFF;<br />           _delay_ms(300);<br /><br />        }<br />    }<br />}<br />     <br />//************sonda************************<br />     <br />uint8_t sonda_stan( uint8_t sonda ) {<br />    if(!(PINB &amp; sonda ))  {<br />        _delay_ms(80);        //czas opuznienia sygnału sondy<br />        if(!(PINB &amp; sonda )) return 1;<br />        }<br />        return 0;<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=6265">xentis</a> — 19 cze 2017, o 17:47</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daro68]]></name></author>
<updated>2017-06-18T23:48:35+01:00</updated>
<published>2017-06-18T23:48:35+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190894#p190894</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190894#p190894"/>
<title type="html"><![CDATA[Automatyczna dolewka attiny45]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=18646&amp;p=190894#p190894"><![CDATA[
Mam problem z kodem, program ma służyć do obsługi automatycznej dolewki do akwarium to znaczy SONDA1 zbiornik z wodą do dolewki poziom wody wystarczający dioda led  LED1_OFF i pompa  gotowa do pracy brak wody w komorze dolewki wyłącza pompę i dioda LED1 mruga  SONDA2 poziom wody w akwarium pełny dioda LED2_ON brak wody załącza pompę i LED2 mruga program ma zabezpieczyć pompę przed pracą na sucho a diody sygnalizują prace pompy i stan wody.<br />Myślałem że napiszę sobie kod bez trudu a wyszło jak zawsze proszę o pomoc i wytknięcie błędów .<br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />//*************sonda*****************<br />#define SONDA1_PIN (1&lt;&lt;PB0)<br />#define SONDA2_PIN (1&lt;&lt;PB1)<br />#define SONDA_1 !(PINB &amp; SONDA1_PIN)<br />#define SONDA_2 !(PINB &amp; SONDA2_PIN)<br /><br />//****kontrolki poziomu wody LED*****<br />#define LED1_PIN  (1&lt;&lt;PB3)<br />#define LED2_PIN  (1&lt;&lt;PB4)<br /><br />#define LED1_ON PORTB &amp;= ~LED1_PIN<br />#define LED2_ON PORTB &amp;= ~LED2_PIN<br /><br />#define LED1_OFF PORTB |= LED1_PIN<br />#define LED2_OFF PORTB |= LED2_PIN<br /><br />#define LED1_TOG PORTB ^= LED1_PIN<br />#define LED2_TOG PORTB ^= LED2_PIN<br /><br />//********POMPA***********************<br />#define POMPA_PIN (1&lt;&lt;PB2)<br />#define POMPA_ON PORTB &amp;= ~POMPA_PIN<br />#define POMPA_OFF PORTB |= POMPA_PIN<br /><br />uint8_t sonda_stan(uint8_t sonda);<br />uint8_t flaga;<br /><br />int main(void){<br /><br />    DDRB  |= LED1_PIN | LED2_PIN;        // LED  wyjście<br />    PORTB |= LED1_PIN | LED2_PIN;       //stan wysoki LED poziom sonda<br /><br />    DDRB  |= POMPA_PIN;                    //LED pompa port wyjście<br />    PORTB |= POMPA_PIN;<br /><br />    DDRB  &amp;=~( SONDA1_PIN | SONDA2_PIN ); // ustawienie wejścia sondy<br />    PORTB |= SONDA1_PIN | SONDA2_PIN ;    // włączenie rezystorów podciągających<br /><br />    while (1){<br /><br />      if ( sonda_stan (SONDA2_PIN)) {<br /><br />      if(flaga){<br />                        POMPA_ON;<br />LED2_ON;<br />_delay_ms(300);<br />LED2_OFF;<br />_delay_ms(300);<br />      }<br />       }<br />           else{<br />           POMPA_OFF;<br />           LED2_ON;<br /><br />      }<br />      if ( sonda_stan (SONDA1_PIN)){<br /><br />             if (flaga){<br />flaga = 0;<br /> LED1_ON;<br /> _delay_ms(300);<br />LED1_OFF;<br />_delay_ms(300);<br />     }<br />      }<br />         else{<br />       flaga = 1;<br />       LED1_OFF;<br />     }<br />    }<br />}<br /><br />//************sonda************************<br /><br />uint8_t sonda_stan( uint8_t sonda ) {<br />if(!(PINB &amp; sonda ))  {<br />_delay_ms(80);        //czas opuznienia sygnału sondy<br />if(!(PINB &amp; sonda )) return 1;<br />}<br />   return 0;<br />}[/syntax]<br />Poz.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=14180">Daro68</a> — 18 cze 2017, o 23:48</p><hr />
]]></content>
</entry>
</feed>