- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Gurulunk, WAZE?!
- Kempingezés és sátrazás
- Viber: ingyen telefonálás a mobilodon
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
-
LOGOUT
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
Gergosz2
veterán
válasz
gyapo11 #3487 üzenetére
Simán jó lehet a komparátoros megoldás is.
Az ADC kikapcsolva és SLEEP_MODE_PWR_DOWN-ot használva már bőven uA-es tartományban alszik az Arduinod, csak arra kell figyelni, hogy LOW interruptra tudod csak felébreszteni (Due-t ,Zerot mással is lehet ebben.)
Gyakorlatilag ennyi az egész:
#include <avr/sleep.h>
void sleepNow() // here we put the arduino to sleep
{
byte adcsra = ADCSRA;
wait(100);
ADCSRA = 0;
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
attachInterrupt(0, wake_up_pin, LOW);
sleep_mode();
sleep_disable();
ADCSRA = adcsra;
detachInterrupt(0);
}Loop-ban meg meghívod a sleepNow()-t. Ha felébredt akkor onnan folytatja ahol elaludt. Pl.
Serial.println(" Megyek aludni..");
sleepNow() ; // elmegy aludni, majd felkelted
Serial.println(" Most keltem fel."); // majd innen folytatja -
tvamos
nagyúr
válasz
gyapo11 #3485 üzenetére
Arduino frameworkkel nem probaltam meg a sleep modokat, de a wdt siman mehet.
Level Interrupts
When the arduino is in SLEEP_MODE_PWR_DOWN the only way to wake it is with either a watchdog timer interrupt, a level interrupt on pins 2 or 3, or a Pin Change interrupt (see ATmega328 datasheet Table 10-1, including note 3, on pg. 38). -
kovimre
tag
válasz
gyapo11 #3450 üzenetére
Egy időzítőt kellene készíteni. Egyik állásban számoljon vissza 10 perctől, majd váltosn átt a másikra, ahol számoljon vissza 60 másodpercről (közben tartson bekapcsolva egy relét). Ezután kezdje az elsővel. Továbbá legyen lehetőség mindkét idő állítására (nyomógombokkal). Kb. ennyi.
-
tvamos
nagyúr
válasz
gyapo11 #3408 üzenetére
Oke, de akkor mar nem jo a sima, egyszeru tactile switch.
A fizika mar csak ilyen, prellezik a kapcsolo. Szoftverbol meg kell irni a filtert, oszt kesz! Akinek olyan gyorsan kell az eredmenyt, az vesz egy cortex-et, oszt tol ra egy fft-t.(Bocs, mindenre ezt szoktam a programozo kollegaimnak mondani, ha ertetlenkednek, miert ugy mukodik a hw, ahogy.)
-
tvamos
nagyúr
válasz
gyapo11 #3404 üzenetére
Ne is mond a mechanikai designt... vagy 200 tactile switchet mertem ki egy projecthez (kulonbozo gyartoktaol, a legjobb Japantol, a legegyszerubb "nevtelen" kinaiig,) oscilloscoppal. (Sajnos nem tudok meresi eredmenyeket megosztani, mert ceg.) Iszonyat ami ott tortenik, foleg, ha nem hatarozottan nyomod / engeded el. Persze, mit tud tenni a gyarto, ha meg 10 Ft-ot sem adsz egy darabert? Ott sporol, ahol csak tud... Nem vesznek az emberek higannyal nedvesitett erintkezoju nyomo gombokat.
Itt nagyon jo az oscilloscope snapshot. Mintha a sajat scope-om latnam.... -
Teasüti
nagyúr
válasz
gyapo11 #3386 üzenetére
Gombnyomásra én ezt alkottam:
//button press
if (digitalRead(8) == HIGH && !button) {
button = true;
Serial.println("Pressed");
}
else if (digitalRead(8) == LOW) button = false;Loop-ban fut természetesen és fogalmam sem volt eddig ilyen pergés effektről.
Sosem aktivál egynél többször; ezért merem ajánlani a kollégának.
Felengedésre ír vmit az else if-be és voilá!
Nem volt róla szó milyen gombról van szó.
Talán akkor a pergésmentesítéssel jobban jár, ami a linket van.Vagy lehet olyat, hogy egy lábra két megszakítást kapcsolok?
LOW és RISING? -
Janos250
őstag
válasz
gyapo11 #3366 üzenetére
"én pl. még nem láttam azt a kódot, ami akkor fog lefutni, amikor ezt a sort hajtja végre és küldi ki a soros portra a byte-okat"
Tessék:
size_t HardwareSerial::write(uint8_t c)
{
_written = true;
// If the buffer and the data register is empty, just write the byte
// to the data register and be done. This shortcut helps
// significantly improve the effective datarate at high (>
// 500kbit/s) bitrates, where interrupt overhead becomes a slowdown.
if (_tx_buffer_head == _tx_buffer_tail && bit_is_set(*_ucsra, UDRE0)) {
*_udr = c;
sbi(*_ucsra, TXC0);
return 1;
}
tx_buffer_index_t i = (_tx_buffer_head + 1) % SERIAL_TX_BUFFER_SIZE;// If the output buffer is full, there's nothing for it other than to
// wait for the interrupt handler to empty it a bit
while (i == _tx_buffer_tail) {
if (bit_is_clear(SREG, SREG_I)) {
// Interrupts are disabled, so we'll have to poll the data
// register empty flag ourselves. If it is set, pretend an
// interrupt has happened and call the handler to free up
// space for us.
if(bit_is_set(*_ucsra, UDRE0))
_tx_udr_empty_irq();
} else {
// nop, the interrupt handler will free up space for us
}
}_tx_buffer[_tx_buffer_head] = c;
_tx_buffer_head = i;sbi(*_ucsrb, UDRIE0);
return 1;
}Nem gondolom, hogy az Arduinot használók között túl sokan vannak, akik az assembly kódot akarják bogarászni. Aki mégis, az meg azt is tudja, hogyan kell a fordítót paraméterezni, hogy legyen egy közbülső assembly kódod is.
-
zka67
őstag
válasz
gyapo11 #3363 üzenetére
Szia, bocs, hogy beleszólok, de
Amíg nem tudjuk pontosan, hogy bármely pillanatban mit csinál a processzor
az elég komoly probléma, elég gyenge programozóra vall.
Nem a processzor programoz minket, hanem mi programozzuk a processzort, az pedig végre kell hogy hajtsa az utasításainkat. Nem mást, hanem azt, amit leírunk neki. Ha tudjuk, hogy mit írunk le, akkor tudni fogjuk azt is, hogy melyik pillanatban mit csinál a processzor. Szerintem...
-
Teasüti
nagyúr
válasz
gyapo11 #3354 üzenetére
Ez egy remekül összeszedett eszmefuttatás!
Amúgy mi az oka annak, h elvesznek bájtok a soros porton?
Én is küzdök ezzel a problémával és most már csak széttárom a karjaim.
De csak serial monitorból érkező adatok vesznek el, a küldött az hibátlan és a program feltöltés se hibázik. -
Daszkalosz19
aktív tag
válasz
gyapo11 #3359 üzenetére
Szia!
Jelenleg így néz ki a dolog. kiírja,hogy off,de a relé állapotváltozásra nem reagál#include "DHT.h"
#define DHTPIN 2 // what pin we're connected to
#define DHTTYPE DHT22 // DHT 22 (AM2302)
#define Relay 4
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
byte e1[8] = {B10,B100,B1110,B10001,B11111,B10000,B1110}; // Ez az é betű
byte o1[8] = {B100,B100,B0,B1110,B10001,B10001,B1110}; // Ez a hosszú ó betű
byte o2[8] = {B1010,B0,B1110,B10001,B10001,B10001,B1110}; // Ez a rövid ö betű
byte o3[8] = {B1010,B1010,B0,B1110,B10001,B10001,B1110}; // Ez a hosszú ő betű
byte a1[8] = {B10,B100,B1110,B1,B1111,B10001,B1111}; // Ez az á betű
byte u2[8] = {B1010,B0,B0,B10001,B10001,B10011,B1101}; // Ez a rövid ü betű
byte u3[8] = {B1010,B1010,B0,B10001,B10001,B10011,B1101}; // Ez a hosszú ű betű
byte i1[8] = {B10,B100,B0,B1110,B100,B100,B1110}; // Ez a hosszú í betű
int maxHum = 80;
int maxTemp = 33;
DHT dht(DHTPIN, DHTTYPE);
void setup() {
pinMode(Relay, OUTPUT);
Serial.begin(9600);
Wire.begin();
dht.begin();
lcd.begin(20, 4);
lcd.backlight();
{
lcd.setCursor(2, 0);
lcd.print("Kelteto vezerles");
lcd.setCursor(8, 0);
lcd.write(4);
lcd.setCursor(13, 0);
lcd.write(1);
lcd.setCursor(16, 0);
lcd.write(1);
lcd.setCursor(3, 1);
lcd.print(" By:Daszkalosz ");
lcd.setCursor(4, 2);
lcd.println(" 2016.07.26 ");
delay(3000);
lcd.clear();
}
lcd.createChar(1, e1); // Ez az é betű
lcd.createChar(2, a1); // Ez az á betű
lcd.createChar(3, o1); // Ez a hosszú ó betű
lcd.createChar(4, o3); // Ez a hosszú ő betű
lcd.createChar(6, u2); // Ez a rövid ü betű
lcd.createChar(7, u3); // Ez a hosszú ű betű
lcd.createChar(0, i1); // Ez a hosszú í betű
}
void loop() {
// Wait a few seconds between measurements.
delay(2000);
// Reading temperature or humidity takes about 250 milliseconds!
// Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor)
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
// Check if any reads failed and exit early (to try again).
if (isnan(h) || isnan(t)) {
lcd.println("Szenzor ERROR!");
return;
}
if(h > maxHum || t > maxTemp) {
digitalWrite(4, HIGH);
} else {
digitalWrite(4, LOW);
}
// Hőmérséklet.
lcd.setCursor(0, 0);
lcd.print("Homerseklet: ");
lcd.setCursor(1, 0); //Kurzor 3. sor 2. karakternél
lcd.write(4); //Átírjuk az o betüt ő-re
lcd.setCursor(3, 0); //Kurzor 3. sor 4-es karakternél
lcd.write(1); //Átírjuk az e betüt é-re
lcd.setCursor(6, 0); //Kurzor 3. sor 7-es karakternél
lcd.write(1); //Átírjuk az e betüt é-re
lcd.setCursor(13, 0); //Kurzor 3. sor 14-es karakternél
lcd.print(t); //Hőmérséklet érték kiírása
lcd.print((char)223); //Fokjel előhívása memoriából
lcd.print("C");
// Páratartalom.
lcd.setCursor(0, 1);
lcd.print("Paratartalom: ");
lcd.setCursor(1, 1);
lcd.write(2); //Átírjuk az a betüt á-re
lcd.setCursor(14, 1); // A páratartalom kijelzés a 14.sortól kezdődik
lcd.print(h);
lcd.print("%");
delay(200);
//Vízmelegítő.
lcd.setCursor(0, 2);
lcd.print("Vizmelegito :");
lcd.setCursor(1 ,2);
lcd.write(0);
lcd.setCursor(8 ,2);
lcd.write(0);
lcd.setCursor(10 ,2);
lcd.write(4);
if(Relay == HIGH)
{
lcd.setCursor(13,2);
lcd.print(" ON ");
}
else
{
lcd.setCursor(13,2);
lcd.print(" OFF ");
}
} -
Teasüti
nagyúr
válasz
gyapo11 #3336 üzenetére
Villogni kezd?
Az animáció?
Ezért lehet érdemes grafikus futószalag elvén megírni, ahol minden egyes loop() ciklus egy képkockát generál.
A parancsokat megszakítással veszi és polling-gal rakja össze a pufferből. Annyi, hogy amíg a LED frissítése zajlik, arra a rövid időre kikapcsolom a megszakítást. (BAAAAZDMEG lehet ezért veszik el egy-egy vezérlőbájtom a BT átvitel során??Há Móóónika! Megyek dolgom van!
)
Így nálam bármilyen fps mellett működőképes marad minden egyéb funkció.
És persze a LED-ek sem villognak, hisz a PWM vezérlő sample&hold elven működik, legfeljebb az animáció akadozik, ha nagyon beesik az fps, de itt csak 120 ledről (meg pár paletta, ami mi is pontosan?) beszélünk és az animáció erőforrásigénye se óriási. Egy 8 bites Atmel328p vígan elviszi a tapasztalataim alapján több száz fps-el.(#3334) printpro
Azt hiszem tudok segíteni neked, viszont határozatlan időre tudnám csak vállalni a feladatot. Hetekig tartana ráérő szabadidőmben. Nem számolva a posta idejével, amíg megérkeznek a kellékek hozzá ebay-ről. -
Pubszon
veterán
-
Pubszon
veterán
válasz
gyapo11 #3342 üzenetére
Az mit takar, hogy OC?
Felépítésre ez lenne a legjobb, de sajnos csak 12V-os. -
Janos250
őstag
válasz
gyapo11 #3328 üzenetére
"Mikrovezérlővel igen"
Az Arduino nem mikrovezérlő? (Atmel, ARM, ESP, Microchip PIC, stb. ezeken fut az Arduino kód.)
"netről levadászott kódok"
Nem kell a netről vadászottat használni, írhatsz sajátot.
"általában C-ben"
Ha nem tetszik a C++ , Arduinora is írhatsz C-ben is.
"Ennek megfelelően az ára is több 10-ezer lehet egy ilyen egyedi fejlesztésnek."
Üzleti oldalához nem tudok hozzászólni.Az igaz, hogy hardverközeli program írása esetén csak azon az (általában) egyetlen kontrolleren fog hibátlanul futni, amire írtad, de egy ilyen LED vezérlés egyetlen (!) láb le-föl mozgatásából áll, megfelelő időzítéssel, de adott esetben elég nagy toleranciával. Ez nem egy egetrengető feladat.
Ketten más szemszögből nézzük a dolgokat.
-
Sokimm
senior tag
válasz
gyapo11 #3313 üzenetére
IDE->wiring->sketch->assembly->logikai értékek-elektronikai alkatrészek működése... (a felsorolás pongyola)
Hogyan villog a led? IDE szinten úgy, hogy HIGH-LOW... Elektronikai rétegben (arduino környezetben (flash-kiolvas, kódsor(IDE->assembly), cpu (regiszterek) feldolgozás, lábakon való billegtetés....eredmény:villogás) irtó sok dolog van, ha tényleg bele akar menni az ember és félek, el menne a kedve a lelkes tanulóknak.Az arduino is ezeken a lépcsőkön illeszkedik a világhoz, csak mivel bonyolultabb a vezérlés (egy 555 ic hez képest), még inkább elrettenne bárki, ha "szeretné megérteni" a működést. Ha elektronikai villogást akarunk, akkor meg kerüljük el az arduino-t, mert felesleges bonyolításnak látom a programozást (és minden megértési szükségletét). "Sima" elektronikával, vagy programozással akarok villogtatni ledet? (költői kérdés) Ez alapján mertem azt írni, hogy ne menjen senki (kezdő szintnél) az IDE alá.
Ez egy magánvélemény, no offens. A hibás felsorolásokért felelősséget vállalok! -
Sokimm
senior tag
válasz
gyapo11 #3306 üzenetére
"De aki érteni is szeretné..."
Ki ne szeretné?Viszont az Arduino IDE felépítése alá ne nagyon menjen senki (regisztercímzés, inculde fájlok tartalma, sketch), mert beleborzad... (elsőre). Osztom a véleményed azon részét, hogy pár ezer forint füstölés hasznos(abb) lehet, HA:
-tudjuk mért füstölt el... Elektronikai alapok? Kicsit több annál, mivel az alkatrészek működése (felfutó élek, tüskék, túlfutások, hibatűrő határok) elég komplex, tekintettel, hogy millió egyféle cucc van a piacon.Konkrétan amikor kérdeztem az elektronika labor tanáromat, (tételezzük fel, hogy életemben először fogtam akkor kondenzátort), hogy mik ezek a számok a kondin, akkor azt mondta: "nézd meg neten..."
Aztán amikor láttam, hogy van kerek, lapos, kerámia, fém, műanyag, vastag, kicsi, sok lábú, két lábú, stb stb kondi, elment az étvágyam... Érteni? Képtelenség szerintem, ha nincs egy (és itt megint igazat adok neked) segítőkész szakember mögötted, aki terelget... A net sokszor hasznos (PWM diagramm, tranzisztorkapitány, stb), sőt túlmutatnak a tanári lehetőségeken (mivel 80 oldalról közelítik meg az értelmezést), de sokszor meg nagyok a hézagok...
(pl: volt egy léptetőmotorom, ami 1.4A 1.7V on üzemelt (egy tekercs tartása), és ugye ez alapján egy 2.38W közeli tápot kerestem... Volt itthon egy, ami hasonló (+-0.05) teljesítményű, de tök más amper/volt arányú... Mért nem használhattam vele? A net nem segített annó, egy türelmes ember többet jelentett volna...)
Egy szó mint száz: Ez nem "szeretné-nem szeretné" kérdése... Vannak dolgok, amiket nagyon meg kell érteni (alapok), és vannak dolgok, amiket nem kell ahhoz, hogy kimondhassuk: "elég ha működik". A kérdést mindenki magában válaszolja meg... Az alapok 70%-t a netről le lehet szívni, de a maradék 30%-ot szerintem csak egy szakemberrel. Márpedig az a 30% hiány pont elég, hogy ne tudd magadtól megépíteni a kívánt áramköröd. (ötlet megvan, kreativitás megvan, gyakorló füstölésre szánt ellenállások megvannak, de miért füstöl?) (buta példa, elismerem...)
-
FireKeeper
nagyúr
válasz
gyapo11 #3306 üzenetére
illetve ha itt épp nem kap választ a kolléga, akkor érdemes benézni a Hobby elektronika topikba is.
-
ghostie
tag
válasz
gyapo11 #3297 üzenetére
Igen, pontosan valami ilyesmire lenne nekem is szükségem (Arduinotól függetlenül), amiben ki tudom próbálni mondjuk a különféle tranzisztorok működését, vagy összerakni egy kondenzátoros villogó áramkört, tudom változtatni a paramétereket az alkatrészekkel és ez által megismerhetem az elektronikai alapokat.
Ez valóban egy alacsonyabb szint mint az Arduinos legózás, de a kettő együtt adná ki nekem azt, hogy képes vagyok egy problémára elektronikus megoldást összerakni.
Ebayen nézelődtem már de ott inkább kész projektekre találtam ilyen készleteket. -
fpeter84
senior tag
válasz
gyapo11 #3141 üzenetére
Csak ugye ha egyszer azt mondtad hogy megjött, akkor neki joga van azt mondani hogy küldjed vissza - ezt mondjuk baromságnak tartom az ebay és ali részéről, ha valami nem felel meg a leírásnak akkor azt automatikusan ugyanabba a kategóriába kellene sorolniuk, mint a meg nem érkezettek... Szóval értékfüggően kezelem az ilyen helyzeteket, meg hogy tulképp mennyire is kamuzott az eladó - tudatos lehet a dolog vagy véletlen. Van olyan szitu, amikor egyértelműen tudatosan kamuzik, jobbnak tünteti fel az áruját mint ami, a drágább cucc/konfig helyett az olcsóbb belsejűt küldi, vagy átverős memkártya, pendrive stb... De tény hogy a sokszáz vásárlásom alatt elég ritkán futottam ilyen szituációba, meg kell tanulni olvasni a sorok között, feedbackselector-t használni, olyantól vásárolni akin látszik hogy nem akar negatívot gyűjteni tehát ha szabályosan panaszkodok akkor korrektül fog eljárni, stb...
Az az akku valszeg nem akku, hanem mezei szárazelem volt direkt átverésre gyártva - nekem is volt ilyenem. Meg olyan USB hub is, amin valójában nem volt chip csak valami kamu csepp és a vezetékek simán csak körbejárták a 4 aljzatot, gyakorlatilag csak egy "hosszabbító" volt kifejezetten átverésre gyártva...
-
Gergosz2
veterán
válasz
gyapo11 #2868 üzenetére
<avr/sleep.h>-nak érdemes utána olvasni, ott benne van minden. És igen tényleg elérhető elég kis fogyasztás, de érdemes ezt elolvasnod: [link].
Én személy szerint nem mentem el végletekig, az interfaceket lőttem le a timereket meg a ADC-t. Ez már levitte az áramfelvételt 30uA környékére ami 3,3V-on már elég kellemes volt. Én ezt egy Atmega168-cal csináltam.
Maga a az altatást végző függvény ez:
void sleepNow()
{
byte adcsra = ADCSRA;
delay(100);
//Mirf.powerDown();
ADCSRA = 0; //ADC kikapcsolása
set_sleep_mode(SLEEP_MODE_PWR_DOWN);
sleep_enable();
attachInterrupt(0, wakeup_nrfl, LOW);
sleep_mode();
sleep_disable();
ADCSRA = adcsra;
detachInterrupt(0);
}Ezt loopban rögtöm meghívom. A lényeg az, hogyha jön egy megszakítás, a program rögtön a sleep_disable(); parancsot hajtja végre, szóval ha elaltatod, akkor onnan folytatja. Azért is kell rögtön kikapcsolni, meg a megszakítást is addig kivenni. Utána megy tovább a loop-ban, amit még oda beraksz azt megcsinálja. Utána meg megint elalszik.
-
zka67
őstag
válasz
gyapo11 #2866 üzenetére
Szia, nem bonyolult a megoldás, mindössze Power-Down módba kell kapcsolnod a procit. Ha lekapcsolod a watchdogot (vagy nem is engedélyezed), akkor ebben az üzemmódban kb. 0.2uA a chip fogyasztása. A chipet megszakítással lehet felébreszteni, szerintem neked a Pin Change Interrupt lesz a megfelelő. Ehhez a megfelelő IO pin konfigurációban a PCINT funkciót kell kiválasztanod, és engedélyezni a megfelelő regiszterben.
Szerintem ehhez nem nagyon találsz arduinos könyvtárat, magadnak kell megírni ezt a pár sort.
Nem bonyolult, de át kell nyálazni a proci leírását, hogy melyik regiszterbe mit kell beírnod. Atmel oldalán megtalálsz minden procihoz minden adatlapot.
-
krisztianAMG
senior tag
válasz
gyapo11 #2862 üzenetére
Ezen látsz valami kivetnivalót? Ha nem, akkor ezt rendelem meg első körben.
Ha jól értem, akkor 12 és 24V közti táp kell neki, amit egyben az áramkör táplálásáért is felelős, és ezt a feszt szabályozza a kimeneten. Tehát a bemenet nem lehet alacsonyabb 12V-nál, de a kimenetet 0V-ig is le tudja szabályozni?
-
tvamos
nagyúr
válasz
gyapo11 #2667 üzenetére
Ne erts felre, en assembly programozassal kezdtem, meg c-ben programozok, de egy ha egy ezressel tobbert van sokkal gyorsabb processzor, en 1-2 darabert nem szerencsetlenkedem. Ha 20-50 ezerrol van szo, (vagy evi 1 milliorol,) akkor igen, de akkor nem is Arduino. Szerintem ezert folosleges megtanulni.. Ha valaki kihivast lat benne... akkor gyorsan felejtse el!
-
tvamos
nagyúr
válasz
gyapo11 #2577 üzenetére
Termeszetesen vannak ugrasok, meg lengesek, a mintaveteli szabalyoknak megfeleloen a legmagasabb frekvencias osszetevovel kell szamolni. Ha van egy motor driver, ami 8kHz-en megy, es arra egy induktiv terheles megy, (motor,) akkor ott eleg nagy lesz a legmagasabb frekvencias osszetevo. Erdemes ramerni szkoppal, es utana elgondolkodni, hogy mit hogy. En par szaz kSPS-sel szamolnek, ha nem szurom a jeletlegalab masodfoku analog szurovel.
csak a múlttal összeadva-átlagolva kapható használható érték az ugy megteveszto lehet.
(#2575) DrojDtroll
Ezt nezd meg: [link] Tok viccees. -
tvamos
nagyúr
-
Neoka
aktív tag
válasz
gyapo11 #2472 üzenetére
Köszönöm szépen a segítséged.
Kiindulásnak ez már elég lesz nekem. (szerintem) Ma számolgattam, hogy több mint 15 éve programoztam C+-ban, így az emlékeim megkoptak már
De így már el tudok indulni.tvamos:
A példa programokat már nézegetem egy hete.
A ingyenes tanfolyamra még nem iratkoztam be, de már rátaláltam.rendszer alatt erre gondolsz?
- Uno r3
- DS1307
- hőmérő modul (most fejből nem tudom a típusát)
- 2 soros LCD kijelző
- 4-es relé modulNem szeretnék gombokat.
A célom az lenne, hogy az óra DS1307 méri az időt, és a programban megadom neki, hogy melyik relét mikor kapcsolja be illetve ki.
pl
1-es relé világíts: 10:00 - 19:00
2-es relé felszín szívó - ezt többször kell 10 percre bekapcsolnia/nap. 11:00 -11:10, 12:00 - 12:10, 16:00 - 16:10e mellett a kijelzőre szeretném kiíratni a víz hőmérsékletét, de ez még hátra van
előbb a reléi időzítés, aztán jöhet a hőmérőJanos250 A linkeket meg fogom nézni, köszönöm.
-
dave0825
őstag
válasz
gyapo11 #2416 üzenetére
Köszi, utánanéztem, ezt találtam, megvettem hozzá, ami kell, összerakom pár napon belül.
Más téma.
Következő projektem keretein belül arra gondoltam, hogy 1 Arduino, 1 ELM327 diagnosztika, 1 2004-es LCD és 1 bluetooth modul Arduino-hoz, és Arduino-val bluetooth-on keresztül kiolvastatni pár értéket OBD2-es csatiról Opel Astra G-ben. Szerintetek megoldható? Pl. pillanatnyi fogyasztás, fordulatszám kijelzés, akksifeszültség kijelzés, ilyenekre gondoltam. Esetleg 1-1 gombot még beletennék, amikkel változtatom a kiírni kívánt dolgokat. Megoldható, vagy ez már durva programozást igényel? Vettem már egy USB-s ELM327-et, laptopról szépen ezeket ki lehet olvastatni programmal, úgyhogy talán Arduino is tudná venni bluetooth-on keresztül. -
nyunyu
félisten
válasz
gyapo11 #2401 üzenetére
Ezt a sematikat epitettem meg.
Minden egyes gomb mogott van egy 1N4007 dioda, hogy pontosan annak a gombnak az allapotat tudjam lekerdezni, amelyik eppen cimezve van, ne kavarjanak be az esetlegesen nyomva tartott tobbiek.
Gondolom ezeken a diodakon esik valamennyi feszultseg, emiatt nem lesz nulla a "lefoldelt" lab feszultsege, ezert merheto 1.4V.
Viszont az Arduino Micro specifikaciojaban azt irjak, hogy 3.0V alatt LOW, afolott HIGH a lab allapota, nalam meg 1.4V-re nem teljesult a LOW.
-
powerwade
senior tag
válasz
gyapo11 #2345 üzenetére
Köszi srácok, fotódiódával még nem találkoztam, fogalmam sincs hogyan működik és nincs tapasztalom vele
Napközben utánaolvasok, de egy gyors kérdést azért feltennék: a használatához kell "fény" ami megvilágitja az vizórát? Mert ugye a falban van, egy zárt, sötét helyen.
-
Imy
veterán
válasz
gyapo11 #2331 üzenetére
Akkor lehet elég lenne 30 percenként beleírni, és úgy sokat kibírni. Így mi az ajánlott?
Illetve valami egyszerűbb példa nincs? Mert ilyet még nem csináltam. Arduinoval is csak keveset foglalkoztam, alap dolgok kb mennek. Az első projektem egyik része,a többin dolgozok. -
zka67
őstag
válasz
gyapo11 #2258 üzenetére
Szia, majdnem. Addig jó, hogy ha bekapcsolod, akkor egy default idővel töröl.
Mindig az utolsó törléstől méri az időt.
Ha a következő törlés előtt kikapcsolod, majd később visszakapcsolod, akkor az előző törlés és a visszakapcsolás közti idővel fog törölni. Túl hosszú időt nem lehet vele beállítani, akkor visszaáll a default időre, de szerintem percenkénti törlést nincs is értelme beállítani, akkor csak megpöccintem a kart és töröl egyet.
-
zka67
őstag
válasz
gyapo11 #2249 üzenetére
Szia, a változtatás is ugyan úgy megy, mint ahogy leírtam. A törlés után kikapcsolod a szakaszos törlést, és amikor úgy látod, hogy most már törölnie kell, akkor visszakapcsolod, és ebben az ütemben folytatja. A visszajelzés te magad vagy: kicsit esik az eső, bekapcsolod a szakaszos törlést, aztán ki is kapcsolod, majd a törlés után, amikor úgy látod, hogy most már törölhetne, akkor visszakapcsolod és úgy hagyod, és megjegyezte az ütemet. Ha gyorsítani vagy lassítani akarod, akkor is ugyan ez a teendő. Pl. gyorsítani akarod, akkor látod, hogy már törölhetne, akkor csak ki és be kell kapcsolnod, mert az utolsó törléstől eltelt időt méri. Ha lassítani akarod, akkor kikapcsolod, és ha elég eső esett, akkor kapcsolod vissza. Remélem érthető vagyok
Én nagyon szeretem, sokkal jobb, mint a 2 fokozatú vagy potival állítható törlők, mert nem időt kell beállítanod, hanem az eső mértékéhez tudod igazítani a sebességet.
-
zka67
őstag
válasz
gyapo11 #2244 üzenetére
Szia, a mikrokontrollerek baromi érzékenyek a külső zavarokra. Gondolok itt elsősorban az autó gyújtótrafójára. Ha nincs megfelelően leárnyékolva és a táp megszűrve, akkor felejtsd el, hogy megbízhatóan fog működni.
Az ablaktörlőre szerintem a ford fiestában kitalálták a tökéletes megoldást: úgy működik, hogy bekapcsolod a szakaszos törlést, majd ki is kapcsolod. Utána amikor úgy látod, hogy törölni kell, akkor ismét bekapcsolod és megjegyezte az időt, ezután ebben az ütemben fog törölni.
-
válasz
gyapo11 #2244 üzenetére
Nagyon sok éve dolgozom hardverrel is szoftverrel is (és talán pont azért mert ismerem őket) soha nem bíznék egy gázbovdent egy arduinora meg egy csigás motorra.
A riasztó meg a tájékoztató dolgok hasznosak, de anyagi vagy személyi biztonságot kockáztató módosításokat sokszor még autógyártók sem vállalják be csak úgy.
Ez csak a véleményem, nem akarok senkit befolyásolni. -
-
dave0825
őstag
válasz
gyapo11 #2216 üzenetére
Na, kezdésnek jó, hogy megoldhatónak bizonyul.
Esetleg találni szerinted olyan megírt sketch-et, vagy csak library-t, amibe már be van programozva, hogy mindent tudjon dekódolni? A videón, amit fönt linkeltem, ott kódot is vesz, protokollt is, és bitek számát is. Bár azt nem látom, hogy alap library-t tölt-e be, és már veszi is a kódot, vagy valamit mókolt-e vele. Egyébként a 433MHz-es vevőn lehet hangolni, hogy mondjuk 433,92MHz-et vegyen, vagy az fix 433,0MHz csak?
-
tvamos
nagyúr
válasz
gyapo11 #2195 üzenetére
Van egy Teensy 3-0-am, (Freescale ARM Cortex M valami van rajta,) de valahogy nem olyan zokkenomentes vele az elet, mint az Uno-val. (Software kompatibilitasi problemak...) En inkabb hasznalok STM32 discovery-t, (Ezen meg ST ARM Cortex van, M0-as, M3-as, meg M4-es is van, es hasznalni is merem,) mint a Teensy-t.
Nem attol felek. hogy nem lesz MCU, hanem attol, hogy az Atmel tolja bele a zsetont az Arduino projektbe, mas nem biztos, hogy aldoz ra ennyit... a masik dolog, amitol felek, hogy a kinaiak veszik meg. Nem szeretem a filozofiajukat.
(#2196) Pulsar válasza tvamos (#2194) üzenetére
Ahogy latom, az egesz ceget "bekapja" valaki, nem csak a panelt... -
LógaGéza
veterán
válasz
gyapo11 #2149 üzenetére
Na most jutottam el odáig, hogy ezzel foglalkozzak. Sajnos programozásból nem állok a helyzet magaslatán, szinte egész nap a netet dúrtam, hátha találok valami épkézláb megoldást, de sajna nem sikerült, a legközelebbi ez lett volna, itt szép a GUI is, de Windowson nem ismeri fel a COM portot, Ubuntun meg ugyan felismeri, és elvileg csatlakozik is, de... nem történik semmi
Most ez alapján már azt megcsináltam, hogy PuTTY-ba beírt parancsokkal meg tudok csinálni alap dolgokat (ON, OFF, stb), de az igazi ide is a fentihez hasonló GUIs megoldás lenne, hogy egy színkeréken kiválasztani a megfelelő színt, és gombokra effektek elindítása. Nagyon bonyolult lenne így összerakni?
Még egy noob kérdés - mit használ az awtfy.com-os leírásban serial parancsok küldésére az író, vagy esetleg ilyen progira tudok tippet adni? PuTTY nem írja ki, amit pötyögök...
-
zka67
őstag
válasz
gyapo11 #2035 üzenetére
Szia, kezdünk átmenni a hobbielektronika topikba való témákra...
Ja, a sima 5050-es RGB led eBay-en 20Ft, a WS2812B meg 37Ft/db 100db esetén. Csak nem mindegy, hogy pl. egy jégcsapnál ott van 8-10 db led, mögötte meg egy számítógép hatalmas hűtőbordával és azok lógnak a fán, vagy csak a ledek egy 6 lábú mikrokontrollerrel, ami egyáltalán nem is észrevehető, akkora. (Most egy kicsit túloztam, de a dolog lényegét próbáltam meg érzékeltetni).
-
zka67
őstag
válasz
gyapo11 #2009 üzenetére
Szia, bocs, hogy beleszólok, de már nagyon régen feltalálták a MOSFET-eket
Én kapcsolgatásra csak ezeket használom, 500mA-ig BSS170-eseket, filléres cuccok. Ha kell valakinek több ezer darab BC337, mondjuk 5 Ft/db áron, akkor szóljonSzerintem félnek az emberek a MOSFET szó hallatán, mert nem tudják, hogy mi az, mire jó, hogyan kell vezérelni, pedig jóval egyszerűbb, mint egy tranzisztort.
-
-
-
dave0825
őstag
válasz
gyapo11 #1757 üzenetére
Megpróbálom, kedden veszek kondit, ellenállásom talán van, de veszek azt is, aztán meglátjuk. Venni tökéletesen veszi az Arduino a jelet, akárhányszor megnyomom a távirányítót, minden jelet vesz, nem hagy ki egyet sem; olyan van, hogy nem nyomok semmit, és random jelet is vesz, de arra, hogy pont azt, amit kell, arra 0,00000596% esély van.
Szóval mondhatjuk, hogy nem a pár random jel a gond.
tvamos: a programot följebb írtam, megnézhetitek, hogy van-e benne hiba, de nem sok mindent írtam bele, amit elronthattam volna.
Ez az eredeti, ami a library-ban van:#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume(); // Receive the next value
}
delay(100);
}Itt ugyanazt csináltam, mint a följebb is linkelt videón, viszont a szűrés kimaradt, azt megpróbálom majd (bár ő 100uF-os kondit használ, gyapo11 pedig 4.7-esről küldött linket, nem tudom, melyiket érdemesebb, szerintetek?)
-
tvamos
nagyúr
válasz
gyapo11 #1737 üzenetére
a töltő mondjuk 5 V-on 500 mA-t ad ki, az 100 % hatásfokkal 230-on 11 mA Ott nem stimmel a gondolatmeneted, hogy a primer oldali pufferkondi miatt nem tudod, mikor fog kinyitni a primer oldali dioda. (Ilyenkor, sok esetben meg az 1mA aram sincs meg.) E miatt vezetes csak valhol a sinus kozepen lesz, ami a terhelestol fugg, es nem szimmetrikus. Raadasul kapacitiv a terheles, jokis lorugas di/dt-vel indul. Nagyon nem szeretjuk felvezeton az ilyen terhelest.
-
zka67
őstag
válasz
gyapo11 #1724 üzenetére
Viszont óvatosan kell bánni az olcsó kínai cuccokkal, mert szerintem elég sok selejtes alkatrészt árulnak. Értem ezalatt, hogy a nem tudják a gyártó által specifikált értékeket. Vettem például DS1307-es RTC chipeket, amik napi 20-30mp-et késnek/sietnek, tápot adva rájuk nem állnak be alapértékre, hanem random időről kezdik a futást. Igaz, fillérekért adták, de külső kondival kellett kalibrálnom őket egyesével, ami a munkaidőt tekintve jóval többre jött ki, mint ha megvettem volna a normális chipeket.
Új hozzászólás Aktív témák
Hirdetés
- Csere-Beszámítás! Asus Tuf RTX 5070Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Csere-Beszámítás! Sapphire Pure RX 7900XT 20GB Videokártya! Bemutató darab!
- Csere-Beszámítás! PowerColor Red Devil Spectral White RX 9070XT Videokártya! Bemutató Darab!
- InFocus IN3126 Projektor
- PC tápkábelek & UTP patch kábelek
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest