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   402 / 853
(#) vargaf válasza jointsilver36 hozzászólására (») Dec 3, 2017 /
 
Ez az a program amivel küzdesz!
(#) RoliNyh válasza benjami hozzászólására (») Dec 3, 2017 /
 
Nagyjából már meg van a fele, de mivel rég írtam, eszembe se volt megnézni hol jár hardwerigényileg...
(#) jointsilver36 válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Milyen jó ,hogy megépítettem az áramkört azt szívok vele mert a nanora nem tudom a programot áttküldeni.
(#) jointsilver36 válasza vargaf hozzászólására (») Dec 3, 2017 /
 
Az eredeti amibenn az erroros rész bennevan?
(#) vargaf válasza jointsilver36 hozzászólására (») Dec 3, 2017 /
 
Nem, ez már részben javított. De látom Te csak írsz, a válaszokat nem olvasod el.
Idézet:
„Mellékletben a kód (az erroros részt visszatettem ha jól emlékszem, mert lehet hogy megépítem én is ezt egyszer, aztán emlékezzek rá).”
(#) jointsilver36 válasza vargaf hozzászólására (») Dec 3, 2017 /
 
Elolvasom.De csak szívok vele,ezért írok.
(#) RoliNyh válasza benjami hozzászólására (») Dec 3, 2017 /
 
Idézet:

Vázlat használ 10782 bájt (33%) -ot a program tárhelyből. A maximum 32256 bájt.
A globális változók 698 bájt (34%)-ot használnak a dinamikus memóriából, 1350 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.


Na úgy néz ki ezt benéztem, és van két felesleges Attiny44 -em (nembaj, ellesznek a fiókban)...
Tudnátok ajánlani hasonló tokozáású (SOIC14 esetleg SOIC16) procit több flash-al és RAM -al?
Lehetőleg nem túl drágán...
(A 84 -es is már kiesett úgy látom.)
A hozzászólás módosítva: Dec 3, 2017
(#) tbarath válasza jointsilver36 hozzászólására (») Dec 3, 2017 /
 
"a nanora nem tudom a programot áttküldeni"

Segíts már nekünk, vazze. Mit jelent az, hogy "a nanora nem tudom a programot áttküldeni"?
Nem fordul?
Nem sikerül a feltöltés?
Egyáltalán mit ír ki? Ráguglizni próbáltál már?
(#) tbarath válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
Nem tudsz a kódon optimalizálni? 10k program az baromi sok. Milyen libeket használsz?
(#) gerleimarci válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Nem olyan sok az. Azt a kijelzőt én nem bíznám egy Attinyre. Vagy lehet csak nekem eszi annyira a programhelyet egy akármilyen grafikus kijelző.
(#) RoliNyh válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Sajna ahoz már kevés vagyok...
Beteszem a kódot, de ehez még kellene tenni néhány dolgot a későbbiekben úgy érzem mert még erősen csak béta verzió...

  1. #include <SPI.h>
  2. #include <TFT_ST7735.h>
  3.  
  4. boolean buttonPin = 2;
  5. boolean fetPin = 1;
  6. boolean buttonState = LOW;
  7.  
  8. // All wiring required, only 3 defines for hardware SPI on 328P
  9. #define __DC 9
  10. #define __CS 10
  11. // MOSI --> (SDA) --> D11
  12. #define __RST 12
  13. // SCLK --> (SCK) --> D13
  14.  
  15. // Színek definiálása:
  16. #define BLACK   0x0000
  17. #define BLUE    0x001F
  18. #define RED     0xF800
  19. #define GREEN   0x07E0
  20. #define CYAN    0x07FF
  21. #define MAGENTA 0xF81F
  22. #define YELLOW  0xFFE0  
  23. #define WHITE   0xFFFF
  24.  
  25. TFT_ST7735 tft = TFT_ST7735(__CS, __DC, __RST);   // Kijelző inicializálása.
  26.  
  27. void setup()
  28.   {
  29.   pinMode(buttonPin, INPUT);
  30.   pinMode(fetPin, OUTPUT);
  31.  
  32.   tft.begin();                      // Képernyő bekapcsolása.
  33.   tft.clearScreen();                // Képernyő törlése.
  34.   tft.setRotation(0);               // Képernyő tájolása. 0 álló, 1 jobbradőlt, 2 fejjel lefelé, 3 balra dőlt.
  35.   tft.setCursor(0, 0);              // Kúzorpozicció beállítása. X vízszintes tengely, Y függőleges tengely
  36.   tft.setTextColor(YELLOW);         // Szövegszín beállítása.
  37.   tft.setTextSize(2);               // Szövegméret beállítása. (2-es méretnél MAX 10 betű fér el soronként.)
  38.   tft.println("  e-bike");
  39.   tft.print("63V Li-Ion");
  40.   tft.println("  charger");
  41.   tft.println("");
  42.   tft.setTextSize(1);               // 1-es méretnél MAX 21 betű fér el soronként.
  43.   tft.println("Created by:");
  44.   tft.println("Xxxx Xxxx");
  45.   tft.println("fw:2017.08.20.");
  46.   delay(2000);
  47.   }
  48.  
  49. void loop()
  50.   {
  51.   float voltage = analogRead(A4)*(5.0/1024.0);    // Beolvassuk a feszültséget.
  52.  
  53.   float current = analogRead(A7)*(5.0/1024.0);    // Beolvassuk az áramot.
  54.  
  55.   float temp = analogRead(A6)*(5.0/1024.0)/0.01;  // Beolvassuk a hőmérsékletet.
  56.  
  57.   float power = voltage * current;                // Kiszámoljuk a pillanatnyi teljesítményt.
  58.  
  59.   tft.fillScreen(BLACK);          // Háttérszín beállítása feketére.
  60.  
  61.   tft.setCursor(3, 0);            // Kúzorpozittió beállítása,
  62.   tft.setTextSize(2);             // Szövegméret beállítása,
  63.   tft.setTextColor(GREEN);        // Szövegszín beállítása,
  64.   tft.print("U:");                // Szöveg kiírása...
  65.   tft.print(voltage);
  66.   tft.print("V");
  67.  
  68.   tft.setCursor(3, 20);
  69.   tft.setTextColor(RED);
  70.   tft.print("I:");
  71.   tft.print(current);
  72.   tft.print("A");
  73.  
  74.   tft.setCursor(3, 40);
  75.   tft.setTextColor(0x00FF00);
  76.   tft.print("P:");
  77.   tft.print(power);
  78.   tft.print("W");
  79.  
  80.   tft.setCursor(3, 60);
  81.   tft.setTextColor(WHITE);
  82.   tft.print("Q 12.34 Ah");
  83.  
  84.   tft.setCursor(3, 80);
  85.   tft.setTextColor(BLUE);
  86.   tft.print("T:");
  87.   tft.print(temp);
  88.   tft.print("*C");
  89.  
  90.   tft.setCursor(3, 100);
  91.   tft.println("t 12:34");
  92.  
  93.   // Állapot kiírása
  94.  
  95.   if ((voltage < 1.0) && (current < 0.1))
  96.     {   // Ha a feszültség kissebb mint 1V, és az áramerősség kissebb mint 0.1A:
  97.     tft.setCursor(3, 120);
  98.     tft.setTextColor(GREEN);
  99.     tft.setTextSize(1);
  100.     tft.print("Battery no connect...");
  101.     }
  102.   else if ((voltage < 63) && (current > 0.8))
  103.     {   // Ha a feszültség kissebb mint 63V és az áram nagyobb mint 0.8A:
  104.     tft.setCursor(3, 120);
  105.     tft.setTextColor(YELLOW);
  106.     tft.setTextSize(1);
  107.     tft.print(" Battery charging...");
  108.     }
  109.   else if ((voltage < 63) && (voltage > 40.5) && (current < 0.8))
  110.     {   // Ha a feszültség kissebb mint 63V és nagyobb mint 40.5V és az áramerősség kissebb mint 0.8A:
  111.     tft.setCursor(3, 120);
  112.     tft.setTextColor(GREEN);
  113.     tft.setTextSize(1);
  114.     tft.print("Battery fully charged");
  115.     }
  116.   else if (voltage < 40.5)
  117.     {   // Ha a feszültség kisebb mint 40.5V:
  118.     tft.setCursor(3, 120);
  119.     tft.setTextColor(RED);
  120.     tft.setTextSize(1);
  121.     tft.print("BATTERY LOW VOLTAGE!");
  122.     }
  123.   else if (voltage > 63)
  124.     {   // Ha a feszültség nagyobb mint 63V:
  125.     tft.setCursor(3, 120);
  126.     tft.setTextColor(RED);
  127.     tft.setTextSize(1);
  128.     tft.print("BATTERY HIGH VOLTAGE!");
  129.     }
  130.  
  131.   buttonState = digitalRead(buttonPin);
  132.  
  133.   if (buttonState == HIGH)
  134.     {
  135.     fetPin = HIGH;
  136.     }
  137.   }
A hozzászólás módosítva: Dec 3, 2017
(#) tbarath válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
Idézet:
„boolean buttonPin = 2;
boolean fetPin = 1;

Khömm.... szerintem a 2 semmiképp se boolean...
(#) RoliNyh válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Nem valóban nem, most így hirtelen még azt se tudom, minek írtam azt oda.

(Mondom, hogy erősen béta verzió...)
(#) tbarath válasza gerleimarci hozzászólására (») Dec 3, 2017 /
 
Hát igen, sanszos, hogy a kijelző eszik rengeteget. a kód többi része szinte semmi, még ha lehetne itt-ott faragni rajta (pl. eeprom-ba kitenni a szöveget, vagy osztás helyett shift-elni, stb.) akkor is csak a felszínt kapargatnánk, a lényegen nem változtatna.
(#) tbarath válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
konstans akar az lenni, azzal máris fogtál 2 byte-ot
(#) RoliNyh válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Ööö azt hiszem, így kellene.:
  1. #define buttonPin 2
  2. #define fetPin 1
  3. boolean buttonState = LOW;
A hozzászólás módosítva: Dec 3, 2017
(#) tbarath válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
Én is így hiszem
(#) benjami válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
Azzal tudnál nyerni valamennyi memóriát, ha nem az arduino cpp-t használnád, hanem sima natív c nyelvre átírnád az egészet (a librarykat is persze, legalább is azt a részt ami használva van belőle). Ez az atmel studio-ban megtehető, csak persze nem 10 perces munka, meg nem árt, ha tudod mit csinálsz. De lehet, hogy még ilyen módon se férnél bele az tiny memóriájába, ezért egyszerűbb ha inkább 328-as nano boardot használsz erre.
(#) Kovidivi válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
A TFT libed eszik rengeteget. Gondolom a karaktertáblázat miatt. Át kellene nézni. Gondolom van benne minden karakter, még dollárjel is, meg esetleg több betűméret, esetleg stílus. Teljesen feleslegesen.
(#) RoliNyh válasza benjami hozzászólására (») Dec 3, 2017 /
 
A problémám ezzel csak az, hogy "nem tudom mit csinálok", szóval ilyen (meg még hogy a libet is) átírás nálam szóba sem jöhet...
(#) RoliNyh válasza Kovidivi hozzászólására (») Dec 3, 2017 /
 
Szerintem csak a sima 5*7 pixeles ASCII van benne, nincs más méret vagy stílus...
(#) csatti2 válasza Kovidivi hozzászólására (») Dec 3, 2017 /
 
A lebegőpontos számokat is hanyagolnia kéne, az is vagy 2kB.
(#) tbarath válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Jeleztem a srácnak a hibát a youtube videó alatt, megköszönte és javítást ígért.
(#) jointsilver36 válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Ilyen kijelzőm van:http://https://www.hestore.hu/prod_10036402.htmlBővebben: https://www.hestore.hu/prod_10036402.html[/url ]ezen nincsen scl,sda,bemenet
A hozzászólás módosítva: Dec 3, 2017
(#) tbarath válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
Pontosan honnan van a lib?
Mert én találtam kettőt is (egyik, másik), és a másodiknál egy csomó méret van.
(#) csatti2 válasza RoliNyh hozzászólására (») Dec 3, 2017 /
 
Tudom ajánlani az STM32F030F4P6-ot. 10dbnál 42 cent-re jön ki egy darab, fejlesztői kártya pedig másfél dollár körül már van. 16kB RAM, 4kB SRAM, TSSOP20-as így kisebb mint a SOIC-14.
(#) jointsilver36 válasza tbarath hozzászólására (») Dec 3, 2017 /
 
Mármint az induktivitásmérőhöz??
(#) vargaf válasza jointsilver36 hozzászólására (») Dec 3, 2017 /
 
Ha ilyen kijelződ van akkor hogyan akarod egy I2C kijelzőre írt programmal meghajtani? Ilyen kijelződ volt otthon vagy erre a célra vetted?
(#) tbarath válasza jointsilver36 hozzászólására (») Dec 3, 2017 /
 
Akkor ez PEBKAC, ugyanis ez nem I2C. Van olyan modul, amivel ez a 1602-es kijelző I2C-n keresztül meghajtható, illetve lehet gyárilag összeforrasztva is venni őket. Mindkettőt használtam már arduinoval, mindkettő működik, de kicsit át kell alakítani a kódot:
Bekötni valahogy így kell: Link

És az elején ezt:
  1. #include <LiquidCrystal_I2C.h>
  2. LiquidCrystal_I2C lcd(0x3f,20,4);  //sometimes the adress is not 0x3f. Change to 0x27 if it dosn't work.


Cseréld le erre:
  1. // include the library code:
  2. #include <LiquidCrystal.h>
  3.  
  4. // initialize the library by associating any needed LCD interface pin
  5. // with the arduino pin number it is connected to
  6. const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
  7. LiquidCrystal lcd(rs, en, d4, d5, d6, d7);


Ne zavarjon meg, hogy uno vagy nano, a pin-ek ugyanazok, maximum máshol vannak.

Bár ez a const int téma nem tetszik nekem, de ez jó eséllyel működik, most nem akarok plusz hibalehetőséget belevinni így meccsnézés közben.
(#) jointsilver36 válasza vargaf hozzászólására (») Dec 3, 2017 /
 
Ilyen volt itthol,mi kéne hozzá ,hogy használni tudjam?
Következő: »»   402 / 853
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