Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   772 / 850
(#) Kovács Tibor válasza kapu48 hozzászólására (») Feb 22, 2023 /
 
Tess..
  1. // IMPORTANT: Adafruit_TFTLCD LIBRARY MUST BE SPECIFICALLY
  2. // CONFIGURED FOR EITHER THE TFT SHIELD OR THE BREAKOUT BOARD.
  3. // SEE RELEVANT COMMENTS IN Adafruit_TFTLCD.h FOR SETUP.
  4.  
  5. #include <Adafruit_GFX.h>    // Core graphics library
  6. #include <Adafruit_TFTLCD.h> // Hardware-specific library
  7.  
  8. // The control pins for the LCD can be assigned to any digital or
  9. // analog pins...but we'll use the analog pins as this allows us to
  10. // double up the pins with the touch screen (see the TFT paint example).
  11. #define LCD_CS A3 // Chip Select goes to Analog 3
  12. #define LCD_CD A2 // Command/Data goes to Analog 2
  13. #define LCD_WR A1 // LCD Write goes to Analog 1
  14. #define LCD_RD A0 // LCD Read goes to Analog 0
  15.  
  16. #define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin
  17.  
  18. // When using the BREAKOUT BOARD only, use these 8 data lines to the LCD:
  19. // For the Arduino Uno, Duemilanove, Diecimila, etc.:
  20. //   D0 connects to digital pin 8  (Notice these are
  21. //   D1 connects to digital pin 9   NOT in order!)
  22. //   D2 connects to digital pin 2
  23. //   D3 connects to digital pin 3
  24. //   D4 connects to digital pin 4
  25. //   D5 connects to digital pin 5
  26. //   D6 connects to digital pin 6
  27. //   D7 connects to digital pin 7
  28. // For the Arduino Mega, use digital pins 22 through 29
  29. // (on the 2-row header at the end of the board).
  30.  
  31. // Assign human-readable names to some common 16-bit color values:
  32. #define BLACK   0x0000
  33. #define BLUE    0x001F
  34. #define RED     0xF800
  35. #define GREEN   0x07E0
  36. #define CYAN    0x07FF
  37. #define MAGENTA 0xF81F
  38. #define YELLOW  0xFFE0
  39. #define WHITE   0xFFFF
  40.  
  41. Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET);
  42. // If using the shield, all control and data lines are fixed, and
  43. // a simpler declaration can optionally be used:
  44. // Adafruit_TFTLCD tft;
  45.  
  46. void setup(void) {
  47.   Serial.begin(9600);
  48.   Serial.println(F("TFT LCD test"));
  49.  
  50. #ifdef USE_ADAFRUIT_SHIELD_PINOUT
  51.   Serial.println(F("Using Adafruit 2.8\" TFT Arduino Shield Pinout"));
  52. #else
  53.   Serial.println(F("Using Adafruit 2.8\" TFT Breakout Board Pinout"));
  54. #endif
  55.  
  56.   Serial.print("TFT size is "); Serial.print(tft.width()); Serial.print("x"); Serial.println(tft.height());
  57.  
  58.   tft.reset();
  59.  
  60.   //uint16_t identifier = tft.readID();
  61. uint16_t identifier = 0x9328;
  62. //  if(identifier == 0x9325) {
  63. //    Serial.println(F("Found ILI9325 LCD driver"));
  64. //  } else if(identifier == 0x9328) {
  65. //    Serial.println(F("Found ILI9328 LCD driver"));
  66. //  } else if(identifier == 0x7575) {
  67. //    Serial.println(F("Found HX8347G LCD driver"));
  68. //  } else if(identifier == 0x9341) {
  69. //    Serial.println(F("Found ILI9341 LCD driver"));
  70. //  } else if(identifier == 0x8357) {
  71. //    Serial.println(F("Found HX8357D LCD driver"));
  72. //  } else {
  73. //    Serial.print(F("Unknown LCD driver chip: "));
  74. //    Serial.println(identifier, HEX);
  75. //    Serial.println(F("If using the Adafruit 2.8\" TFT Arduino shield, the line:"));
  76. //    Serial.println(F("  #define USE_ADAFRUIT_SHIELD_PINOUT"));
  77. //    Serial.println(F("should appear in the library header (Adafruit_TFT.h)."));
  78. //    Serial.println(F("If using the breakout board, it should NOT be #defined!"));
  79. //    Serial.println(F("Also if using the breakout, double-check that all wiring"));
  80. //    Serial.println(F("matches the tutorial."));
  81. //    return;
  82. //  }
  83.  
  84.   tft.begin(identifier);
  85.  
  86.   Serial.println(F("Benchmark                Time (microseconds)"));
  87.  
  88.   Serial.print(F("Screen fill              "));
  89.   Serial.println(testFillScreen());
  90.   delay(500);
  91.  
  92.   Serial.print(F("Text                     "));
  93.   Serial.println(testText());
  94.   delay(3000);
  95.  
  96.   Serial.print(F("Lines                    "));
  97.   Serial.println(testLines(CYAN));
  98.   delay(500);
  99.  
  100.   Serial.print(F("Horiz/Vert Lines         "));
  101.   Serial.println(testFastLines(RED, BLUE));
  102.   delay(500);
  103.  
  104.   Serial.print(F("Rectangles (outline)     "));
  105.   Serial.println(testRects(GREEN));
  106.   delay(500);
  107.  
  108.   Serial.print(F("Rectangles (filled)      "));
  109.   Serial.println(testFilledRects(YELLOW, MAGENTA));
  110.   delay(500);
  111.  
  112.   Serial.print(F("Circles (filled)         "));
  113.   Serial.println(testFilledCircles(10, MAGENTA));
  114.  
  115.   Serial.print(F("Circles (outline)        "));
  116.   Serial.println(testCircles(10, WHITE));
  117.   delay(500);
  118.  
  119.   Serial.print(F("Triangles (outline)      "));
  120.   Serial.println(testTriangles());
  121.   delay(500);
  122.  
  123.   Serial.print(F("Triangles (filled)       "));
  124.   Serial.println(testFilledTriangles());
  125.   delay(500);
  126.  
  127.   Serial.print(F("Rounded rects (outline)  "));
  128.   Serial.println(testRoundRects());
  129.   delay(500);
  130.  
  131.   Serial.print(F("Rounded rects (filled)   "));
  132.   Serial.println(testFilledRoundRects());
  133.   delay(500);
  134.  
  135.   Serial.println(F("Done!"));
  136. }
  137.  
  138. void loop(void) {
  139.   for(uint8_t rotation=0; rotation<4; rotation++) {
  140.     tft.setRotation(rotation);
  141.     testText();
  142.     delay(2000);
  143.   }
  144. }
  145.  
  146. unsigned long testFillScreen() {
  147.   unsigned long start = micros();
  148.   tft.fillScreen(BLACK);
  149.   tft.fillScreen(RED);
  150.   tft.fillScreen(GREEN);
  151.   tft.fillScreen(BLUE);
  152.   tft.fillScreen(BLACK);
  153.   return micros() - start;
  154. }
  155.  
  156. unsigned long testText() {
  157.   tft.fillScreen(BLACK);
  158.   unsigned long start = micros();
  159.   tft.setCursor(0, 0);
  160.   tft.setTextColor(WHITE);  tft.setTextSize(1);
  161.   tft.println("Hello World!");
  162.   tft.setTextColor(YELLOW); tft.setTextSize(2);
  163.   tft.println(1234.56);
  164.   tft.setTextColor(RED);    tft.setTextSize(3);
  165.   tft.println(0xDEADBEEF, HEX);
  166.   tft.println();
  167.   tft.setTextColor(GREEN);
  168.   tft.setTextSize(5);
  169.   tft.println("Groop");
  170.   tft.setTextSize(2);
  171.   tft.println("I implore thee,");
  172.   tft.setTextSize(1);
  173.   tft.println("my foonting turlingdromes.");
  174.   tft.println("And hooptiously drangle me");
  175.   tft.println("with crinkly bindlewurdles,");
  176.   tft.println("Or I will rend thee");
  177.   tft.println("in the gobberwarts");
  178.   tft.println("with my blurglecruncheon,");
  179.   tft.println("see if I don't!");
  180.   return micros() - start;
  181. }
  182.  
  183. unsigned long testLines(uint16_t color) {
  184.   unsigned long start, t;
  185.   int           x1, y1, x2, y2,
  186.                 w = tft.width(),
  187.                 h = tft.height();
  188.  
  189.   tft.fillScreen(BLACK);
  190.  
  191.   x1 = y1 = 0;
  192.   y2    = h - 1;
  193.   start = micros();
  194.   for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  195.   x2    = w - 1;
  196.   for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  197.   t     = micros() - start; // fillScreen doesn't count against timing
  198.  
  199.   tft.fillScreen(BLACK);
  200.  
  201.   x1    = w - 1;
  202.   y1    = 0;
  203.   y2    = h - 1;
  204.   start = micros();
  205.   for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  206.   x2    = 0;
  207.   for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  208.   t    += micros() - start;
  209.  
  210.   tft.fillScreen(BLACK);
  211.  
  212.   x1    = 0;
  213.   y1    = h - 1;
  214.   y2    = 0;
  215.   start = micros();
  216.   for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  217.   x2    = w - 1;
  218.   for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  219.   t    += micros() - start;
  220.  
  221.   tft.fillScreen(BLACK);
  222.  
  223.   x1    = w - 1;
  224.   y1    = h - 1;
  225.   y2    = 0;
  226.   start = micros();
  227.   for(x2=0; x2<w; x2+=6) tft.drawLine(x1, y1, x2, y2, color);
  228.   x2    = 0;
  229.   for(y2=0; y2<h; y2+=6) tft.drawLine(x1, y1, x2, y2, color);
  230.  
  231.   return micros() - start;
  232. }
  233.  
  234. unsigned long testFastLines(uint16_t color1, uint16_t color2) {
  235.   unsigned long start;
  236.   int           x, y, w = tft.width(), h = tft.height();
  237.  
  238.   tft.fillScreen(BLACK);
  239.   start = micros();
  240.   for(y=0; y<h; y+=5) tft.drawFastHLine(0, y, w, color1);
  241.   for(x=0; x<w; x+=5) tft.drawFastVLine(x, 0, h, color2);
  242.  
  243.   return micros() - start;
  244. }
  245.  
  246. unsigned long testRects(uint16_t color) {
  247.   unsigned long start;
  248.   int           n, i, i2,
  249.                 cx = tft.width()  / 2,
  250.                 cy = tft.height() / 2;
  251.  
  252.   tft.fillScreen(BLACK);
  253.   n     = min(tft.width(), tft.height());
  254.   start = micros();
  255.   for(i=2; i<n; i+=6) {
  256.     i2 = i / 2;
  257.     tft.drawRect(cx-i2, cy-i2, i, i, color);
  258.   }
  259.  
  260.   return micros() - start;
  261. }
  262.  
  263. unsigned long testFilledRects(uint16_t color1, uint16_t color2) {
  264.   unsigned long start, t = 0;
  265.   int           n, i, i2,
  266.                 cx = tft.width()  / 2 - 1,
  267.                 cy = tft.height() / 2 - 1;
  268.  
  269.   tft.fillScreen(BLACK);
  270.   n = min(tft.width(), tft.height());
  271.   for(i=n; i>0; i-=6) {
  272.     i2    = i / 2;
  273.     start = micros();
  274.     tft.fillRect(cx-i2, cy-i2, i, i, color1);
  275.     t    += micros() - start;
  276.     // Outlines are not included in timing results
  277.     tft.drawRect(cx-i2, cy-i2, i, i, color2);
  278.   }
  279.  
  280.   return t;
  281. }
  282.  
  283. unsigned long testFilledCircles(uint8_t radius, uint16_t color) {
  284.   unsigned long start;
  285.   int x, y, w = tft.width(), h = tft.height(), r2 = radius * 2;
  286.  
  287.   tft.fillScreen(BLACK);
  288.   start = micros();
  289.   for(x=radius; x<w; x+=r2) {
  290.     for(y=radius; y<h; y+=r2) {
  291.       tft.fillCircle(x, y, radius, color);
  292.     }
  293.   }
  294.  
  295.   return micros() - start;
  296. }
  297.  
  298. unsigned long testCircles(uint8_t radius, uint16_t color) {
  299.   unsigned long start;
  300.   int           x, y, r2 = radius * 2,
  301.                 w = tft.width()  + radius,
  302.                 h = tft.height() + radius;
  303.  
  304.   // Screen is not cleared for this one -- this is
  305.   // intentional and does not affect the reported time.
  306.   start = micros();
  307.   for(x=0; x<w; x+=r2) {
  308.     for(y=0; y<h; y+=r2) {
  309.       tft.drawCircle(x, y, radius, color);
  310.     }
  311.   }
  312.  
  313.   return micros() - start;
  314. }
  315.  
  316. unsigned long testTriangles() {
  317.   unsigned long start;
  318.   int           n, i, cx = tft.width()  / 2 - 1,
  319.                       cy = tft.height() / 2 - 1;
  320.  
  321.   tft.fillScreen(BLACK);
  322.   n     = min(cx, cy);
  323.   start = micros();
  324.   for(i=0; i<n; i+=5) {
  325.     tft.drawTriangle(
  326.       cx    , cy - i, // peak
  327.       cx - i, cy + i, // bottom left
  328.       cx + i, cy + i, // bottom right
  329.       tft.color565(0, 0, i));
  330.   }
  331.  
  332.   return micros() - start;
  333. }
  334.  
  335. unsigned long testFilledTriangles() {
  336.   unsigned long start, t = 0;
  337.   int           i, cx = tft.width()  / 2 - 1,
  338.                    cy = tft.height() / 2 - 1;
  339.  
  340.   tft.fillScreen(BLACK);
  341.   start = micros();
  342.   for(i=min(cx,cy); i>10; i-=5) {
  343.     start = micros();
  344.     tft.fillTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
  345.       tft.color565(0, i, i));
  346.     t += micros() - start;
  347.     tft.drawTriangle(cx, cy - i, cx - i, cy + i, cx + i, cy + i,
  348.       tft.color565(i, i, 0));
  349.   }
  350.  
  351.   return t;
  352. }
  353.  
  354. unsigned long testRoundRects() {
  355.   unsigned long start;
  356.   int           w, i, i2,
  357.                 cx = tft.width()  / 2 - 1,
  358.                 cy = tft.height() / 2 - 1;
  359.  
  360.   tft.fillScreen(BLACK);
  361.   w     = min(tft.width(), tft.height());
  362.   start = micros();
  363.   for(i=0; i<w; i+=6) {
  364.     i2 = i / 2;
  365.     tft.drawRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(i, 0, 0));
  366.   }
  367.  
  368.   return micros() - start;
  369. }
  370.  
  371. unsigned long testFilledRoundRects() {
  372.   unsigned long start;
  373.   int           i, i2,
  374.                 cx = tft.width()  / 2 - 1,
  375.                 cy = tft.height() / 2 - 1;
  376.  
  377.   tft.fillScreen(BLACK);
  378.   start = micros();
  379.   for(i=min(tft.width(), tft.height()); i>20; i-=6) {
  380.     i2 = i / 2;
  381.     tft.fillRoundRect(cx-i2, cy-i2, i, i, i/8, tft.color565(0, i, 0));
  382.   }
  383.  
  384.   return micros() - start;
  385. }
