|
|
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 2025 02 09, 01:50. Visos datos yra GMT + 2 valandos.
|
|
|
|
Forumas » Programavimas » Arduino pwm value to screen?
|
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
|
|
|
Puslapis 4 iš 4 Pereiti prie Atgal 1, 2, 3, 4 |
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 24, 20:32 |
|
|
|
Na o šitaip a bus gerai (nors atrodo labai sudėtingai)?:
Kodas: |
#include <Wire.h>
#include <Time.h>
#include <DS1307RTC.h>
//Set time to ON
int hour1 = 12;
int min1 = 0;
int sec1 = 0;
//Set time to OFF
int hour2 = 12;
int min2 = 30;
int sec2 = 0;
//Set the pin number to relay ckt
const int relay = 8;
void turnOn(int timeOn){
digitalWrite(relay, HIGH);
}
void turnOff(int timeOff){
digitalWrite(relay, LOW);
}
void setup() {
Serial.begin(9600);
pinMode(relay, OUTPUT);
while (!Serial) ; // wait for serial
}
void loop() {
tmElements_t tm;
if (RTC.read(tm)) {
//Here goes you actual code
if(tm.Hour == hour1 && tm.Minutes == min1 && tm.Second == sec1)
turnOn();
if (RTC.read(tm)) {
//Here goes you actual code
if(tm.Hour == hour2 && tm.Minutes == min2 && tm.Second == sec2)
turnOff();
}
delay(100);
}
|
|
|
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 24, 21:43 |
|
|
|
O šiaip tai, galėtumėt tiesiai šviesiai pasakyti, ką man įrašyti vietoj XXX. Kaip ten bebūtų programerio iš manęs nebus (duonos kąsnio neatimsiu), komercinio produkto iš šito irgi kurti neketinu:
Kodas: |
if(currentTime = XXX{ // Time 11:00
digitalWrite(relay1Pin, HIGH); // turn the relay on
else
digitalWrite(relay1Pin, LOW); // turn the relay off |
Gal žinote kokį nors lietuvišką forumą, apie arduino programavimą (angliškai netinka, nes pasirodo ir gimtąja kalba sunku išsiaiškinti)?[/code] |
|
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 24, 23:14 |
|
|
|
Paimkim ta pati kodo gabala, kuri jau buvai idejes. As tycia ana karta neryskinau tos eilutes, kuri tau labiau tiktu. Paziurek dabar:
Citata: |
Citata: |
// ----------------------- Loop -----------------------
void loop() {
// Get current time
CurrentTime = RTC.now();
// Update lights
UpdateLights(CurrentTime);
// DATA IR LAIKAS EKRANE
DateTime now = RTC.now();
// Data
lcd.setCursor(0, 0);
lcd.print(now.year(), DEC);
lcd.print('.');
if (now.month() < 10) lcd.print("0");
lcd.print(now.month(), DEC);
lcd.print('.');
if (now.day() < 10) lcd.print("0");
lcd.print(now.day(), DEC);
lcd.print(' ');
lcd.print(' ');
// Laikas
if (now.hour() < 10) lcd.print("0");
lcd.print(now.hour(), DEC);
lcd.print(':');
if (now.minute() < 10) lcd.print("0");
lcd.print(now.minute(), DEC);
lcd.print(':');
if (now.second() < 10) lcd.print("0");
lcd.print(now.second(), DEC);
}
|
|
Taigi, pagal tavo pavyzdi, tu turi apsirasyti kintamaji:
Kodas: |
DateTime currentTime = RTC.now(); |
Gal jau tas ir yra, nezinau, neparodei.
Toliau tau sakei reikia pasitikrinti laika:
Kodas: |
if(currentTime.hour() == 11 && currentTime.minute() == 0) {
digitalWrite(relay1Pin, HIGH);
}
if(currentTime.hour() == 9 && currentTime.minute() == 0) {
digitalWrite(relay1Pin, LOW);
} |
As tiesa sakant nezinau, kodel po kintamuju parasymo reikia tu ()... C kalboje ju nebuna, nebent tai funkcija, bet cia matyt arduino kazkoks ismislas.
Tau dar reikia isitikinti, kad RTC laikrodis naudoja 24 valandu formata.
P.S. BIbliotekoje nenumatyti keliamieji metai ir vasaris ten visuomet turi 28 dienas. |
|
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 03:26 |
|
|
|
Saulix rašo: |
DĖKUI |
Bet ar supratai kur mintis ir kodel ta laika pasitikrinti butent taip? |
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 15:18 |
|
|
|
Pirmiausia aš gal vakare po darbo parašinėsiu pasibandysiu, o tada bus matyt kas neaišku, veikia ar ne |
|
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 18:47 |
|
|
|
Deja, jūsų parašyta kodo dalis nebeveikia, bet tas užrašas davė man žinių apie arduino (o gal C++) sintaksę - ir tai padėjo:
Kodas: |
const int relay1Pin = 3;
void setup() {
pinMode(relay1Pin, OUTPUT); CO2 relay
}
void loop() {
CurrentTime = RTC.now();
DateTime now = RTC.now();
if(now.hour() == 18 && now.minute() == 37) {
digitalWrite(relay1Pin, HIGH);
}
if(now.hour() == 18 && now.minute() == 38) {
digitalWrite(relay1Pin, LOW);
}
} |
Belieka tik tinkamoj vietoj į ekraną išvesti: Relay ON/OFF. Šios dalies blogis yra tas, kad išsijungus arduinui išėjime lieka LOW reikšmė T.y. kad ir trumpam dingus įtampai pin reikšmė nusimuš...
O aš jau tikėjausi, kad šiame etape beliko paskutinė mano programavimo epopėjos dalis: padaryti relės valdymą nuo mygtuko - t.y. vieną kartą paspaudus išėjime gauti: digitalWrite(relay2Pin, HIGH) kitą kartą paspaudus - digitalWrite(relay2Pin, LOW) |
|
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 20:23 |
|
|
|
Ta dalis neveike, nes net kintamojo aprasymo teisingai atkopijuot nuo mano posto nesugebejai
Tavo atveju dabar eilute:
Kodas: |
CurrentTime = RTC.now(); |
tapo nebereikalinga.
Citata: |
O aš jau tikėjausi, kad šiame etape beliko paskutinė mano programavimo epopėjos dalis: padaryti relės valdymą nuo mygtuko - t.y. vieną kartą paspaudus išėjime gauti: digitalWrite(relay2Pin, HIGH) kitą kartą paspaudus - digitalWrite(relay2Pin, LOW) |
Smagiausia dalis liko! Turesi ismokti issaugoti esama ir buvusia statuso busena ir pakeisti statusa, jei naujasis skiriasi nuo senojo.
Arba naudok DigitalToggle bilioteka, jei teisingai radau ieskodamas "Arduino toggle" |
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 20:57 |
|
|
|
O tikrai čia toggle turi būti. Man pasirodė, kad toggle tik pakeičia būseną: jei buvo low padaro hight ir atvirkščiai... |
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 21:46 |
|
|
|
Saulix rašo: |
O tikrai čia toggle turi būti. Man pasirodė, kad toggle tik pakeičia būseną: jei buvo low padaro hight ir atvirkščiai... |
Tai tau to ir reikia? Kaskart paspaudus mygtuka ta busena turi apsiversti? Seki einama busena, issisaugai buvusia busena ir ziuri kada reikia apversti |
|
|
|
|
|
Arduino pwm value to screen? |
Parašytas: 2016 01 25, 22:11 |
|
|
|
Ups, atsiprašau, kažkaip neįdėmiai perskaičiau čia gi viskas apie "paskutinę dalį" - varau skaitinėti ir aiškintis. |
|
|
|
|
|
|
Google paieška forume |
|
|
Naujos temos forume |
|
|
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
|
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
|
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
|
VAT calculator
VAT number check,
What is VAT,
How much is VAT |
|
LEGO
Mänguköök,
mudelautod,
nukuvanker |
|
KCD2 Mods
Installing KCD 2 Mods,
KCD 2 Guides,
KCD 2 Cheats |
|
FS25 Mods
FS25 Harvesters,
FS25 Tractors Mods,
FS25 Maps Mods |
|
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
|
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
|
GTA 6 Wiki
GTA 6 Map,
GTA 6 Characters,
GTA 6 News |
|
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
|
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
|
|
|