2008-10-10 3 views
9

내 학생이 오늘 아침에 나에게 와서 임베디드 시스템 (이상적으로 하드웨어 + 소프트웨어 디자인) 프로젝트가 향후 6 개월 이내에 완료 될 수있는 아이디어를 요청했습니다. 그는 신입생이고 경험이 없지만 올바른 방향으로 지적되면 배울 동기가 있습니다. 전기/컴퓨터 공학 및 컴퓨터 과학에 발을 들여 놓는 것 외에도이 프로젝트를 완료하는 목적은 Summer '09에서 인턴쉽을 방해하는 측면에서 그의 이력서를 더욱 매력적으로 만드는 것입니다.초급 임베디드 시스템 프로젝트?

내 질문은 : 간단한 하드웨어, 마이크로 컨트롤러를 이해하는 좋은 일반 자원 및/소프트웨어, 위의에 경험이 거의 주어 어떤 펌웨어의 기본은 무엇

  1. 입니까? 내 자신의 배경은 다소 도움이되지 않습니다. (그가 관심이 있지만 지금 시작하고 싶어하는) 정규 교육과 인턴쉽을 통해 많은 것을 배웠고 신입생 1 년을 통해 그가 원하는 할 수 있지만 닭고기와 달걀 문제가 있습니다.)

  2. 적절한 범위의 흥미로운 프로젝트 아이디어는 무엇입니까?

일부 초기 아이디어 :

  • 퍼디 스타일의 LED가 불을 것이다 게임, 그리고 그/그녀의 버튼을 먼저 승자를 누르면 플레이어, 아마도 마이크로 컨트롤러가 유지할 수 점수 한 쌍의 7 세그먼트 디스플레이에.
  • 음원 회로는 (사용자가보다 야심 DIP 스위치 (또는 설정하는 주파수 설정)을 PS2 키보드 키 프레스), 상기 마이크로 컨트롤러는 D/출력으로 변환하는 주파수
  • 일종의 정현파를 사용 작은 센서 (어쩌면 기숙사 방의 온도 센서가 RSS 피드로 결과를 제공 했음). 이 프로젝트의 웹 기반 측면은 RabbitCore가 Rabbit Semiconductor에서 훨씬 쉽게 될 것입니다.

마이크로 컨트롤러 키트에 대한 모든 제안 사항은 훌륭합니다! . 난 정말 추가 프로젝트 아이디어 (예 : "학생은 X를 설계해야합니다)뿐만 아니라 감사 감사하겠습니다

답변

7

(기타.이 목록에 추가 부담)와 아두 이노와 PICAXE 플랫폼에 대한 좋은 일들을 잔뜩 읽었다. Arduino는 그 뒤에 가장 큰 커뮤니티를 갖고있는 것으로 보이며 신생 비용은 상당히 적습니다 (키트의 경우 20-30 달러 정도).그리고 Adafruit 산업에서

http://arduino.cc/

LadyAda는 아두 이노 보드와 기본적인 전자 가르치는 8 자습서 및 마이크로 컨트롤러 프로그래밍과 함께 제공 튜토리얼 키트를 판매하고있다.

4

많은 마이크로 컨트롤러 제조업체 저렴 실험 보드와 함께 플레이하는 재미 개발 도구를 제공

예를!.

는 내가 들어

4

레오 마인드 스톰을 시작할 장소가있을 수 있습니다. 펌웨어는 오픈 소스이기 때문에 학생들은 새로운 I/O 기능을 추가하거나 새로운 주변 장치를 만들 수 있습니다.

+0

좋은 아이디어! 어린 십대로 Mindstorms의 첫 번째 버전을 즐겼습니다. 후속 회기가 더 재미 있고, 정식 교육을 정말로 필요로하는 대부분의 자료를 추상화한다고 생각합니다. –

1

Tern Acore86 보드는 작동하기 좋은 키트입니다.

0

PIC 또는 유사한 마이크로 프로세서를 사용하여 소형 로봇 키트를 만드는 회사가 여러 곳 있습니다.

2

나는 임베디드 시스템에서 10 년 이상 일해 왔으며 초보자 인 Rabbit Semiconductor는 이길 수 없다.

그러나 Arduino 및 다른 몇 가지 시스템으로 훨씬 더 저렴하게 시작할 수 있습니다. 그러나 항상 도구 설치 및 설정 학습 곡선이 있습니다. 토끼 물건은 "소프트웨어 프로그래머를위한 하드웨어"와 거의 비슷하게 설계되어 매우 강력합니다. 내 첫 번째 노력은 동적 인 웹 페이지를 날씨 관련 센서 (바람, 온도, 압력 등)의 그래프를 표시하기 위해 배치하는 것이 었습니다.

다시 해보려한다면, 거기에 Ajax 기술을 적용하고 캔버스 또는 svg를 사용하여 훨씬 좋은 그래프를 생성합니다.

기타 옵션으로는 마이크로 칩의 새로운 32 비트 프로세서와 Atmel의 AVR32가 있습니다. 약 100 달러에 시작하실 수 있습니다. AVR32는 지금 리눅스를 지원하며, 너무 많은 돈을 들이지 않으면 LCD와 다른 것들을 얻을 수있어 매우 하이 엔드 임베디드 시스템이 될 수 있습니다. WinCE 데모 소프트웨어도 함께 제공되므로 개발이 끝났는지 확인할 수 있습니다. 32 비트 PIC는 아직 리눅스가 없기 때문에 WinCE를 지원할지는 모른다.

면책 조항 : 나는 얼마 전 Rabbit에서 일했습니다. 엄밀히 말해서 프로세서는 엄청나게 강력하지는 않지만 컴파일러와 포함 된 라이브러리는 많은 기능을 갖추고있어 사용하기 쉽고 많은 사람들이 사용합니다.

그가가는 길, 행운을 빌어 요!

-Adam

+0

큰 제안! 예, 임베디드 리눅스는 공간의 흥미로운 부분입니다. 처음으로 배울 점이 많은 것들을 추상화합니다. PIC (및 다른 사람들)에는 MMU가 없기 때문에 가상 메모리를 사용할 수 없다는 것을 의미합니다. 즉, 단순한 RTOS :-( –

1

내가 임베디드 시스템에 대한 작업을 시작하는 가장 좋은 방법은 비글에서 작동하는 것입니다 생각합니다.

BeagleBoard는 ARM 프로세서와 DSP를 포함하는 Texas Instruments OMAP3 프로세서입니다. 게다가 그 비용은 다른 개발 보드에 비해 너무 싸다. 단지 150 달러이다.

그리고 가장 좋은 점은 소프트웨어가 완전히 오픈 소스이기 때문에 Linux 커널, uBoot 및 xloader와 같은 구성 요소를 사용하여 빌드를 만들 수 있다는 것입니다.

처음에는 주위를 놀고 안정된 빌드를 시도하십시오. 당신은 보드의 힘을 사용할 수있는 많은 프로젝트를 생각할 수 있습니다.

최고로 바라고 있습니다.

0

Chumby은 새내기 임베디드 시스템 프로그래머를위한 놀라운 플랫폼을 제공합니다. 그것은 주변 기기 (LCD, USB, 스피커, 와이파이)의 훌륭한 세트를 제공하고, 완전히 오픈 소스 (플래시 물건을 무시하면)이며, 프로토 타입 보드에 훌륭한 인터페이스를 제공합니다.

3

Lego Mindstorms NXT 키트를 권하고 싶습니다. 업데이트 된 로봇 키트는 서보 모터 통합 인코더,블루투스 및 초음파 거리 센서 많은 매력적인 기능을 가지고 있습니다. 제 3자는 또한 가속도계, 자이로 스코프, 컴파스 등을 개발했습니다. 모든 센서는 표준 i2c 버스에서 작동하기 때문에 자체 센서를 쉽게 개발할 수 있습니다.

작년에, 몇 가지 다른 학생들과 함께, 우리는 Hitechnic gyroscope 오픈 소스 LeJos firmware을 사용하여 작은 세그웨이 -like 로봇을 만들었습니다. 블루투스 장치 (즉, 휴대 전화)를 사용하여 로봇을 무선으로 제어 할 수 있도록 클라이언트 - 서버 인터페이스를 구축하는 것이 가능했을 것입니다.

이 플랫폼은 프로젝트가 으로 바뀌고 커뮤니티가 훌륭하기를 원한다면 매우 다재다능합니다. 맞춤 센서를 사용하여 다음 project ideas을 확인하십시오.

1

나는 강한 당신이 here

기본 스탬프와 프로펠러 칩이 모두 뛰어난 있습니다 찾을 수 있습니다 시차 제품을 추천합니다. 많은 애드온 보드를 사용하여 많은 간단하고 복잡한 프로젝트를 수행 할 수 있습니다.

마인드 스톰은 시차가 있지만 Parallax가 제공하는 것보다 약간 비싸다. 그러나 사용하기 쉽기 때문에 Mindstorm이 될 수 없습니다.

2

기타 고려해야 할 사항 ...

아이에게 무엇을 배우기를 원하는지 결정해야합니다. 당신이 살 수있는 다른 키트가 많이 있습니다 (위의 많은 좋은 것들에 대한 답변 참조). 그러나 키트는 사용자를 신속하게 가동하여 대개 일부 마이크로 컨트롤러 또는 인터페이스 칩을 평가하도록 만들어 졌음을 명심하십시오.

실제로 누군가 임베디드 시스템을 가르치기 위해 "빨리"반드시 가야하는 최선의 방법은 아닙니다. 이 키트는 학생과 "학습 펌웨어"라는 주제 사이에 여러 수준의 추상화를 추가하는 IDE (Interactive Development Environment)를 제공합니다. 결과적으로 아이들은 첫날 "hello world"앱을 쓰고 있지만 RAM/ROM/주소/데이터/등의 차이점을 아직 알지 못합니다.

결론. .. 요즘, 거기에 너무 많은 키트가있다, 당신은 정말 선택의 여지가 있지만 하나를 선택 (좋은 제안에 대한 다른 답변을 참조하십시오); 그러나, 만약 당신이 정말로 아이가 fundamantals을 배우고 싶다면, 그는 "안녕하세요 세상"애플 리케이션을 쓴 후, 몇 가지 LED가 깜박입니다. 그를 거기에서 멈추고 모든 것을 배후에서 가르쳐 라.

그래, 그 질문에 직접 대답하지 않았 으면 좋겠지 만, 잘하면 그것은 그에게 "고기"를 가르치는 방법에 당신을 안내 할 것입니다. 이 작업을 시작할 수있는 좋은 장소는 몇 년 전에 필자가 쓴 "임베디드 시스템 펌웨어 Demystified"책입니다. "C 및 C++의 임베디드 시스템 프로그래밍"과 같은 다른 것들도 있습니다. 저의 책은 또한 펌웨어 학습을 시작할 수있는 좋은 곳인 부팅 모니터를 소개합니다. 이에 대한 정보는 http://www.umonfw.com을 확인하십시오.

2

확인 http://www.embedds.com

그것은 모든 웹을 통해 임베디드 시스템 프로젝트의 목록입니다. 대부분은 초보자이거나 애호가가 생성되어 좋은 시작이나 영감을 줄 것입니다.