Projekty systemów wbudowanych na poziomie początkującym? [zamknięte]

Mój student przyszedł do mnie dziś rano i poprosił o kilka pomysłów na projekt systemów wbudowanych (najlepiej hardware+software design), który zostanie ukończony w ciągu najbliższych 6 miesięcy. Jest pierwszoroczniakiem i niedoświadczonym, ale ma motywację do nauki, jeśli jest skierowany we właściwym kierunku. Celem ukończenia tego projektu, oprócz uzyskania mokrych stóp w Inżynierii Elektrycznej / komputerowej i informatyce, jest uatrakcyjnienie jego CV pod względem odbywania stażu w Lato 2009.

Moje pytanie brzmi:

  1. Jakie są dobre ogólne zasoby, aby zrozumieć prosty sprzęt, mikrokontroler i podstawy tego, co firmware / oprogramowanie jest, biorąc pod uwagę niewiele lub nie ma doświadczenia w żadnym z powyższych? Moje własne wykształcenie jest tu nieco nieprzydatne, ponieważ wiele się nauczyłem zarówno poprzez formalne szkolenie (którym jest zainteresowany, ale chce zacząć od teraz), jak i przez staż, który dostałem mój przez nepotyzm ;-) (który chce zrobić, ale jest problem z kurczakiem i jajkiem)

  2. Jakie są ciekawe pomysły projektowe o odpowiednim zakresie?

Kilka początkowych pomysłów:

  • Gra w stylu Jeopardy, która zapala diodę LED, a gracz, który nacisnął pierwszy przycisk, wygrywa. być może mikrokontroler utrzyma wynik na kilku 7-segmentowych wyświetlaczach.
  • generator tonów (użytkownik ustawia przełączniki DIP (lub bardziej ambitnie, naciska klawisze na klawiaturze PS2), aby ustawić częstotliwość), a mikrokontroler wykorzystuje przetwornik D/A do wyprowadzenia sinusoidy o tej częstotliwości [10]}
  • jakiś mały czujnik (może czujnik temperatury do jego pokoju w akademiku, który podawał wyniki jako kanał RSS). W 2004 roku, w ramach projektu RabbitCore, stworzonego przez firmę Rabbit Semiconductor, powstał projekt RabbitCore.

Wszystkie propozycje zestawów mikrokontrolerów są świetne! Byłbym bardzo wdzięczny za dodatkowe pomysły projektowe (np. uczeń powinien również zaprojektować X). Dzięki!

Author: GEOCHET, 2008-10-10

12 answers

Słyszałem i czytałem kilka dobrych rzeczy o platformach Arduino i PicAxe. Arduino wydaje się mieć największą społeczność, a koszt rozruchu jest dość minimalny (~20-30USD za zestaw).

Http://arduino.cc/

LadyAda z Adafruit industries sprzedaje zestaw samouczków, który jest dostarczany z płytą Arduino i 8 samouczków, które uczą podstaw elektroniki i programowania mikrokontrolerów.

 7
Author: willasaywhat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-10 15:37:50

Wielu producentów mikrokontrolerów oferuje tanie płytki eksperymentalne i narzędzia programistyczne, którymi można się bawić.

Przykłady:

(inni mogą dodać do tej listy.)

 4
Author: Kristopher Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-10 15:37:34

Lego Mindstorms może być miejscem do rozpoczęcia. Oprogramowanie układowe jest open-source, więc uczeń może eksperymentować z dodawaniem nowych funkcji We/Wy lub tworzeniem nowych urządzeń peryferyjnych.

 4
Author: Kristopher Johnson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-10 15:40:49

Polecam zestaw Lego Mindstorms NXT. Zaktualizowany zestaw robotyki ma wiele atrakcyjnych funkcji, takich jak serwosilniki ze zintegrowanymi enkoderami , Bluetooth i ultradźwiękowe czujniki odległości . Strony trzecie opracowały również akcelerometry , żyroskopy, kompasy i wiele innych. Możesz łatwo opracować własny czujnik, ponieważ wszystkie czujniki działają na standardowej magistrali i2c.

W zeszłym roku, z kilkoma innymi uczniowie, zbudowaliśmy małego Segwaya - podobnego robota przy użyciu żyroskopu Hitechnic i oprogramowania firmware LeJos. Całkiem możliwe byłoby zbudowanie interfejsu klient-serwer, abyśmy mogli sterować robotem bezprzewodowo za pomocą urządzenia bluetooth (np. telefonu komórkowego).

Ta platforma jest bardzo wszechstronna, jeśli chcesz, aby twój projekt przeniósł się, a społeczność jest świetna. Sprawdź następujące pomysły projektu przy użyciu niestandardowych czujników.

 3
Author: JcMaco,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-22 01:50:11

Pracuję w systemach wbudowanych już ponad dekadę i dla początkującego królika półprzewodnik jest trudny do pokonania.

Jednak możesz zacząć znacznie taniej z Arduino i kilkoma innymi systemami. Ale zawsze jest instalacja i konfiguracja narzędzia. Rabbit stuff jest prawie zaprojektowany jako "sprzęt dla programistów" i jest bardzo łatwy do rozpoczęcia, a także dość potężny. Moim pierwszym wysiłkiem było umieszczenie tam dynamicznych stron internetowych do wyświetlania wykresy czujników pogodowych (wiatr, temperatura, ciśnienie itp.).

