Hirdetés
- Luck Dragon: Asszociációs játék. :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- sziku69: Szólánc.
- sh4d0w: Kalózkodás. Kalózkodás?
- Gurulunk, WAZE?!
- bitpork: 2025, zárás
- sziku69: Fűzzük össze a szavakat :)
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Pajac: 27 ezer kilométerrel közelebb, mint átlagosan
- GoodSpeed: Kell-e manapság egérpad vagy sem?
-
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
-
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
- -ÚJ,2 ÉV GAR- DDR5 GAMER PC: RYZEN 7 8700F/9700X/9800X3D +RX 6600/6700XT +16-64GB DDR5! SZÁMLA!
- Dell Latitude 7430 x360 Ütésálló Érintős Hajtogatós Profi Ultrabook 14" -60% i7-1265U 16/512 IRIS Xe
- HP E24m G4 Monitor FHD IPS webkamerával, Windows Hello-támogatással
- Lenovo ThinkPad T14 Gen 5 Ultra-I7/16GB/512SSD/FHD/garancia!
- Lenovo ThinkPad X1 Carbon 9th i7-1165G7/16GB/512/FHD/Magyar
- Samsung Galaxy S23 / 8/128GB / Kártyafüggetlen / 12Hó Garancia
- BESZÁMÍTÁS! MSI B550M R7 5800X3D 32GB DDR4 1TB SSD RTX 4070 12GB ZALMAN M4 A-DATA 750W
- GYÖNYÖRŰ iPhone 15 Plus E-SIM 128GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3355, 100% Akksi
- BESZÁMÍTÁS! LG UltraGear 32GR93U-B 32 144Hz IPS UHD 1ms monitor garanciával hibátlan működéssel
- Microsoft Surface Pro // Surface // Surface laptop 10.gen i5, Ryzen // 12,5 13,5 15 //
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
ekkold
