|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2024 04 19, 05:53. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Mikrovaldikliai » Arduino platforma
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
|
Arduino platforma |
Parašytas: 2016 11 26, 20:13 |
|
|
|
Tai aprasyk ko nesupratai, nes mano stiklinis rutulys kotai migla i akis pucia. |
|
|
|
|
|
|
Arduino platforma |
Parašytas: 2016 11 27, 13:32 |
|
|
|
prieš tai parašiau supaprastintą variantą, galvojau, kad pritaikysiu sudetingesnėj situacijoj, bet gavosi netoks delay kaip tikėjausi. Man reikia, kad paspaudus mygtuką trys ledai užsidegtų vienas paskui kitą. jej mygtukas būtų vienas tai tas (delay) tiktų, bet va problema, kad du mygtukai.
const int buttonPin = 2; // the number of the pushbutton pin
const int button2Pin = 4; // the number of the pushbutton pin
const int ledPin1 = 6;
const int ledPin2 = 7; // the number of the LED pin
const int ledPin3 = 8; // the number of the LED pin
const int ledPin4 = 9;
const int ledPin5 = 10; // the number of the LED pin
const int ledPin6 = 11; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
int button2State = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(buttonPin, INPUT);
pinMode(button2Pin, INPUT);
}
void loop(){
buttonState = digitalRead(buttonPin);
button2State = digitalRead(button2Pin);
if (buttonState == HIGH) {
digitalWrite(ledPin1, HIGH);
delay(200);
digitalWrite(ledPin2, HIGH);
delay(200);
digitalWrite(ledPin3, HIGH);
delay(200);
}
else {
// turn LED off:
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, LOW);
digitalWrite(ledPin3, LOW);
}
if (button2State == HIGH) {
digitalWrite(ledPin6, HIGH);
delay(200);
digitalWrite(ledPin5, HIGH);
delay(200);
digitalWrite(ledPin4, HIGH);
delay(200);
}
else {
digitalWrite(ledPin6, LOW);
digitalWrite(ledPin5, LOW);
digitalWrite(ledPin4, LOW);
}
} |
|
|
|
|
|
|
Arduino platforma |
Parašytas: 2016 11 27, 16:27 |
|
|
|
naudoji pačią blogiausią funkciją delay(). ateitį teks gyventi be jos. Pradėk jau dabar galvoti, kaip ją pakeist tik tiek.... |
|
|
|
|
|
Arduino platforma |
Parašytas: 2016 11 27, 23:10 |
|
|
|
krienas rašo: |
naudoji pačią blogiausią funkciją delay(). ateitį teks gyventi be jos. Pradėk jau dabar galvoti, kaip ją pakeist tik tiek.... |
tam reikalui puikiai tinka millis() funkcija |
|
_________________ Skype: dmb-220 |
|
|
|
|
Arduino platforma |
Parašytas: 2016 11 27, 23:28 |
|
|
|
kaip pavadinsi tai nesvarbu, esmė lygiagretumas, o iki jo augti reikia ir kodint kodint...
Pradžioje, bet koks kodas veikiantis tai jau gerai.... |
|
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 25, 21:33 |
|
|
|
sveiki, gal kas pades man isiaiskinti problemele. turiu parases koduka, kad valdytu nuo temperaturos sildymo elementa. problema ta, kad jai nustatau 38 jis pasiekes turi išjungti o atvėses 0,2 laipsniais vėl pasileisti. problema ta, kad kartais atvėsta ir iki 0,3 o kartais ir kaitina iki 38,1 ir nesuprantu kodėl
Kodas: |
#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <RotaryEncoder.h>
RotaryEncoder rotaryEncoder = RotaryEncoder(); // CLK = pin 3, DAT = pin 2, SW = pin A1
LiquidCrystal_I2C lcd(0x27,16,2); // put here correct address of lcd... if not known, use Arduino I2CScanner given in above link
#define DHTPIN 7
#define DHTTYPE DHT22 // DHT 22 (AM2302)
DHT dht(DHTPIN, DHTTYPE);
float temp; // mums reikalinga temperatura
float h;
float t;
void setup() {
dht.begin();
lcd.begin(); lcd.backlight(); lcd.home();
lcd.setCursor(0, 0); // column 0 , row 0 i.e. top line of LCD
lcd.print("Laisvasukis.lt");
lcd.setCursor(0,1);
lcd.print("versija 1");
delay(5000);
lcd.clear();
temp = 37.90;
pinMode(13,OUTPUT);
}
int Pos;
void loop() {
delay(250);
int h = dht.readHumidity();
float t = dht.readTemperature();
lcd.setCursor(0, 0);
lcd.print("D:");
lcd.print(h);
lcd.print("%");
lcd.setCursor(7, 0);
lcd.print("T:");
lcd.print(t);
lcd.print("C ");
rotaryEncoder.startDebouncer(); // has to be inside loop to enable debouncer
Pos = nuskaityti_enkoderi();
temperaturos_keitimas();
if (t = temp){
digitalWrite(13, LOW);
}
else if (t = temp-0.2) {
digitalWrite(13, HIGH);
}
}
////////////////////////////////////////////////////
int nuskaityti_enkoderi() {
if (rotaryEncoder.hasChanged()) {
volatile byte encoderPos = rotaryEncoder.encodedPos() % 5; //pasirenkam kiek meniu koamdu reikia
return (int)encoderPos;
}
}
///////////////////////////////////////////////////
void temperaturos_keitimas(){
switch (Pos) {
case 0:
lcd.setCursor(10, 1);
lcd.print("-0.5C");
break;
case 1:
lcd.setCursor(10, 1);
lcd.print("-0.1C");
break;
case 2:
lcd.setCursor(10, 1);
lcd.print(" 0C");
break;
case 3:
lcd.setCursor(10, 1);
lcd.print("+0.1C");
break;
case 4:
lcd.setCursor(10, 1);
lcd.print("+0.5C");
break;
default:
lcd.setCursor(10, 1);
lcd.print("kita");
break;
}
if (rotaryEncoder.hasButtonPushed()){
if (Pos == 0){temp = temp - 0.5;}
if (Pos == 1){temp = temp - 0.1;}
if (Pos == 3){temp = temp + 0.1;}
if (Pos == 4){temp = temp + 0.5;}
lcd.setCursor(0, 1);
lcd.print("Nus:");
lcd.print(temp);
delay(0);
}
}
|
o man reikia jai nustatau 38 tai išjunge o nukritus iki 37,8 pasileistu. |
|
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 25, 22:16 |
|
|
|
Ar tau kompiliatorius nesikeikia kai if(t=temp)....
šiaip tai korektiškiau butu taip
Kodas: |
if (t >= temp){
digitalWrite(13, LOW);
}
else if (t <= temp-0.2) {
digitalWrite(13, HIGH);
} |
|
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 25, 22:31 |
|
|
|
Ingo rašo: |
Ar tau kompiliatorius nesikeikia kai if(t=temp)....
šiaip tai korektiškiau butu taip
Kodas: |
if (t >= temp){
digitalWrite(13, LOW);
}
else if (t <= temp-0.2) {
digitalWrite(13, HIGH);
} |
|
nesikeikia, bandžiau ir taip. vistiek kaip nori taip reguoja. diena gerai, poto sumasto savaip vel |
|
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 25, 23:29 |
|
|
|
Pradzioje panaikink priskyrimo operatoriu salygoje, nes tau akivaizdziai reikia sulyginti realia temperatura su nustatyta, o ne priskirti besikeiciancia temperatura "nustatytai" ir po to tikrinti ar ji nelygi 0
rasai:
Kodas: |
if (t = temp){
digitalWrite(13, LOW);
}
else if (t = temp-0.2) {
digitalWrite(13, HIGH);
}
|
o gaunasi:
Kodas: |
t = temp;
if (t != 0){
digitalWrite(13, LOW);
}
else {
t = temp-0.2;
if (t != 0) {
digitalWrite(13, HIGH);
}
}
|
dar atkreipk demesi, kad DHT daviklis temperatura matuoja kurkas didesniu diskretiskumu nei 0.2 'C, todel net ir "teisingas" algoritmas tau nedirbs.
Kas del pacio reguliavimo - pasidomek PID algoritmu ir daviklio duomenu diskriminavimu. |
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 26, 11:19 |
|
|
|
o Algi, gal tnka kitoks daviklis dėl tikslumo? PVZ: DS18B20; Thermistor 10kOm |
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 26, 13:12 |
|
|
|
Aciu Algi, bandysiu iššifruot jusu duota medžiaga |
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 26, 20:50 |
|
|
|
AlgisL rašo: |
Kodas: |
t = temp;
if (t != 0){
digitalWrite(13, LOW);
}
else {
t = temp-0.2;
if (t != 0) {
digitalWrite(13, HIGH);
}
}
|
|
O tas tavo kodukas kaip pavizdinis Algi? nes pakeitus niekas nereguoja i ji |
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 26, 21:00 |
|
|
|
Pasigirk kokioj mokslo "sventovej" issilavinima igyjai? |
|
|
|
|
|
Arduino platforma |
Parašytas: 2017 02 26, 21:15 |
|
|
|
AlgisL rašo: |
Pasigirk kokioj mokslo "sventovej" issilavinima igyjai? |
ta prasme? na as dar rutulio neturiu jokio kaip tu. pati pradzia man |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS 22 Tractors
Farming Simulator 19 Mods,
FS 22 Maps,
FS22 Mods |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS22 Trucks |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
Paskola internetu
Vartojimo paskola,
paskola automobiliui,
paskola būsto remontui |
|
Thermal monocular
Thermal vision camera,
Night vision ar scope,
Night vision spotting scope |
|
FS22 Mods
FS22 Harvesters,
FS22 Tractors Mods,
FS22 Maps Mods |
|
FS22 Mods
FS22 Maps,
FS22 Harvesters,
FS22 Tractors |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
Sims 4 Mods
Sims 4 CC Clothes,
Sims 4 Hair CC,
Sims 4 Skill Cheat |
|
Optic sight
Binoculars for hunting elk,
Best compact binoculars,
Riflescope hunting |
|
|
|