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.
Gyorskeresés
Legfrissebb anyagok
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
- Tudástár AMD Radeon undervolt/overclock
Általános témák
LOGOUT.hu témák
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Sub-ZeRo:] Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- [Re:] [antikomcsi:] Való Világ: A piszkos 12 - VV12 - Való Világ 12
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [sh4d0w:] Rebel Moon - Ne nézd meg!
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [bitpork:] Fogyasztásra ítélve
- [Re:] Kempingezés és sátrazás
- [Re:] [GoodSpeed:] SAMSUNG Galaxy Buds FE (SM-R400NZAAEUE) a 9 éves SONY SBH20 utódja (nálam)
- [Re:] [sziku69:] Fűzzük össze a szavakat :)
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Útvonal
Fórumok » Egyéb hardverek » Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)Téma összefoglaló
Hozzászólások
haxiboy
veterán
Esetleg középen a kis forgó akármit lézerrel letapogatni, hogy mikor jön a gödör és mikor nem, az arduinoban pedíg megadni a kezdő állást amit szépen frissítget amikor folyik a víz? Annak a pörgő izének ha jól tudom megvan hogy milyen gyorsan pörög ha x liter víz átfolyik. Ez nem megoldható?
Premium Mining Rigek és Gamer/Workstation gépek: tőlem, nektek :)
powerwade
senior tag
Köszönöm mindenkinek, megpróbálom összehozni
Pulsar
veterán
hát lehet béna és láma kérdés, de mivel már nincs ötletem fel teszem.
Serial Monitoron arduino nano-val DHT22 szenzor adatait akartam kiíratni. De a serial monitoron semmi nem jelent meg, ezért bemásoltam ezt a kódot, és rá töltöttem, de itt sem jelenik meg semmi a serial monitoron. Mit bénázok el?
Gergosz2
veterán
Jó baud rate-et állítottál be Serial monitoron?
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Pulsar
veterán
Igen, 9600-at.
JozsBiker
aktív tag
Nem ismerem a nano -t, de nem lehet hogy valamit fixen rákötöttél az adás vagy a vétel pin -ekre ?
Korábban, más alkalmazással ment rendesen a port monitorozás, vagy ez az első próbálkozásod ?
Pulsar
veterán
A D9-es lábra van csak kötve a dht22.
Ez lenne az első próbálkozás. Van egy másik bontatlan nano-m, lehet mindjárt meg nézem azzal mizu.
Pulsar
veterán
Ki próbáltam a másik board-ot, és azzal egyből megy.
Igazából mint említettem, van benne lámaság is, mert az eddigi arduino paneleknél meg szomta, hogy amikor ki írja, hogy mekkora méretű a program, stb onnantól kezdve a feltöltés gyakorlatilag tized másodpercek, én meg egyből húztam le, de ha vártam ennél percekig nem történik semmi, és hibát dob
szóval a program sem kerül rá, így nyilván nem is megy a dolog
Próbáltam bootloder égetni rá, de nem megy.
a jelenség egyébként annyi hogy a L feliratú led villan 5 -3 -3 -3 -3 -at
erre van valami táblázat, hogy ez mit jelent?
[ Szerkesztve ]
A bootloadert is a serial chipen (értsd USB-n keresztül) próbáltad rátenni?
ICSP-n kellene megpróbálni, ha van több eszközöd, akkor ArduinoISP-vel próbáld meg.
Mások számára a kondi fáradós, nekem farad-os...
Pulsar
veterán
Igen, ugy próbáltam. Van több eszközöm is, és USB-ASP-m is. Utánna olvasok hogyan melyikkel.
Köszönöm
kokimy
csendes tag
a belső millis() -el hogyan lehet órát csinálni?
nem akarok se óra modult alkalmazni, sem a delay-es megoldás nem jó.
Ezzel kérték.
void time_meas()
{
time_a = millis();
secund_1 = time_a/1000;
if (secund == 60)
{
minute=mnt+1;
secund=0;
}
if (minute == 60)
{
hour=hour+1;
minute=0;
}
lcd.setCursor(0, 0);
lcd.print(hour);
lcd.setCursor(3, 0);
lcd.print(':');
lcd.setCursor(4, 0);
lcd.print(minute);
lcd.setCursor(6, 0);
lcd.print(':');
lcd.setCursor(7, 0);
lcd.print(secund);
}
Gergosz2
veterán
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
kokimy
csendes tag
Ezt nem értem...
nem egyszerűbb egy DS3231-vel megcsinálni?
kokimy
csendes tag
Egy DS3231 és egy DHT11 I2C-s dolgot rá lehet tenni, azaz nem fog összeveszni? Más címük van?
Gergosz2
veterán
de az előbb azt írtad, nem akarsz semmi alkatrészt venni hozzá...
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
skul0
aktív tag
Üdv!
Egy Arduino Uno és egy NPN tranzisztor segítségével szeretném egy DC motor fordulatszámát szabályozni. Az Arduino PWM kimenete egy ellenálláson keresztül a bázisra van kötve, a motor pedig a kollektor és a 12V-os pozitív tápfesz közé. Mi az oka annak, hogy ha a motort a kollektor és pozitív tápfesz közé kötöm, drasztikusan leesik a feszültség? Hogy lehet orvosolni, hogy ne essen le 1-2V közé?
powerwade
senior tag
Neked van készen összerakott szenzorod a gázóra számlap figyelésre, mérésre? Ha igen, akkor a hozzá tartozó programot elkérhetem?
szerk: találtam pár dolgot "arduino CNY70 gas meter"-re keresve
[ Szerkesztve ]
DrojDtroll
addikt
Valaki vezérelt már arduinoval nagyobb (48v 3.5A) motorokkat?
brushless, stepper, dc motor is érdekelne
Pulsar
veterán
Milyen transistort használsz?
DrojDtroll nekem csak 12V-os stepper motorok vannak hajtva, de anno lattam szép nagy motor vezérlő shield-eket.
[ Szerkesztve ]
DrojDtroll
addikt
Még nem használok. Ezért érdekelne mivel érdemes.
quint
aktív tag
Nem csináltam belőle kész cuccot, csak egy picit szórakoztam vele. Igazából két dologra emlékszem belőle:
- alkalmasan megformázott gyurmával cuppantottam rá a reflexiós optokaput a mérő üvegére, ez a rögzítésen túl adott némi árnyékolást is;
- nagyon pici fogyasztásnál problémáim voltak, ezeken (ha jól emlékszem) úgy léptem át, hogy a 2 m3/h-nak megfelelő ütemnél gyorsabban érkezett be le- és felfutó él, akkor azt eldobtam.
Gergosz2
veterán
Hol esik le a feszültség?
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
Nekem az a gyanúm, hogy gyenge a tápod.
Hány amperes a táp, és milyen motort használsz?
DrojDtroll
Brushless motorvezérlőhöz 48V 3,5A esetén sok tízezres vezérlő elektronika kell, nem elég csak az arduino.
Léptetőnél az elv nagyjából ugyan ez, de a kisebb sebesség miatt elég olcsóbb elektronika is. Ott már bevett szokás szimpla erősítőkön keresztül az Arduinoval kapcsolgatni a motortekercseket.
Sima kefés DC motor esetén a legegyszerűbb és legolcsóbb a dolog. Optocsatoló és néhány fet segítségével akár teljes H-hidat is lehet csinálni egyszerűen.
Mások számára a kondi fáradós, nekem farad-os...
quint
aktív tag
DrojDtroll
addikt
Köszönöm mindenkinek az iránymutatást.
kokimy
csendes tag
Igen nem akarok hozzá venni semmit sem.
Valaki elmagyarázná hogyan működik az idő kinyerése nagyon egyszerűen?
Van egy függvény, aminek a neve millis.
double start = millis();
Ez az a pont, amikortól számolni szeretnéd az időt.
double now = millis() - start;
A now fogja tartalmazni, hány ezredmásodperc telt el a start óta.
A millis() visszatérési értéke egyébként az arduino futása óta eltelt idő ezredmásodpercben. A szám túlcsordul 50 nap futás után.
Mások számára a kondi fáradós, nekem farad-os...
adatfalo
senior tag
Hello!
Nincs esetleg valakinek otthon elfekvőbe WS2801 led sora? Ha esetleg van privátban keressen már meg, hogy el tudjuk bizniszelni.
Előre is köszi!
[ Szerkesztve ]
www.adatfalodesign.hu
skul0
aktív tag
A motoron esik le a feszültség, tehát a kollektor és a pozitív ág közt. Motor nélkül olyan 10V körüli a feszültség, a motort ugyan ide kötve ez leesik 1V körülire. A használt tranzisztor emlékeim szerint BD241C, a motor egy kis egyfeszültségű "pikomotor" vagy minek nevezik, a táp saccra 800-900mA-es lehet, állítható feszültségű.
zka67
őstag
Szia, nem nyit ki rendesen a tranzisztorod. Szerintem túl nagy értékű ellenállást használsz a bázison. De ez nem is érdekes, hiszen az ilyen tranzisztorokat darlingtonba szokták kötni.
Én azt javaslom neked, hogy ne használj tranzisztort ilyen helyeken, ide sokkal jobb megoldás a FET. Pl. egy IRF540 filléres dolog és elviszi még a házadat is. Ugyan úgy kell bekötni, mint a BD241-et, azzal a különbséggel, hogy a G-S közé (B-E) tegyél egy 100k-s ellenállást, a G-Arduino (B-Arduino) közé pedig egy 10k-sat.
skul0
aktív tag
Motor nélkül rendesen kinyitott, vagyis meg volt a kellő feszültség. 1k ellenállás volt az Arduino és a bázis között, de megfogadom a tanácsod és teszek egy próbát.
Köszönöm a segítséged.
Motor nélkül rendesen nyitott, vagyis meg volt a kellő feszültség.
Ugye tudod, hogy ennek az állításnak nem sok értelme volt?
A tranzisztor nem relé, hogy feszültséget kapcsolj rajta. A tranzisztoron áramot tudsz vezérelni, azt pedig üresjáraton mérve nyilván megkapod a névleges feszültséget, akkor is, ha nem nyitott teljesen. Ha viszont adsz neki egy terhelést, akkor jön a feszültségesés, mert a kapcsolt áram kevés a potenciálkülönbség fenntartásához.
Egyébként az 1K val szerintem is mennie kellett volna.
[ Szerkesztve ]
Mások számára a kondi fáradós, nekem farad-os...
zka67
őstag
Szia, és (#2382) razorbenke92:
A BD241-nek tudjátok mennyi a hFE-je? 10-25. A VBE 1.8V, és ez azt jelenti, hogy 1k-s ellenállással 30-60mA-t tudsz kapcsolni vele Ennek a tranzisztornak ahhoz, hogy teljesen kinyisson 0.6A bázisáram kell. Ezért mondtam, hogy vagy darlington (ami a mai világban felejtős), vagy FET.
tvamos
nagyúr
Ne fwlwjts el free wheeling diodat bekötni!
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
skul0
aktív tag
Ennyire nem vagyok képben a dolgokkal.
Annyit tudok, hogy a bázison átfolyó áram erősségével arányosan enged át áramot a kollektoron.
@zka67:
Ezzel sem voltam teljesen tisztában, de így hogy leírtad világos már. Az a 0,6A-es bázisáram teljességgel esélytelen, ugyanis az Arduinon maximum 40mA folyhat.
@tvamos:
Tettem be a motor két kivezetése közé, csak elfelejtettem leírni.
Köszönöm a tanácsokat, majd még lehet jelentkezem.
Gergosz2
veterán
de gondolom PWM-ezni akarod, szóval nem ártana telítési tartományba vinni.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
tvamos
nagyúr
Azért kell Darlington. Telitesbe kell vinni, kulonben melegedni fog.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
skul0
aktív tag
Igen, PWM-mel szeretném egy mért hőmérséklet függvényében nyitni/zárni. Minél nagyobb a mért hőmérséklet, annál jobban kéne pörgetni a motort = nyitni a tranzisztort. A terv legalábbis ez volt, nem tudom hogy akkor ez megvalósítható-e tranzisztorral/FET-tel.
Mit értesz pontosan az alatt hogy ebbe a tartományba kéne vinni? Utána olvasva, hogy mi is ez a telítési tartomány, valami hasonló a jelenség, a kollektor feszültség pár tized voltra esik, de nekem pont nem ez kéne.
Gergosz2
veterán
telítésbe viszed->olyan mintha egy kapcsolóként viselkedne.
Ha PWM-ezni akarsz ez kell, semmiképpen sem, a lineáris tartomány. Erre szokták mondani, hogy a BC és a BE "dióda" is kinyit, az áramokat a külső áramkör határozza meg. CE szaturációs feszt leszámítva minden a motorra esne, ha a táp és kollektor közé kötöd a motort.
Szerk: De, neked pont ez kell.
[ Szerkesztve ]
Nokia 6030 Hardcore User // I Panic Restaurant by Taito
quint
aktív tag
Valószínűleg sokaknak nagyon hasznos lehet az Autodesk 123D CIRCUITS online tervező/szimulátor/oktató. Kezdőknek és/vagy olyanoknak, akik nem ismerik a különféle áramköri elemek működését, kötelező
zka67
őstag
Szia, mint már említettem, a tranzisztort felejtsd el, IRF540-es FET vagy hasonló kell neked. Az 4V-on már teljesen nyitva van. Azért ezt a fetet írtam, mert ez minden sarki boltban beszerezhető fillérekért.
weiss
addikt
FET-ben a T betű micsoda
I did nothing, the pavement was his enemy!
dave0825
őstag
Erre valaki tud valamit? Most próbáltam egy másik Arduval, ugyanúgy semmi, szóval a hibás panel kizárható.
int pin = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(analogRead(pin));
}
Így próbáltam, ezzel a legegyszerűbb gondolom, de semmi... Ha a potit tekerem, változik a vett érték, de hangra semmit nem történik. A digitális sem megy ugyanezzel az alap programmal (persze átírtam digitalRead-re, meg át is kötöttem digitális I/O-ra).
[ Szerkesztve ]
Huawei P30 // Suzuki DL650XT '15 <-- Kawasaki Z750 '07 <-- Aprilia RS 125 '99
tvamos
nagyúr
Bemesz az Arduino framework-be, File manu, Examples, AnalogReadSerial.
A masik kerdesre majd visszaterunk, ha poti mar megy.
[ Szerkesztve ]
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
nikilauda
senior tag
Erről a FET-es kapcsolatról van valami leírás vagy rajz? Egy kapumozgató motort szeretnék vezérelni.
zka67
őstag
Szia, kapumozgató motorhoz jobban jársz, ha relét használsz.
(#2393) dave0825: szkópod van-e?
Ha nincs, gyere át, megnézzük, ha valami baja van a mikrofon panelednek, megjavítom.
[ Szerkesztve ]
tvamos
nagyúr
Oda már igazán megérné egy motor driver, ami magát is, meg esetleg a motort is védi, ha valami gebasz van.
Itt egy tutorial: [link]
Érdemes vegig olvasni, egész elfogadható.
"Mindig a rossz győz, és a jó elnyeri méltó büntetését." Voga János
nikilauda
senior tag
és tvamos:
Köszönöm.
nyunyu
félisten
Adott egy 32U4-es Arduino Micro klon, amivel egy billzetmatrixot akarok leolvasni.
void setup() {
pinMode(2, OUTPUT); //c0
pinMode(3, OUTPUT); //c1
pinMode(4, OUTPUT); //c2
pinMode(5, OUTPUT); //c3
pinMode(6, OUTPUT); //led1
pinMode(7, OUTPUT); //led2
pinMode(8, OUTPUT); //led3
pinMode(9, OUTPUT); //led4
pinMode(10, INPUT); //input
}
void columnAddress(int a)
{
if (a & 1) digitalWrite(2, HIGH); else digitalWrite(2, LOW);
if (a & 2) digitalWrite(3, HIGH); else digitalWrite(3, LOW);
if (a & 4) digitalWrite(4, HIGH); else digitalWrite(4, LOW);
if (a & 8) digitalWrite(5, HIGH); else digitalWrite(5, LOW);
}
void writeLED(int a)
{
if (a & 1) digitalWrite(9, HIGH); else digitalWrite(9, LOW);
if (a & 2) digitalWrite(8, HIGH); else digitalWrite(8, LOW);
if (a & 4) digitalWrite(7, HIGH); else digitalWrite(7, LOW);
if (a & 8) digitalWrite(6, HIGH); else digitalWrite(6, LOW);
}
void loop() {
for (int i=0;i<=15;i++)
{
columnAddress(i);
delay(100);
if (digitalRead(10)==LOW) {
writeLED(i);
}
}
}
Lenyeg: 2-5 labakon kiadok egy 4 bites binaris szamot, ide 2 74HC138 dekoder van bekotve, ezek az eppen nem cimzett kimeneteikre 5V-t adnak, mig a cimzettet lehuzzak foldre.
Kimeneteiken log 1-1 nyomogomb+dioda, majd a kimeneteik fel vannak fuzve az Ardu 10-es labara, amely egy ellenallassal fel van huzva 5V-ra, hogy ne lebegjen.
Gond az, hogy ha megnyomom valamelyik gombot, akkor valamiert nem teljesul a digitalRead(10)==LOW feltetel, pedig a 10-es labon olyankor 1.4V merheto, mig le nem nyomott allapotban 4.8V.
Van valami otletetek arra, miert nem olvassa rendesen a lab allapotat?
Esetleg epitsem at 74HC238-ra, ami pont forditva mukodik, mint a 138? Cimzett kimenet=5V, tobbi fold.
[ Szerkesztve ]
Hello IT! Have you tried turning it off and on again?
nyunyu
félisten
Ugy tunik 75HC238-cal jatszva konzisztensen mukodik a digitalRead(10)==HIGH feltetel, egybol teljesul, ha lenyomom valamelyik gombot, pedig olyankor 3.5V merheto azon a labon.
Nem ertem, miert nem erzekeli LOW-nak az 1.4V-t.
Hello IT! Have you tried turning it off and on again?