1) Jakie są podstawowe rzeczy, których muszę się nauczyć przed przejściem na robotykę?
Naprawdę, wszystko, co musisz wiedzieć, to jakie są Twoje cele i zainteresowania. Często nie możesz się tego dowiedzieć, dopóki nie spróbujesz kilku rzeczy. Bez tej wiedzy można się wiele nauczyć. Ruch, rozmiar, objętość kodu i interfejsy są bardzo różne w różnych systemach.
2) Jakie języki są używane do pisania kodu i w jaki sposób ten kod jest przenoszony na chipy?
Przez większość czasu kod jest napisany w C, prawdopodobnie z odrobiną asemblera do wykonywania pewnych operacji sprzętowych, których nie można wykonać w C. Czasami C jest używany do tworzenia system operacyjny, a następnie kod jest napisany dla tego systemu operacyjnego (ponownie, nadal przy użyciu C) lub tworzona jest maszyna wirtualna, która obsługuje język wyższego poziomu, taki jak Java, Lua lub C #.
Zwykle odbywa się to na komputerze PC z kompilatorem krzyżowym, który tworzy kod szesnastkowy lub który nie może działać na maszynie, na której działa kompilator, ale może działać na mikro. Następnie programator jest używany do połączenia z mikrokontrolerem za pomocą USB, szeregowego lub nawet Ethernet. Czasami ten „programator” znajduje się na tej samej płytce drukowanej co mikrokontroler, na przykład na płytce Arduino. Można stosować protokoły komunikacyjne, takie jak JTAG, ISP i inne różne standardowe metody, chociaż niektóre chipy wymagają wyspecjalizowanych programistów.
3) Jakie są podstawowe elementy, które muszę znać?
Zależy to od tego, jaki jest Twój końcowy cel. Powinieneś mieć podstawową wiedzę na temat elektryczności (prawo Ohma prawdopodobnie może Ci pomóc w większości przypadków, a także zrozumienie diod i tranzystorów / MOSFETów). Mruganie diodą LED to łatwy pierwszy krok (z wysokiego klifu). Jeśli poważnie podchodzisz do robotyki, powinieneś poznać sterowniki silników, serwomechanizmy i silniki krokowe.
Chciałbym dowiedzieć się o obu składnikach sprzętowych i
część programistyczna. Czy to różne strumienie?
Tylko nieznacznie. Możliwe jest użycie komponentów sprzętowych bez konieczności pisania programu i można kupić gotowe moduły sprzętowe, a następnie po prostu wykonać część programistyczną, ale ostatecznie oba idą w parze.