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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2021-11-04T18:19:10+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=24017&amp;mode</id>
<entry>
<author><name><![CDATA[Draxter32]]></name></author>
<updated>2021-11-04T18:19:10+01:00</updated>
<published>2021-11-04T18:19:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24017&amp;p=234202#p234202</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24017&amp;p=234202#p234202"/>
<title type="html"><![CDATA[Re: LM35 + AtMega88 - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24017&amp;p=234202#p234202"><![CDATA[
Tutaj jest przykład, który może pomóc: <!-- m --><a class="postlink" href="https://exploreembedded.com/wiki/Reading_Temperature_with_AVR_ADC" >https://exploreembedded.com/wiki/Readin ... th_AVR_ADC</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=8185">Draxter32</a> — 4 lis 2021, o 18:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Gipsokret]]></name></author>
<updated>2021-11-03T22:55:32+01:00</updated>
<published>2021-11-03T22:55:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=24017&amp;p=234184#p234184</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=24017&amp;p=234184#p234184"/>
<title type="html"><![CDATA[LM35 + AtMega88 - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=24017&amp;p=234184#p234184"><![CDATA[
Witam wszystkich.<br /><br />Próbuję zrobić prosty termometr na AtMega88, lecz nie chce on działać <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><br />Wypisuje wyniki z kosmosu<br /><a href="https://obrazkiforum.atnel.pl/21834/4b62f24da46c74aa991796d98d7393ea.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/21834/4b62f24da46c74aa991796d98d7393ea.png" alt="Obrazek" /></a><br />Połączone jest to tak:<br /><a href="https://obrazkiforum.atnel.pl/21834/552c9bec0baa53e66701d21c90075805.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/21834/552c9bec0baa53e66701d21c90075805.png" alt="Obrazek" /></a><br />Czy wie ktoś co jest nie tak?<br />Kod LM35.c:<br />[syntax=c]#include &quot;LM35.h&quot;<br /><br />LM35Temp temp;<br /><br />void ADC_Init(void) {<br />ADMUX = (AREFS1 &lt;&lt; REFS1) | (AREFS0 &lt;&lt; REFS0);<br />ADCSRA |= (1 &lt;&lt; ADPS2) | (1 &lt;&lt; ADPS1) | (1 &lt;&lt; ADPS0);<br />ADCSRA |= (1 &lt;&lt; ADEN);<br />DIDR0 |= (1 &lt;&lt; ADC1D) | (1 &lt;&lt; ADC0D);<br />}<br /><br />uint16_t ADC_Read(uint8_t channel) {<br />ADMUX = (ADMUX &amp; 0xF8) | channel;<br />ADCSRA |= (1 &lt;&lt; ADSC);<br />while(ADCSRA &amp; (1 &lt;&lt; ADSC));<br />return ADCW;<br />}<br /><br />uint32_t generalProlog(uint8_t CBase, uint8_t COut) {<br />uint32_t VBase = 0, VOut = 0, result = 0;<br /><br />for (uint16_t i = 0; i &lt; 1024; i++) {<br />VBase += ADC_Read(CBase);<br />VOut += ADC_Read(COut);<br />}<br /><br />if (VBase &gt; VOut) {<br />result = (VBase - VOut);<br />temp.underZero = 1;<br />} else {<br />result = (VOut - VBase);<br />temp.underZero = 0;<br />}<br /><br />return result;<br />}<br /><br />LM35Temp * LM35_readTemp(uint8_t CBase, uint8_t COut) {<br />uint32_t result = generalProlog(CBase, COut);<br />result = result &gt;&gt; 5;<br />result = (result * WSP10) / 1000UL;<br />temp.temp = result;<br />return &amp;temp;<br />}[/syntax]<br /><br />kod LM35.h:<br />[syntax=c]#ifndef LM35_H_<br />#define LM35_H_<br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />#define AREFS1 1<br />#define AREFS0 0<br /><br />#define VREF 256<br /><br />#define BIT_ADJ_10 115<br />#defineBIT_ADJ_15 320<br /><br />#define WSP10 (((VREF * 10000UL) / 1024UL) - BIT_ADJ_10)<br />#define WSP15 (((VREF * 1000000UL) / 32768UL) - BIT_ADJ_15)<br /><br />typedef struct {<br />uint8_t temp;<br />uint8_t underZero;<br />} LM35Temp;<br /><br />void ADC_Init(void);<br />uint16_t ADC_Read(uint8_t);<br />uint32_t generalProlog(uint8_t, uint8_t);<br />LM35Temp * LM35_readTemp(uint8_t, uint8_t);<br /><br />#endif /* LM35_H_ */[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=21834">Gipsokret</a> — 3 lis 2021, o 22:55</p><hr />
]]></content>
</entry>
</feed>