INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Witam,
Mam na imię Amadeusz. Od niedawna korzystam z Arduino ,więc prosiłbym o wyrozumiałość. Ja korzystałem z StarterKitu ElektroPrzewodnik .
Potrzebne rzeczy:
- Wyświetlacz lcd
- ds18b20
- Oczywiście Arduino (w moim przypadku leonardo)
- potencjometr 10kΩ
- rezystor 4,7kΩ
- płytka stykowa
- przewody połączeniowe
Co dalej?
Ściągamy i instalujemy biblioteki.
- OneWire
- DallasTemperature
Dla tych którzy nie wiedzą jak zainstalować bibliotekę https://www.youtube.com/watch?v=3hnQNBX3Tp8.
Podłączamy wszystko tak jak na rysunku i wgrywamy program.
#include <OneWire.h> #include <OneWire.h> #include <LiquidCrystal.h> int DS18S20_Pin = 7; //DS18S20 Signal pin on digital 7 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Temperature chip i/o OneWire ds(DS18S20_Pin); // on digital pin 7 void setup(void) { Serial.begin(9600); lcd.begin(16, 2); // Print a message to the LCD. lcd.print("Termometr by A.T"); } void loop(void) { float temperature = getTemp(); Serial.println(temperature); lcd.setCursor(0, 1); lcd.print("Temp : "); lcd.print(temperature); lcd.print(" *C"); delay(10); } float getTemp(){ byte data[12]; byte addr[8]; if ( !ds.search(addr)) { ds.reset_search(); return -1000; } if ( OneWire::crc8( addr, 7) != addr[7]) { lcd.println("CRC is not valid!"); return -1000; } if ( addr[0] != 0x10 && addr[0] != 0x28) { Serial.print("Device is not recognized"); return -1000; } ds.reset(); ds.select(addr); ds.write(0x44,1); byte present = ds.reset(); ds.select(addr); ds.write(0xBE); for (int i = 0; i < 9; i++) { // we need 9 bytes data[i] = ds.read(); } ds.reset_search(); byte MSB = data[1]; byte LSB = data[0]; float tempRead = ((MSB << 8) | LSB); float TemperatureSum = tempRead / 16; return TemperatureSum; }
To by było wszytko co należy zrobić.
INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(
Ocena: 3/5 (głosów: 2)
Poradnik extra. Super wytłumaczone.
Dzieki :)
Szkoda że takich poradników do ds18b20 jest w sieci mnóstwo a tutaj nie ma nic nowego.
Też się z tobą zgodzę.
Gratuluję działającej konstrukcji, ale byłoby bardziej profesjonalnie, gdybyś programował w “prawdziwym” języku C, bez bootloadera i środowiska Arduino. Ja tak robię od początku (nie mam wprawdzie Arduino, ale mam mikrokontrolery Atmega – to to samo, tylko w Arduino taki mikrokontroler jest fabrycznie przylutowany do płytki z innymi elementami, ja natomiast wkładam go do zwykłej płytki stykowej). Wprawdzie jest to nieco trudniejsze, ale pozwala poznać zasady działania mikrokontrolerów i daje więcej satysfakcji, pewnie taka umiejętność pozwoliła też wielu osobom znaleźć pracę. Tu jest opisane, jak “uwolnić swoje Arduino”: http://regalis.com.pl/make-your-arduino-free/
Masz może jakiś dobry poradnik jak programować w C? Bo chciałbym sie nauczyć ale kilka poradników które przeczytałem w niczym mi nie pomogły
Ja ma dobry. Książka nazywana bluebook autorstwa Mirosława Kardasia. Jego strona i kanał na youtube. Trochę za dużo gada, ale tłumaczy świetnie
Kolejny termometr, nic nowego, kod skopiowany z innej strony, bez rewelacji. Mi najbardziej brakuje pomysłu jak można używać tego na co dzień, tz. obudowy.
Jak w większości projektów na arduino, robią na szybko na płytce stykowej :/
Arduino bardzo ułatwia zabawę z elektrowniką, ale wymaga obudowy tak jak płyt główna w PC, (wiadomo, nie zawsze).
Niegdy nie wiem jaki jest sens robienie takich projektów. Chyba tylko pod kątem nauki, co użytku w dalszym okresie czasu żadnego z tego.