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   566 / 839
(#) odessa32 hozzászólása Nov 24, 2019 /
 
Sziasztok.
Lenne egy komoly problémám és arra keresnék megoldást nem vagyok hozzáértő, szóval első kérdésem az lenne, hogy egyáltalán ardunioval megoldható lenne-e vagy más megoldat kell-e keresni. Arra lenne szükségem, hogy 1 rész: két dahlander motort kellene vezérelni a két sebességet adott ideig. 2.resz két szivattyut üzemeltetni egymás után adott sorrendben.
Amit még így hirtelen tudok az az, hogy a mágnes kapcsolókat 24v relék kezelik.
Kapcsolási rajzok van.
Esetleg annyi meg, hogy ez egy dagasztogep vezérlése a Gyári nem kapcsol be azt kellene kiváltani.
Esetleg tudna valaki segíteni ebben??
(#) vyky hozzászólása Nov 24, 2019 /
 
Sziasztok.
  1. startButtonState = debounce(lastStartButtonState,button4Pin);
  2.     if (startButtonState != lastStartButtonState)
  3.     {
  4.     Serial.println("Start gomb megnyomva!");
  5.     Serial.print("ido (s) az LED1-en: ");
  6.     Serial.println(time1);
  7.     Serial.print("ido (s) a LED2-ön: ");
  8.     Serial.println(time2 / 1000);
  9.     Serial.print("ido (s) a LED3-on: ");
  10.     Serial.println(time3 / 1000);
  11.     startButtonCounter++;
  12.     }
  13.     timeSinceStart = round(millis() / 1000);
  14.     int millisSienceStart = millis();
  15.    
  16.     if(startButtonCounter % 2 == 1)
  17.     {
  18.     if (timeSinceStart > tmpTime && time1 != 0)
  19.     {
  20.     tmpTime = timeSinceStart;
  21.     time1--;
  22.     selectedLed = 1;
  23.     Serial.print ("Megmarado ido LED1: ");
  24.     Serial.println (time1);
  25.     analogWrite(ledPin1, brightnessLvlLED1);
  26.     analogWrite(ledPin2, LOW);
  27.     analogWrite(ledPin3, LOW);
  28.     }
  29.     else if (timeSinceStart>tmpTime && time2 != 0)
  30.     {
  31.     tmpTime = timeSinceStart;
  32.     time2--;
  33.     selectedLed = 2;
  34.     Serial.print ("Megmarado ido LED2: ");
  35.     Serial.println (time2);
  36.     analogWrite(ledPin2, brightnessLvlLED2);
  37.     analogWrite(ledPin1, LOW);
  38.     analogWrite(ledPin3, LOW);
  39.     }
  40.     else if (timeSinceStart>tmpTime && time3 != 0)
  41.     {
  42.     tmpTime = timeSinceStart;
  43.     time3--;
  44.     selectedLed = 3;
  45.     Serial.print ("Megmarado ido LED3: ");
  46.     Serial.println (time3);
  47.     analogWrite(ledPin3, brightnessLvlLED3);
  48.     analogWrite(ledPin1, LOW);
  49.     analogWrite(ledPin2, LOW);
  50.     }
  51.     else if (startButtonCounter % 2 == 1 && time1== 0 && time2 == 0 && time3 == 0)
  52.     {
  53.     Serial.println ("Time is up");
  54.     analogWrite(ledPin1, LOW);
  55.     analogWrite(ledPin2, LOW);
  56.     analogWrite(ledPin3, LOW);
  57.     selectedLed = 0;
  58.     startButtonCounter++;
  59.     }
  60.     }
  61.     if (selectedLed == 1)
  62.     {
  63.     displayNumbers(time1);
  64.     }
  65.     else if
  66.     (selectedLed == 2)
  67.     {
  68.     displayNumbers(time2);
  69.     }
  70.     else if
  71.     (selectedLed == 3)
  72.     {
  73.     displayNumbers(time3);
  74.     }
  75. }

Hogy tudnám átirni,hogy ne csak egyszer fusson le?
(#) Koncsar hozzászólása Nov 24, 2019 /
 
Ebben kérnék segítséget:
Sziasztok! Áttudnátok írni nekem az Arduino progit 2x16 soros i2C LCD re? Illetve Arduino Duemillanove 328P re? A DS18B20 az maradna. Köszi.
A hozzászólás módosítva: Nov 24, 2019
(#) kapu48 válasza vyky hozzászólására (») Nov 24, 2019 /
 
Ha ismert a száma, hogy hányszor kel ismételni valamit?
Akkor for ciklusba tesszük.
Bővebben: Link
Ha valamilyen feltétel teljesüléséig akarsz valamit ismételni?
Akkor használjuk a while:
Bővebben: Link
vagy do...while ciklus szervezést:
Bővebben: Link
(#) vyky válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
Szia. A legjobb az volna ha végtelen volna a ciklus.
De mivel ez egy az interneten fellelt kód darab így nehéz átírni.
Ezért kértem a segítséget.
(#) kapu48 válasza vyky hozzászólására (») Nov 24, 2019 /
 
A végtelen ciklus így néz ki:
  1. while (1) { // álandóan igaz marad az ismétlés feltétele
  2.   // statement(s)
  3. ....    
  4.   valahol feltétel szerint kikel lépni a break utasítással.
  5.  
  6. }

Bővebben: Link
A hozzászólás módosítva: Nov 24, 2019
(#) kapu48 válasza vyky hozzászólására (») Nov 24, 2019 /
 
És a void loop(){...} is végtelen ciklus!
(#) tbarath válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Az I2C LCD-hez kb. annyira van szükség, hogy a LiquidCrystal lib helyett a LiquidCrystal_I2C libet kell használnod. Ez - ha jól emlékszem - nem része az alap terjesztésnek, neten kell megkeresned, ha beírod gugliba az I2C LCD kifejezést, akkor tuti találsz 100 olyan tutorial-t, amiben be van linkelni, hogy honnan tudod letölteni az általuk használt verziót. A kód minimálisan kell módosítani, ha jól tudom csak az init része más.
A Duemillanove pedig kód szempontjából nem különbözik az Uno-tól, talán más a bootloader és az usbserial chip rajta ha jól tudom, de maga a uC ugyanaz.
(#) Koncsar válasza tbarath hozzászólására (») Nov 24, 2019 /
 
Köszi. Azt megnéznéd még, hogy amit belinkeltem, abban a progi működőképes? Lehet, hogy nem, mert nem tudta feltölteni.
Keresnék egy jól működő hőmérő progit, ami tud mínusz fokot és legalább 2 tizedesértékig kijelezni.
A hozzászólás módosítva: Nov 24, 2019
(#) asrock válasza vyky hozzászólására (») Nov 24, 2019 /
 
Visszatérő millisek...

  1. int led=D3;
  2.  
  3. void setup() {
  4.   pinMode(led, OUTPUT);
  5.  
  6. }
  7.  
  8. void loop() {
  9.  
  10. //blink 1sec
  11.  
  12.   if((millis() % 1000) > 500)
  13.   {
  14. digitalWrite(led, HIGH);
  15. } else {
  16. digitalWrite(led, LOW);
  17. }
  18.  
  19. }
  20.  
  21. /*
  22.  
  23. // DRIFT ONE
  24. current = millis();
  25. if (current - previous > interval)
  26. {
  27.   previous = current;
  28. }
  29.  
  30. // DRIFT TWO
  31. if (millis() - previous > interval)
  32. {
  33.   previous = millis();
  34. }
  35.  
  36. // FIXED PACE
  37. if (millis() - previous > interval)
  38. {
  39.   previous += interval;
  40. }
  41.  */
(#) tbarath válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Max. azt tudnám megnézni, hogy fordul-e, mert messze vagyok a műhelytől. De gondolom fordul ha már feltölteni próbáltad.
Az elvárásodnak pedig nem tudom mennyire felel meg a DS18B20, annak adatlap szerinti pontossága ±0.5°C Accuracy from -10°C to +85°C, és 12 bites felbontással is csak 2-4 a max. felbontása, ami 0,0625°C lépésköz.
(#) Koncsar válasza tbarath hozzászólására (») Nov 24, 2019 /
 
Nem bírtam a 328 ra feltölteni valamiért. A Flowcode os fórumon ezt a DS18B20 ajánlották.
Flowban szoktál írni?
(#) tbarath válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Nem rossz a DS18B20, csak érdemes elolvasni az adatlapját, és az alapján eldönteni, hogy alkalmas-e a feladatra. Én nem tudom, hogy mi a célod a 2 tizedes kijelzéssel, lehet hogy alkalmas. De messze nincs 0,01 fok felbontása a cuccnak, és a pontossága is csak fél fok, azt is csak az intervallum közepén garantálja a gyártó.
Flowcode-ban még sor önálló kódot se írtam - bár SPSS-ben se, de abban hibát már javítottam
A hozzászólás módosítva: Nov 24, 2019
(#) Koncsar válasza tbarath hozzászólására (») Nov 24, 2019 /
 
Ezt megnéznéd, hogy esetleg működne, mert nem tudom lefordíttatni.
A hozzászólás módosítva: Nov 24, 2019
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Kétszer szerepel a: void setup() {
Az első sorban levő nem kel.
De még így is valami zárójelezési hibája van.

Megvan az idézőjelek rosszak: lcd.print(“celsius”);
Így jó : lcd.print("celsius");
A hozzászólás módosítva: Nov 24, 2019
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Nálad még telepíteni kel az OneWire librarit is.
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
De jól esne egy kis segítség.
OneWire-t hogyan? De még mindíg nem tetszik a fordítónak.
A hozzászólás módosítva: Nov 24, 2019
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Bővebben: Link

Hiba jelzés mi?

Kép helyet inkább szövegesen rakd ide!
A hozzászólás módosítva: Nov 24, 2019
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

//DS18b20 connected to D13
#define DS18B20 13
// Connections: Sainsmart LCD/Keypad shield
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
OneWire ourWire(DS18B20);
DallasTemperature sensors(&ourWire);

void setup()
{
//Serial.begin(9600);
delay(1000);
//start reading
sensors.begin();
//setup the LCD
lcd.begin(16, 2); // start the library
lcd.setCursor(0,0);
lcd.print("TEMPERATURE");
}

void loop()
{
//read temperature and output via LCD
sensors.requestTemperatures();
lcd.setCursor(0,1);
lcd.print(sensors.getTempCByIndex(0));
lcd.setCursor(6,1);
lcd.print("celsius");
}
(#) Koncsar hozzászólása Nov 24, 2019 /
 
sketch_nov24a:2:10: error: OneWire.h: No such file or directory

#include <OneWire.h>

^~~~~~~~~~~

compilation terminated.

exit status 1
OneWire.h: No such file or directory
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Ott van, ez a hiba: sketch_nov24a:2:10: error: OneWire.h: No such file or directory

Belinkeltem hogyan telepítsed!
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
Telepítsem az összes létező könyvtárat?
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Csak az OneWire-t!
Felül van a kereső sor oda beírod.

Ha esetleg még hiányolni fog valamit? Akkor természetesen azt is telepíted.
A hozzászólás módosítva: Nov 24, 2019
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
Megvan.
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
{
#include <OneWire.h>
#include <DallasTemperature.h>
#include <LiquidCrystal.h>

//DS18b20 connected to D13
#define DS18B20 13
// Connections: Sainsmart LCD/Keypad shield
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
OneWire ourWire(DS18B20);
DallasTemperature sensors(&ourWire);

void setup()
{
//Serial.begin(9600);
delay(1000);
//start reading
sensors.begin();
//setup the LCD
lcd.begin(16, 2); // start the library
lcd.setCursor(0,0);
lcd.print("TEMPERATURE");
}

void loop()
{
//read temperature and output via LCD
sensors.requestTemperatures();
lcd.setCursor(0,1);
lcd.print(sensors.getTempCByIndex(0));
lcd.setCursor(6,1);
lcd.print("celsius");
}
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
Többszörös könyvtárak találhatók ehhez: "OneWire.h"
Használt: C:\Users\Koncsar
Nem használt: C:\Users\Koncsar
Többszörös könyvtárak találhatók ehhez: "DallasTemperature.h"
Használt: C:\Users\Koncsar
Többszörös könyvtárak találhatók ehhez: "LiquidCrystal.h"
Használt: C:\Program
exit status 1
expected unqualified-id before '{' token
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
Az első sorban mi ez a szemét? '{'
(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
Rajzold át nekem, hogy ne prüszköljön.
Lehet, hogy az c 1602A LCD miatt is görcsölni fog.
A hozzászólás módosítva: Nov 24, 2019
(#) kapu48 válasza Koncsar hozzászólására (») Nov 24, 2019 /
 
A hiba nálad van, a telepített környezetben.
Nálam fordul, miután töröltem a reklamált { jelet.
Idézet:

"C:\\Users\\Kapu48\\AppData\\Local\\Temp\\arduino_build_739720/sketch_nov24a2.ino.elf"
Vázlat használ 5982 bájt (18%) -ot a program tárhelyből. A maximum 32256 bájt.
A globális változók 108 bájt (5%)-ot használnak a dinamikus memóriából, 1940 bájtot hagyva a helyi változóknak. A maximum 2048 bájt.

(#) Koncsar válasza kapu48 hozzászólására (») Nov 24, 2019 /
 
Na most már magába fordult, velem együtt. A program szerint kéne valami hőmérsékleti értéket produkálnia? A 328 ba már beleégettem, még LCD-t kell hozzá varázsolnom.
A hozzászólás módosítva: Nov 24, 2019
Következő: »»   566 / 839
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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