(#) ibronnabru válasza Kovács Tibor hozzászólására (») Feb 23, 2023 1 /
 
Azon túl, hogy hibás a rajz is és a program is (mindkettőt korrigáltam), elrontottam a nyák-ot és a nyomógombok folyamatos zárlatot okoztak a 7,8,9-es kimeneteken ezért nem tudott a program tovább futni. Nem tudta a program magas szintre emelni a kimeneteket a progi és leállt.
(#) gaspa hozzászólása Feb 23, 2023 /
 
Hogyan tudnék kódot beilleszteni a cntr c/v módszer helyett?
Volt amikor sikerült,de most elfelejtettem.
(#) Lamprologus válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Jobb egérgomb - Másolás
Jobb egérgomb - Beillesztés
(#) Jonni válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Ezt windows alatt akarod (?) mert androidnál másképp kell. Ki kell jelőlni a szöveget (bal egér gomb szövegen húzásásval) majd jobb gomb megnyom , menyilik egy lehetőség ahol a másolást kell választani, majd rákattintassz arra a helyre ahova be akarod illeszteni és jobb gomb és beillesztést válsztod.
(#) gaspa válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Lehet rosszul fogalmaztam,ide a fórumra szeretném,az előzőhöz hasonlóan.
(#) Lamprologus válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Hozzászólásnál "Kód" gomb
(#) gaspa válasza Lamprologus hozzászólására (») Feb 23, 2023 /
 
Ezt próbáltam,nem sikerült ,de gondolom előtte valahogy ki kellene jelölni forrást.
(#) Jonni válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Hol van a forrás? Jelőld ki ahogy fent leirtam majd válaszd a kód gombot majd ctrl+v
A hozzászólás módosítva: Feb 23, 2023
(#) gaspa válasza Jonni hozzászólására (») Feb 23, 2023 /
 
A forrás az arduino IDE-ben van.
Így be tudom tölteni,de a rövidebb rollozható formában szeretném.
(#) Jonni válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Akkor kezdjük elölről . A teljes kódot akarod itt a fórumon megosztani?
(#) gaspa válasza Jonni hozzászólására (») Feb 23, 2023 /
 
Igen,ezt szeretném,hogy ne foglaljon sok helyet a monitoron.
A hozzászólás módosítva: Feb 23, 2023
(#) Lamprologus válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Na akkor most részletesen meséld el, hogy mit csináltál, és mi lett az eredménye!
(#) Jonni válasza gaspa hozzászólására (») Feb 23, 2023 /
 
1, Nyisd meg arduinoba azt a kódot amit be akarsz illeszteni
2, szerkesztés fülön válaszd ki az összes kijelőlését
3,majd megint szerkesztésnél a másolást
4, Itt a fórumon válaszd a válasz vagy új hozzászólást
5, ird le mit akarsz
6, nyomd meg a Kód gombot
7, nyomd meg a Ctrl és a v gombot
8, Hozzászólás elküldése gomb megnyomása és kész is
A hozzászólás módosítva: Feb 23, 2023

Kód.png
    
(#) Jonni válasza Jonni hozzászólására (») Feb 23, 2023 /
 
Esetleg megoldás lehet még a
szerkesztés fül-> másolás fórumba lehetőség de akkor az első [/code] elött kell a kérdést feltenni
(#) gaspa hozzászólása Feb 23, 2023 /
 
Több 1-wire szenzort szeretnék beolvasni,ez a ds18b20-ak esetén sikerül is,de a ds2423 -nál csak egyet kezel ennek a könyvtára és nekem legalább öt kellene.Nem találtam olyan könyvtárat,ami többet tud kezelni,mint a hőszenzoroké.Hogyan lehetne a programot megírni,hogy ne kelljen mindet külön pinre kötni?
Így működik a beillesztés,a 3. pontot hagytam ki.(mentségem a 75 év)
  1. #include <DallasTemperature.h>
  2. #include <LiquidCrystal.h>
  3. #include <DS2423.h>
  4. #include <OneWire.h>
  5. #define ONE_WIRE_BUS 8
  6. OneWire oneWire(ONE_WIRE_BUS);
  7. const uint8_t ONE_WIRE_PIN = 8;
  8. uint8_t DS2423_address[] = { 0x1D, 0xEF, 0xDD, 0x0F, 0x00, 0x00, 0x00, 0xE6 };//ds2423
  9. OneWire ow(ONE_WIRE_PIN);
  10. DS2423 ds2423(&ow, DS2423_address);
  11. DallasTemperature sensors(&oneWire);
  12. DeviceAddress szobafent = {0x28, 0x44, 0x8E, 0x07, 0xD6, 0x01, 0x3C, 0x49};//Rom 13
  13. DeviceAddress szobalent = {0x10, 0xE1, 0xCE, 0x0A, 0x02, 0x08, 0x00, 0x47};//Rom 39
  14. DeviceAddress falszig = {0x28, 0x05, 0x8A, 0x11, 0x05, 0x00, 0x00, 0x01};//Rom 43
  15. DeviceAddress kulsoho = {0x10, 0x05, 0x6A, 0x12, 0x01, 0x08, 0x00, 0x5E};//Rom 44
  16. DeviceAddress gardrob = {0x28, 0x1C, 0x39, 0xEA, 0x03, 0x00, 0x00, 0xF9};//Rom 45
  17. DeviceAddress mamelo = {0x28, 0xD4, 0x09, 0xEA, 0x03, 0x00, 0x00, 0x43};//Rom 46
  18. DeviceAddress villki = {0x28, 0x58, 0x85, 0x83, 0x04, 0x00, 0x00, 0x47};//Rom 47
  19. float tempF;//Aktuális mért ds18b20 eredmény
  20. float tempf;//-"-
  21. int villk;//Villanykazán számláló
  22. float szobaf;//Tetőtéri szoba hőfok
  23.  
  24. void setup() {
  25.   Serial.begin(9600);
  26.   ds2423.begin(DS2423_COUNTER_A | DS2423_COUNTER_B);
  27.   sensors.begin();
  28.   sensors.setResolution(szobafent, 12);//DS18b20 felbontás 12 bit
  29.   sensors.setResolution(szobalent, 12);
  30.   sensors.setResolution(falszig, 12);
  31.   sensors.setResolution(kulsoho, 12);
  32.   sensors.setResolution(gardrob, 12);
  33.   sensors.setResolution(mamelo, 12);
  34.   sensors.setResolution(villki, 12);
  35. }
  36. void printTemperature(DeviceAddress deviceAddress)
  37. {
  38.   float tempF = sensors.getTempC(deviceAddress);
  39.   Serial.println(tempF, 1);
  40.   tempf = tempF;
  41. }
  42. void loop() {
  43.   ds2423.update();
  44.   Serial.print("hosziv kwh = ");
  45.   Serial.print(ds2423.getCount(DS2423_COUNTER_A));
  46.   Serial.println(" ");
  47.   Serial.print("vill kaz kwh = ");
  48.   Serial.println(ds2423.getCount(DS2423_COUNTER_B));
  49.   villk = (ds2423.getCount(DS2423_COUNTER_B)); //Villanykazán számláló !!!
  50.   delay(1000);
  51.   sensors.requestTemperatures();
  52.   Serial.print("szoba fent:");
  53.   printTemperature(szobafent);
  54.   szobaf=sensors.getTempC(szobafent);//    ????
  55.   Serial.print(szobaf,1);
  56.   Serial.print("szoba lent:");
  57.   printTemperature(szobalent);
  58.   Serial.print("fal/szigeteles:");
  59.   printTemperature(falszig);
  60.   Serial.print("kulsohomer:");
  61.   printTemperature(kulsoho);
  62.   Serial.print("gardrobho:");
  63.   printTemperature(gardrob);
  64.   Serial.print("mamutelo:");
  65.   printTemperature(mamelo);
  66.   Serial.print("villanyki:");
  67.   printTemperature(villki);
  68.   Serial.println("-");
  69.  
  70.   delay(59000);
  71. }
(#) Jonni válasza gaspa hozzászólására (») Feb 23, 2023 / 2
 
Idézet:
„(mentségem a 75 év)”

Mindenkinek szivesen segitünk, a kor nem számit
(#) bbb válasza gaspa hozzászólására (») Feb 23, 2023 /
 
A gond abból adódik, hogy ugyan azon a címen szeretnéd a két szenzort megszólítani. Elvileg, ha egy pinre kötöd, akkor a saját címeiken el tudod érni az eszközöket.
A codebender.cc oldalon van egy címkereső, használd: Bővebben: Link
(#) gaspa válasza bbb hozzászólására (») Feb 23, 2023 /
 
Mind az öt ds2423-nak ismerem a címét és ha a 8.sorban valamelyiket beírom,ki tudom olvasni .
Úgy szeretném ezeket is kiolvasni ,mint a hőszenzoroknál,de ennek a könyvtára úgy tűnik nem alkalmas.Ezért keresek másik kőnyvtárat,vagy megoldást.
(#) bbb válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Nem tudom érted-e a programkódot amit összeraktál? Ugyanis ha tudod a címeiket, akkor ezzel a könyvtárral is meg tudod oldani viszonylag egyszerűen.
  1. uint8_t DS2423_address[] = { 0x1D, 0xEF, 0xDD, 0x0F, 0x00, 0x00, 0x00, 0xE6 };//ds2423
  2. OneWire ow(ONE_WIRE_PIN);
  3. DS2423 ds2423(&ow, DS2423_address);
Itt az történik, hogy a ds2423 nevű DS2423 típusú objektumot létrehozod azzal a címmel, amit megadtál.
Magyarul ha többet akarsz, akkor több objektumot is létre tudsz hozni, csak be kell írnod a címeiket annak megfelelően:
  1. uint8_t DS2423_address[] = { 0x1D, 0xEF, 0xDD, 0x0F, 0x00, 0x00, 0x00, 0xE6 };//ds2423
  2. OneWire ow(ONE_WIRE_PIN);
  3. DS2423 elsoSzenzor(&ow, DS2423_address);
  4. DS2423_address = { masodikcim };
  5. DS2423 masodikSzenzor(&ow, DS2423_address);
  6. ...
  7. DS2423_address = { n-edikcim };
  8. DS2423 n-edikSzenzor(&ow, DS2423_address);

Majd a kiíráshoz a 43-50. soraidat ismételgeted, de nem ds2423.update() és hasonlók lesznek benne, hanem azok a nevek, amiknek az objektumaidat elnevezted.
(#) gaspa válasza bbb hozzászólására (») Feb 23, 2023 / 1
 
Köszönöm működik,minden szenzort lát.Kicsit több sor,minden DS2423-at külön kell indítani és kiolvasni,de legalább 1 pin kell hozzá.Mégegyszer kösz.
(#) bbb válasza gaspa hozzászólására (») Feb 23, 2023 /
 
Örülök, hogy sikerült megoldani.
(#) Kovács Tibor válasza ibronnabru hozzászólására (») Feb 23, 2023 /
 
Ezt a választ biztos hogy nekem szántad?
(#) toth1996 hozzászólása Feb 24, 2023 /
 
Sziasztok.
szeretnék az autómba ardunio segítségével egy ablak emelőt.
De az arduniot nem szeretném haza vágni igy a kapcsolásba szeretném kérni a segítségeteket.

A kapcsolás lényege amikor Bezárom a kocsit Akkor 12v megjelenik a (1.colseimpulse) lábon és az ardunio érzékelné ezt.

Az a kérdésem hogy 12v lekezeli az ardunio és ha nincs 12v akkor 0 értéket ad vissza ? (Nem fog lebegni a láb)

2.colseimpulse pedig megállítja az ablakemelő részt.

BC337-et használnék mert az van itthon

A programkáddal el bajlódom.
(#) toth1996 válasza toth1996 hozzászólására (») Feb 24, 2023 /
 
Bocsánat a duplapost ért.
Érdemes ardunio 12v lábánál szűrő kondikat rakni ha igen megkorákat?
(#) Massawa válasza toth1996 hozzászólására (») Feb 24, 2023 /
 
Az Arduinonak nincs 12 Voltos lába. Ha szürökondikat akarsz akkor azokat az AVR lábához kell rakni, de azok többnyire amugy is ott vannak.
(#) Jonni válasza toth1996 hozzászólására (») Feb 24, 2023 /
 
Nem teljesen értem mi az a "1.colseimpulse" .
Ha csak az ablakok végállását akarod az arduinoval "tudatni" akkor elég 2 mikrokapcsolót felszerelni oda ahol a végállások vannak. Innentől kezdve meg csak kapcsolómódként kell megirni a programot 2 digitális lábra. (12V-ot nem vezetünk 5V toleráns lábra)
(#) Jonni válasza toth1996 hozzászólására (») Feb 24, 2023 /
 
Azt irtad

Idézet:
„De az arduniot nem szeretném haza vágni”


Na akkor ajánlom hogy a VIN elé tegyél be egy LM7808 vagy LM7809-et mert a feszültség a kocsiba akár 14V is lehet és ez megöli az arduinot.
(#) asch válasza Jonni hozzászólására (») Feb 24, 2023 / 1
 
Dacia Lodgyban mértem a gombokhoz menő tápot és annyira pontosan 12V volt mindenféle zaj nélkül, hogy esküdni mernék rá, hogy eleve stabilizált tápot kapnak ezek a fogyasztók. Láttatok már ilyen megoldást? Persze attól még nem árt a plusz védelem, de nem feltétlenül szükséges.

Az Arduino pin-jeire elvileg lehet a tápfeszültségnél nagyobb feszültséget kötni. Belül egy védődióda levezeti a VCC-re. Két feltétele van: az áramot le kell korlátozni ellenállással, hogy a túlfeszültség dióda maximum áramát ne érje el (ha jól emlékszem ez kisebb mint 1mA, de lásd adatlap). És biztosítani kell, hogy ez az áram ne emelje meg a VCC-t, ami akkor teljesül ha ennél nagyobb a fogyasztása a rendszernek. Ennek ellenére én is javasolnék valami bemenet védő áramkört a biztonság kedvéért.
A hozzászólás módosítva: Feb 24, 2023
(#) toth1996 válasza Massawa hozzászólására (») Feb 24, 2023 /
 
Bocs akkor félre érthetően fogalmaztam.
A bejövő feszültség 12v volt amit "1.colseimpulse" on kap majd az ardunio jelként.
Csak hogy az ardunio elviseli a 12v bemenő jelet?

1.colseimpulse az azt csinálja amikor a bezárás gombra nyomok akkor xy ideiig megjelenik a 12v feszültség.

Jonni

A végállás az ablak emelő részébe bent van. XY idegig kell csak jelet adni a D13 lábon pontosan 5 sec.

Idézet:
„Na akkor ajánlom hogy a VIN elé tegyél be egy LM7808 vagy LM7809-et mert a feszültség a kocsiba akár 14V is lehet és ez megöli az arduinot.”


VIN úgy tudom van stab ic nem?
De rakok .
Következő: »»   772 / 850
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem