- gban: Ingyen kellene, de tegnapra
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Gurulunk, WAZE?!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Elektromos rásegítésű kerékpárok
- Argos: Szeretem az ecetfát
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- eBay-es kütyük kis pénzért
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
tothferenc
aktív tag
sziasztok. Egy kis programozói segítségre lenne szükségem. Egy Ds18b20 szenzorral, egy arduino nanoval és egy oled kijelzővel reszeltem egy egyszerű hőmérőt. Viszont nem jövök rá, mi kell a sketch-be, hogy csak 1 tizedesjegyig írja a hőfokot.
eléggé az elején vagyok az arduinoba.
bedobom ide a kódot:
//Libraries available at: https://github.com/adafruit/Adafruit_SSD1306
// https://github.com/adafruit/Adafruit-GFX-Library
//https://github.com/milesburton/Arduino-Temperature-Control-Library
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const int SensorDataPin = 2;
OneWire oneWire(SensorDataPin);
DallasTemperature sensors(&oneWire);
Adafruit_SSD1306 display = Adafruit_SSD1306(128, 64, &Wire, -1);
void setup() {
Serial.begin(115200);
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3c)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;);
}
delay(2000);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
dispTemp();
display.clearDisplay();
}
void dispTemp(void) { // function to read and display temperature
sensors.requestTemperatures(); // Send the command to DS18B20 to get temperatures
float temperatureDegC = sensors.getTempCByIndex(0);
displaytemp(temperatureDegC,'C'); // call to function void displaytemp(float temp, char C_F) giving temperature in Deg C and character C
}
void displaytemp(float temp, char C_F) // function to display temp, takes temperature and character C or F from calling function void dispTemp(void)
{
display.drawRect(1, 1, display.width()-1, display.height()-1, WHITE); // draws the outer rectangular boundary on the screen
//display.print("Temperature: "); display.print(temperature_Celsius); display.println(" *C");
display.setTextSize(1,2);
display.setCursor(32,6);
display.print("Homerseklet");
display.setTextColor(WHITE); // i have white OLED display, you can use other colors in case you have multicolored display
display.setTextSize(1); // i have used large font to display temperature, it can be varied as per your taste
display.setCursor(106,30);
display.print("o"); // this prints the "o" symbol to show Degree
display.setTextSize(2);
display.setCursor(112,37);
display.print(C_F); // this takes character from function call either C or F for centigrade of farenheit
if(temp >=100 || temp < 0){ //i have reduced font size if temp goes in 3 digits or is -ve, keeps text in center of display , it can be varied as per your taste
display.setTextSize(3);
display.setCursor(25,30);
}
else if(temp < 10 && temp >= 0){ //some adjustments to keep text in center of display , it can be varied as per your taste
display.setTextSize(3);
display.setCursor(25,30);
}
else
{
display.setTextSize(3); //i have used large font to display temperature, it can be varied as per your taste
display.setCursor(10,30);
}
display.print(temp); // finally prints the temperature on your OLED display
display.display();
}
Új hozzászólás Aktív témák
Hirdetés
- A nagy Szóda, Szódakészítés topic - legyen egy kis fröccs is! :-)
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- gban: Ingyen kellene, de tegnapra
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- Milyen autót vegyek?
- Lítium-ion/Li-ion akkumulátorok
- Mini-ITX
- Autós topik
- sziku69: Fűzzük össze a szavakat :)
- Napelem
- További aktív témák...
- Mini PC, tiny PC HP Fujitsu Esprimo i5-7500T
- Törött, Hibás iPhone felvásárlás!!
- Telefon felvásárlás!! Samsung Galaxy A50/Samsung Galaxy A51/Samsung Galaxy A52/Samsung Galaxy A53
- BESZÁMÍTÁS! MSI B460M i5 10400F 16GB DDR4 512GB SSD RX 6650XT 8GB Cooler Master MB600L Chieftec 600W
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RTX 4060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest