- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bigyo108: A vén PC-Főnix újjászületése
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Meggyi001: RTX 5060 - Az új népkártya?
- btz: Internet fejlesztés országosan!
- eBay-es kütyük kis pénzért
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
- bambano: Bambanő háza tája
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
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
- Vezetékes FÜLhallgatók
- Adatmentés - HDD - SSD - Flash
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Gitáros topic
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Okosóra és okoskiegészítő topik
- Íme a Darksiders 4 első előzetese
- Battlefield 6
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060, 94% Akkumulátor
- HIBÁTLAN iPhone 15 Pro 256GB Natural Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3002, 90% Akksi
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
- Apple iPhone 12 Pro Max /128GB / Gyári független / 12Hó Garancia / 83% aku
- Bomba ár! Lenovo ThinkPad T440P - i5-4GEN I 8GB I 128GB SSD I 14" HD+ I Cam I W10 I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest