Keresés

Részletes keresés

Vargham Creative Commons License 2017.02.13 0 0 2823

> de nem jó

Pontosan mi nem jó? Mit szeretnél, és mi történik helyette?

Előzmény: ucs69 (2821)
ucs69 Creative Commons License 2017.02.13 0 0 2822

const byte btnPin = 2; //(konstans) Ide van kotve a nyomogomb
const byte ledPin = 10; //(konstans) Ide van kotve a led
const int analogInPin = A0;
const int analogOutPin = 10;
byte btnState = HIGH;  //(valtozo) nyomobomb allapota
byte btnPreState = HIGH; //(valtozo) nyomobomb elozo allapota
byte ledState = LOW; //(valtozo) led allapota
int sensorValue = 0;
int outputValue = 0;

void setup() {
  // egyszer fut le (beallitasok)

pinMode(ledPin,OUTPUT); // LED kimenet
pinMode(btnPin, INPUT); // Nyomogomb bemenet

}

void loop()  // vegtelen ciklus
{

   btnState = digitalRead(btnPin); //beolvassuk a nyomogomb allapotat
 
  // most feldolgozzuk a nyomogombot
// megnezzuk hogy nyomjuk es nyomtuk e, valamint hogy mikor nyomtuk utoljara
// millis() belso fuggveny megmutatja az eszkoz futasi idejet  
 
 
  if (btnState == HIGH && btnPreState == LOW)
  {     
    
    if (ledState == HIGH)
        ledState = LOW;
     
    
    else
    ledState = HIGH;   
    
  }
    
 
 digitalWrite(ledPin, ledState);
   btnPreState = btnState;

{
 
 if (ledState == HIGH);
 sensorValue = analogRead(analogInPin);
 outputValue = map(sensorValue, 0, 1023, 0, 255);

 
}

 analogWrite(analogOutPin, outputValue);

 
 }

Előzmény: Prof (2820)
ucs69 Creative Commons License 2017.02.13 0 0 2821

A void Loop-nál akadtam el, megpróbáltam logikusan összehozni, de nem jó.

Délután bemásolom.

Előzmény: Prof (2820)
Prof Creative Commons License 2017.02.12 0 0 2820

Hol tartasz most?

Előzmény: ucs69 (2819)
ucs69 Creative Commons License 2017.02.12 0 0 2819

Köszönöm a jótanácsot! De már vagy 3 délútánt rászántam, és nem akar úgy működni, ahogy leírtam. Most kezdten el foglakozni az arduinoval, és még nem látom, még nem értem, hogyan tudom összegyúrni öket jól, ezért kértem a segítséget.

Előzmény: Prof (2817)
Törölt nick Creative Commons License 2017.02.12 0 0 2818

Üdv Mindenkinek

Innen letölthető az Ignis kijelző minta vezérlő programja arduinohoz. Ez pedig a forrás.

Jó bütykölést

Prof Creative Commons License 2017.02.12 0 0 2817

Szia,

Van három alap mintaprogram az Arduino IDE oktatási anyagában (Button, Fading és AnalogInput). Ezeket kell összegyúrni. Sokkal többet érsz vele, ha rászánod ezt a délutánt (estig meglesz), mintha valaki megírja helyetted 10-15 perc alatt.

Előzmény: ucs69 (2816)
ucs69 Creative Commons License 2017.02.12 0 0 2816

Szeretnék segítséget kérni arduino programozáshoz. Egy egyszerű programra lenne szükségem, de sehol nem találok ilyet.

A következő lenne : A nyomógombbal bekapcsoljuk a ledet. Amikor világít az 1 db led, akkor 1db potméterrel  szabályozzuk a fény erejét( PWM). És amikor a nyomógombbot újra nyomjuk, akkor a led kikapcsol. 

Előre is köszönöm.

 

Tomiali Creative Commons License 2017.02.08 0 0 2815

Szia. Köszi. Nézegettem a webszervert  de nekem még kínai. :(

Előzmény: balage8888 (2814)
balage8888 Creative Commons License 2017.02.07 0 0 2814

webserver az arduionon, a gepen meg idonkent lefut egy lekerdezes, ami menti az adatokat...

Előzmény: Tomiali (2808)
Törölt nick Creative Commons License 2017.02.07 0 0 2813

Fűtés végén kiderül, újra indít-e a wdt.

7 14 58 2

7 14 58 17
7 14 58 32
7 14 58 47
7 14 59 2
7 14 59 17
7 14 59 32
7 15 0 42 itt lett feltöltve az új kód
7 15 0 57
7 15 1 18 továbbra is 15 másodpercenként ír sd-re, nincs újra indítás.
7 15 1 33
7 15 1 48
7 15 2 3
7 15 2 18
7 15 2 33
7 15 2 48
7 15 3 3
7 15 3 18
7 15 3 33
7 15 3 48
7 15 4 3
7 15 4 18
7 15 4 33
7 15 4 48
7 15 5 3
7 15 5 18
7 15 5 33
7 15 5 48
7 15 6 3
7 15 6 18
7 15 6 33
7 15 6 48

Előzmény: titusz99 (2812)
titusz99 Creative Commons License 2017.02.07 0 0 2812

Erre szerintem nincs szükség:

t.every(8*1000, wdtreset); 8 másodpercenként reseteli wdt-ert

 

Hiszen a loop-ba beteszed a wdtresetet és kész.

 

 

Egyébként szerintem állandóan újraindul a rendszered vagy nagyon határesetben működik.

 

Előzmény: Törölt nick (2811)
Törölt nick Creative Commons License 2017.02.07 0 0 2811

A program futása a fűtés vége felé megakad, a kazán szivattyú üzemel, de nem állítja le a hőfok visszaesése.

A wdt beszúrása működne, ha egyébként működik:

kiolvas_t();

t.every(5*1000, kiolvas_t); //5 másodpercenként
t.every(5*1000, serial_print); //5 másodpercenként
t.every(15*1000, sd_iras); //15 másodpercenként
t.every(6*1000, szabalyozas); //6 másodpercenként
t.every(4*1000, lcd0); //sorban 4 másodpercenként a 4 kijelzési kép
t.every(8*1000, wdtreset); 8 másodpercenként reseteli wdt-ert

pinMode(A0, OUTPUT);
SD.begin(A0);
if (!SD.begin(A0)) {

Serial.println(F("initialization failed!"));
return;

}
Serial.println(F("initialization done."));

if (SD.exists("datalog.csv")) {
Serial.println(F("datalog.csv exists."));
}
else {
Serial.println(F("datalog.csv doesn't exist."));
}
wdt_enable(WDTO_8S);
}
void loop()
{
t.update();
}
void lcd0()
{
static int c = 0;
if (c==0) lcd_idopont();
if (c==1) lcd_puffer();
if (c==2) lcd_teljesitmeny();
if (c==3) lcd_fusthofok();
c=(c+1) % 4;
}

Előzmény: titusz99 (2795)
Zizikus Creative Commons License 2017.02.04 0 0 2810

Itt egy teljes program VB.Net-re. Nem próbáltam, csak mutatom, hogy lehet sajátot is csinálni.

 

http://www.martyncurrey.com/arduino-and-visual-basic-part-1-receiving-data-from-the-arduino/

Erre kerestem rá:

 

"serial communication between PC and Arduino vb.net"

 

Persze más nyelvekre is jó.

Előzmény: Tomiali (2808)
Zizikus Creative Commons License 2017.02.04 0 0 2809

Szia

 

Ha jól emlékszem, akkor egyszerűen nem, de lehet írni kis programokat erre a célra, vagy esetleg soros terminált, vagy ahhoz hasonló programmal megoldhatod.

A serialprint utasítások a sorosportra írnak, szóval a mai VS rendszerben pl elég könnyen lehet íni olyan programot, ami figyeli a megadott portot, és ha jön adat akkor rögzíti.

 

De lehet jönnek mások, akik már megoldották ezt.

Előzmény: Tomiali (2808)
Tomiali Creative Commons License 2017.02.04 0 0 2808

Sziasztok.

Össze van kötve az arduinom egy számítógéppel hőmérsékleteket mérek. Meg lehet valahogy oldani, hogy időnként mentse az adatokat a gépre?

 

Köszönöm

Prof Creative Commons License 2017.01.30 0 0 2807

Műszerdoboz, kötőszekrény, fa doboz (DIY), a kijelző köré pedig keret (rendszerint mindent kapni).

Előzmény: gibsongityo (2806)
gibsongityo Creative Commons License 2017.01.30 0 0 2806

Sziasztok

 

Érdekelne milyen burkolatokat tudtok 2 és 4 soros kijelzőhöz 

 

Ilyeneket tennék fel a falra és jó lenne valami faja burkolat 

 

 

 

Tomiali Creative Commons License 2017.01.28 0 0 2805

Köszi meg nézem.

Előzmény: halaloszto (2804)
halaloszto Creative Commons License 2017.01.27 0 0 2804

olvass utánna a PID szabályozás témának. Amit leírsz, az a D belóle. neked egy PD is elég. 

 

az is jó lehet, ha keresel egy arduino PID példaprogramot, és játszol kicsit a paraméterekkel.

 

Vajk

Előzmény: Tomiali (2803)
Tomiali Creative Commons License 2017.01.27 0 0 2803

Sziasztok.

Egy kis segítséget kérnék.

Mérek egy hőmérsékletet, van egy beállított hőmérsékletem ha alá megy a mért meg húz egy relét x ideig, majd elengedi és vár hogy menjen feljebb a hőmérséklet.

Ha letelik a várakozás és nem ment feljebb a beállított fölé megint meg húz. Ez így megy addig míg el nem éri a beállítottat. Hogy lehetne azt megoldani, hogy ha nem érte el a beállítottat de emelkedik a hőmérséklet akkor ne húzza be a relét?

 

Köszönöm

halaloszto Creative Commons License 2017.01.26 0 0 2802

ez király!!

 

ezeket a motorokat nem szánták tartós üzemre ugye. 50-60fok nem árthat neki, szóval amíg a kezed állja, addig ok.


Vajk

Előzmény: Trike. (2801)
Trike. Creative Commons License 2017.01.26 0 1 2801

Mire jó a hideg? Nincs kedvem kimozdulni, ergó van időm otthon :)

 

Már minden szép és jó, csak baromira melegszenek a motorok.

 

10mA a nyugalmi áramfelvétele.

 

Előzmény: Trike. (2800)
Trike. Creative Commons License 2017.01.25 0 0 2800

Közben sikerült, de úgy kattog, mint a ...

 

Az eredeti felhasználási helyén szép csendben zümmögött. Tuti még valami nem stimmel a Settins-ben :(

Előzmény: Trike. (2799)
Trike. Creative Commons License 2017.01.24 0 1 2799

Épített már valaki CD-ROM CNC-t?

 

Nekem összeállt, de a GRBL Settings kifogott rajtam :(

 

Törölt nick Creative Commons License 2017.01.24 0 0 2798

Feltöltöttem a vezérlőre, de meg kellett hagyni:

 

void sd_iras()
{
SD.begin(A0); // elhagyva nem nyitja meg a datalog.csv-t
freeRam();

 

 

Előzmény: Törölt nick (2796)
szf10 Creative Commons License 2017.01.24 0 0 2797

Üdvözlök mindenkit itt a fórumon.

Elakadtam egy NODEMCU-val szerettem volna illeszteni hozzá egy hőelemet MAX6675-el.

De 


#include <avr/pgmspace.h>

 

hiányolja.

 

De ezt nem tudom pótolni, amit a GIThub-ról letöltök avval sem jutottam előrébb.

 Remélem tud valaki segíteni.

 

Köszönöm

Törölt nick Creative Commons License 2017.01.24 0 0 2796

Javítások után:

 

1.8.0

Sketch uses 26414 bytes (81%) of program storage space. Maximum is 32256 bytes.
Global variables use 1367 bytes (66%) of dynamic memory, leaving 681 bytes for local variables. Maximum is 2048 bytes.

 

1.6.4

Sketch uses 29 490 bytes (91%) of program storage space. Maximum is 32 256 bytes.
Global variables use 1 357 bytes (66%) of dynamic memory, leaving 691 bytes for local variables. Maximum is 2 048 bytes.

 

Tetszik az 1.8.0, vajon miért jeleníti meg az I2C lcd-n a karaktereket?

Library gond nem lehet, mindkettő ugyan azt használja.

Előzmény: titusz99 (2795)
titusz99 Creative Commons License 2017.01.24 0 0 2795

Javítások:
Timer.h:
   #define MAX_NUMBER_OF_EVENTS (10) helyett #define MAX_NUMBER_OF_EVENTS (5)


void sd_iras()
{
SD.begin(A0);

helyett csak:

void sd_iras()
{
freeRam();


Ezt másképpen (és persze a többit is): dataString += String(dayOfMonth, DEC);
dataString += dayOfMonth;


A Serial.println(freeRam());-eket törölheted.
Elég lesz az egy is.

A dataString.reserve(150); szükséges, de tényleg jól meg kell saccolnod a méretét.
E nélkül folyamatosan növeli a dataString bufferének méretét.

A soros sebességet emeld meg.
Esetleg irasd ki az dataString-et Serial-ra.



Ez csere:
if (!SD.begin(A0)) {

Serial.println("initialization failed!");
return;
}
Serial.println("initialization done.");

if (SD.exists("datalog.csv")) {
Serial.println("datalog.csv exists.");
}
else {
Serial.println("datalog.csv doesn't exist.");
}

Erre:
if (!SD.begin(A0)) {

Serial.println(F("initialization failed!"));
return;
}
Serial.println(F("initialization done."));

if (SD.exists("datalog.csv")) {
Serial.println(F("datalog.csv exists."));
}
else {
Serial.println(F("datalog.csv doesn't exist."));
}



Setup-on belül:
SD.begin(A0);
if (!SD.begin(A0)) {

Felesleges az eslő SD.begin, csak egyszer kell meghívni.



Ezek után NANO-ra:
1.6.12v:
Sketch uses 26 012 bytes (84%) of program storage space. Maximum is 30 720 bytes.
Global variables use 1 365 bytes (66%) of dynamic memory, leaving 683 bytes for local variables. Maximum is 2 048 bytes.

1.7.11v:
Sketch uses 29 530 bytes (96%) of program storage space. Maximum is 30 720 bytes.
Global variables use 1 355 bytes (66%) of dynamic memory, leaving 693 bytes for local variables. Maximum is 2 048 bytes.

1.8.1v:
Sketch uses 26008 bytes (84%) of program storage space. Maximum is 30720 bytes.
Global variables use 1363 bytes (66%) of dynamic memory, leaving 685 bytes for local variables. Maximum is 2048 bytes.

Előzmény: Törölt nick (2792)
titusz99 Creative Commons License 2017.01.23 0 0 2794

Ami zavar, hogy a két verzió első freeram-ja lényegesen eltér egymástól.

Ha jól látom 180 byte.

 

Olyan mintha az F() makró figyelmen kívűl lenne hagyva.

 

Ha lesz időm holnap megnézem, hogy SD mit eszik.

 

 

Előzmény: Törölt nick (2792)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!