Hirdetés
- Samsung Galaxy A54 - türelemjáték
- Google Pixel topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Xiaomi 15 Ultra - kamera, telefon
- Telekom mobilszolgáltatások
- Fordulat: időben startol S26+, nézd meg, milyen lesz!
- Miért fárad gyorsabban az iPhone akku, mint az androidos?
- Okosóra és okoskiegészítő topik
- uleFone Power
-
Mobilarena
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
-
Imy
veterán
Beleraktam a programba, de jelen esetben is össze vissza ugrál. Ha csak az encoder van benne, a hőmérséklet mérés ls kiírás nem, akkor jó. Okés, hogy a sok serial print, de az interuptnak nem kellene azt kiküszöbölnie?
#include <Adafruit_MAX31865.h>// Use software SPI: CS, DI, DO, CLKAdafruit_MAX31865 thermo = Adafruit_MAX31865(5, 6, 7, 8);// use hardware SPI, just pass in the CS pin//Adafruit_MAX31865 thermo = Adafruit_MAX31865(10);// Rotary Encoder Module connectionsconst int PinSW=3; // Rotary Encoder Switchconst int PinDT=4; // DATA signalconst int PinCLK=2; // CLOCK signal// The value of the Rref resistor. Use 430.0 for PT100 and 4300.0 for PT1000#define RREF 430.0// The 'nominal' 0-degrees-C resistance of the sensor// 100.0 for PT100, 1000.0 for PT1000#define RNOMINAL 100.0//Resistance meterfloat Ra = 0.00385;float R0 = 20.9;float Rt;float T;///////ENCODER//////////////////////////// Variables to debounce Rotary Encoderlong TimeOfLastDebounce = 0;int DelayofDebounce = 0.01;// Store previous Pins stateint PreviousCLK;int PreviousDATA;int displaycounter=0; // Store current counter value/////////////////////////////// TEMPERATURE_SET///////////////////////////////////////////int Temp_set_pos;int Temp_set_last;int Temp_up;void setup() {Serial.begin(115200);Serial.println("Adafruit MAX31865 PT100 Sensor Test!");thermo.begin(MAX31865_2WIRE); // set to 2WIRE or 4WIRE as necessarypinMode(PinCLK,INPUT_PULLUP);pinMode(PinDT,INPUT_PULLUP);pinMode(PinSW,INPUT_PULLUP);// Put current pins state in variablesPreviousCLK=digitalRead(PinCLK);PreviousDATA=digitalRead(PinDT);// Set the Switch pin to use Arduino PULLUP resistorspinMode(PinSW, INPUT_PULLUP);}void loop() {///////////MAX31865////////////////////////////////////////////////////////////////////////////uint16_t rtd = thermo.readRTD();//Serial.print("RTD value: "); Serial.println(rtd);float ratio = rtd;ratio /= 32768;Rt = RREF * ratio;T = ((Rt - R0) / (R0 * Ra));//Serial.print("Ratio = "); Serial.println(ratio,8);Serial.print("Resistance = "); Serial.print(RREF * ratio, 2); Serial.println(" ohm");//Serial.print("Temperature = "); Serial.println(thermo.temperature(RNOMINAL, RREF));Serial.print("PakaTemp = "); Serial.print(T, 2); Serial.println(" C");// Check and print any faultsuint8_t fault = thermo.readFault();if (fault) {Serial.print("Fault 0x"); Serial.println(fault, HEX);if (fault & MAX31865_FAULT_HIGHTHRESH) {Serial.println("RTD High Threshold");}if (fault & MAX31865_FAULT_LOWTHRESH) {Serial.println("RTD Low Threshold");}if (fault & MAX31865_FAULT_REFINLOW) {Serial.println("REFIN- > 0.85 x Bias");}if (fault & MAX31865_FAULT_REFINHIGH) {Serial.println("REFIN- < 0.85 x Bias - FORCE- open");}if (fault & MAX31865_FAULT_RTDINLOW) {Serial.println("RTDIN- < 0.85 x Bias - FORCE- open");}if (fault & MAX31865_FAULT_OVUV) {Serial.println("Under/Over voltage");}thermo.clearFault();}Serial.println();//delay(500);// If enough time has passed check the rotary encoderif ((millis() - TimeOfLastDebounce) > DelayofDebounce) {check_rotary(); // Rotary Encoder check routine belowPreviousCLK=digitalRead(PinCLK);PreviousDATA=digitalRead(PinDT);TimeOfLastDebounce=millis(); // Set variable to current millis() timer}// Check if Rotary Encoder switch was pressedif (digitalRead(PinSW) == LOW) {displaycounter=0; // Reset counter to zeroSerial.print("Counter = "); Serial.println(displaycounter);}}// Check if Rotary Encoder was movedvoid check_rotary() {if ((PreviousCLK == 0) && (PreviousDATA == 1)) {if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 0)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 1)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}if ((PreviousCLK == 1) && (PreviousDATA == 0)) {if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 1)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 0)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}if ((PreviousCLK == 1) && (PreviousDATA == 1)) {if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 1)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 0) && (digitalRead(PinDT) == 0)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}if ((PreviousCLK == 0) && (PreviousDATA == 0)) {if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 0)) {displaycounter++;Serial.print("Counter = "); Serial.println(displaycounter);}if ((digitalRead(PinCLK) == 1) && (digitalRead(PinDT) == 1)) {displaycounter--;Serial.print("Counter = "); Serial.println(displaycounter);}}Serial.print("Counter = "); Serial.println(displaycounter);}
Új hozzászólás Aktív témák
- Parkside szerszám kibeszélő
- Budapest és környéke adok-veszek-beszélgetek
- Samsung Galaxy A54 - türelemjáték
- exHWSW - Értünk mindenhez IS
- Windows 10
- BestBuy topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Google Pixel topik
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Gamer PC-Számítógép. Csere-Beszámítás! R7 5800X / RTX 5060 / 32GB DDR4 / 1TB SSD
- LG UltraGear OLED 27GX790A-B . 480Hz . 0.03ms . 2560x1440 - Garancia 2028.07.07.
- ÚJszerű 1Hónapos Apple iPhone 17 256GB Black 1OO% ! még 11 Hó nemzetközi APPLE GaranciÁval
- iPhone 17 Pro Max Cosmic Orange 256GB BONTATLAN 3 ÉV MAGYAR GARANCIA! iCentre számlával!
- T14 Gen1 27% 14" FHD IPS érintő i7-10610U MX330 16GB 256GB NVMe ujjlolv új akku gar
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő
ekkold

