BlindP
Vytvořené odpovědi
-
AutorPříspěvky
-
BlindPÚčastník
No na té fotce je jen pasivní čip – http://arduino8.webnode.cz/news/lekce-33-arduino-a-modul-ctecky-rfid/.
BlindPÚčastníkAhoj, stačí použít osciloskop
https://www.youtube.com/watch?v=KDePJKx8inw
nebo si postavit tohle http://www.proxmark.org/ a nebo se v práci zeptat. 😀BlindPÚčastníkAhoj, pt100 moc není vhodný pro tuto aplikaci, spíš tak měřit teplotu v troubě. 😀
Nešlo by ty napaječky nějak sloučit do jedné a mít jen centrální nádrž? Jako čidlo třeba lm35 by stačilo.Uno stačit bude, stačit bude i pro mini.BP
https://bastlirna.hwkitchen.cz/forum/tema/klon-ano-ne/BlindPÚčastníkSmyčka for – https://www.arduino.cc/en/Reference/For
Kompletní kód – https://www.arduino.cc/en/Tutorial/KnightRider
Jirka už Ti přece ten kód tady napsal.
BPBlindPÚčastníkAhoj, serial.read přečte jeden byte. Zkus to takhle:
while(Serial.available() > 0) { hodiny = Serial.parseInt(); minuty = Serial.parseInt(); sekundy = Serial.parseInt(); if(Serial.read() == '\n') { break; } }
Čas potom nastavíš posláním 22:23:24.
https://www.arduino.cc/en/Reference/ParseInt
BPBlindPÚčastníkZbyšek Voda: Přehlédl jsem Vaši odpověď, odpovídám trošku později 😀 Ano mám v plánu to dál rozvíjet, ale jednak se na tom teprve učím a dál toho času taky není moc, takže nedokáži předpovědět kdy. 😀 Ale přidal jsem digitální graf zobrazující 1 nebo 0 + délku poslední vysoké úrovně v ms. Vytvoření je podobné:
Digital mujgraf; mujgraf = new Digital(x_pos,y_pos,x_size,y_size,color);
vykreslení:
mujgraf.kresli(true|false);
BPAttachments:
BlindPÚčastníkPro vkládání kódu doporučuji používat značky CODE:
for(int i = 2; i < 12; i++) { digitalWrite(i, HIGH); delay(prodleva); }
lépe se to čte. Můžes si i napsat vlastní funkci a zpoždění jí předávat jako parametr – https://bastlirna.hwkitchen.cz/uzivatelsky-definovane-funkce-2/ U ledPin- Ti chybí jedno mínus ledPin– – https://www.arduino.cc/en/Reference/Increment BP
EDIT: Ne máš to správně, jen tenhle font to zobrazuje dohromady, další důvod pro používání značek CODE. 🙂
BlindPÚčastníkCykly a podmínky jsou základ každého programovacího jazyka, doporučuji se je naučit. 😉 Pro začátek tady – https://bastlirna.hwkitchen.cz/seriova-komunikace-a-cykly/ A nebo si pod stromeček naděl „Průvodce světem arduina“ – jde stáhnout i jako pdf. 😀 Hodně štěští. BP
BlindPÚčastníkTento tutorial je asi to co hledáš. 😉 Jen si tam budeš muset přidat něco jako
ledPin++
. B.BlindPÚčastníkUpdate!
Přidal jsem čárový graf, pole zobrazující aktualní hodnotu + možnost přidání min a max hodnoty stupnice.
Nový graf vytvoříte:
Graf teplota;
nebo pro plný:GrafPlny teplota;
dále
teplota = new Graf(pozice x, pozice y, velikost x, velikost y, barva, min, max);
Pokud zadáte pro max nulu, maximální hodnota se přizpůsobí.překreslení grafu zůstalo stejné:
teplota.kresli(hodnota typu float);
B.
Attachments:
BlindPÚčastníkAhoj, protože 1*60*0.3142*0.06 = 1.13112 (jeden puls)
B.
5.9.2016 v 16:07 odpověď na: Dvě časově ovládaná relé ovládaná dvěma vzájemně se vybavujícími tlačítky #8266BlindPÚčastníkTaky přihodím 🙂
# define RELE1_PIN 5 # define RELE2_PIN 6 # define TLAC1_PIN 2 # define TLAC2_PIN 3 unsigned long pre_mill = 0; const long interval = 30000; void setup() { Serial.begin(9600); pinMode(TLAC1_PIN, INPUT_PULLUP); pinMode(TLAC2_PIN, INPUT_PULLUP); pinMode(RELE1_PIN, OUTPUT); pinMode(RELE2_PIN, OUTPUT); digitalWrite(RELE1_PIN, HIGH); digitalWrite(RELE2_PIN, HIGH); } void loop() { if(digitalRead(TLAC1_PIN) == LOW) { pre_mill = millis(); digitalWrite(RELE2_PIN, HIGH); digitalWrite(RELE1_PIN, LOW); //Serial.println("Vypinam rele c.2, zapinam rele c. 1"); } if(digitalRead(TLAC2_PIN) == LOW) { pre_mill = millis(); digitalWrite(RELE1_PIN, HIGH); digitalWrite(RELE2_PIN, LOW); //Serial.println("Vypinam rele c.1, zapinam rele c. 2"); } if(millis() - pre_mill >= interval) { digitalWrite(RELE1_PIN, HIGH); digitalWrite(RELE2_PIN, HIGH); //Serial.println("Cas vyprsel vypinam obe dve rele!!!"); } }
4.9.2016 v 16:02 odpověď na: Dvě časově ovládaná relé ovládaná dvěma vzájemně se vybavujícími tlačítky #8256BlindPÚčastník„Pokud odpojíte digitální I/O pin od všech komponentů a čtete na něm digitální hodnotu, může se stát, že bude výstup vracet náhodně LOW nebo HIGH. Může za to citlivost tohoto vstupu, který při měření detekuje i magnetický šum v jeho okolí. Této vlastnosti se občas využívá při generování náhodných hodnot, ale v našem případě je nežádoucí. Kvůli tomu zde máme pull-down rezistor, který zajistí „uzemnění“ digitálního vstupu.“
https://bastlirna.hwkitchen.cz/arduino-zaklady-4-digital-read-serial/
BlindPÚčastníkAhoj, tady najdeš odpověď.
http://www.instructables.com/id/Play-Music-on-Arduino-and-TFT-Touch-Screen/
BPBlindPÚčastníkAhoj, české znaky si budeš muset „nakreslit“ pomocí jedniček a nul.
B01010000, //č B00100000, B01110000, B10001000, B10000000, B10001000, B01110000, 6,
http://tronixstuff.com/2013/10/11/tutorial-arduino-max7219-led-display-driver-ic/ BP
9.7.2016 v 0:15 odpověď na: Jak po stisku tlačítka zapsat a odentrovat hodnotu do serial boxu. #7581BlindPÚčastníkTaky to nechápu, Serial.print(„X100“) odešle DO PC X100. Pro odeslání Z PC do arduina použij ten serial monitor.
Nepotřebuješ spíš tohle?if (digitalRead(11) == LOW){ pocetPulsu = 100; }
BP
BlindPÚčastníkavrdude: ser_open(): can’t open device „/dev/ttyACM0“: Permission denied
Zkus se přidat do skupiny dialout, lock, uucp.
https://playground.arduino.cc/Linux/OpenSUSE
Hodně štěstí.
BlindPÚčastníkAno zůstal by svítit pokud by millis přetekl během svícení. Možná pomůže přidat OR millis() < previousMillis.
BlindPÚčastníkAhoj, našel jsem tohle – https://hallard.me/max31865/
BlindPÚčastníkAhoj, zkus použít funkci Millis pro časování viz příklad „BlinkWithoutDelay“.
const int ledPin = 13; const int tlac = 7; unsigned long previousMillis = 0; const long interval = 5000; void setup() { pinMode(ledPin, OUTPUT); pinMode(tlac, INPUT); } void loop() { if(digitalRead(tlac) == LOW) { previousMillis = millis(); digitalWrite(ledPin, HIGH); } unsigned long currentMillis = millis(); if(currentMillis - previousMillis >= interval) { digitalWrite(ledPin, LOW); } }
Po stisknutí tlačítka sepne led a po 5 vteřinách zhasne.
B.BlindPÚčastníkAhoj,
s eeprom nemám zkušenosti, ale to neustále přepisování nebude to pravé. Zkus zapisovat jen pokud se hodnoty liší. Mrkni se EEprom lekce 17.Nastavení teploty
float krok = 0.5; float settemp = 25; if (digitalRead(TlacPlus)==LOW) { settemp = settemp + krok; } if (digitalRead(TlacMinus)==LOW) { settemp = settemp - krok; }
Taky bych přidal hysterezi, jinak ti bude relé kolem nastavené hodnoty zapínat a vypínat
boolean topeni = false; float temp_offset = 2; //hystereze if(topeni) { //topeni je zapnuto if(teplota > settemp) { if((teplota - settemp) > temp_offset) { topeni = LOW; digitalWrite(rele, LOW); } } } else { if(teplota < settemp) { if((settemp - teplota) > temp_offset) { topeni = HIGH; digitalWrite(rele, HIGH); } } }
Snad jsem pomohl 🙂
-
AutorPříspěvky