Skocz do zawartości

Elvis

Użytkownicy
  • Zawartość

    2516
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    183

Wszystko napisane przez Elvis

  1. Prawdę mówiąc nie zauważyłem w tym pytaniu złośliwości - jeśli już to raczej brak doświadczenia w realizacji większych projektów. Nikt takiego projektu nie realizuje jednosobowo. Nawet gdyby to było możliwe, trwałoby o wiele za długo. Poza tym strata jednego pracownika oznaczałaby dla firmy ogromne problemy, a na to raczej nikt nie może sobie pozwolić Szczegółów raczej nie mogę podawać, ale ten projekt realizowało nie tylko wiele osób, ale samych firm było kilka.
  2. Skoro można pisać o projektach wykonywanych w pracy, to czemu nie - oczywiście nie mogę za dużo "tajemnic" zdradzić, ale jak działy handlowe umieściły informację w sieci, to chyba wklejenie linka nikomu nie zaszkodzi https://www.cryptera.com/products/payment-controller-nfc/ Pierwsze z urządzeń, czyli "NFC Payment Controller" to projekt przy którym aktualnie pracuję. Mieliśmy już pierwsze wdrożenie, więc jeśli ktoś wybierze się na wycieczkę do Kopenhagi i będzie doładowywał kartę w nowej linii metra może się z tym urządzeniem spotkać Ja jeszcze nie miałem czasu wypróbować, ale podobno działa i w obudowie wygląda tak:
  3. A projekty wykonywane w pracy też można na worklogu umieszczać? Bo ostatnio z braku czasu projekty "po godzinach" zupełnie u mnie leżą i nie bardzo jest co napisać
  4. @RFM zainstalowanie serwera www z gotowych paczek to tak samo banalne zadanie jak miganie diodą na arduino. Ale fajnie że się uczysz czegoś nowego, starasz się poznać coś więcej niż avr i stm32. Chciałem zwrócić Twoją uwagę, że dla Ciebie początki programowania mikrokontrolerów są proste i uważasz że to co robią początkujący na Arduino jest do niczego - ale z perspektywy osób, które dobrze znają linuksa Twoje początki z tym systemem wyglądają absolutnie identycznie... Jednak nikt Ci nie dokucza, nie pisze że to co robisz jest beznadziejne, złe itd. Wręcz przeciwnie, będziemy Cię dopingować i zachęcać do nauki
  5. Jeszcze niedawno wycierałeś podłogę osobami, które były dumne że uruchomiły migającą diodę sterowaną przez Arduino, a teraz sam cieszysz się jak dziecko z absolutnych podstaw... Mam nadzieję, że zastanowisz się nad tym chwilę i może następnym razem nie będziesz wypisywał jacy to beznadziejni ci arduinowcy. Ja postaram się pokazać jak można znaczenie ładniej to samo ująć: pięknie, moje gratulacje, udało Ci się uruchomić własny serwer www na komputerze wbudowanym. To bardzo dobry początek, jak będziesz miał więcej zrobione pochwal się na forum, żeby inne osoby też mogły z tego skorzystać. Pamiętaj tylko że udostępnianie własnego urządzenia w internecie niesie za sobą pewne zagrożenia, postaraj się zwrócić uwagę na skonfigurowanie firewalla oraz innych niezbędnych zabezpieczeń.
  6. W sumie zupełnie nie o to chyba chodziło - wprowadzenie poziomu nie miało służyć chwaleniu się, ani leczeniu własnych kompleksów, tą rolę spełniają ostatnio bardzo dobrze zwykłe wpisy na forum. O ile rozumiem chodziło raczej o pomoc odpowiadającym - bo w zależności od "poziomu" można udzielić zupełnie innej rady. W sumie jeśli taki jest cel "poziomów", to może warto byłoby to uwzględnić w podziale? Czyli poziom 0 jest prosto - nie chcę wykładu, schematu, nic, tylko gotowca. Poziom 1 - proszę o wyrozumiałość i wytłumaczenie od podstaw itd...
  7. To ja proponuję jeszcze inaczej podejść do tematu - może dałoby się ułożyć test / ankietę, gdzie odpowiedzi na pytania dawałyby odpowiednie poziomy. Przykładowo: interesujesz się elektroniką, czy poszukujesz tylko gotowych rozwiązań bez wnikania w szczegółych ich działania? -> poziom 0 Kolejny przykład: mamy układ z zasilaniem 5V, diodą LED o spadku napięcia 2V, oraz rezystorem - jaką wartość należy wybrać, aby prąd diody wynosił w przybliżeniu 3mA: 100 Ohm, 1k, 10k. itd.
  8. Chodziło mi tylko o poziom "odniesienia" - każdy może rzucić okiem na kurs, jak wszystko zna i rozumie, to nie musi go przecież robić Może dałoby się ładniej sformułować sam opis, np opanowałem materiał z kursu? Nie aspiruję do ustalania ostatecznych nazw poziomów znajomości elektroniki - to była tylko propozycja i sposób w jaki ja zrozumiałem rozbudowane opisy zaprezentowane wcześniej.
  9. Jak dla mnie długie opisy są potrzebne i powinny zostać - napisałem o "skróconych" wersjach, bo przy takim formatowaniu jak było w pierwszym poście po prostu zupełnie zgubiłem się w okolicy poziomu "elektronika 3" Długie opisy wymagają więcej uwagi, ich treść jest podobna, więc czytając łatwo się "wyłączyć" - i przeskoczyć do ostatniego poziomu. Jak dla mnie kolejne poziomy mogłyby mieć np takie nazwy: Elektronika 2. Znam podstawową teorię Elektronika 3. Opanowałem kurs podstaw elektroniki poziom 1 Elektronika 4. Opanowałem kurs podstaw elektroniki poziom 2 Elektronika 5. Potrafię zaprojektować i uruchomić własny układ Elektronika 6. Elektronika nie ma przede mną tajemnic, chętnie pomogę innym Ewentualnie punkt 6 można byłoby rozbić na dwa, bo chęć i umiejętność pomagania innym to moim zdaniem oddzielny poziom
  10. Jak dla mnie warto byłoby trochę inaczej sformułować kryteria - w szczególności może dałoby się je skrócić. Przykładowo: Elektronika 0. Nie interesuję się elektroniką Elektronika 1. Zaczynam naukę elektroniki Natomiast punkt 2 jest bardzo podstępny: Jak dla mnie to poziom zdecydowanie powyżej zdefiniowanych sześciu Jeśli potrzebna jest "pomoc" w wyjaśnieniu co, który punkt znaczy, albo jak wybrac odpowiedni - może lepiej przenieść takie informacje do oddzielnego artykułu? Łatwiej się czyta i zapamietuje krótkie opisy. Natomiast w osobnym artykule można napisać dużo więcej o znaczeniu każdego poziomu, może nawet jakiś prosty test dołączyć?
  11. @atMegaTona To nie jest filozofia - to zwykła inżynieria. Informatyka już dawno wyrosła z wieku dziecięcego, kiedy chodziło tylko o napisanie programu który czasem działał i gdy autor był zadowolony z uzystkiwanych wyników można było uznać dzieło za skończone. Obecnie pisanie programów to zwykła, często nudna praca. Natomiast co do konkursów to ze względów formalnych niezbędne są jasne i obiektywnie mierzalne kryteria. Stąd poprawne wyniki oraz czas działania są dobrymi kandydatami - chociaż daleko im od ideału, bo szybko działający kod wcale nie musi oznaczać programu wartego jakiejkolwiek uwagi. W przypadku olimpiady ważny jest algorytm i jego wybór ma zasadnicze znaczeni - stąd w przypadku prostych bibliotek taki system może się nie sprawdzić. Ale chciałem zwrócić uwagę że OI wypracowały przez lata pewne metody organizacji i oceniania konkursów, może warto skorzystać z ich doświadczenia.
  12. @ethanak Ja nie jestem i nie chcę być jurorem w tym konkursie Ale IO mają swoje regulaminy, zasady oceny prac i od lat sobie radzą. Jedna z opcji jest - ustalić konkretne zadanie, na konkretnym sprzęcie - i tutaj gotowe zestawy są całkiem na miejscu. Następnie trzeba ustalić jak prównywać kod - można po pierwsze wymagać poprawnych odpowiedzi dla serii testów, a następnie oceniać czas działania. To oczywiście dalekie od ideału, ale w IO się sprawdza, więc liczyłem że może niektóre pomysły warto podpatrzeć
  13. Nie mówię, że Forbot powinien uruchamiać swoją olipiadę informatyczną, absolutnie nie miałem tego na myśli Chciałem tylko pokazać że istnieją konkursy informatyczne, które od lat mają sprawdzoną formułę i całkiem dobrze sobie radzą. Co z tego można wykorzystać - tego nie wiem, to była tylko sugestia że "da się". Wiem, że ocenianie czasu działania kodu ma ogromne wady - ale to zawsze jakaś opcja i na OI całkiem dobrze działa.
  14. @Treker Konkursy czysto programistyczne można bez problemu oceniać, zobacz jak wyglądają np. olipiady informatyczne https://oi.edu.pl/
  15. Wydaje mi się że to stwierdzenie to jedynie opinia, od dawna programowanie jest rzemiosłem, czyli pracą jak każda inna - nie ma w sobie ani trochę więcej sztuki niż praca inżyniera elektryka, mechanika, czy elektronika. Co więcej programowanie podlega takim samym regułom jak inne dziedziny inżynierii. Stąd można oceniać jakość oprogramownia, tak samo jak można mówić o jakości np. projektu mostu. Niestety wielu klepaczy kodu nadal uważa że cokolwiek zadziała to piękna i niezmącona wiedzą sztuka
  16. @atMegaTona Specjalnie podałem przykład portalu Linkedin żeby pokazać, że taki system może działać całkiem sprawnie, chociaż oczywiście jego wdrożenie może nie być takie łatwe. Jednak samoocena jak widać po ostatnich wpisach na forum to bardzo względne pojęcie...
  17. Jak dla mnie pomysł ze schematem brzmi bardzo ciekawie. Może dałoby się takie schematy oferować w formie gotowego modułu albo zestawu do złożenia? Wówczas osoby mniej obeznane z elektroniką miałyby szansę na udział w konkursie. Chociaż dla osób ograniczonych ilością wolnego czasu gotowy moduł również byłby chyba dobrym rozwiązaniem
  18. Może warto dodać też jakąś formę oceny umiejętności przez innych uczestników forum? Coś podobnego działa na linkedin-ie i wydaje się mieć sporo sensu. Na Forbocie istnieje znacznik "pomógł", czy jak się on tam nie nazywa - ale może dałoby się go rozszerzyć o "podbijanie" umiejętności osoby która pomagała?
  19. @szczepulek nie chodziło mi o obrażanie się, ani kogokolwiek innego. Po prostu pojawiła się negatywna opinia nie o samej bibliotece, ale osobie - czyli autorze tej biblioteki mówiąc dokładniej. Moim zdaniem powinniśmy takich opinii unikać. Można skomentować czyjś kod, ale pisanie o kimś że jest kiepski w tym co robi jest co najmniej nieeleganckie. Co więcej wyrażając takie opinie o innych powinniśmy być świadomi, że to może sprowokować kogoś do oceny nas - i to niekoniecznie zgodnej z własną samooceną.
  20. To że program działa, albo jego autorowi wydaje się że działa jeszcze o niczym nie świadczy. Może to być beznadziejnej jakości program napisany przez "kiepskiego programistę". Więc jak napisałem wcześniej - proponuję unikać takich ocen tego co robią inni, w końcu to co sami robimy też może okazać się dalekie od ideału.
  21. Ja bym radził również powstrzymać się od komentowania pracy innych i określania ich jako np. kiepskich programistów. W końcu widzieliśmy próbki programowania autora tej opinii, więc może ktoś dojdzie do wniosku, że wcale nie jest najwyższej jakości kod - a po co sobie przykrości sprawiać na forum.
  22. Ciekawa sprawa z tymi PWM-ami, może dałoby się krótki programik przykładowy napisać, żeby pokazać kiedy to występuje? Natomiast co do ostatniego zdania, które dopisałem we wpisie o volatile to chodziło mi o ten konkretny przypadek, przecież napisałem wcześniej że volatile wyłącza optymalizację - co oczywiście może mieć wpływ na kod wynikowy. Zostawmy może to czepianie się słówek - w sumie to ciekawa dyskusja, a wpływ millis() na PWM bardzo interesujący. Tylko proponuję wyłączyć niepotrzebne napinanie się i kłótnie - może wtedy zamiast marnować czas i siły nauczymy się od siebie czegoś interesującego.
  23. Natomiast co do funkcji millis() to w moim przypadku jej kod po kompilacji wygląda następująco: unsigned long millis() { unsigned long m; uint8_t oldSREG = SREG; 1c6: 2f b7 in r18, 0x3f ; 63 // disable interrupts while we read timer0_millis or we might get an // inconsistent value (e.g. in the middle of a write to timer0_millis) cli(); 1c8: f8 94 cli m = timer0_millis; 1ca: 80 91 05 01 lds r24, 0x0105 ; 0x800105 <timer0_millis> 1ce: 90 91 06 01 lds r25, 0x0106 ; 0x800106 <timer0_millis+0x1> 1d2: a0 91 07 01 lds r26, 0x0107 ; 0x800107 <timer0_millis+0x2> 1d6: b0 91 08 01 lds r27, 0x0108 ; 0x800108 <timer0_millis+0x3> SREG = oldSREG; 1da: 2f bf out 0x3f, r18 ; 63 Między instrukcją cli, która wyłącza przerwania, a out przywracającym ich obsługę mamy 4 instrukcje odczytu z pamięci lds. Przerwania są więc wyłączone na jakieś 5 cykli? Nie jestem aż takim ekspertem od AVR żeby to dokładnie policzyć ale skoro Arduino Uno używa 16 MHz zegara, mamy raptem kilka instrukcji, to chyba 0,5 us jest z zapasem wystarczające na ich wykownanie. I stąd moje kolejne pytanie - jaki wpływ ma mieć wyłączenie przerwań na tak krótki czas? Natomiast używanie millis() ma inny niemiły efekt - jego dokładność jest skończona. W idealnej sytuacji mielibyśmy niedokładność na poziomie 1ms, natomiast prawdziwa implementacja wprowadza nawet odrobinę większy błąd. Więc jeśli potrzebujemy rozdzielczości na poziomie mikrosekund, faktycznie użycie timera może mieć sens. Ale jeśli rozdzielczość rzędu pojedynczych milisekund nam wystarcza, używanie millis() nie powinno mieć negatywnych następstw. Oczywiście to tylko moje zdanie, bardzo chętnie dowiem się czegoś nowego i nauczę. Tylko prosiłbym o trzymanie się faktów i dyskusję merytoryczną, a nie pisanie że funkcja jest zła bo jej nie lubię i kropka. Na forum wystarczy jeden mędrzec, który decyduje co złe i dobre jedynie według własnego widzimisię
  24. Skoro wszyscy włączają się do dyskusji, pozwólcie że i ja to zrobię. Pierwsza sprawa to chciałbym nie zgodzić się z opinią o używaniu volatile. Zanim wszyscy początkujący programiści wykasują to słówko ze swoich programów, można najpierw dwa słowa wyjaśnienia. Jako przykład przeanalizujmy kod, który widziałem w pewnym projekcie: int loop_forever = 1; while (loop_forever) { } // tutaj jest kod głównie testowy Kod znajdował się funkcji obsługi błędu. W pierwszej chwili dziwnie taki kod wygląda, nie popieram takiego stylu programowania, ale o gustach się nie dyskutuje - sens był następujący: w "produkcyjnym" programie pętla while ma się wykonywać cały czas, była chyba pusta o ile dobrze pamiętam i układ po prostu czekał na reset przez watchdoga. Natomiast sens tego kodu był taki, że mając podłączony debugger można zmienić wartość zmiennej loop_forever na 0 i wyjść z pętli while. Po niej znajdował się kod służący do diagnozowania przyczyny problemu - w wersji produkcyjnej nie był używany, tam wystarczył reset układu. W przypadku takiego kodu optymalizator może "zauważyć", że zmienna loop_forever nie jest nigdzie zmieniana (na początku przypisywana jest wartość 1 i nic tego nie modyfikuje). A skoro loop_forever jest stałą, może zaoszczędzić kilka bajtów i się jej pozbyć. W kolejnym kroku optymalizacji okaże się również że cały kod po while nie jest nigdy używany. Po optymalizacji program będzie wyglądał więc następująco: while (1) { } Programiście, który chciał mieć możliwość wychodzenia z pętli oczywiście chodziło o coś innego - i właśnie tutaj z pomocą przychodzi słówko volatile. Dodając je do definicji zmiennej loop_forever, prosimy optymalizator, żeby nie próbował nic poprawiać w działaniu tej zmiennej. Program jest więc skompilowany jak w przypadku braku optymalizacji - ale nie jest wcale wolniejszy, większy, czy gorszy niż w przypadku kompilacji bez optymalizacji. Co więcej w wielu przypadkach obie wersje kodu wynikowego będą absolutnie identyczne. Jako test przygotowałem następujący program dla Arduino UNO: unsigned long var1; volatile unsigned long var2; void setup() { Serial.print("Hello world!"); } void loop() { var1++; var2++; Serial.print(var1); Serial.print(var2); } Jak widzimy var1 to zwykła zmienna, var2 ma modyfikator volatile. Kod wynikowy jest następujący: void loop() { var1++; 552: 60 91 24 01 lds r22, 0x0124 ; 0x800124 <var1> 556: 70 91 25 01 lds r23, 0x0125 ; 0x800125 <var1+0x1> 55a: 80 91 26 01 lds r24, 0x0126 ; 0x800126 <var1+0x2> 55e: 90 91 27 01 lds r25, 0x0127 ; 0x800127 <var1+0x3> 562: 6f 5f subi r22, 0xFF ; 255 564: 7f 4f sbci r23, 0xFF ; 255 566: 8f 4f sbci r24, 0xFF ; 255 568: 9f 4f sbci r25, 0xFF ; 255 56a: 60 93 24 01 sts 0x0124, r22 ; 0x800124 <var1> 56e: 70 93 25 01 sts 0x0125, r23 ; 0x800125 <var1+0x1> 572: 80 93 26 01 sts 0x0126, r24 ; 0x800126 <var1+0x2> 576: 90 93 27 01 sts 0x0127, r25 ; 0x800127 <var1+0x3> var2++; 57a: 00 91 20 01 lds r16, 0x0120 ; 0x800120 <__data_end> 57e: 10 91 21 01 lds r17, 0x0121 ; 0x800121 <__data_end+0x1> 582: 20 91 22 01 lds r18, 0x0122 ; 0x800122 <__data_end+0x2> 586: 30 91 23 01 lds r19, 0x0123 ; 0x800123 <__data_end+0x3> 58a: 0f 5f subi r16, 0xFF ; 255 58c: 1f 4f sbci r17, 0xFF ; 255 58e: 2f 4f sbci r18, 0xFF ; 255 590: 3f 4f sbci r19, 0xFF ; 255 592: 00 93 20 01 sts 0x0120, r16 ; 0x800120 <__data_end> 596: 10 93 21 01 sts 0x0121, r17 ; 0x800121 <__data_end+0x1> 59a: 20 93 22 01 sts 0x0122, r18 ; 0x800122 <__data_end+0x2> 59e: 30 93 23 01 sts 0x0123, r19 ; 0x800123 <__data_end+0x3> } Czyli volatile nic w kodzie nie zmienia.
  25. Jakiś czas temu (tak powiedzmy 4-5 lat temu) zrobiłem sobie krótką przerwę od pracy zarobkowej - planowałem wrócić do przerwanych studiów doktoranckich. Niestety niemało jest racji w powiedzeniu, że wszystko ma swój czas, więc i studiować jest lepiej jak się ma lat dwadzieścia, niż dwa razy więcej. Tak więc z moich ambitnych planów naukowych nie wyszło nic dobrego, ale miałem kilka miesięcy przerwy w pracy zawodowej. Jak każdy student wie studiowanie zostawia wiele wolnego czasu na inne zajęcia i rozrywki, a w pewnym wieku imprezowanie do białego rana staje się mniej atrakcyjne - więc miałem w tym czasie sporo wolnego czasu. Nadmiar wolnego czasu ma wiele wad, niektórzy mogą zacząć wtedy nadużywać obecności na forum, inni popadają w jeszcze gorsze nałogi. Aby uniknąć tak marnego losu postanowiłem poszukać sobie jakiegoś zajęcia do wypełnienia nadmiaru wolnych chwil. Nie pamiętam już, czy gdzieś przeczytałem, czy ktoś mi powiedział o serwisie https://www.freelancer.com (jest również polska edycja www.freelancer.pl) Pewnie wszyscy o nim słyszeli, ale na wypadek jeśli ktoś nie - krótkie wyjaśnienie. Jest to serwis z ofertami realizacji projektów. Działą trochę jak odrócone allegro: osoba, która potrzebuje zrealizować projekt wystawia krótki opis, a potencjalni wykonawcy walczą podając jak najniższe ceny, nierealnie krórkie czasy realizacji oraz obiecując jak najlepiej wykonaną robotę. Po zarejestrowaniu się w serwisie możemy przeglądać oferty prac do wykonania. Przekrój projektów jest bardzo duży - znaczną grupą są prace domowe od leniwych studentów, pojawiają się pewne formy korepetycji, ale są również normalne, nazwijmy "pełnowymiarowe" projekty. Zakres oczekiwanych tematów jest również ogromny: od zaprojektowania PCB, przez programowanie urządzeń mobilnych, na programowaniu aplikacji internetowych kończąc. Niestety wspomniana konkurencja w tworzeniu ofert ma poważną wadę - moim zdaniem na Freelancerze nie da się zarobić. Ale zamiast siedzieć i się nudzić można zrealizować jakiś projekt. Czas który mogłem w taki sposób zmarnować był ograniczony, ale udało mi się zrealizować kilka małych projektów - jeden chciałbym opisać jako przykład jak wygląda praca w ten sposób. Jak wspominałem wcześniej, na początku jest dostępna lista oferowanych projektów. Możemy je filtrować na podstawie własnych umiejętności oraz interesującej nas tematyki. Ja wybrałem Raspberry Pi i okazało się że projektów jest sporo, ale większość bardzo prostych. Jednak jeden wydawał mi się interesujący - chodziło o poprawienie błędu w sterowniku kamery. Zgłoszenie chęci wykonania projektu jest proste, wystarczy podać stawkę, czas realizacji oraz napisać krótki list motywacyjny Podawanie stawki jest właśnie tym momentem, kiedy okazje się że na freelancerze można realizować ciekawe projekty, ale zarabiać się na tym raczej nie da. Okazuje się że serwis jest zdominowany przez całe firmy zlokalizowane w Iniach, Pakistanie i okolicznych rejonach, które wykonują prace za wręcz absurdalnie niskie stawki. Co więcej firmy te mają już dobrą reputację w serwisie, więc jedynym sposobem na uzyskanie zlecenia jest praca właściwie za darmo. Ale jak wspominałem, kiedy jest się studentem (nawet jeśli wiecznym) może to być ciekawa opcja. A wracając do projektu. Okazało się że sterownik kamery Raspberry Pi miał (nie wiem, czy błąd nadal nie występuje) ciekawy błąd. Wszystko dobrze działa jeśli uruchamiamy raspicam, czy inny program do wykonywania zdjęć w trybie z podglądem obrazu - czyli z podłączonym monitorem. Natomiast jeśli uruchomimy program z konsoli i bez podgądu niektóre ustawienia nie działają - tzn. działają, ale wracają do ustawień domyślnych. Przykładowo wybierany jest tryb automatycznego balansu bieli czy automatyczny ustawianie czasu ekspozycji. Problem występuje tylko w specyficznych warunkach i dotyczy raptem niektórych parametrów - dlatego zleceniodawcy projektu od prawie roku próbowali uzyskać poprawkę do sterownika, ale im się nie udało. Wystawili więc zlecenie na freelancerze. Ja natomiast szukałem czegoś ciekawego do roboty, postanowiłem więc spróbować. Okazało się że wyzwanie jest ciekawe, a i sam projekt interesujący. Jak chodzi o rozwiązanie problemu, to nie udało mi się sterownika w pełni poprawić, bo na Raspberry Pi dedykowana kamera obsługiwana jest przez GPU, a sam kod nie jest dostępny. Udało mi się jednak uzyskać pewne obejście. Ponieważ problem nie pojawiał się gdy włączony był podgląd z kamery, zmieniłem sposób konfiguracji potoku z kamery - podgląd był uruchamiany, ale przekierowywany do pustego wyjścia (null). Dzięki temu udało się zrobić to co było potrzebne, czyli wykonać zdjęcie bez podłączania monitora oraz z zadanymi parametrami. Na zakończenie jeszcze kilka słów o samym projekcie - wspomniane Raspberry Pi działają w dość sporym skanerze 3D. Jest on na tyle duży, że jedna lub dwie osoby mogą do niego wejść Skaner wykonuje wówczas dwa zdjęcia - jedno aby uchwycić kolory oraz drugie aby ustalić głębię obrazu (wyświetlane są wówczas odpowiednie wzory, które później są analizowane i na ich podstawie tworzony jest model 3D). Aby taki skaner działa w tym samym momencie musi być wykonanych wiele zdjęć - używane było ok. 250 malinek, które jednocześnie miały wykonać zdjęcie. Jak łatwo się domyślić, podłączanie 250 monitorów nie było dobrym rozwiązaniem, a automatyczna zmiana parametrów zdjęć bardzo utrudniłaby późniejszą obróbkę. Jeśli ktoś jest ciekaw jak taki projekt wygląda w działaniu, adres jest tutaj: https://www.scanologics.com/ Natomiast podsumowując samą pracę znajdowaną przez freelancer: + ciekawe projekty + można się sporo nauczyć nawet przeglądając poszukiwane umiejętności i technologie - stawki raczej mało europejskie - duża konkurencja Więc jeśli ktoś ze studentów poszukuje ciekawej pracy, na której może milionów się nie zarobi, ale do CV można wpisać - to freelancer jest jakąś opcją
×
×
  • Utwórz nowe...