Programkód átírása
Programkód átírása
https://circuitjournal.com/arduino-ov7670-10fps
Megépítettem a linken található rendszert, és most azt szeretném, hogy a kijelzőn megjelenő kép negatívja legyen a kamera által vett látványnak (a fehér fekete, a fekete fehér…). Tanácsot szeretnék, hogy a rendszernek melyik részébe érdemes az eredményért belenyúlni. Én valamiért leginkább a program kódját szeretném megváltoztatni a megfelelő helyen.
A kijelzőt is szeretném kicserélni egy hasonló felbontású monokróm (sima) LCD kijelzőre, mit tudnátok nekem javasolni?
Megépítettem a linken található rendszert, és most azt szeretném, hogy a kijelzőn megjelenő kép negatívja legyen a kamera által vett látványnak (a fehér fekete, a fekete fehér…). Tanácsot szeretnék, hogy a rendszernek melyik részébe érdemes az eredményért belenyúlni. Én valamiért leginkább a program kódját szeretném megváltoztatni a megfelelő helyen.
A kijelzőt is szeretném kicserélni egy hasonló felbontású monokróm (sima) LCD kijelzőre, mit tudnátok nekem javasolni?
Re: Programkód átírása
Nem volt türelmem megvárni valakinek a válaszát - lehet, mert nem írtam, hogy sziasztok, meg ilyesmi; majd legközelebb - és egy inverter IC-vel (7406) próbálkoztam. Ha egy ilyen IC-t illesztettem a kijelző elé, akkor nem volt kép, csak világított a kijelző; ha két invertert illesztettem a kamera után, akkor volt kép, csak nem negatív. Úgy látszik, mindenképp a programkódban kell valamit megváltoztatni. Habár - az eddig beérkezett válaszokból - úgy tűnik, ez nem lehetséges. Az okostelefonnal meg lehet csinálni egy "infravörös" aplikációval...
Re: Programkód átírása
Szia mikcip! Cseréld ki a 7406-os IC-t 4049 IC-re!
Kösz a tanácsot, a 4049-essel tökéletesen működik.
Kösz a tanácsot, a 4049-essel tökéletesen működik.
Re: Programkód átírása
Sziasztok!
Hogyan tudnám elérni, hogy a kijelzőn megjelenő kép, egy potméter jobbra-balra forgatásával elmozduljon (a forgatás mértékének megfelelően)?
Hogyan tudnám elérni, hogy a kijelzőn megjelenő kép, egy potméter jobbra-balra forgatásával elmozduljon (a forgatás mértékének megfelelően)?
Re: Programkód átírása
Kép invertálása:
Lehet kamera és lehet LCD oldalról is. Ott a regisztereket kell meglesni - általában a libraryban a .h állományban vannak ezek az alapparaméterek...
Potmétermozgatás:
- gyakorlatilag képmanipulálás. Kérdés: mit teszel a szélén lejövő és bejövő tartalommal?
A használt adafruit_GFX nem tartalmazza a képmozgatás/shiftelés funkciót...
Lehet kamera és lehet LCD oldalról is. Ott a regisztereket kell meglesni - általában a libraryban a .h állományban vannak ezek az alapparaméterek...
Potmétermozgatás:
- gyakorlatilag képmanipulálás. Kérdés: mit teszel a szélén lejövő és bejövő tartalommal?
A használt adafruit_GFX nem tartalmazza a képmozgatás/shiftelés funkciót...
http://www.tavir.hu - a gazda
Re: Programkód átírása
mit teszek a szélén lejövő és bejövő tartalommal?
Semmit. Nincs jelentősége, nem számít, nem kell vele foglalkozni.
Sajnos a kérdésem továbbra is aktuális: Hogyan tudnám elérni, hogy a kijelzőn megjelenő kép, egy potméter jobbra-balra forgatásával elmozduljon (a forgatás mértékének megfelelően)?
Semmit. Nincs jelentősége, nem számít, nem kell vele foglalkozni.
Sajnos a kérdésem továbbra is aktuális: Hogyan tudnám elérni, hogy a kijelzőn megjelenő kép, egy potméter jobbra-balra forgatásával elmozduljon (a forgatás mértékének megfelelően)?
Re: Programkód átírása
mit teszek a szélén lejövő és bejövő tartalommal?
Semmit. Nincs jelentősége, nem számít, nem kell vele foglalkozni.
Sajnos a kérdésem továbbra is aktuális: Hogyan tudnám elérni, hogy a kijelzőn megjelenő kép, egy potméter jobbra-balra forgatásával elmozduljon (a forgatás mértékének megfelelően)?
Semmit. Nincs jelentősége, nem számít, nem kell vele foglalkozni.
Sajnos a kérdésem továbbra is aktuális: Hogyan tudnám elérni, hogy a kijelzőn megjelenő kép, egy potméter jobbra-balra forgatásával elmozduljon (a forgatás mértékének megfelelően)?
Re: Programkód átírása
analóg bemenet segítségével olvasod a poti állapotát, majd átkonvertálod a mért 0..xxx tartományt -xx - 0 +xx tartományra, az xx nyilván az a képpontszám amennyivel mozogjon a képed jobbra-balra... "Tudod mi van a képernyőn" újrarajzolod az xx-vizszintes offszettel a képet, figyelve ami a képernyőn "kívülre" esne azt eldobod. Ha nem tudod mi van a képernyőn, akkor bele kell nyúlnod a képernyő rajzoló rutinba, hogy tárold a tartalmat...
Re: Programkód átírása
Jaj... kedves pipi! Ha én ezt csak egy kicsit is érteném, boldog lennék. Mit szólnál ahhoz, hogyha elküldeném neked a kódot, és Te beleírnád a szükséges változtatásokat? Amúgy az Arduinot már összeállítottam a kijelzővel, meg a kamerával, és a kódot is betöltöttem - böngészgettem is a sorokat - jól működik az összeállítás. Ehhez az Arduino Megához még a potmétert is egy LED-del kipróbáltam. Minden jó, csak éppen a kódba nem tudom hova illesszem a potmétert, no meg azt, amit Te itt leírtál.
Re: Programkód átírása
Idő hiányában nem vállalom... Meg szerintem nem is biztos hogy meg lehet csinálni, valószinűleg kevés lesz a memória a kép tárolásához, manipulációjához. Az is lehet az lcd kezelésbe alapjaiban kellene belenyúlni. Az biztos hogy nem félnapos játszásdi
Re: Programkód átírása
Azért, ha nem is tudod magad rászánni, hogy megírj egy ilyen kódot, akkor is kösz, és talán a következőkben segíteni fog nekem az is, amit első válaszodban felvázoltál.
Re: Programkód átírása
Én ikább választanék erősebb procit. Pl ESP32 nagy ram, nagy flash...
Re: Programkód átírása
Talán nem szükséges feltétlenül nagyobb procit választani ehhez a munkához, ha monokróm LCD-t illesztek az Arduinohoz. Egyébként is a végső változat monokróm lenne. Csak éppen nem találtam olyan típust, amit egy az egyben tudnék használni, kódátírás nélkül. Esetleg te tudnál ilyen LCD-t ajánlani...
Re: Programkód átírása
Passz. talán gugli barátunk...
Re: Programkód átírása
Ott keresgéltem, de a rengeteg, sokféle LCD kijelző kínálat között - mivel azt nem írták ki, hogy melyik színesnek ugyanolyan a bekötése, mint a monokrómé - már úgy éreztem magam mint egy fuldokló. No mindegy... ezt most nem annyira sürgős.
A másik kérdésem, hogy vajon szerinted a képernyő jobbra-balra mozgatása nem egyenértékű-e a képernyő görgetésével, illetve fel lehetne-e valahogy használni az én célom megvalósítására?
for (uint16_t i = 0; i < maxscroll; i++) {
tft.vertScroll(0, maxscroll, i);
delay(10);}
Persze, ehhez a képernyőt el kell fordítani:
tft.setRotation(r); //setRotation(uint8_t r)
Ez a kód elforgatja a képernyőt: 0=0, 1=90, 2=180, 3=270.
A másik kérdésem, hogy vajon szerinted a képernyő jobbra-balra mozgatása nem egyenértékű-e a képernyő görgetésével, illetve fel lehetne-e valahogy használni az én célom megvalósítására?
for (uint16_t i = 0; i < maxscroll; i++) {
tft.vertScroll(0, maxscroll, i);
delay(10);}
Persze, ehhez a képernyőt el kell fordítani:
tft.setRotation(r); //setRotation(uint8_t r)
Ez a kód elforgatja a képernyőt: 0=0, 1=90, 2=180, 3=270.