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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2024-06-04T18:24:33+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=30&amp;t=24655&amp;mode</id>
<entry>
<author><name><![CDATA[PITERK]]></name></author>
<updated>2024-06-04T18:24:33+01:00</updated>
<published>2024-06-04T18:24:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238135#p238135</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238135#p238135"/>
<title type="html"><![CDATA[Re: Kod częściowo działa na innych AVR]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238135#p238135"><![CDATA[
Hey. <br />Z tego co wyczytałem w arduino dla atmegi32 i atmegi328\48  jest całkowicie inna maska pinów. <br />Dla atmegi32 pinMode(7, OUTPUT) ustawia pin PB7 jako wyjście. <br />Dla atmegi328/48 pinMode(7, OUTPUT) ustawia pin PD7 jako wyjście. <br /><br />Na tych dwóch screenach masz różnice: <br /><a href="https://obrazkiforum.atnel.pl/2913/77e304a88098ff46c8ca7696d5ab0fa1.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2913/77e304a88098ff46c8ca7696d5ab0fa1.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/2913/4844b1f724aff5858ace376d489c69ea.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/2913/4844b1f724aff5858ace376d489c69ea.jpg" alt="Obrazek" /></a><br /><br />Więc defakto próbujesz ustawiać 2 różne piny. <br /><br />Nie jestem znawcą arduino ale to akurat rzuciło mi się w oko.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2913">PITERK</a> — 4 cze 2024, o 18:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2024-06-04T17:18:00+01:00</updated>
<published>2024-06-04T17:18:00+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238134#p238134</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238134#p238134"/>
<title type="html"><![CDATA[Re: Kod częściowo działa na innych AVR]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238134#p238134"><![CDATA[
ale pisałem, nie ma ŻADNEGO problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /> spokojnie - warto pytać ... a jak mówię, jak zajrzy ktoś z andruino to może coś podpowie - ja niestety się kompletnie nie znam na andruino<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 cze 2024, o 17:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Adam_TW]]></name></author>
<updated>2024-06-04T17:12:08+01:00</updated>
<published>2024-06-04T17:12:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238133#p238133</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238133#p238133"/>
<title type="html"><![CDATA[Re: Kod częściowo działa na innych AVR]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238133#p238133"><![CDATA[
Przepraszam, mój pierwszy post.Rozgladałem się za odpowiednim działem ale jakoś nie wpadło mi w oko Arduino. Na usprawnienie powiem, że nie zauważylem żadnego działu Arduino ale fakt jest taki że się spieszyłem. No trudno, jak wrócę do domu to wp... kotu <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=22145">Adam_TW</a> — 4 cze 2024, o 17:12</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2024-06-04T16:58:20+01:00</updated>
<published>2024-06-04T16:58:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238132#p238132</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238132#p238132"/>
<title type="html"><![CDATA[Re: Kod częściowo działa na innych AVR]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238132#p238132"><![CDATA[
Już myślałem, że to pytanie o język C a to andruino - szkoda - ale ok na przyszłość na spokojnie umieszczaj swoje pytanka w dziale ARDUINO ok? ale spokojnie - nie przenosimy już tego - niech tu zostanie a może ktoś kto też bawi się andruinami ci coś podpowie<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 4 cze 2024, o 16:58</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Adam_TW]]></name></author>
<updated>2024-06-04T16:19:43+01:00</updated>
<published>2024-06-04T16:19:43+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238131#p238131</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238131#p238131"/>
<title type="html"><![CDATA[Kod częściowo działa na innych AVR]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24655&amp;p=238131#p238131"><![CDATA[
<a href="https://obrazkiforum.atnel.pl/22145/ef39d0b09eec0408961b66b8c91accc7.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/22145/ef39d0b09eec0408961b66b8c91accc7.jpg" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/22145/73ece197b52b93af1b6e7105c7b4ed78.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/22145/73ece197b52b93af1b6e7105c7b4ed78.jpg" alt="Obrazek" /></a><br />Cześć, mam na imię Adam i długo się broniłem żeby komuś zawracać głowę, zawsze starałem się sam rozwiązywać problemy lecz teraz nie mam już czasu i pomysłów co najgorsze. Mam nadzieję, że wszystko tu dobrze opiszę i zamieszczę jak trzeba grafikę, kod. Mówiąc w skrócie, kod który działa na ATmega32 nie działa na np. ATmega48, ATmega328, to znaczy nie działa tylko jeden pin bo reszta w zasadzie działa. W urządzeniu są 3 mikroprocesory ATmega48 i z jednym jest problem bo w innych nie użyłem pinu 7 (PD7). Wgrywałem blinka na niego i działa jak deklaruję go jako pin 7 w środowisku Arduino, próbowałem przypisać mu inny pin ale nie działa. Generalne jestem zielony jeżeli chodzi o oprogramowanie, zawsze pisałem program na płycie rozwojowej z ATmega32 i to działało na innych prockach a tu akurat pin 7 nie działa nie mam pojęcia o co chodzi... Tak w ogóle jest to sterownik radiostacji w hulajnodze, kierunkowskazów i szeregu innych zabezpieczeń, najgorsze jest to, że nie mam już czasu a płyty mam zrobione i to jeszcze na dodatek 4 warstwowe więc są droższe i dłużej się je produkuje ;/ Proszę o pomoc i postaram się jakoś odwdzięczyć bo naprawdę nie mam pomysłu i czasu. A teraz może uda mi się dodać obrazki i kod... Na wszelkie pytania odpowiem szczegółowo.  [syntax=cpp]#include &lt;OneWire.h&gt;<br /><br />#define ONE_WIRE_BUS 2<br />#define TEL 14<br />#define LOW_PWR 9<br />#define Power_Down 8<br />#define PTT_BUTT1 10  <br />#define PTT 3  <br />#define SQ 6 <br />#define AMP 7 <br /><br />OneWire oneWire(ONE_WIRE_BUS);<br /><br />unsigned long lastTempCheck = 0;<br />unsigned long tempCheckInterval = 500;  // sprawdzanie temperatur przez CPU co tyle milisekund.<br />unsigned long buttonPressTime;<br />bool isButtonPressed = false;<br />bool wasLow = false;<br /><br />byte thermometerU6&#91;8&#93; = {0x28, 0x61, 0x64, 0x8, 0xE9, 0x59, 0x2C, 0xF4}; // Numer seryjny czujnika DC/DC<br />byte thermometerU7&#91;8&#93; = {0x28, 0x61, 0x64, 0xA, 0x7D, 0xA1, 0x14, 0xD6}; // Numer seryjny czujnika Nadajnik<br /><br /><br />const int inputPin = 5;  // LED_SW<br />const int outputPin = 4; // sterowanie tranzystorem LED<br />const unsigned long debounceTime = 50; // Czas debouncingu w milisekundach<br />bool buttonState = HIGH;<br />bool lastButtonState = HIGH; <br />unsigned long lastDebounceTime = 0;<br /><br />void setup(void)<br />{<br />  pinMode(TEL, OUTPUT);<br />  digitalWrite(TEL, LOW);<br />  pinMode(LOW_PWR, INPUT);<br />  pinMode(Power_Down, OUTPUT);<br />  pinMode(PTT_BUTT1, INPUT_PULLUP);  <br />  pinMode(PTT, INPUT);  <br />  pinMode(SQ, INPUT); <br />  pinMode(AMP, OUTPUT); <br /><br />  // Ustaw rozdzielczość na 9 bitów<br />  setResolution(thermometerU6, 9);<br />  setResolution(thermometerU7, 9);<br /><br />  // Dodajemy setup() z drugiego kodu<br />  pinMode(inputPin, INPUT_PULLUP);<br />  pinMode(outputPin, OUTPUT); <br />  digitalWrite(outputPin, LOW); <br />}<br /><br />void loop(void)<br />{<br />  unsigned long currentMillis = millis();<br /><br />  if (currentMillis - lastTempCheck &gt;= tempCheckInterval) {<br />    lastTempCheck = currentMillis;<br />    <br />    float tempU6 = readTemperature(thermometerU6);<br />    float tempU7 = readTemperature(thermometerU7);<br />    <br />    if (tempU6 &gt; 55.0) {  // Temperatura powyżej której wyłączane jest ładowaie telefonu.<br />      pinMode(TEL, OUTPUT);<br />      digitalWrite(TEL, HIGH);<br />    } else {<br />      pinMode(TEL, OUTPUT);<br />      digitalWrite(TEL, LOW);<br />    }<br /><br />    if (tempU7 &gt; 45.0) {   // Temperatura powyżej której zmniejszana jest moc nadajnika.<br />      pinMode(LOW_PWR, OUTPUT);<br />      digitalWrite(LOW_PWR, LOW);<br />    } else {<br />      pinMode(LOW_PWR, INPUT);<br />    }<br /><br />    if (tempU7 &lt; 60.0) {   // Temperatura powyżej której wyłączany jest moduł nadajnika SA868.<br />      digitalWrite(Power_Down, HIGH);<br />    } else {<br />      digitalWrite(Power_Down, LOW);<br />    }<br />  }<br /><br />  int buttonState = digitalRead(PTT_BUTT1); <br /><br />  if (buttonState == LOW &amp;&amp; !isButtonPressed) {<br />    isButtonPressed = true;<br />    buttonPressTime = millis();<br />    pinMode(PTT, OUTPUT);  <br />    digitalWrite(PTT, LOW); <br />  }<br /><br />  if (isButtonPressed &amp;&amp; buttonState == HIGH) {<br />    if (millis() - buttonPressTime &lt; 5000) {<br />      delay(1000);<br />      pinMode(PTT, INPUT);<br />    }<br />    isButtonPressed = false;<br />  }<br /><br />  if (isButtonPressed &amp;&amp; millis() - buttonPressTime &gt;= 5000) {<br />    pinMode(PTT, INPUT);  <br />  }<br /><br />  if (digitalRead(PTT) == LOW &amp;&amp; digitalRead(SQ) == LOW) {  <br />    if (!wasLow) {<br />      digitalWrite(AMP, LOW);  <br />      delay(250);<br />      digitalWrite(AMP, HIGH); <br />      wasLow = true;<br />    }<br />  } else if (digitalRead(PTT) == HIGH &amp;&amp; digitalRead(SQ) == LOW) { <br />    digitalWrite(AMP, HIGH); <br />    wasLow = false;<br />  } else if (digitalRead(PTT) == HIGH &amp;&amp; digitalRead(SQ) == HIGH) { <br />    digitalWrite(AMP, LOW);  // Zmieniono z PIN_7 na AMP<br />    wasLow = false;<br />  }<br /><br />  // Dodajemy loop() z drugiego kodu<br />  bool reading = digitalRead(inputPin);<br />  if (reading != lastButtonState) {<br />    lastDebounceTime = millis();<br />  }<br /><br />  if ((millis() - lastDebounceTime) &gt; debounceTime) {<br />    if (reading != buttonState) {<br />      buttonState = reading;<br />      if (buttonState == LOW) {<br />        digitalWrite(outputPin, !digitalRead(outputPin));<br />      }<br />    }<br />  }<br />  lastButtonState = reading;<br />}<br /><br />float readTemperature(byte* address) {<br />  oneWire.reset();<br />  oneWire.select(address);<br />  oneWire.write(0x44, 1);<br />  delay(100);  // Konwersja temperatury, powinno byc minimum 750ms<br />  byte present = oneWire.reset();<br />  oneWire.select(address);    <br />  oneWire.write(0xBE);<br />  byte data&#91;9&#93;;<br />  for (byte i = 0; i &lt; 9; i++) {<br />    data&#91;i&#93; = oneWire.read();<br />  }<br />  byte MSB = data&#91;1&#93;;<br />  byte LSB = data&#91;0&#93;;<br />  float tempRead = ((MSB &lt;&lt; 8) | LSB);<br />  float tempC = tempRead / 16;<br />  return tempC;<br />}<br /><br />void setResolution(byte* deviceAddress, int resolution) {<br />  oneWire.reset();<br />  oneWire.select(deviceAddress);<br />  oneWire.write(0x4E);<br />  oneWire.write(0);<br />  oneWire.write(0);<br />  switch (resolution) {<br />    case 9:<br />      oneWire.write(0x1F);<br />      break;<br />    case 10:<br />      oneWire.write(0x3F);<br />      break;<br />    case 11:<br />      oneWire.write(0x5F);<br />      break;<br />    case 12:<br />      oneWire.write(0x7F);<br />      break;<br />    default:<br />      oneWire.write(0x1F);<br />      break;<br />  }<br />  oneWire.write(0x48);<br />  oneWire.write(0x48);<br />  delay(10);<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=22145">Adam_TW</a> — 4 cze 2024, o 16:19</p><hr />
]]></content>
</entry>
</feed>