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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2017-08-22T20:02:25+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=19026&amp;mode</id>
<entry>
<author><name><![CDATA[RWR]]></name></author>
<updated>2017-08-22T20:02:25+01:00</updated>
<published>2017-08-22T20:02:25+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193738#p193738</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193738#p193738"/>
<title type="html"><![CDATA[Re: Projekt repliki wskaźnika ciśnienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193738#p193738"><![CDATA[
Po kolejnym podejściu do budowy układu bazując na Atmega32   wyświetlacz ruszył.<br /><br />Teraz będę odpalał UART .......<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15453">RWR</a> — 22 sie 2017, o 20:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RWR]]></name></author>
<updated>2017-08-21T09:34:17+01:00</updated>
<published>2017-08-21T09:34:17+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193678#p193678</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193678#p193678"/>
<title type="html"><![CDATA[Re: Projekt repliki wskaźnika ciśnienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193678#p193678"><![CDATA[
Wiedziałem że coś zrobię nie tak wstawiając swój pierwszy post  <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /><br />Dzięki za łagodny wymiar kary!<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 10 minutach ]</span></strong><br /><br />Dodałem <br /><br />[syntax=c]mk_ssd1306_display();[/syntax]<br /><br />Wcześniej już to wstawiałem ale przy wstawianiu na post usuwając elementy dodatkowe też to wyciąłem <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" />. <br /><br />Aktualny  kod:<br />[syntax=c]mk_ssd1306_init(SSD1306_SWITCHCAPVCC,REFRESH_MID,1);<br />mk_ssd1306_setPixel(40,8,1);<br />mk_ssd1306_setPixel(40,9,1);<br />mk_ssd1306_setPixel(41,8,1);<br />mk_ssd1306_setPixel(41,9,1);<br /><br />int i;<br />for (i=0; i&lt;128; i++) mk_ssd1306_setPixel(i,20,1);<br /><br />mk_ssd1306_display();[/syntax]<br /><br /><br />To co mnie niepokoi to to, że na OLED jest z tyłu jest podany adres <strong>0x78</strong> (lub <strong>0x7A</strong>) a faktycznie jest <strong>0x3C</strong> przy skanowaniu I2C<br /><br />Jednak dalej bez sukcesu  <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /> <br /><br />Może jednak coś z inicjalizacją.<br />W poradnikach Mirka na YT  funkcja <em>mk_ssd1306_init</em>  ma dwa parametry a w udostępnionym module  ma 3<br /><br />[syntax=c]void mk_ssd1306_init( uint8_t vcc, uint8_t refresh, uint8_t rst_disable )[/syntax]<br /><br />Nie do końca rozumiem znaczenie tego trzeciego parametry i chyba nie ma związki z I2C a jest związany z SPI.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15453">RWR</a> — 21 sie 2017, o 09:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2017-08-20T19:22:31+01:00</updated>
<published>2017-08-20T19:22:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193669#p193669</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193669#p193669"/>
<title type="html"><![CDATA[Re: Projekt repliki wskaźnika ciśnienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193669#p193669"><![CDATA[
<div class="quotetitle">RWR napisał(a):</div><div class="quotecontent"><br />Czy ktoś miałby jakąś podpowiedź gdzie może tkwić mój błąd<br /></div><br /><br /><strong><span style="color: #FF0000">PIERWSZY POLEGA NA UMIESZCZENIU PYTANIA W DZIALE DIY <br />SUGERUJĘ STOSOWAĆ SIĘ DO OPISÓW I ZASAD DZIAŁÓW !!!<br /><br />TYM RAZEM PRZENOSZĘ ..<br /><br />BRAK CZYTANIA ZASAD ZE ZROZUMIENIEM I NIESTOSOWANIE SIĘ DO NICH NASTĘPNYM RAZEM NAGRODZĘ WARNEM<br />KOLEJNE SAŁATKĄ Z BANANÓW !<br /><br /></span></strong>.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 20 sie 2017, o 19:22</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[jez2000]]></name></author>
<updated>2017-08-20T19:14:01+01:00</updated>
<published>2017-08-20T19:14:01+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193667#p193667</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193667#p193667"/>
<title type="html"><![CDATA[Re: Projekt repliki wskaźnika ciśnienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193667#p193667"><![CDATA[
[syntax=c]mk_ssd1306_setPixel()[/syntax] ustawia piksele w pamięci ram uc. <br />spróbuj dodać [syntax=c]mk_ssd1306_display();[/syntax] na koniec. Ta funkcja wysyła bufor do OLED<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=11828">jez2000</a> — 20 sie 2017, o 19:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[RWR]]></name></author>
<updated>2017-08-20T18:13:03+01:00</updated>
<published>2017-08-20T18:13:03+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193664#p193664</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193664#p193664"/>
<title type="html"><![CDATA[Projekt repliki wskaźnika ciśnienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=19026&amp;p=193664#p193664"><![CDATA[
Rozpoczynam projekt budowy repliki wskaźnika ciśnienia z fizycznym poruszaniem wskazówki przez silnik krokowy. Dane do wskazań mają być przesyłane przez ATB-ETHERNET protokołem UDP.  Obudowa i część mechaniczna repliki  ma być wykonana w druku 3D.<br /><br />Całość sterowania ma bazować na Atmega328P (zewnętrzny rezonator 16M). Zasilanie zewnętrzne. Dodatkowo jako podgląd serwisowy ma być wykorzystany wyświetlacz OLED z biblioteka MK_OLED i od tego ostatnie go zaczynam.<br /><br />Pierwsza wersja układu:<br /><a href="https://obrazkiforum.atnel.pl/15453/01c30729f851f16858f6968a28ad9393.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/15453/01c30729f851f16858f6968a28ad9393.png" alt="Obrazek" /></a><br /><br />Wyświetlacz OLED na I2C<br /><a href="https://obrazkiforum.atnel.pl/15453/8902b4fbc72548f2dd5b70aecb58db61.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/15453/8902b4fbc72548f2dd5b70aecb58db61.jpg" alt="Obrazek" /></a><br /><br />Skonfigurowałem bibliotekę MK_OLED  pod kątem I2C oraz adres układu OLED i Atmega328P. Po skanowaniu na osobnym układzie OLED ma adres 0x3C<br /><br />Konfiguracja biblioteki   &quot;MK_OLED/mk_ssd1306.h&quot;<br /><br />[syntax=c]// rozdzielczość LCD/OLED<br /><br />#define SSD1306_128_64<br /><br />//   #define SSD1306_128_32L// LOW Pages  (Jeśli nie działa ci z tym ustawieniem to spróbuj z kolejnym)<br /><br />// ****** to ustawienie rzadko będzie potrzebne *****************<br />//   #define SSD1306_128_32H   // HIGH Pages (jeśli nie działa ci z 32L to spróbuj odkomentować to ustawienie)<br /><br /><br />#define BUFFERED 1<br /><br />#defineUSE_SPI_OR_I2C 0 // 1-SPI, 0-I2C, 3-SPI &amp; I2C<br /><br />#if USE_SPI_OR_I2C == 0  || USE_SPI_OR_I2C == 3<br /><br />/* konfiguracja sprzętowego TWI / I2C */<br />#define OLED_I2C_ADDRESS 0x3C// 0x7A<br /><br />#define I2C_DIRDDRC<br />#define SCL PC5<br />#define SDAPC4<br /><br />#endif[/syntax]<br /><br /><br />Mój kod w głównym programie<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;stdlib.h&gt;<br />#include &lt;string.h&gt;<br /><br /><br />#include &quot;MK_OLED/mk_ssd1306.h&quot;<br /><br /><br /><br />int main (void) {<br />DDRB |= (1&lt;&lt;PB1);<br /><br />mk_ssd1306_init(SSD1306_SWITCHCAPVCC,REFRESH_MID,1);<br />mk_ssd1306_setPixel(40,8,1);<br />mk_ssd1306_setPixel(40,9,1);<br />mk_ssd1306_setPixel(41,8,1);<br />mk_ssd1306_setPixel(41,9,1);<br /><br />int i;<br />for (i=0; i&lt;128; i++) mk_ssd1306_setPixel(i,20,1);<br /><br /><br />while (1) {<br />PORTB ^= (1&lt;&lt;PB1);<br />_delay_ms(1000);<br /><br /><br />}<br />}[/syntax]<br /><br /><br />Do programowania wykorzystałem programator ATB-USBASP - działa OK<br /><br />Po wgraniu programu dioda kontrolna miga prawidłowo co 1s.<br /><br />Pomimo wielu prób i przeborowaniu forum nie udało mi się uruchomić wyświetlacza. Sam wyświetlacz działa prawidłowo na innym testowym układzie<br /><br />Czy ktoś miałby jakąś podpowiedź gdzie może tkwić mój błąd<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=15453">RWR</a> — 20 sie 2017, o 18:13</p><hr />
]]></content>
</entry>
</feed>