Gdybym miał zrobić to jeszcze raz, włożyłbym tam techniki Ajax i używał canvas lub svg do generowania o wiele ładniejszych Wykresów.

Inne opcje to nowe 32-bitowe procesory Microchip oraz AVR32 firmy Atmel. Możesz zacząć z nimi za około $100. AVR32 obsługuje teraz Linuksa, a za niewiele więcej pieniędzy można dostać LCD i inne rzeczy, aby uczynić go bardzo wysokiej klasy systemem wbudowanym. Są też z przymrużeniem oka oprogramowanie demonstracyjne, dzięki któremu można sprawdzić, że koniec rozwoju. 32 bit PIC jeszcze nie ma Linuksa i nie wiem czy będzie obsługiwał WinCE.

Zastrzeżenie: pracowałem dla Rabbit jakiś czas temu. Technicznie procesory nie są strasznie potężne, ale kompilator i dołączone biblioteki są tak w pełni funkcjonalne i łatwe w użyciu, że wiele osób z nich korzysta.

Jakkolwiek by nie poszedł, powodzenia!

- Adam

 2
Author: Adam Davis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-10 16:39:51

Coś innego do rozważenia...

Musisz zdecydować, czego chcesz, aby dziecko się nauczyło. Istnieje wiele różnych zestawów, które można kupić( patrz powyżej odpowiedzi na wiele dobrych); jednak należy pamiętać, że zestawy są tworzone po to, aby szybko uruchomić użytkownika, zwykle w celu oceny jakiegoś mikrokontrolera lub układu interfejsu.

Dla naprawdę uczenie kogoś systemów wbudowanych, "szybko"niekoniecznie jest najlepszym sposobem. Zestawy dostarczą trochę IDE (interaktywne Środowisko programistyczne), które dodaje wiele poziomów abstrakcji między uczniem a tematem "learning firmware". W rezultacie dziecko może pisać aplikacje "hello world" pierwszego dnia, ale nadal nie ma pojęcia, jaka jest różnica między RAM/ROM/adres/Dane / itp...

Reasumując... w dzisiejszych czasach, istnieje tak wiele zestawów tam, naprawdę nie masz wyboru, ale po prostu wybrać jeden (zobacz inne odpowiedzi na dobre sugestie); jednak, jeśli naprawdę chcesz, aby dziecko naucz się podstaw, a następnie po napisaniu aplikacji "hello world", i sprawia, że kilka diod LED mruga. Zatrzymaj go tam i naucz go, co za tym wszystkim stoi.

Tak, to nie odpowiedziało bezpośrednio na twoje pytanie, ale mam nadzieję, że pomoże Ci w tym, jak naprawdę {6]} nauczyć go "mięsa". Dobrym miejscem na początek może być książka, którą napisałem kilka lat temu: "Embedded Systems Firmware Demystified". Są też inne, jak " programowanie systemów wbudowanych w C i C++". Moja książka też wprowadza Monitor rozruchowy, który jest dobrym miejscem do rozpoczęcia nauki oprogramowania układowego. Sprawdź http://www.umonfw.com dla informacji na ten temat.

 2
Author: Ed.,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-06 12:47:28

Sprawdź http://www.embedds.com

To lista projektów systemów wbudowanych z całej sieci. Większość z nich jest generowana dla początkujących lub hobbystów i byłaby dobrym początkiem lub inspiracją.

 2
Author: Hillwalker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-12-27 05:30:08

Tablica Tern Acore86 to fajny zestaw do pracy.

 1
Author: Paul Nathan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-10 15:55:53

Myślę, że najlepszym sposobem na rozpoczęcie pracy nad systemami wbudowanymi jest praca na BeagleBoard.

BeagleBoard to procesory Texas Instruments OMAP3, w skład których wchodzi procesor ARM oraz DSP. Poza tym koszt jest zbyt tani w porównaniu do innych płyt deweloperskich, jego tylko 150$.

A najlepsze jest to, że oprogramowanie do niego jest całkowicie Open source, możesz stworzyć kompilację przy użyciu komponentów takich jak jądro Linuksa, uBoot i xloader.

Początkowo bawić się wokół niego, spróbuj zrobić stabilna Budowa. Można myśleć o wielu projektach, które mogą korzystać z mocy zarządu.

Najlepsze życzenia.

 1
Author: Chintan Parikh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-14 20:13:08

Gorąco polecam produkty Parallax, które znajdziesz tutaj

Znaczek podstawowy i układ śmigła są wybitne. Dostępnych jest wiele tablic dodatkowych, które pozwalają wykonać wiele prostych i złożonych projektów.

Mindstorms jest dobry, ale trochę drogi w porównaniu do tego, co oferuje Parallax. Jednak dla łatwego użycia nic nie może być Mindstorm.

 1
Author: RS Conley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-06 19:56:18

Istnieje kilka firm, które wytwarzają małe zestawy robotów za pomocą zdjęć lub podobnych mikroprocesorów.

 0
Author: Jim C,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-10 16:29:42

The Chumby zapewnia niesamowitą platformę dla początkujących programistów systemów wbudowanych. Zapewnia świetny zestaw urządzeń peryferyjnych (LCD, USB, głośniki, wifi), jest całkowicie open source (jeśli ignorujesz rzeczy FLASH) i zapewnia świetny interfejs do płytki prototypowej.

 0
Author: Nate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-19 16:44:44