- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Atomenergiával dübörögnek tovább az Amazon adatközpontok, SMR-ek is jöhetnek
- Macron betiltatná az EU-ban a közösségi médiát a 15 év alattiaknak
- Az NVIDIA ipari AI-felhőt épít a németeknek, együtt az OpenAI és a Google
- Két új Ryzen közül választhatnak a kézikonzolok
-
PROHARDVER!
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
-
Tankblock
aktív tag
Hello,
lastbrightState is állítsd be a setupba,State Machine -nak (Állapotgép) nézz utána, a jövőben hasznos lesz.....
Adott az alábbi kód, melynek lényege az lenne, hogyha a D0 pin-en nincs jel, akkor folyamatosan "25-ös" erősségen világít a led, ha pedig van jel, akkor fel kell erősödnie a fényerőnek "150-re",
Ennek a követelményednek a kódod pont ellentétét csinálja a setupban.
Sőt pont az ellentétjét mint a loopban....vagy a jelszintek nem ott vannak ahol gondolom.
if (digitalRead(inPin) == HIGH) {
FastLED.setBrightness(25); // Jel esetén 150
FastLED.show(); }
else {
FastLED.setBrightness(150); // nincs jel esetén 25
FastLED.show(); }
}
//ehelyett
#define HIGHLEDSTATE 150
#define LOWLEDSTATE 25
lastbrightState = digitalRead(inPin);
if (lastbrightState == HIGH) {
FastLED.setBrightness(HIGHLEDSTATE ); // Jel esetén 150
}
else {
FastLED.setBrightness(LOWLEDSTATE ); // nincs jel esetén 25
}
FastLED.show();
-
-
Mit is fog ez pontosan csinálni?
A bekötés jónak tűnik, csak a logikát meg kell majd fordítani a programban, a 9V elem magas jelszintje az optón keresztül alacsonyra húzza a D5 lábat és viszont.
Még annyit, hogy a most 5V és D5 között lévő felhúzó ellenállást inkább a 3.3V-ra kösd, mivel a lap 3.3V-os, és itt gond nélkül megoldható a szintillesztés az opto-val. -
Tankblock
aktív tag
Szia,
nem, ha jól láttam kaptál választ, én meg egy kapcsolást az elméelthez itt: [link]
Az 5V helyett mehet a 3V3 kísérletnek az arduino oldalára, sima pin changeként lehet is regisztrálni. A legrosszabb esetben itt az opto elköszön az evilági élettől.... inkább mint a uController :-) -
Jáááj, dehogyis!
Nem értetted meg a lényeget.
Az input_pullup-nál a kontrolleren belül egy beépített (20-50kΩ) ellenálláson keresztül keresztül saját maga köti össze a D0 lábat a Vcc-vel, így a láb nem fog lebegni, mindig magas értéket fog látni egészen addig, amíg a D0 lábra alacsony jel nem érkezik (pl egy kapcsolón keresztül a földre kötöd). Mivel te ennek a fordítottját szeretnéd, tehát "legyen a láb alacsony, amíg 12V-ot nem lát", ezért a lábat le kell húzni a földre egy nagy értékű ellenálláson keresztül. Ellenállás nélkül is össze lehet kötni, ez esetben amikor megkapja a 12V-ot, egy egyszer megcsodálható, petárda-szű tűzijáték-effektust fogsz tapasztalni. -
Tankblock
aktív tag
Szia,
Én nem szeretnék beleszólni, de én a helyedben optócsatolóban gondolkodnék inkább. Mi van ha abban az autóban ugye a 12 V az inkább 14.4V és ha elmegy a diódahíd simán lehet az 18V is. Ilyen esetén megsütöd a lapodad. Közös földed amúgy is lesz gondolom nem isolált tápon kapod az 5V se --> én elgondolkodnék rajta erősen azon is....
A kód oldalról lehet interrupt is a start jel.....
-
Az a 16 fogalmam sincs, hogy mi lehet, a kódban nincs olyan sor, ami kiírhatná, hacsak a fastled nem írja ki ezeket, azt nem ismerem.
Az ellenállásról: amit csináltál, lehúzó ellenállásnak hívják, és ettől nincs összekötve a +12V a GND-vel, illetve össze van, de nem rövidzár, 1,2mA áram folyik rajta csak.
Azért van rá szükség, mert a digitális láb, főleg, ha vezeték is van rá kötve, mindenféle zajt szed össze a levegőből, lebeg, véletlenszerű állapotot vesz fel, ezért ha nem kap jelet, valamilyen irányba el kell húzni. Mivel nálad HIGH jelre kapcsol, ezért alapból a földre húzzuk. Ha nyomógomb lenne, ami a földre húzza a lábát, akkor pedig felhúzó ellenállás kellene, a Vcc és a láb közé, illetve mivel van beépített felhúzó ellenállás a lábakon, ezért nem is kellene külső ellenállás, elég szoftverből bekapcsolni:pinMode(D0,INPUT_PULLUP);
Illetve a gpio16-on van input_pulldown, ha esetleg kísérletezni akarsz vele, de nem tudom, működik-e, nem próbáltam még.JozsBiker: jogos!
-
Sanki
addikt
Ez nem akart működni, másik lett.
Itt ahogy hozzáérintem a D0 pinhez az 5V-os ágat egyből megnövekedik a fényerő, viszont ahogy elveszem a D0-ról az 5V-ot nem megy vissza. Mit kellene még belerakni?#include "FastLED.h"
#define NUM_LEDB1 3
#define LED_TYPE WS2812
#define COLOR_ORDER GBR
CRGB leds1[NUM_LEDB1];
#define LEDB1 D2
int inPin = D0;
int val = 0;
void setup() {
pinMode(inPin, INPUT);
pinMode(LEDB1, OUTPUT);
Serial.begin(115200);
FastLED.addLeds<LED_TYPE, LEDB1, COLOR_ORDER>(leds1, NUM_LEDB1).setCorrection(TypicalLEDStrip);
}
void loop() {
// val = digitalRead(inPin);
Serial.println(inPin);
if (digitalRead(inPin) == HIGH) {
{
FastLED.setBrightness(70);
for (int i = 0; i < NUM_LEDB1; i++ )
{
leds1[i] = CRGB(255, 255, 255);
}
FastLED.show();
}
}
else {
{
FastLED.setBrightness(20);
for (int i = 0; i < NUM_LEDB1; i++ )
{
leds1[i] = CRGB(255, 255, 255);
}
FastLED.show();
}
}
delay(500);
}
-
Persze, megoldható, ha poll-ozod a külső jelet, mert semmi más dolga nincs a kontrollernek, illetve nem feltétel az azonnali reagálás, egyéb esetben interruptot szoktunk ilyen célra használni.
Stepdown konverter nem való ilyen célra, ha ismert a külső jel feszültsége, egy szimpla ellenállásosztó elég hozzá (pl. 15k + 5k), ha biztosra akarsz menni, egy 3,6V-os zener diódát is tehetsz mellé, ha megszaladna a 12V külső jel, de ezzel az osztóval a D1 mini-nek 20-22V-ig semmi baja nem lesz. -
dew28
aktív tag
+ #14637 Janos250:
Termeszetesen nem innen kell megrendelni (es nincs is semmilyen kapcsolatom veluk (bar ha ennek a linknek a hatasara veletlenul megdobnanak vagy 10darabbal, elfogadnam nagyduzzogva)) pusztan ezt dobta fel a google eloszor, es le van irva szepen, hogy mit tud
De meg mindig tartom azt az allaspontom, hogy ha mar epiteni szeretnel (es kihagynad a taviranyitot), alapbol koss egy relet a d1 minire, es kapcsold azt. Pl nem csak ~2A-t tudsz vele kapcsolni, mint a jelenlegi vezerloddel.
-
dew28
aktív tag
Sonoff RF R3 (esetleg R2)
feltanithatod ra a taviranyitod, es kapcsolhatod telefonrol is.meg lehet oldani a wemossal amit szeretnel, de akkor mar egyszerubb hozza drotozni egy relet es azzal kapcsolni a hosszabbitodat, mint nekiallni rf transmittert csinalni..
-
Hűha... Elég sok helyen félre tud csúszni egy ilyen projekt, mindenekelőtt jó lenne, ha látnánk a pontos bekötést (rajz és/vagy fotó) és a forráskódot (töltsd fel például a pastebin-re, és onnan linkeld be).
A bekötés jó, ahogy írtad, de kérdés, hogy az rx lábat az rx-szel kötötted-e össze, vagy a tx-szel? Mert keresztbe kell, rx-tx, tx-rx. A legnagyobb odafigyelés ellenére is előfordul, hogy a két vezetéket fordítva dugom össze, első körben cseréld meg.
Annyi lehet még, hogy a modul gyárilag nem 38400, hanem 9600baud-ra van állítva, esetleg még ezt megpróbálhatod átírni a programban, de általában ha a sebesség rosszul van beállítva, vmi garbage ki szokott jönni a másik oldalon, amiből látható, hogy zajlik a kommunikáció, csak rosszul van beállítva (persze van, amikor semmi sem megy át).
A gépen, miután összepárosítottad a modullal, kellett kapnod két virtuális COM portot. Az egyiket állítsd be az arduino ide serial monitorban, válaszd ki a 38400baud sebességet, onnantól látnod kell vmiféle kommunikációt. Ha nem, akkor válaszd a másik COM portot.
Többet akkor tudok mondani, ha láttam a kódot.Janos250, gyapo11: köszi a megerősítést. A forrófejű kolléga úgy látom kapott pár napot, hogy más fórumon találjon megfelelő, hozzáértő segítséget, úgy látszik vki olyat is kioktatott, akit nem kellett volna.
-
Nem írtad, hogy milyen lapot használsz, de ha pl. UNO-val szeretnéd használni, amin 1db hardveres serial található, akkor a kódfeltöltés során gondot fog okozni, ha a 0,1 tx/rx lábakra kötöd a modult. Feltöltés előtt vagy le kell mindig húzni a csatlakozót, vagy SoftwareSerial-t kell használni (másik i/o lábakon). Ezt elfelejtettem az előbb írni.
-
Ok, kérdezz inkább.
A hc-05 modul úgy működik, mintha egy virtuális soros összeköttetés lenne (ugyanez létesül, amikor usb kábellel a pc-re kötsz egy arduino uC-t). A uC rx/tx lábaira kell kötni, és a beépített Serial.read() Serial.write() stb függvényeket kell használni, mintha az arduino ide serial monitorra akarnál vele írni (olvasni). Amivel össze szeretnéd kapcsolni (pc, telefon) ismernie kell a" Bluetooth serial" szolgáltatást. Pc-nél egyszerű, összepárositod, ezután létrejön egy COM port, amire akár az arduino serial monitorral rá tudsz kapcsolódni. Telefonra kell egy program, ami ezt tudja kezelni, de elég sok arduino BT controller app van például a play áruházban, csak rá kell keresni.
A hc-05 gyárilag 38400 baud-ra van beállítva, ezért a aketch-benSerial.begin(38400);
sorral kell csatlakozni, valamint a fogadó oldalon is ezt kell beállítani. Ha erről eltérő sebességet szeretnél, akkor uart-on keresztül rá kell kapcsolódni és AT parancsokkal átállítani. -
Ha a default 38400baud sebesség megfelelő a célra, akkor nincs más dolgod, mint a serial rx/tx lábakra kötöd, és a Serial függvényeket használod, mintha kábel lenne rá kötve.
Ha át kell konfigurálni, akkor csak annyival bonyolódik a dolog, hogy az AT parancsokat át kell neki valahogy küldeni, de azt is csak egyszer kell elvégezni. Azután úgy viselkedik, mint egy virtuális soros kábel. -
Később megnézem gépről a két kódot, most telefonról vagyok. A newping lib-en belül lesz vmi konfigurációs eltérés.
distance = sonar.ping_cm();
vs.fullDist = (sonar.ping_median() / US_ROUNDTRIP_CM);
Nézd meg a ping_cm függvényt, biztos van benne kompenzáció. A második a nyers adatból számol. -
-
-
_q
addikt
Sima elem 1.2 V ha AA-t használsz. Arra figyelj, hogy itt sorba kell kötni majd 3 db-ot legalább.
Képek alapján nem látok rajta USB-soros átalakítót, ezért kelleni fog egy FTDI vagy CP210x. Amúgy vehetsz ilyet is: [link] Igaz nagyobb mint a mini, de cserébe egy újabb processzor van rajta, esp8266 helyett esp32, van rajta a soros-usb konverter és még 18650-es cellának és ott a helye, csak használni kell (miután programoztad).
-
Egy 12V-os autós akksiról tovább üzemelne, mint amennyi idő alatt az akksi az önkisüléstől magától lemerülne. Csak ahhoz kellene egy 5V voltage regulator, vagy egy stepdown converter, ami rontja a hatásfokot.
Én 1db Li-ion cellára gondoltam, ami 4.2V-3.0V-ig szolgáltat tápot (3V alá nem szabad meríteni), vagy 3db ceruza elemre, ami kb 4.8V-tól ameddig működnek a rá kötött dolgok, vagy 3db ceruza akkumulátor, 4.5-4.2V és lemerülés közt. Utóbbi megoldásokban az a jó, hogy nem kell hozzájuk regulátor, mert az AVR-ek 5.5V-2.5V közt bármiről elmennek, utóbbihoz alacsonyabb órajel szükséges.Janos250: ez utóbbi tulajdonsága miatt szeretem, akkumulátoros dolgokat lehet vele tervezni baromi egyszerűen, ha 1MHz-es órajelre állítom, kis túlzással két lemerült ceruzaelemről is elmegy, vagy egy 3V-os gombelemről, vagyis nemcsak önmagában pici, de semmi nem kell mellé, se kristály, se regulátor, csak direkbe kötöm rá az elemeket és kész. Ráadásul lehet vele usb eszközöket emulálni (most éppen egy midi billentyűzetet építek a fiamnak itthoni gyakorlás céljára digispark-ból).
Ráadásul miután kaptam helyette egy maréknyi attiny12-t, amit megtanultam assembly-ban programozni, már egészen értem a 8bites AVR-ek lelki világát is, egyszerűen imádni való az egyszerűségük. -
Janos250
őstag
"Ha valamelyik esp lenne, akkor a kódok is máshogy néznek ki vagy ugyanaz használható, mint a két fenti vezérlőn?"
Is-is. Azok a könyvtárak, amik a a szokásos digitalRead(), digitalWrite(), pinMode() függvényeket használják, azok simán mennek átírás nélkül.
A WS2812 RGB led meghajtás egy más téma, az már nagyon erősen ki van centizve a szükséges sebesség miatt az adott típusú lapokra.
Mint korábban írtam, elég nagy a káosz a könyvtárak terén, de vannak jól bevált példányok. Én évekkel ezelőtt egyszer a DHT11-et akartam használni, de a különböző könyvtárak között mindig kavarodás volt, ezért inkább írtam egy sajátot, ami a triviális GPIO kezeléssel és időzítéssel olvassa az adatokat, így erről pontosan tudtam, hogyan működik, mit csinál. Persze, az még odébb van, hogy te is saját könyvtárakat csinálj.
Hasonlóan voltam a Adafruit_NeoPixel.h-val is. Inkább csináltam ESP32-re egy sajátot, ami ugyan csak az ESP32-n működik, de annak a lehetőségeit kihasználja, és pontosan tudom, hogy mit csinál, így elég hosszú led szalagot elég gyorsan tudok kezelni.
Az Adafruit_NeoPixel.h - bár rég néztem, de úgy emlékszem - tud többféle processzort kezelni.Aryes:
Régebben, hogy ennyien használjátok, megnéztem ezt az attiny85-t. Tetszik, hogy pici, egyszer még lehet, hogy én is kipróbálom :-)
Bár az okos konnektorokban, miegymásban használt ESP is igen pici, de azt meg nemigen lehet kapni. -
Jól hangzik. Ha én csinálnám, én megpróbálnám elemes/akkus táplálásra tervezni, pl egy attiny85-tel (mostanában ez a kedvencem, pedig rém elavult már
) feszültség konverter és egyéb árampazarló perifériák nélkül. Kérdés, hogy a ledszalagnak mekkora az a minimum tápfeszültség, aminél még működőképes.
-
Ehhez viszont nemigen kell wifi, egy attiny85 is el tudja végezni a feladatot.
Arra számíts, hogy az ultrahang szenzorra hiába írja, hogy 5m a hatótávja (wtf?!), max másfél méter távolságra fogod tudni használni, azt is csak úgy, ha az autó valamely függőleges felületére lövöd be.
Hogy lesz megtáplálva? Mit fog csinálni a jelzőfény, amíg benn áll a kocsi a hatósugárban (parkol)? -
Gyakorlatilag magasabb szinten (setup, loop, változók kezelése stb. ) ugyanazt a kódot tudod futtatni, de például a i/o portok, időzítők kezelése teljesen más a két architektúrán, ezért ezeket ha közvetlenül próbálod kezelni, akkor át kell írni, de ha lib-eken keresztül, akkor a megfelelő lib-et kell csak hozzá letölteni (pl. dht11_esp8266), és akkor maga a program ugyanaz marad. Sokszor a lib-ek eleve úgy vannak megírva, hogy le tudják kezelni a különböző hardvereket, vagy a fordító automatikusan a saját architektúrához tartozó lib-et használja, ilyenkor semmi dolgod nincs.
Remélem érthetően írtam.
Ebben az esetben ajánlom az esp8266-ot, pl. wemos d1 mini, mert azon minden rajta van, ami a működéshez szükséges, és komplett webszervert tudsz rá tenni, rákapcsolódsz az otthoni routerre és a telefonodon tudsz vele kommunikálni.
Arra figyelj még, hogy míg az uno, nano stb 5V tápot kérnek, az esp-k 3.3V-ot (a wemos d1 mini ezt onboard konverterrel elő tudja magának állítani usb 5v-ból), ez a szenzorokkal való összeköttetést is meghatározza. Van, ami gyárilag el van látva szintillesztéssel, van, hogy anélkül is működik gond nélkül, de néha Neked kell megoldani. Ez utóbbi velem egyszer fordult csak elő. -
Az attól függ, hogy mire szeretnéd majd használni. Pl hc-05 Bluetooth modul, ami soros portot képez az uno és a gép/telefon közt, sima Serial könyvtárral tudod használni. Vagy ha wifi kell, akkor valamelyik esp (esp8266-> wemos d1 mini vagy esp32->lolin32) modul, de akkor a felhasználás céljától függően érdemes az egész programot eleve magán az esp-n futtatni.
-
Janos250
őstag
A pin terhelése nem függ attól, hogy hány ledet hajtasz meg. A ledek száma csak a tápvezetéken beadott táp igényt változtatja. A táp vezetéken, ha kevesebb áramot adsz, gyengébben világít, de egy érték alá nem lehet menni,mert akkor nem működik.
(Ha még nem lenne világos: a led szalagnak van 3 vezetéke:
föld
jel
5V
A föld és az 5V közé kell erős táp)
Új hozzászólás Aktív témák
Hirdetés
- Kerékpárosok, bringások ide!
- OTP Bank topic
- Milyen okostelefont vegyek?
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- Milyen videókártyát?
- HiFi műszaki szemmel - sztereó hangrendszerek
- Vezetékes FEJhallgatók
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- E-roller topik
- További aktív témák...
- HP Elitebook 840 G3 laptop (15,6FHD/I5-G8/8GB/256SSD/Magyar/Win11)
- AMD Ryzen 5 5500 - GTX 1080Ti 11Gb - MSI B450 Max
- HP Zbook 15 G3 laptop (15,6FHD/I7-G6/16GB/256SSD/AMD2GB/MagyarVilágítós/Win11)
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
- Apple iPhone 13 Pro 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy S25, Samsung Galaxy S25 Plus, Samsung Galaxy S25 Ultra
- AKCIÓ! Apple Macbook Pro 15" 2018 i9 9850HK 32GB 500GB 560X 4GB garanciával hibátlan működéssel
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB 500GB Radeon Pro 5500M hibátlan működéssel
- Bomba ár! Lenovo ThinkPad X390: i5-G8 I 16GB I 256GB SSD I 13,3" FHD Touch I Cam I W11 I Gari!
- Apple iPhone 11 Pro 64GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PC Trade Systems Kft.
Város: Szeged