- Hamarosan megkezdődik a nubia 2,8K-s táblagépének szállítása
- Barátokká váltak az eddig rivális AI-óriások
- ASUS blog: Ideális olcsó utazós gép lett az új Vivobook S14
- Az Aura Displays hordozható monitorhármasa jól felturbózhatja a produktivitást
- Dual Mode-os IPS monitorral adott magáról életjelet a Gigabyte
- Hisense LCD és LED TV-k
- Apple MacBook
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Szomorú jövőt vetít előre a dedikált GPU-knak a Jon Peddie Research
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen SSD-t vegyek?
- Fujifilm X
- Melyik tápegységet vegyem?
- Radeon RX 9060 XT: Ezt aztán jól meghúzták
- Milyen notebookot vegyek?
-
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
-
bear_
aktív tag
válasz
Dißnäëß #15388 üzenetére
Ilyen balhé volt pár éve, az egyik kínai alaplapgyártó a saját mókolt IC-ire cserélte az egyik alaplapon lévőt, amivel aztán tudtak kémkedni. Úgyhogy az óvatosság jogos
Bár azt kétlem, hogy mikrovezérlőkbe hasonló kiskapuk lennének építve. Tekintve, hogy viszonylag egyszerű szerkezetek amiket simán le tudnak másolni már a kínaiak, ezért hamar kibukna a dolog.
-
bear_
aktív tag
Már értem, köszi a tanácsot.
@#15215 weiss neked is köszi, hétvégén kipróbálom.
"Miért van a digits1/2/3/4, és miért különböznek, ha mindegyik egy sima 7 segmenses kijelzőt vezérel? "
Mert nem egyesével vezérli a kijelzőket, hanem egyszerre. Itt van hozzá a kapcsolás: [link]
De az is lehet, hogy én gondoltam túl -
bear_
aktív tag
Mármint mennyi? Ezt nem értem. A pastebinen mindegyik sorban 16db 0 az OFF.
2db sorba kötött shift registerbe tölti be az MCU a biteket, az első 8 bit a 7 szegmenses kijelző egy-egy szegmensét kapcsolja(+ a . ugye), a következő négy nem csinál semmit, a maradék néggyel pedig a szegmenseket lehet egyesével kapcsolgatni.Ha arra gondolsz, hogy miért 0 az active state: nem emlékszem pontosan miért, egy hónapja írtam a shift regiszterek vezérlését, de valóban fordítva működik, kijavítani meg lusta voltam
Szerk: "
Egyáltalán miért van szükség az off kódot kiíratni, egyszerűen csak ugorni kéne azt a szegmenst, ez egyszerű erőforráspazarlás."
Ezt megint nem értem. Ha nem mondom meg a shift registernek (nem töltöm fel 0-val ami kikapcsolja a kimeneteket), akkor hogy tudom kikapcsolni az adott szegmenseket?
-
bear_
aktív tag
Ha végére rakom az OFF-ot akkor ugyanúgy gond van a kezelésével, azt a kört már lefutottam
Nem vagyok egy C guru, megtennéd légyszi, hogy bedobod a kódomba az általad felírt függvényt? Nem vagyok benne biztos hogyan is működik pontosan, így nagy segítség lenne a megfejtésében.
-
bear_
aktív tag
Igen, az világos. A 0 indexű sor a kikapcsolja a kijelzőket ahogy a komment is mutatja mellette. És pont ez a probléma, ha egyel növelem a változót akkor az egyes indexre ugrik, ami ugye 0-t jelenít meg, és emiatt van az, hogy x9 után 00-ír ki a kijelző.
Haif(num1>10){
num1=1;
num2=2;
}feltételt szabok meg, akkor 19 után 10-re ugrik vissza, ami ugye logikus is.
Ha
if(num1>10){
num1=1;
num2++;
}
a feltétel akkor remekül működik a fentebbi problémát leszámítva. tehát x9 után 00-ra ugrik. Az x itt kikapcsolt kijelzőt jelent, csak a másik működik amíg 9 felé nem teker a változó. -
bear_
aktív tag
Sziasztok!
Újra van időm mikrokontrollerezni, így szerettem volna tovább babrálni.
Az ADC-t szerettem volna kipróbálni és beolvasott értéket kiírni a kijelzőre, de nem tudom leprogramozni normálisan a kijelző léptetését.
0-9-ig tök jól elszámol az első helyiérték, a második helyiértéket jelző 7 szegmenses kijelző viszont 00-t jelenít meg x9 után 10 helyett.
A probléma okát értem mert a tömböm szerint a kikapcsolt szegmensek után a következő sor a 0 értéket tartalmazza, én viszont a második tömbből a második sort felhasználva szeretném bekapcsolni a második helyiértékű 7 szegmenses kijelzőt. Természetesen próbáltam ezerféleképpen, de vagy nem számol el az egész 19-től tovább, vagy 9 után 00-át jelenít meg.Hogy lehet ezt megoldani? Már a falat kaparom miatta.
Kód: [Pastebin]
-
bear_
aktív tag
Megvan a probléma, a for ciklust rontottam el.
Viszont itt is a következő problémám:
Azt szeretném, ha nyomógomb megnyomására egyel magasabb értéket jelenítene meg a 7 szegmenses kijelző.
0 az alapállapot, és ha nyomva tartom akkor felugrik 1-re, ha elengedem akkor visszaugrik 0-ra. Gyanítom ez azért van mert végigfut a kód és nullázódik a mikrokontroller. Hogy lehet azt megoldani, hogy a változó megjegyezze az értéket?
kód:
while (1) {
int num=0;
if(HAL_GPIO_ReadPin(SW1_GPIO_Port, SW1_Pin)==0){
num++;
}
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_RESET);
for(int i = 0; i <= 15; i++) {
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_RESET);
if(digits[num][i] == 1) {
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_SET);
}else {
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_SET);
}
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_SET);
}
}
-
bear_
aktív tag
Sziasztok!
Nem arduino, hanem STM32 és HAL, de lehet tudtok segíteni.
Rendeltem az aliexpressről egy multifunctional shieldet, ilyet: [link]
Szeretném a 7 szegmenses kijelzőt működésre bírni, de nem igazán járok sikerrel.
Ahogy az oldalon is látszik a kijelzőt 2 kaszkádba kötött 595-ös shift regiszter vezérli, így elvileg 16 bittel lehet "feltölteni". Az egyik shift register a szegmenseket, a másik a kijelzőket egyenként engedélyezi.Íratm is hozzá egy progit ami így néz ki:
int digits[16] = {1,1,1,1,1,0,1,0,1,0,1,1,0,1,1,0};
int main(void)
{
int digits[16] = {1,1,0,1,1,0,1,0,1,0,0,1,0,1,0,0};
while (1)
{
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_RESET);
for(int i=0; i>=15;i--){
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_SET);
if(digits[i]==1){
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_SET);
}else{
HAL_GPIO_WritePin(DS_GPIO_Port, DS_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(SHCP_GPIO_Port, SHCP_Pin, GPIO_PIN_RESET);
}
HAL_GPIO_WritePin(STCP_GPIO_Port, STCP_Pin, GPIO_PIN_SET);}
STCP: LCHCLK, storage register clock input
SHCP: SFTCTLK, shift register clock input
DS: serial dataSajnos az eredmény egy katyvasz, nem azt írja ki amit szeretnék, mindig ugyanaz a minta jelenik meg akármilyen értékek szerepelnek a tömbben.
Mi lehet a hiba?
-
bear_
aktív tag
Sziasztok,
Arduinora szeretném a pure C-ben írt hexemet feltölteni. Van erre lehetőség?
-
bear_
aktív tag
Probléma megoldva, a gagyi USB kábel volt a hibás.
Viszont belefutottam egy újabb problémába:
Natúr C nyelven szeretnék programokat írni, és addig okés is, hogy feltöltöm a hex filet, viszont hiába van magasszinten a kimenet, alig világítanak a ledek. Az előtétellenállások jók, az arduinoban írt progival tökéletesen világitanak. Mi lehet a gond? -
bear_
aktív tag
Sziasztok!
Windows 10 alatt nem tudom flashelni az UNOmat. XP alatt tökéletesen működik. Tud valaki rá mogoldást?
Új hozzászólás Aktív témák
Hirdetés
- Hisense LCD és LED TV-k
- Lexus, Toyota topik
- Apple MacBook
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Gitáros topic
- Szomorú jövőt vetít előre a dedikált GPU-knak a Jon Peddie Research
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Milyen SSD-t vegyek?
- Android alkalmazások - szoftver kibeszélő topik
- War Thunder - MMO Combat Game
- További aktív témák...
- Void RGB PC - i7 9700f, 16Gb RAM, RTX 2080Ti 11Gb stb.
- ÚJ PS5 Slim - FW 8.40 - Lemezolvasó - Lua Loader - Lua játék - Lapse
- új, bontatlan, iPhone 16E gyárilag kártya-független, apple világgaranciával
- Üzletből, garanciával, Macbook Pro Retina 16" 2019, Gray i9 64GB RAM 1TB SSD Radeon Pro 5500M
- Üzletből, garanciával, Macbook Pro Retina 16" 2019, Gray i9 64GB RAM 2TB SSD Radeon Pro 5600M 8GB
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- AKCIÓ! HP Elitedesk 800 G1 USDT mini asztali számítógép - i7 4770S 16GB RAM 128GB SSD Intel HD
- BESZÁMÍTÁS! Microsoft XBOX One S 1TB lemezes játékkonzol garanciával hibátlan működéssel
- DDR5 8/ 16/ 32GB 4800-5600MHz SODIMM laptop RAM, több db- számla, garancia
- Új Apple iPhone 16e 128GB, Kártyafüggetlen, 3 Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest