Arduino Polska Forum
problem z atmega na płytce stykowej + ds18b20 +lcd - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w)
+--- Wątek: problem z atmega na płytce stykowej + ds18b20 +lcd (/watek-problem-z-atmega-na-p%C5%82ytce-stykowej-ds18b20-lcd)



problem z atmega na płytce stykowej + ds18b20 +lcd - mkj - 10-11-2017

Witam,
mam problem od jakiegoś czasu z czujnikiem DS18B20 z procesorem na płytce stykowej. Układ złożony z atmega 328 , ds18b20 oraz lcd. przy programowaniu poprzez usbasp pokazuje temp. -127. Ten sam program( oczywiście zmieniony pin onewire) wrzucony na arduino leonardo i czujnik (ten sam) przepięty do niego dział poprawnie. Bibblioteki są te same. Używam środowiska Arduino IDE . Do procka przypięty kwarc 16mhz i 2 kond. 22pf, oraz kondensator między vcc i gnd (Zasilanie póki co z USBASP).Dodam ,że próbowałem to również z atmegą 32 i atmegą 16, aby wykluczyć uszkodzenie procesora. Miał ktoś kiedyś taki problem z programowaniem przez arduinoIDE swoich płytek?
Zaznaczę tylko , że rok temu robiłem układ podobny i bez zarzutów działał. Czy jakieś inne wersje bibliotek i samego środowiska mogą mieć wpływ?? Męczę się już z tym 3 tygodnie.

Pozdrawiam Marcin


RE: problem z atmega na płytce stykowej + ds18b20 +lcd - PlusMinus - 10-11-2017

Witam!
Bez kodu to zawsze ciężko pomóc, ale mam pytanie: Jakiego używasz napięcia odniesienia dla ADC?
Pytam bo atmega32u4 ma 5V i 2.56V, atmega 328 posiada jeszcze dodatkowo 1.1V i może gdzieś tu leży problem, ale jak mówię wklej kod to popatrzymy.


RE: problem z atmega na płytce stykowej + ds18b20 +lcd - mkj - 10-11-2017

(10-11-2017, 13:15)PlusMinus napisał(a): Witam!
Bez kodu to zawsze ciężko pomóc, ale mam pytanie: Jakiego używasz napięcia odniesienia dla ADC?
Pytam bo atmega32u4 ma 5V i 2.56V, atmega 328 posiada jeszcze dodatkowo 1.1V i może gdzieś tu leży problem, ale jak mówię wklej kod to popatrzymy.

Poniżej kod. Program po zmianie na płytkę arduino leonardo działa. Używam zestawu minicore dla atmegi 8 / 328 i mightycore dla Atmego 16/32


Kod:
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>



#define ONE_WIRE_BUS 7
LiquidCrystal lcd(A3,A2,0,1,2,3);
// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);


// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);

/*
* The setup function. We only start the sensors here
*/
void setup(void)
{
 // start serial port
 
 lcd.begin(16, 2);
 // Start up the library
 sensors.begin();
}

/*
* Main function, get and show the temperature
*/
void loop(void)
{
 sensors.requestTemperatures();
 // call sensors.requestTemperatures() to issue a global temperature
 // request to all devices on the bus
 lcd.clear();
 lcd.print("temp ");
 // Send the command to get temperatures
 lcd.print(sensors.getTempCByIndex(0));  
}