Szia,
Sok-sok valószínűleg érthetetlen szakmai bizbasz lesz most itt, de nézz kicsit utána, ha gondolod. De enélkül is értelmezhetőre próbálom írni.
Pár éve volt egy projektem, amiben volt egy ehhez kísértetiesen hasonló feladat. De ennyire nem szaladok előre.
A legfontosabb problémára Alpári Gnác már nagyon helyesen rávilágított. A kérdés az, hogy bárhogy is átlöki-e a schmitt-triggert a lehulló mag vagy sem. Ezt kizárólag teszteléssel lehet ellenőrizni. Alap javaslataim: a bemenő és a kimenő sugár legyen teljesen leárnyékolva egymástól. Valahogy így. Maga a mag is lehetőleg egy teljesen zárt részben csusszanjon végig ne túlságosan nagy sebességgel. Rengeteg fog múlni a mag méretén és sebességén. Ennél számottevően nagyobb volt az érzékelendő tárgy az én projektemben, és ott is gond volt az érzékelhetőséggel az időtengelyen.
Az érzékelés úgy fog zajlani, hogy a közelségérzékelő hangolásával (erre való a kis potméter) be lehet állítani, hogy milyen értéknél billenjen át passzív állapotból aktív állapotba a schmitt-trigger. Nem tartom kizártnak, hogy működni fog, de nagyon nem mindegy, hogy hogyan oldod meg a fényutakat. Én leginkább egy V-alakú megoldást csinálnék, ahol a V alján van egy kis jó fényvisszaverő tulajdonságú rész, ami előtt a mag elhalad, és a V két szára viszont matt, tehát kevés fényt ver vissza. Ideális esetben az elhaladó mag a fényút jelentős részét kitakarja, így jelentősebb csökkenést idéz elő az érzékelő kimenetén (ami aztán beindítja a triggert).
Szkóp és némi gépészkedés praktikus lesz hozzá.
Nézzük az időtengelyt. Ehhez tudni kellene, hogy a vetőgép normálisan egyszerre vagy ütemesen engedi-e le a magokat, illetve azt is, hogy ez a működése befolyásolható-e valahogy. Nekünk ugyanis jobb lenne, ha nem egyszerre kellene figyelni, hanem valami belátható, de nem végtelenül hosszú eltéréssel. Ez mondjuk 0,2 mp eltérésnél már bőven elég. Ugyanakkor minél nagyobb esélye van annak, hogy egyszerre érkezik két érzékelendő mag, annál nehezebb megoldani a dolgot (egy bizonyos ponton felül az Arduino önmagában már nem is lesz rá alkalmas). Bár konkrét időket még nem tudunk, az nagyon valószínű, hogy valamilyen megszakításra lesz szükség. Ennek a lényege az, hogy nem konkrétan a bemenet állapotát kérdezzük le (ez az Arduino keretrendszerben normális szintaktikával és az Arduino "kódolási konvenció" mentén fájdalmasan sok idő, valószínűleg a többszöröse annak, mint amennyi ideig a mag az érzékelő előtt halad), hanem a kódtól függetlenül egy kitüntetett bemenet állapotváltozását figyeljük. Ha változik az állapot, akkor vizsgálgatjuk nagyon gyorsan, hogy mi is történt. A gond itt jelentős, az Arduino legtöbb paneljén kettő darab interrupt pin van, ami nyilván 4 bemenethez édeskevés. Felfelé lehet lépni, a Mega2560 már jobb e tekintetben (6 pin), vagy például a Nano Every, de az, hm. Szóval már más liga és nem nagyon fogsz kínai klónt találni belőle. Ha a pénz e tekintetben nem gond, akkor én azt mondanám, hogy vagy nem Arduino keretrendszerben csinálnám meg, hanem pl. egy STM Nucleo kártyával (az összes láb interruptolható nagyon kevés kivétellel). Ha marad az Arduino, akkor két út van. Vagy a Mega, vagy az, hogy az érzékelők (pontosabban a schmitt-trigger kimenete) és az MCU közé raksz valamit, ami figyel. Ilyen lehet pl. az MPC23016 vagy az MPC26S16. Én korábban ezzel dolgoztam, bár nem azzal a logikával, ami ide jó lenne. Meg kell nézni, hogy tudja-e, amit tudnia kell, de most sem agyam, sem időm nincs végignézni az adatlapot. A lényeg az, hogy felparaméterezhető úgy, hogy 4 lábat figyeljen és ha bármelyiken jön jelzés, akkor egyből küld egy interrupt jelet, amit az Arduino egy lábon figyel, és ha megjön, akkor soron kívül lekérdezheti, hogy mi történt, és beavatkozhat, hogy onnantól mást vagy máshogy figyeljen. Alapvetően filléres alkatrész és elfogadhatóan van implementálva az Arduino keretrendszerbe.
Végül a hardverek. A négy csatornás cucc az négy darab egy csatornás cucc összerakva úgy, hogy nem egy darab egy csatornás schmitt-trigger van, hanem egy tokban négy. Semmi előnye. Plusz nem találtam róla dokumentációt, nem tudni, hogy milyen IC van rajta (sok mindent nem determinál mondjuk). Az első linken küldött kapu szerintem működhet, valamivel jobb, mint a másik, de köré kell építeni eléggé. Hátránya, hogy fix benne az érzékenység, nem tudsz játszani vele, mint a másiknál (mondjuk cserébe valószínűleg sokkal érzékenyebb). De igazából az egész azon áll vagy bukik, hogy találsz-e olyan érzékelőt, amelyik 100 százalék megbízhatósággal érzékeli az áthaladó magot. A többi kódolás és pár alkatrész kérdése.