- Mobil flották
- Yettel topik
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 11 Lite 5G NE (lisa)
- Samsung Galaxy A56 - megbízható középszerűség
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Google Pixel topik
- Samsung Galaxy A55 - új év, régi stratégia
- Milyen okostelefont vegyek?
-
Mobilarena
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
-
Janos250
őstag
válasz
repvez #15433 üzenetére
A Fusion 360-at panel tervezésre nem használtam, így ezt nem tudom. Én a fusion 360-at csak a 3D nyomtatás tervezésére használom. Az EasyEDA-ba a korábban Eagle-ben tervezett dolgaimat, könyvtárakat simán át tudtam vinni, lehet, hogy a Fusion360 fájljait is megeszi esetleg? Ez megoldaná a BOM fájl problémát.
Közben, ahogy olvasgattam, van egy jobb megoldás a vágásra: V-cut a neve. Ez az, amikor az ember valamelyik kis kínaitól rendel pár egyforma panelt, és úgy küldi, hogy simán kézzel szét lehet tördelni egyesével. Bemarják mindkét oldalán a panelt, hogy törhető legyen. Az EasyEDA ezt ajánlja.
"a program azt hiszi, hogy egy panelra kerül mindegyik és nem 2-3 különböző pannel"
Nem kézzel helyezed el az alkatrészeket? Mert akkor mindegy.
A VIA-ák nem okoznak gondot, nem kell velük foglalkozni.
(Kivéve, ha úgy jársz mint én, hogy lökött fejemmel nem vettem észre, hogy a VIA-k lyukja túl pincurka volt, és nem vezet át.
Legyártattam belőle 10 db panelt, amin rajta van 4 db FET lyukjai, amik szerencsére működnek is, mert annál nincs VIA, de az EEPROM, SD kártya olvasó, és az ilyen-olyan csatik helye a később eszembe jutó eszközök csatlakozásához nem, mert a VIA-kat fúróval meg kellene bővíteni, és akkor már vezetéket forrasztani bele, hogy a két oldala elektromosan érintkezzen. Úgy döntöttem, nem kínlódok vele, inkább rendeltem javított szériát. Ezek meg ott állnak, majd kidobom őket, de egyelőre még megkegyelmeztem nekik, pedig biztosan nem fogom használni, de hátha valaki valahol egyszer azt mondja, hogy mondjam meg, melyik kukába dobnám, mert ő tökölne vele, vagy elég lenne neki önmagában a 4 belerakható FET, vagy a kiépített csatlakozásokat használná. Szerencsére én alkatrészeket nem rakattam bele, csak az üres panelok vannak)
Én egyébként nem használom az autoroutert, kézzel rakom fel a vezetékeket. Macerás, persze. -
Janos250
őstag
válasz
repvez #13805 üzenetére
Gondolom a te problémád már rég megoldódott, de én most találtam rá a megoldásra. Beteszem ide, hogy meglegyen, hátha még valakinek szüksége lesz rá:
Hogyan lehet EasyEdaban a panelon nem kerek lyukat, hanem "vágást" csinálni?
Mint pl. ahogy mostanában illik a panelon a kisfesz és nagyfesz részt úgy is szétválasztani, hogy a panelon vágást teszünk közéjük:
A pad-nél az attributamai között a Hole(D) mellett van egy olyan is, hogy Hole(Lenght). Ha ezt nagyobbra állítjuk, akkor egy D vastagságú, Lenght hosszúságú vágás lesz (multilayer) az eredmény.
-
-
válasz
repvez #14894 üzenetére
akkor csak simán kiitörölhetem az OUT részt és az egyik chipet a többi marad akkor elvileg müködik?
Akkor hol fogod kivenni az adatot a kapcsolásból?
És ha az MCP chip azonos lábait is összekötöm vele akkor az sem fog gondot okozni?
Én azt mondom, hogy nem, de mielőtt legyártatod hozzá a panelt 10000 példányban, egy breadboardon azért próbáld ki mindenképpen.
-
válasz
repvez #14890 üzenetére
Én végig az alsó rajzról beszéltem...
A c1es részen annyi rész kell bele ahány chip vagy az mindig 3 db vagy mehet akár egy is csak megfelelő értékkel és az mennyi ?
Itt nem egészen értem, hogy miért van pont 3db párhuzamosan kötve, egy biztos: nem a chipek száma miatt. Azt tudom, hogy 3db 100nF-ot nem lehet 1db 300nF-ra cserélni, mert a nagyfrekvenciás tulajdonságai megváltoznak. Szoktak egy nagy (pl. 1uF elektrolit) és egy kis értékű (pl. 100nF kerámia) párhuzamosan kötni, mert az a nagy és a kisfrekvenciás zavarokat is szűri, gondolom itt is ez lett volna a költő szándéka. De erről a hobbielektronika topikban értelmesebb választ fogsz kapni (vagy itt a hozzáértő kollégáktól).
Az R25 re gondoltam Az a MISO-ba megy és a chipen belül meg az SI részre megy, nem a CS lábra.
Felhúzó ellenállás. A harmadik chip soros adat bemenetét védi a lebegéstől (random adat) arra az esetre, ha nincs semmi a bemenetre kötve.
Meg az OUT rész jobb felül az R26al elhagyható ha nem akarom daisy chainbe kötni több shift regiszterrel?
Ezt nem tudom, ennek valami védelmi szerepe lehet, nincs a rajzon, de vmi kisértékű (pl. 100 ohm) ellenállás lehet.
-
válasz
repvez #14883 üzenetére
az MCP320X-es chipeknél lehet e keverni, hogy csak analog vagy digitális potmétert is lehet e rákötni.
Nem használtam még digitális potmétert, de elvileg pontosan úgy viselkedik kapcsolásban, mint az analóg, úgyhogy valószínűleg igen.
Illetve ha shift regiszterrel használom akkor ugyan ugy használhatja a közös lábakat mint a MISO,SCK, gen stb.. ?
Eddig nem tűnt fel, hogy a CD4021B SPI protokollt használ, de mindig tanul az ember.
Elvileg mehet egy vonalra.
ha csak 2 chipet akarok használni akkor elég csak kivenni a kapcsolásból vagy mi változik meg ha csak 10 gombot akarok használni amihez 2 chipre van szükség?
Persze, csak figyelj oda, hogy a maradék két chipet hogy kötöd össze.
A különálló részek miért kellenek és az ellenállások a felső részén?
Az R5 és a C1 érdekel? R5: a CS lábat húzza magas szintre
C1 a zavarokat szűri a tápfeszültségből. -
dew28
aktív tag
válasz
repvez #14450 üzenetére
Igazan nem szeretnelek megbantani, de azert egy nem egy sarki tescoban polcrol leveheto cucc. Gyakorlatilag anelkul, hogy interakcioba kerulj vele mind hw, mind sw teren, anelkul mukodeskeptelen eszkoz. Ez a teny viszont erosen feltetelezi, hogy ha mar megvasarolod, akkor valamilyen szinten ertesz hozza / erteni akarsz hozza.
Majd ha az Apple beszall az arduino bizniszbe, akkor biztosan lesz 'hulyebiztos' pinout is, de addig marad a tanulas -
válasz
repvez #14448 üzenetére
Csak azt tudnám, hogy ezt miért nekünk mondod el.
Se az arduino-t nem mi terveztük, se a leírásokat, manualokat...
A soros kapcsolatot nem az arduino találta fel, ne kérd számon, hogy nem kezdtek megváltoztatni egy 50+ éves szabványt. Meg kell ismerkedni kicsit mélyebben a dolgokkal, nem dugdosni mindent össze gondolkodás nélkül.Google a barátod, Wiki a barátnőd. Ha új dolog jön szembe, olvass utána.
Ezen kívül gyakorlatilag nem is találsz ehhez hasonló elnevezés okozta problémát, szóval lépj túl rajta. -
Janos250
őstag
válasz
repvez #14448 üzenetére
Gondolj bele, ha magyar nyelven írnák:
kimenet, bemenet
Ami a GPS-en kimenet (Tx), az az Arduinon bemenet (Rx)
Akkor hogy lehetne egységesíteni? A GPS kimenetére is azt írni, hogy bemenet, vagy az Arduino bemenetére azt írni, hogy kimenet.
Ami az egyiken kimenet, az a másikon bemenet. Ha a benzines kannából benzint szivattyúzol a kocsi tankjába, akkor az a kannán kimenet, a tankon bemenet.Hogyan jelölnéd, amikor két Arduinot kötsz össze? Na, ugye?
Az SPI már a Te logikád szerint oldotta meg.
van:
MOSI: Master Output Slave Input, vagy Master Out Slave In
MISO: Master Input Slave Output, vagy Master In Slave Out
Itt a MISO a MISO-hoz,
MOSI a MOSI-hoz megy.A 10,11-nél is szigorúan meg volt határozva, hogy melyik a kimenet, és melyik a bemenet.
-
válasz
repvez #14441 üzenetére
Jó, erre gondoltam, de a 120 nem sarkalatos érték, használhatsz helyette pl 200Ω-ot, vagy ekörül, amit nem kell kettőből összetenni. De ahogy Janos250 írja, nem ez lesz a gond. És kötheted direktbe, ha eddig nem ment tőle tönkre, akkor valószínűleg már nem is fog. Egy-egy 100-200Ω ellenállást beköthetsz azért a kettő közé (úgy, ahogy most), ártani nem árt, viszont védi a GPS-t a magasabb feszültségtől.
A program feltöltésekor bármit dugsz az RX/TX lábra, valószínűleg meg fogja akadályozni a feltöltést, ezt nem is kell nagyon magyarázni, csak gondold végig, hogy a programfeltöltés ezen a két lábon keresztül történik! Utána tudod saját célra használni, de a feltöltés mindenképp ezen történik (kivéve, ha ICSP-n keresztül töltesz fel kódot, de ezt most hagyjuk). -
Janos250
őstag
válasz
repvez #14444 üzenetére
Az ellenállásos verzió az Arduino Rx lábához addig volt aktuális, ameddig még nem tudtuk, hogy hibás-e a kommunikáció. Azzal a megoldással ugyanis stabilabb az átvitel.
Normál esetben nem okoz zavart az se, ha egy-két bit elromlik, az átvitel során, mert minden mondat (=sor ) végén van kontrollszumma, és ha az rossz, akkor azt a mondatot eldobja. -
Janos250
őstag
válasz
repvez #14444 üzenetére
A GPS Tx lábát közvetlenül lehet kötni az Arduino Rx lábára. Amint a korábban küldött ábrád tapasztalata mutatja, nem hibázik. Ez legfeljebb azt okozhatná, hogy hibásan olvas, de el nem ront semmit.
A GPS Rx lába már problémásabb, bár valaki írta, hogy neki nem okozott zűrt. De ez az összekötés csak akkor kell, ha nem csak olvasol, hanem át is akarod állítani a GPS-t, ami ugyebár lehet bonyás. A feltöltés alatt azért nem lehet rátenni a GPS-t, mert te így az Arduinonak azt a soros (UART) portját használod, amit a feltöltésnél is használ. Ha a softwareserial soros portot használod, akkor nem kell széthúzni feltöltésnél. Nyugodtan próbálgathatod azt is, ha a GPS Rx portjára nincs kötve semmi, nem lehet zűr, mert akkor csak olvas róla, nem tud rá tölteni, nem tudja átállítani.
Miért keresztbe a lábakat?
Mert a szabályos az, ha a KIMENETI csatlakozót Tx-el (transmit), a BEMENETIT meg Rx-el (receive) jelöljük mindkét oldalon, tehát ami a GPS-en kimenet (Tx) az megy az Arduino bemeneti (Rx) lábára. Lehet, hogy van olyan panel, ahol nem szabályosan van feliratozva. Ha a korábbi pici programban a Serial helyett software serialt írsz, próbálgathatod, akkor nem kell lehúzni feltöltéskor, mert akkor az
Arduino másik lábára teszed, mert egy másik soros portot használsz a program feltöltésre, és másikat a GPS jelének olvasására.
Zűrt kizárólag akkor tudsz csinálni, ha az Arduino kimeneti (Tx) lábát is összekötöd a GPS-el, mert akkor küldesz is rá adatokat, amik átírhatják a beállításait. Ahhoz, hogy a bináris adatokat ne küldje, ahhoz át kellene írni, de elég bonyolult, mert binárisan összerakott adatsort kell rá kiküldeni, és azt - mint látjuk - ha elrontja az ember, könnyen téglásítja a GPS-t. Persze levélnehezéknek még akkor is jól mutat.
Igen, elég szétválogatni, és eldobni a bináris adatokat, mert a szöveges mondatok JÓK!
Baud: valamikor valaki átállította 115200-ra. Gyanúm szerint a panel gyártója, de ez semmi gondot nem okoz, ha nem százméteres kábellel akarod összekötni. -
Janos250
őstag
válasz
repvez #14441 üzenetére
Felesleges. Amit próbáltam, összehasonlítottam az általad képen megadottakkal. Tökéletesen egyezik. A gond nem az, hogy az Arduino rosszul értelmezné az adatot, hanem jön a bináris adat is.
Azt a programot ne használd, ami nálam zűrt okozott!
Bár lehet, hogy véletlen volt. -
válasz
repvez #14435 üzenetére
Janos250 feszültségosztót javasolt, a GPS RX lábára, ami az arduino 5V-os kimenő jelét alakítja 3,3V-ra, így védi a GPS modult a túlfeszültségtől.
Amit én írtam, az felfelé húzza a GPS kimenő 3V-os jelét a TX lábon, 5V-ra, hogy az arduino tudja értelmezni, mert neki valószínűleg kevés a 3V ahhoz, hogy magas értéknek értelmezze, vagy pont elég, de egy kis külső zavar elég, hogy elrontsa a kommunikációt. A 10k felhúzza a vonalat 5V-ra, a 120Ω pedig védi a portot a visszafelé folyó áramtól.
A kétféle ellenállás kombinációt nem ugyanúgy kell bekötni!
Amit én írtam, nem elegáns/hivatalos/végleges megoldás, csak egyfajta dirty hack, hogy kiderüljön, az alacsony jelszint okozza-e a kommunikációs problémát, vagy más. Hivatalosan használhatsz helyette például CD4050 szintillesztő ic-t, de mivel ellenállás van otthon, gondoltam a teszthez elég lesz ez is. -
Janos250
őstag
válasz
repvez #14396 üzenetére
Pl. egy db. 10k, és egy db. annak fele körül.
a két ellenállás egyik végükön összekötve.
A 10k másik vége a GND-re, a fele akkor másik vége meg az Arduino Tx lábára.
A GPS Rx lába arra a pontra megy, ahol a két ellenállás össze van kötve.
Akkor már lehet küldeni vezérlő kódokat a GPS-re, de azt még meg kell nézni, milyen kódokkal lehet vezérelni.Én azt tippelem, hogy a bejövő adatok jók, mert amikor az olvasható szöveg jött, azok egymásután teljes egészében jó adatok voltak.
-
Janos250
őstag
válasz
repvez #14385 üzenetére
A szintillesztést lefelé (vagyis az Arduino 5 voltjáról a GPS 3.3 voltjára) két ellenállással (egy 1x, és egy 2x értékűvel) meg lehet csinálni, itt is írta valaki (talán Aryes?) korábban, hogy hogyan. Akkor már tudsz írni a GPS-re, és az már sokat segít, mert be tudod állítani, ami elállítódott.
Én mindenesetre beszereznék egy 3.3 V-os lapot is az ilyen szenzorokhoz: pl. egy STM32-t, amiből egész olcsó, 1000 Ft alatti is van, vagy egy ESP8266-ot, az is olcsó, vagy ESP32-t, az 2000 Ft alatt van.
Meg egy korábban említett 2000 Ft-os logikai analizátort. Ennek a használatához nem kell semmi előismeret, ahogy le van írva, ráteszed, elindítod a programot, és látod, hogy ténylegesen milyen jelek mennek.
Ha a két ellenállásos szintillesztést megcsinálod, akkor össze tudod kötni vele az Arduino Tx-jét a GPS Rx-jével. Ha idáig eljutsz, akkor írjuk, hogyan tovább. -
-
Janos250
őstag
válasz
repvez #14381 üzenetére
Ebben a programban cserélted le azt a sort, amit írtam?
https://prohardver.hu/tema/arduino/hsz_14330-14330.html
Eredeti alatt én ezt értettem! -
Janos250
őstag
válasz
repvez #14374 üzenetére
Egyre közelebb a megoldás :-)
Ami a képen középen van, az jó, olyannak kell jönni.
Azért nincs benne értékelhető adat, mert nem lát holdakat a szobában.
Kérdés, hogy miért nem 9600-on, és miért nem csak olvasható adatok jönnek?
Erre a tippjeim:
baud: amikor összekötötted a GPS Rx-et az Arduino Tx-el,
akkor véletlenszerű adatok mentek ki, és elállítottad a GPS-t.
Ugyanígy lehet, hogy úgy állítottad el, hogy a bináris adatokat is küldje (mert van olyan állapot is), így közben azok bináris adatok.
Vagy az Arduino nem tudja hibátlanul megenni a GPS adatait, mert
- a jelszint (3.3V) alacsony neki, de ezt nem volna neki szabad
- a vezetéken összeszed valami zajt a "magas" baudon, ezért vissza kellene állítani 9600-ra, és úgy kipróbálni.
Ebéd után folyt köv. -
-
Janos250
őstag
válasz
repvez #14371 üzenetére
Én kipróbálnám nem a software seriallel.
void setup()
{
Serial.begin(9600);
Serial.println("GPS Start");
} ;
void loop()
{
while(Serial.available() > 0)
{
Serial.write(Serial.read());
} ;
} ;
Tehát:
1. töltsd fel a programot úgy, hogy nincs összekötve a GPS és az Arduino
2. húzd ki az USB-t, hogy ne kapjon tápot, nyugodtan szerelhess
3. kösd össze: GND-t, és a tápot a GPS és az Arduino között
4. a GPS Tx-jét kösd össze az Arduino Rx-el, mást ne
5. dugd vissza a tápot, és nézd mit csinál a már korábban feltöltött program
A serial monitorban mindig ugyanaz az érték legyen alul jobbra (pl. 9600), mint ami a Serial.begin(9600) -ben akkor is, ha változtatod.
Ha 9600-on értelmetlen karakterek jönnek, akkor próbálj a 9600-on változtatni. Figyel rá, hogy amit itt beállítottál, azt állítsd be a serial monitorban is.
Írd meg az eredményt! -
válasz
repvez #14368 üzenetére
A felső részén pont nem látszik a lényeg (a vezetősávok) a csillogástól, de az RX/TX lábakon egyértelműen nem látok feszültségosztót. Attól félek, hogy ez már tönkremehetett a túlfeszültségtől. Bár fura, hogy akkor kérdőjelek se igen jönnének.
Másik oldala?
Honnan lehet ez rendelve, tudsz egy linket adni a webshophoz, a termékhez? Hátha kiderül valami.Viszont a kivezetések alatt az a fekete 5 lábú cucc az egy feszültségregulátor, ami azt jelzi, hogy a modul fel van készítve 5V tápfeszültségre.
-
-
válasz
repvez #14365 üzenetére
Ezt a kódot töltsd fel:
#include "SoftwareSerial.h"
SoftwareSerial serial_connection(10, 11); //RX=pin 10, TX=pin 11
void setup()
{
Serial.begin(9600);//This opens up communications to the Serial monitor in the Arduino IDE
serial_connection.begin(9600);//This opens up communications to the GPS
Serial.println("GPS Start");//Just show to the monitor that the sketch has started
}
void loop()
{
Serial.write(serial_connection.read());
}És SM-ben állíts be 9600 baudot.
Ha nem jön semmi, akkor cseréld meg a 10-11 lábat.
Ha úgy sem jön semmi, akkor kinyírtad a GPS modult.A modulról tölts már fel egy közeli képet, amin látszanak az alkatrészek/feliratok, mindkét oldaláról!
-
válasz
repvez #14347 üzenetére
azt tanácsoltátok, hogy kell a felhuzo ellenállás mert anélkül nem müködnek a modulok,
Soros kapcsolathoz senki sem írta, hogy kellene felhúzó ellenállás, csak az i2c-hez. Bár nem tartom valószínűnek, hogy ez zavarná a kommunikációt.
3,3V modulhoz, ha nincs a boardon feszültségosztó (néha szokott lenni gyárilag, nekem szinte minden modulom ilyen) akkor illene, mert hiába 3,3V a Vcc, ha az RX/TX lábon megkapja a kontroller felől az 5V-ot, ugyanúgy kifingik tőle.
-
-
Janos250
őstag
válasz
repvez #14357 üzenetére
A GPS GND és az Arduino GND biztosan össze van kötve?
Másra már nem nagyon tudok gondolni, mert jönnek jelek, nem tudom, miért nem a jók. Most valóban az analizátor kellene, azzal egyből kiderülne, mi a gond.
Mert ha jönnek rendben a jelek, akkor azok valahogy értelmezhetők! -
Janos250
őstag
válasz
repvez #14340 üzenetére
Tegyél be ez után:
while(serial_connection.available())//While there are characters to come from the GPS
{
egy kiírást, hogy jön-e valami a GPS-ről a serial_connection-ön.
Pl.:
Serial.println("available");
Mert - úgy tűnik - nem jön.
A GPS Rx lábát NE kösd rá az arduino 11-re induláskor, mert akkor az alapállapotban marad, és küldi az infót.
Amíg nem működik rendesen, addig ne babráld a GPS Rx lábát!
Megint azt kérdezem, hogy biztos, hogy a GPS Tx lábát kötötted az Arduino 10-re? -
-
-
repvez
addikt
válasz
repvez #14338 üzenetére
áttettem a kábeleket a 10, 11 es pinekre.
Most hiba nélkül felment a kód.
És a serial monitoron kiirja hogy GPS start,
De a loop sectioban lévő adatokbol semmit sem. és ami még furcsa, hogy most a NANO-n lévő 4 ledbol csak egy világit, eddig mig a RX,TX részen volt addig az RX led is világitott.Meg nem értem, ha egy Shieldet csinálnak , elvilegben, hogy a éllaikusok is könynebben boldoguljanak, hogy mit hova kell kötbni akkor miért nem oda teszik a funkciokat ahova hivatkoznak rá. mert ugy meg hibát dob a fordito, ha a 10, 11 es pint akarom átirni a RX, TX re.
-
Janos250
őstag
válasz
repvez #14335 üzenetére
Már nagyon rég használtam nanot, de :
Azt mutatja, hogy rendben lefordította, de nem tölti fel a programot.
"Using Port : COM3
Using Programmer : arduino
Overriding Baud Rate : 57600
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xcd "
A "not in sync" azt jelzi, hogy nem látja a PC a nanot.
USB kábelen akarnád feltölteni?
Nem emlékszem már, az IDE-ben az eszközök/programozó fülön mit kell beállítani, de majd megmondják, akik jelenleg is használják. -
-
-
-
gyapo11
őstag
válasz
repvez #14313 üzenetére
Jó kis MacGyveres feladat, nincs semmink, de kell egy bombát eszkábálni.
Szerintem ott a 13-as porton a beépített led, villogtasd ki vele a gps-től kapott string valamelyik értelmezhető szakaszát, valamelyik koordinátát, ott nincs baudrate probléma. Egy fokkal követhetőbb lenne a csipogó valamelyik kimenetre. -
-
Janos250
őstag
válasz
repvez #14304 üzenetére
Biztos, hogy jól állítottad be a baud-okat?
Serial.begin(9600);
A serial monitor jobb alsó sarkában szintén 9600
Biztos, hogy jól kötötted be?
A GPS Tx - Arduino Rx ?
Jó lenne két UART-on használni: egyik a serial monitor,
és egy másik független a GPS.
Próbáld meg egyből kiíratni, ami bejön a GPS-ről. Mindenféle könyvtári program nélkül. Azok is értelmezhető adatok, ha jól van beállítva. Utána lehet variálni.
A GPS 3.3V szinttel működik, de a 3.3V-ot el szokta fogadni inputként az 5V-os lap is. Visszafelé, már nem nagyon érdemes próbálgatni. -
-
válasz
repvez #14284 üzenetére
A lib szerint a Adafruit_VL53L0X default címe:
#define VL53L0X_I2C_ADDR 0x29 ///< Default sensor I2C address
Szóval lehet ez a probléma. A debugot, ill másik címet a begin() függvény hívásakor tudsz adni:
boolean begin(uint8_t i2c_addr = VL53L0X_I2C_ADDR, boolean debug = false,
TwoWire *i2c = &Wire,
VL53L0X_Sense_config_t vl_config = VL53L0X_SENSE_DEFAULT);valahogy így:
lox.begin(0x39, true)
SW leállítására: [link]
Én nem ismerem ezt a modult, de nem látom, miért ne működhetne több. Esetleg I2C címütközés lehet probléma, felhúzóellenállás esetleg, passz...
-
-
-
-
Tankblock
aktív tag
válasz
repvez #14183 üzenetére
Szia
Angollal hogy állsz?
1:00 pont azt mondja hogy ha több vagy nagyobb szervót szeretnél akkor külső forrás szükséges. Ha nem szeretnéd túlterhelni akkor fogadd meg a tanácsot. Gondolom megjavítani sem tudod, a nanon a schottky dióda fog elmenni először ha szerencséd van.
-
válasz
repvez #14186 üzenetére
ha csak egyet akarok probálgatni ahogy a linkeken is találtam akkor ugy gondoltam, hogy nem olyan fontos.
Úgy gondoltad? Elmondtuk, hogy de, kell, ha többet fűzöl fel, lehet, hogy kisebb ellenállás kell, de az i²c szabvány megköveteli a felhúzó ellenállásokat, anélkül nem működik. Az MPU gyárilag tartalmazza, azért működik out-of-the-box, de nem ez az általános.
ha esetleg nehezedre esik , akkor nem kell segiteni,
Kikérted a véleményünket, aztán teljesen mást csináltál, majd visszajöttél panaszkodni, hogy nem működik. Itt nem az a helyzet, hogy nehezemre esne segíteni, ellenkezőleg (keress rá, hány választ írtam már neked
), egyszerűen bosszant, hogy ugyanazt többször kell leírnom, mert semmibe veszed, amit mondok.
Próbálom ezután visszafogni magam, és nem adok több tanácsot.
Ja de: nem tudom melyik városban laksz, de a sarki hobbielektronika boltban 10Ft/db a 4,7kΩ ellenállás. Ha már ott vagy, vegyél egy marék 10kΩ ellenállást is, mert úgy kb. mindenhová kelleni fog, ahol digitális áramkörök vannak. Meg 220Ω, ha ledeket szeretnél használni.
szerk 2.: ha 3,3V i²c modulokat használsz 5V mikrokontrollerrel, az i²c vezetékeket ne 5V-ra húzd fel, hanem 3,3V-ra, különben kijöhet a füst belőlük, ami működteti őket.
-
-
válasz
repvez #14179 üzenetére
Az mpu9250 valószínűleg a lapon tartalmaz felhúzó ellenállásokat, azért működik.
A gyro-hoz ezt az oldalt ajánlom:
MPU 6050 Teapot project
Sokat kínlódtam különböző library-kkel, amikor megtaláltam az i2cdev lib-et, azon belül az mpu6050 lib-et, ez állati pontos érzékelést tesz lehetővé, mert meghekkeli a szenzort, feltölt rá egy firmware-t, ami az eszközön végzi a pozíció számítását. Úgy emlékszem, hogy az én 9250-emhez a MPU6050_9Axis_MotionApps41.h-t használtam, és működött. -
Tankblock
aktív tag
-
gyapo11
őstag
válasz
repvez #14179 üzenetére
A modulokkal kapcsolatban nem tudok hasznosat mondani, csak a hibakereséssel. Az egyik a serial monitor, akár programsoronként ki lehet íratni, hogy mi történt, melyik kimeneten minek kellene megjelenni. A másik a 13-as porton levő beépített led, azzal is lehet villogtatni. A harmadik a szkóp és/vagy digitális állapot analizátor. Utóbbi software-ében van protokoll értelmező, lehet nézni, hogy helyes parancsot adott-e ki az eszközre, helyesen címezte-e stb.
-
válasz
repvez #14150 üzenetére
Most tulajdonképpen mi a kérdés? Betetted a nano-t egy shield-be, rádugtál egy szervót, és utána gépre durva nem ad életjelet, vagy akkor se, ha kihúzol belőle mindent és csak a lapot magában dugod a gépre? Előbbi esetben valószínű a shield hibás, vagy rövidre zársz valamit, esetleg a szervó áramfelvétele miatt a nano-n az usb-t védő polyfuse leválasztja a lapot. Ez utóbbit tapintással lehet ellenőrizni, az usb csatlakozó környékén egy nagyobb zöld smd alkatrész nagyon felforrósodik.
-
válasz
repvez #14061 üzenetére
Ezeket a reg cimeket, honnan tudom, meg?
Gyári adatlapból, de ha egy modulhoz van library, abban ez valószínűleg előre be van állítva.bármelyik manuált letöltve ugyan az lesz mindegyiké vagy az összes chipnek van sajátja?
Gyárilag egyforma, igen.Ha egy adott modulnak csak egyfajta registere van akkor kettő vagy többet hogy lehet ugyan abbol a modulbol használni ?
Van olyan i²c eszköz, amelyiknek hardveresen vagy szoftveresen változtatható a címe bizonyos korlátok közt, pl 2-3 címbit külső lábakra kivezetve, ezekből többet is fel lehet használni, amennyit a címtartomány enged. Amelyiket nem lehet változtatni, abból csak egyet tudsz használni egyszerre.HA nem tudom , hogy van e felhuzo ellenállás a panelokon, akkor enélkül nem is tudom tesztelni öket ?
Mérd ki egy multiméterrel a Vcc és az SDA, valamint a Vcc és SDL közti ellenállást. Ha kOhm tartományt mérsz, az a felhúzó ellenállás lesz. Persze ne működés közben, hanem kiszerelve mérd.ÉS azt hogy érted, hogy mindegyik vonalra és nem modulhoz kell ilyen ?
Két db. ellenállás kell, egy a Vcc és az SDA, egy pedig a Vcc és SDL közé.Mitől , függ, hogy honnan számit hosszúnak a vezeték aminél már kisebb ellenállás kell?
jelenleg csak 20cm es vezetéket tettem rá tesztelni, de későnn ez változhat.
Az rövid. A hosszú mondjuk 1,5-2m-nél kezdődik.A párhuzamos soros részt, ugy értettem, hogy ha 4 modult teszek rá akkor mindegyik lábhoz 4 vezetéket kell bekötni vagy beköthetem ugy is, hogy az egyik modul SDL lábárol a másik modul SDL lábára aztán a 3. és 4ére kötöm , majd a 4. től vezetem csak vissza a panelra és igy csak két vezeték menne a panel azonos lábaira:
Dehát attól még mindkettő párhuzamos.Az egyik csillagpontos, a másik daisy-chain (ha jól tévedek). De utóbbinál a lánc hosszúságával nő a zavarérzékenység, és csökken(het) a sebesség.
Hű, jó sokáig írtam a hozzászólást.
-
And
veterán
válasz
repvez #14061 üzenetére
A slave-címeket alapvetően a chip határozza meg, vagyis egy adott slave eszköz / modul adatlapján, leírásában lehet találkozni vele. Sok esetben legalább részben módosítható a cím, pl. a chip három lábának alacsony / magas szintre kötésével beállítható - a szokásosan 7-bites - cím három bitje, így abból akár nyolc is felfűzhető ugyanarra a buszra. A többi része fix, illetve van olyan típus is, amelynél az alacsony lábszám ára, hogy totál fix címe van. Létezik egyetlen input lábon analóg feszültségszinttel beállítható című slave is. Szóval modulja és a ráépített chipje válogatja, hogy mennyire szabadon állítható be a cím, ha egyáltalán módosítható.
"HA nem tudom , hogy van e felhuzo ellenállás a panelokon, akkor enélkül nem is tudom tesztelni öket ?"
Nem. Felhúzó ellenállás mindenképp kell, mivel a busz két vezetéke a slave-eken nyitott kollektoros tranzisztorokhoz kapcsolódik. Itt látható a jellemző I2C-busz felépítés: [link].
"Mitől , függ, hogy honnan számit hosszúnak a vezeték aminél már kisebb ellenállás kell?"
Van erre többféle leírás, app-note, néha még a slave-ek adatlapja is ad erre útmutatót. Általános esetben 4,7 kΩ körüli felhúzók megfelelnek, de az érték függ a busz hosszán felül a tápfeszültségtől (amire az I2C-busz fel van húzva, lásd az előbb linkelt ábrát) és a slave-ek típusától, darabszámától. Egyébként az I2C-vonalat nem túl nagy hosszra szokás tervezni, vagy ha igen, a sebességet lehet csökkenteni, illetve léteznek transzparens buszmeghajtók is ilyen célra. Azért egy-két méteren belül jó esetben nem lesz szükséged ilyesmire.
Mod. a #14062-re: a portra kapcsolható, uC-n belüli felhúzó megfelelhet, de mivel az általában túlságosan nagy értékű (sokszor 10 kΩ nagyságrendű), esetenként nem kerülhető meg a külső felhúzó. Ez főleg nagyobb buszsebesség, több slave és relatív nagy busztávolságok esetén igaz. -
Janos250
őstag
válasz
repvez #14061 üzenetére
"Ezeket a reg címeket, honnan tudom, meg?"
https://playground.arduino.cc/Main/I2cScanner/
"ugyan az lesz mindegyiké vagy az összes chipnek van sajátja? "
Általában fajtánként különböznek, de van, hogy egy adott fajtából is van több című. Nekem volt olyan - hirtelenjében nem jut eszembe mi volt - aminél a gyári jel után volt A0, A1,.. amiknek különböztek a címei. Hogy ezeket át lehet-e írni, azt nem tudom, de azt sejtem, hogy nem.
"Ha nem tudom , hogy van e felhúzó ellenállás a panelokon, akkor enélkül nem is tudom tesztelni őket ?"
A mikrokontroller GPIO lábát programozod úgy, hogy kapcsoljon be felhúzó ellenállást.
"azt hogy érted, hogy mindegyik vonalra és nem modulhoz kell ilyen"
A vezeték végig megy , a vezetékre csak egy helyen kell, pl. a kontrollerben, nem kell minden eszközhöz külön.
"vagy beköthetem úgy is"
Igen. -
válasz
repvez #14059 üzenetére
az összes modul mehet egy helyre és amjd a kodolásnál lesz megkülönböztetve a regiszter által
Így van, egész pontosan az i²c address az, ami megkülönbözteti a modulokat. Remélhetőleg gyárilag mind különböző címet kapott, mindenesetre minden modult külön próbálj ki. Amire még esetleg szükséged lesz az mindkét vonalra egy-egy 4k (ezt most fejből írom, majd vki kijavít, ha rossz/nézz utána pontosan) felhúzó ellenállás. Nem modulonként, hanem vonalanként 1-1. Ha valamelyik modulon van gyárilag felhúzó, az elég lehet az összes számára. Ha a lap és a modul hosszú vezetékkel lesz összekötve, akkor kisebb értékre lesz szükség.
Az mindegy, hogy sorosan vagy párhuzamosan kötöm be öket ?
Dehogy mindegy, sorosan be sem lehet kötni, hogy gondoltad?
-
Janos250
őstag
válasz
repvez #13805 üzenetére
Én használom, de nem tudom a választ. Viszont 1-1 db-ot nem érdemes rendelni, (nem is tudom, 5-nél kevesebbet lehet-e)
Viszont - úgy rémlik - hogy ha többet egyszerre beraksz a kosárba, és egyszerre fizeted, akkor egy szállítást fizetsz, de ez nem biztos, nem használtam így.És, ha egybe rakod a kapcsolási rajzokat, és egy panelra szerkeszted le?
-
válasz
repvez #13791 üzenetére
A pro micro és az uno legfeljebb akkor helyettesíthetőek egymással, ha ledvillogtatásról van szó.
Az uno/ATmega328P nem képes usb hid eszközt emulálni, a boardon lévő usb chip csak soros port emulációra képes ( az eredeti UNO boardon lévő usb csatoló is egy atmega uC, ATmega16U2 ha jól tudom, és át lehet programozni, de most maradjunk az alapoknál). A pro micro viszont önmagában usb képes, és tud hid emulációt (nagyjából erre is használjuk leginkább). Biztos a rajta lévő ATmega32U4-ból is van DIP kiszerelésű, de maga a board is olyan pici, hogy érdemesebb annak csinálni foglalatot, ahogy az általad linkelt képen is látható. -
válasz
repvez #13788 üzenetére
akkor erről esetleg egy kicsit részletesebb leirás is jöhetne
Hát ezt ne én írjam le, 5 perc kiguglizni.
Én csak felhívtam a figyelmed, hátha elkerülte.
egy régi joystiket probálok USB-re alakitani.
Akkor rögtön rendelj egy arduino pro micro-t, mert UNO-val nem fogsz tudni usb hid eszközt emulálni, csak azzal.
A sok gombot vagy i²c port sokszorozóval fogod tudni rákötni a uC-re, vagy mátrixba rendezve, de akkor nem fogsz tudni egy időben több gombot lenyomni.
A régi joy eredeti elektronikája nem működik már? Mert a régi gameport-os joystickokhoz lehet interface-t csinálni, és akkor nem kell újra feltalálni a melegvizet. -
-
válasz
repvez #13786 üzenetére
Így, ahogy mondod. Valójában a programozást is meg lehet oldani a board nélkül, akár ISP-vel is.
Azt ne felejtsd el, hogy a gyári boardon külső kristályról kapja az atmega328p az órajelet, ezért vagy azt is tervezz a saját pcb-re, vagy át lehet állítani a belső 8MHz órajelgenerátorra, és akkor külső kristály nélkül is fog működni.
Ha olyan boardot veszel, ahol a uC DIP28 tokozású és foglalatban van (az eredeti UNO ilyen, de nekem van egy klónom is, ami ilyen kialakítású), akkor vehetsz mellé külön atmega328p-t, és cserélgetheted, a board is megmarad (sőt, ISP-nek használva tudod szétszedés nélkül programozni a kész projektet, ha módosítani akarod a firmware-t).
Már ilyen jól állsz a projekttel? Végül mit is építettél(fogsz építeni)? -
atesss
addikt
válasz
repvez #13475 üzenetére
"DE a legjobb valami olyan lenne ami csak a keresztmetszet szűkítésével operál és nem zavarja meg az áramlást a csőben mint egy keresztbe tett lap."
Ez nem is rossz ötlet.
Ha tényleg elég rugalmas és tartós a csöved, akkor esetleg lehetne olyat csinálni, hogy egy szalagot/kötelet meghúzva, "összehúzod" a csövet. Nyilván ez csak egy bizonyos határig működik (csőtől függő, de szerintem a min. olyan 1/4 átmérő lehetne, még valami spécin rugalmas csővel is).
Tehát egy motor tengelye egy szalagot húz meg/enged el (ami mondjuk egy kis orsóra/rúdra fel van tekerve). Amikor meghúzza, akkor ezzel összehúzza a csövet. Amikor meg elengedi, akkor a cső a saját rugalmassága segítségével nyomja magát vissza eredeti állapotába.
Persze még külön kiépített, megfelelő végállások is kellenének, hogy biztosan ne húzza túl a csövet.
Elvileg a motor-fordulatok száma az orsó kerületével szorozva megadja az áramlási cső kerületének csökkenését. De a gyakorlatban itt is ki kellene a léghozamot úgy mérni, mint ahogy az előzőre is írtam. -
tibi-d
tag
válasz
repvez #13475 üzenetére
Sajnos ez a feladat még ipari technikával is nehéz feladat, mert a szelep zárásával nem lineárisan változik a levegő mennyisége. A szelep fél állásában, szinte még semmit nem csökken a légáram. Ha precízen kéne légáramot szabályozni, akkor kéne egy ballon, aminek a nyomását lehetne szabályozni, és egy állandó keresztmetszetem elszállítani a levegőt. Így a nyomással arányos lesz a szállított levegő mennyisége. Ehhez szabályzó elemeket nem könnyű beszerezni, és az áruk nincs arányban a lehetőségekkel.
-
válasz
repvez #13344 üzenetére
Hát ezt nemigen fogom megépíteni
Olyan kódra gondoltam, ami teszteli a sebességet."A hasonloságot ugy értem, hogy nem csak a forgatást hanem a teljes kialakitás ugyan az minden alkalommal, nincs benne változatosság, hogy hátha már kialakitással esetleg egyszerübb lehetne vagy pontosabb."
Én egészen biztosan nem így készíteném, ha ilyen kis távolságok pontos mérésére lenne szükség (pl bútorok közt navigáláshoz). A szenzort vagy a forgástengelyre tenném, vagy mögé, hogy nagyobb legyen a minimális távolság a mérendő tárgy és a szenzor közt. Amúgy ez a lézeres szenzor meglepően pontos, milliméteres pontossággal lehet vele mérni. Ahhoz viszont azt hiszem 100ms-nál nem lehet rövidebb a mérési idő.
-
válasz
repvez #13341 üzenetére
Szia! Nekem van ilyenem itthon, ha küldesz rá teszt kódot (mondjuk UNO-ra), akkor letesztelem neked szívesen. Még nem építettem belőle semmit, csak tesztelgettem a pontosságát, úgy emlékszem, hogy néhányszor 10ms egy mérés, de nem fix az idő, a pontosság rovására lehet csökkenteni vagy növelni, erre van beállítás a hozzá tartozó library-ben.
"Illetve láttam, hogy páran próbáltak csinálni belöle LIDAR-t , de a legtöbben ugyan azt másolták le egy külső motorral hajtották meg a modul házát egyenlö sebességgel. "
Hát nagyon máshogy hogy lehetne?
"kötelezően csak egyenletes sebességgel kell hogy forogjon mérés közben vagy váltózó forgási sebességnél is ugyan ugy müködik a távolságmérés?"
A mérést, mivel ahogy írtad, fénysebességgel történik, nem befolyásolja, hogy milyen sebességgel forog a szenzor maga körül, inkább az adatok könnyebb feldolgozhatósága miatt számít a szögsebesség.
-
válasz
repvez #13236 üzenetére
Én arra gondoltam, hogy annyira nem vagy jártas sem a programozásban, sem az elektronikában, hogy nem tudod felmérni, hogy azzal a módszerrel, amivel szeretnéd, nem fogod tudni ezeket megtanulni. Ez egyszerűen nem így működik. De igazad van, nem volt jó példa.
A programozás részét akár le is tudhatnád egy Blockly/Scratch/MIT App inventor (Android) típusú grafikus (kockatologatós) programozó környezetben, ott van ez, hogy egymásba kell tolni a kockákat, némi angol tudás mellett egyszerűen lehet benne működő programokat készíteni. Biztos, hogy mérnök tervezte ezeket, mert nem az én gondolkodásomnak való, talán Neked pont ezért lesz szimpatikus.
Az elektronika résznél elég jól el lehet igazodni a breakout board-okon, mert a pin-ek fölött mindig felirat mutatja, hogy VCC, GND, MOSI, MISO, CLK, DIN stb, igazából ezt sem lehet elrontani, ha az ember történetesen nem diszlexiás.
-
válasz
repvez #13230 üzenetére
Szép terv.
Az az igazság, hogy - ne sértődj meg - némi Dunning-Kruger hatást érzek a nyilatkozataid mögött.
Mielőtt futóversenyen akarsz indulni, előbb tanulj meg járni.
Én 3 éve arduino-zom, és van mögöttem 17+ évnyi programozói gyakorlat, de én nem mernék egy ilyen projektbe vágni saját kútfőből. Viszont mivel tudom, hogy a legtöbb problémát már megoldotta más, valamint nagyon sok kész kódot/projektet tanulmányoztam, átolvastam pár adatlapot elejétől a végéig és vissza, rengeteg saját tapasztalatom van, hogy mi mivel tud összeakadni és ennek mi lehet az oka, hogyan lehet orvosolni, tudom, hogy meg tudnám csinálni.
De hogy gépész analógiánál maradjunk: képzeld el, hogy azzal jövök hozzád, hogy megvettem az alkatrészeket, hogy összerakjak egy autót otthon a kertben, de még soha nem láttam csavart meg villáskulcsot, fogalmam sincs a mechanikai kötésekről, se a belső égésű motorok működéséről. Te mit javasolnál? Kezdjek Scrap Mechanic-ozni?
A drón projekt esetében - mivel már tudod, mi az az i²c - nézz utána, hogy hogyan kell több eszközt egy buszra kötni.
Rendeld be az olcsóbb alkatrészeket, egy 9axis gyro nem hiszem, hogy 5$-nál drágább. A távolságmérő, légnyomásmérő + egy humidity+temperature modullal együtt nagyon max 20$. Teszteld le külön-külön mindet, aztán rakj össze kettőt, majd hármat. Ha az olcsóbb alkatrészeket kitapasztaltad, jöhetnek a drágábbak, ezeket is egyesével próbáld ki. Mire idáig eljutsz, garantálom, hogy összeszedsz annyi tudást, hogy a folytatás nem fog gondot okozni. -
Janos250
őstag
válasz
repvez #13230 üzenetére
Ha nem tévedek, a NEO6 sorozat csak GPS holdakat tudja venni. Ha leárnyékolt helyen vagy, kevés lesz a látott műhold. Nem tudja a Glonasst, a Beidout, a Galileot. Ezek Magyarországon láthatóak. Egyébként a pontossága is csak 1-5 méteres lesz, vagy még rosszabb.
Egyébként, ha nem akarsz alap dolgokat megtanulni "feleslegesen", akkor nehezen fog menni. Ha nem tudod, hogy kell a ciklusokat, a függvényeket, stb. megírni, használni, nem tudod a lábakat írni, olvasni digitálisan is, és analóg is, nem ismered mi a lokális, és mi a globális változó, mik a változó típusok, elég nehezen fog menni, könnyen sikerélmény helyett a sikertelenség élménye lesz.
A "mondják meg, hogy amit fel akarok találni, ahhoz mit kell megtanulnom, és majd feltalálom" szemlélettel nehéz lesz indulni. Én is csak azt tudom javasolni, hogy játszani kellene a dolgokkal.
-
gyapo11
őstag
válasz
repvez #13228 üzenetére
Nekem se volt túl sok sikerem az emulátorokkal, leginkább arra jó, hogy a nyelvet gyakoroljam rajta. Mert én se tanultam meg az összes parancsot, és ha tesztelni szeretnék valami eddig nem használtat, akkor nem kell elővenni a nanot, kábelt. Viszont ha a külvilágra is szükség van a teszteléshez, akkor már előveszem, ráakasztom a külső egységet, esetleg még a digitális állapot analizátort is, egy csipogót, egy nyomógombot és úgy nézegetem. Jó sok újraírást bír a belső flash, nem kell aggódni, hogy hamar megbuggyan.
A probléma az lehet, hogy ha valamiről nem tudsz, akkor az nem fog eszedbe jutni egy probléma megoldásánál se. Lehet ez egy utasítás, vagy programszerkesztési módszer, vagy hw alkatrész. Én tanultam programozást is, magamtól is és iskolában is, tanultam elektronikát magamtól és iskolában is, szóval én nem tudok egy ezeken a területeken képzetlen ember fejével gondolkodni, de a természetes nyelveknél elég bosszantó tud lenni, amikor az anyanyelvemen tudom, hogy mit szeretnék mondani de a használt nyelven nem ismerem azt a szót, akkor jön a körbeírás, mutogatás, a magyar szó tagoltan és hangosan ismételgetése, egyik se túl eredményes. -
válasz
repvez #13224 üzenetére
Hát hol is kezdjem... Ezzel a hozzáállással továbbra is csak egy helyben fogsz toporogni.
"lehet hogy megtanulok könyvből 10 funkciot, de a problémámra csak 5re van szükség, de 2-t pont nem tartalmaz az a 10 amit már tudok."
Ha megtanulsz 10 funkciót, abból lehet, hogy csak 5-öt fogsz felhasználni, viszont legközelebb egy másik feladat megoldásakor eszedbe fog jutni, hogy "mintha lenne erre egy függvény, melyik is az?" Eklatáns példa: kovalens kötés.
Az általános iskolai tananyagban a rengeteg különböző, látszólag felesleges ismeret az általános műveltség része, a látókörödet bővíti. Remélem ezt nem kell magyarázni. Ugyanígy van ez a többi 5 függvénnyel.
"szóval addig míg nem tudok mindent addig jobban koncentrálnék arra ami épp kell .Csak az a másik, hogy azt se tudom mikor mi kell"
Erre az egyetlen megoldás: elkészült, működő kódokat nézni!!!
Példa: szeretnél egy LCD kijelzőt. Kiválasztasz egy Neked tetsző típust. Megnézed, hogy van-e hozzá library. Letöltöd, megnézed az "examples" könyvtár tartalmát. Ott lesz pár működő példakód, amit egy-az-egyben lefordítva működő programod lesz. Megnézed, mi van a kódban, rákeresel az összes benne lévő függvényre az https://www.arduino.cc oldalon, így csak azokat fogod megtanulni, amik éppen Neked kellenek.
Utána módosítod a kódot az igényednek megfelelően. -
válasz
repvez #13220 üzenetére
Nézd, úgy látom, hogy Te szeretnéd megúszni a tanulással járó kudarcokat, valamint szeretnél úgy tudni programozni, hogy nem akarsz megtanulni programozni. Ez nem fog összejönni.
"mi van ha többet kell egyszerre rákötni és elfogy a szabad láb vagy ugyan arra a lábra kellene több egységet is tenni?"
Ezért kell megtanulni az alapokat, ahogy fentebb írtam, a ki-bemenetek kezelését. Erre a Tinkercad is alkalmas, ha mindenképp emulátorozni szeretnél.
Én személy szerint teljesen autodidakta módon tanultam meg programozni, internetes példakódok, online dokumentáció és egy barátom segítségével. Én PHP-val kezdtem, ami sokkal, de sokkal egyszerűbb, mint a C++, mert script nyelv, a világ tele van példakóddal, magyar nyelvű tutoriallal, dokumentációval, mi lenne, ha Te is ezzel kezdenél? A PHP-val gyors sikerélményeket tudsz szerezni, a szintaxisa hasonló, és ha magát a programozói gondolkodást sikerül magadévá tenni, már egyszerűbb dolgod lenne az arduino-val is.
Én nagyon szívesen segítek, ha kérdésed van, akár itt, akár privátban is, de engedd el ezt az emulátor dolgot. Hidd el: az építés se drága, se nehéz nem lesz, szinte minden szenzor breakout board-ra szerelve kapható, forrasztani sem kell, annyi a dolgod, hogy összekötöd a megfelelő lábakat jumper kábellel."először virtuálisan próbálnám meg megcsinálni azt amit akarok, mert ott egyből kiderül ,ha valami nem működik."
Ezt például itt a topikban is ki tudod deríteni, mert ha leírod/lerajzolod a terveidet, megnézzük, és szólunk, ha nem fog működni.
A pro micro joystick jó tanuló projektnek tűnik, azt írtad van hozzá leírás és kód is. Próbáld meg a programot módosítgatni.
-
válasz
repvez #13218 üzenetére
Úgy érzem ez a rókafogta csuka esete: nem mersz a hardverekkel kísérletezni, mert nem tudsz programozni, illetve nem tudsz elkezdeni programozni, mert nem tudod, mit kezdj a hardverekkel.
Valahol meg kell törni ezt az ördögi kört. Én a programozás részénél fognám meg a dolgot, ugyanis egy programról könnyen el lehet dönteni, hogy sikerült, vagy nem, mert már a fordító szól, ha elrontottál valamit.
Kezdetnek olvasgass arduino és C tutorial-okat, ismerkedj meg az alapokkal. Szerezz pár ledet, ellenállást és nyomógombokat, és kezdj velük játszani. A ledvillogtatás az arduino "hello world"-je. Ha mennek a digitális inputok és outputok, akkor fogj egy potmétert, és olvass be analóg bemenetet. Ezzel az arduino lehetőségeinek a 70%-át fel is fedezted. Minden további külső periféria kezelése ezeken alapul. -
gyapo11
őstag
válasz
repvez #13215 üzenetére
A programozás két részből áll, a való életbeli eseményeket át kell ültetni a processzor által érthető nyelvre, és meg kell alkotni a szemantikát, hogy mi is történjen a programban. Vannak ezek az összetologatós szerkesztők, ez eltakarja előled a c++ nyelvet, de ugyanúgy programozás. Nézd meg itt. Lehet kapcsolgatni a blokkos és az arduino kód között.
Pl.:
vagy
digitalWrite(13, HIGH);
Úgyanúgy meg kell tanulni, hogy melyik pin mi lehet, hogy kell olvasni vagy írni digital vagy analóg adatot. A 40-50 parancsot meg pár óra alatt megtanulja az ember észrevétlenül. Elképzelhetetlenül sok variáció rakható össze abból az 50 parancsból, ezt nem lehet pár összerakható programrészlettel pótolni. Egy kijelzőhöz lehet egy libraryt használni, vagy más hw egységhez is, de a program vázát azt neked kell létrehozni.
És még emulátor:
https://sourceforge.net/projects/ardusim/
https://www.sites.google.com/site/unoardusim/services -
gyapo11
őstag
válasz
repvez #13211 üzenetére
Én is futottam egy kört pár éve, és kerestem emulátorokat, találtam is olyat, ami működik. Viszont elvi problémáim voltak ezzel, pont az amit írtál is, hogy sose lesz benne minden modul, mert állandóan fejlesztik az új modulokat, eddig nem használt alkatrészekkel és ezt nem fogják követni elég gyorsan az emulátorral. Másrészt a saját elektronika sem lesz benne, nekem kellene bevinni, és az nem biztos, hogy lehetséges, illetve nem tudom mennyi munka lenne. Harmadrészt nem tudom hogyan tudnám szkóppal nézni a kimeneteket, mert nem mindig elég a led villogtatás, ha pl. μs nagyságrendű impulzusok szaladgálnak. Negyedrészt még olyan is lehet, hogy hiba van az emulátorban, és napokig keresem, miközben csak nem jól tudja a fizikát az emulátor.
Pár cím ahol szétnézhetsz:
http://emulare.sourceforge.net/
https://virtronics.com.au/Simulator-for-Arduino.html ez fizetős
Új hozzászólás Aktív témák
Hirdetés
- Azonnali alaplapos kérdések órája
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Háborog az Apple az iPhone-ra írt első pornóapp miatt
- Autós topik
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- CPU léghűtés kibeszélő
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Path of Exile (ARPG)
- TCL LCD és LED TV-k
- Milyen TV-t vegyek?
- További aktív témák...
- RTX 4080 SUPER,16GB. Ryzen 7 7800X3D, 32 RAM Fury RGB! Garancia!
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- Eladó MacBook Pro 14" M1 Pro (2021) 16/512 99% akku Makulátlan állapotban!
- Újszeru GIGABYTE G5 - 15.6" FullHD 144Hz - i7-13620H - 48GB - 1TB - RTX 4050 - Win11 - 1,5 év gari
- Akció! Újra Gamer EGEREK! Glorious , Endgamer XM1R , Nibio
- BESZÁMÍTÁS! Intel Core i9 9900KF 8 mag 16 szál processzor garanciával hibátlan működéssel
- Telefon felvásárlás!! Honor 90 Lite/Honor 90/Honor Magic5 Lite/Honor Magic6 Lite/Honor Magic5 Pro
- Apple iPhone 14 256GB/ 86% Akkuval / 12 hónap jótállással!
- Apple iPhone 13 128GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged