Bản chất của hệ thống nhúng - Phần cơ bản (Embedded Systems Essentials)
Khóa học nhập môn giúp bạn trải nghiệm toàn bộ quy trình phát triển hệ thống nhúng, từ cài đặt Linux đến điều khiển robot, chỉ trong một lần Khi bắt đầu với hệ thống nhúng, bạn có thể cảm thấy bối rối vì không biết nên bắt đầu từ đâu. Khóa học này được xây dựng dành cho những người như vậy, giúp bạn trải nghiệm toàn bộ quy trình, từ việc bắt đầu với chỉ một chiếc PC cho đến khi điều khiển được robot. Khóa học bao gồm cài đặt và thiết lập cơ bản cho Linux, quá trình chuẩn bị Raspberry Pi, đọc sơ đồ mạch và datasheet, cũng như thực hành các giao tiếp cơ bản, tập trung vào việc hiểu cấu trúc tổng thể hơn là đi sâu vào từng chi tiết.
120 học viên
Độ khó Cơ bản
Thời gian Không giới hạn


Tin tức
17 bài viết
Xin chào.
Tôi là bố Huchu của đội cứu hộ dành cho người mới học lập trình.
Lần này, dựa trên những nội dung đã học trong bài giảng, tôi muốn chia sẻ một vấn đề mà bạn nên thử suy ngẫm ít nhất một lần trong quá trình phát triển thực tế.
Trong bài giảng, chúng ta học cách sử dụng cảm biến IR để phát hiện chướng ngại vật và điều khiển động cơ dựa trên kết quả đó.
Tuy nhiên, trong môi trường thực tế, cảm biến không phải lúc nào cũng hoạt động như mong đợi.Khi không có chướng ngại vật nhưng lại được phát hiện trong chốc lát hoặc
Mặc dù có chướng ngại vật nhưng đôi khi không phát hiện được%timeout
Tùy theo môi trường xung quanh, giá trị cảm biến có thể trở nên không ổn định.
Nếu lúc này điều khiển động cơ ngay khi đọc giá trị cảm biến thì điều gì sẽ xảy ra?
Robot có thể dừng lại không cần thiết hoặc động cơ có thể hoạt động lặp đi lặp lại.
Vậy có thể cải thiện như thế nào?
Một trong những cách đơn giản nhất là kiểm tra giá trị cảm biến nhiều lần thay vì chỉ kiểm tra một lần.
Ví dụ, thay vì dừng ngay khi phát hiện chướng ngại vật, hãy thiết lập để dừng khi phát hiện liên tiếp 3 lần.
Nếu biểu diễn bằng Python thì sẽ như sau.count = count + 1 if detected else 0if count >= 3: stop_motor()※ Đây là ví dụ đơn giản nhằm giúp bạn dễ hiểu;
detectedlà kết quả phát hiện chướng ngại vật, cònstop_motor()biểu thị hàm dừng động cơ.Tất nhiên, trong quá trình triển khai thực tế, cũng cần xem xét chu kỳ đo của cảm biến và tốc độ phản hồi của robot.
Những cải tiến nhỏ như vậy chính là một phần quan trọng trong quá trình phát triển phần mềm nhúng thực tế.Thử thách nhỏ trong tuần này!
Bạn có muốn thử chỉnh sửa một chút chức năng phát hiện chướng ngại vật đã triển khai trong bài giảng không?
Hãy so sánh cách động cơ phản ứng khi chướng ngại vật được phát hiện liên tiếp lần lượt 1, 3 và 5 lần.
Không chỉ dừng lại ở việc viết mã hoạt động được, hãy rèn luyện thói quen suy nghĩ về lý do mã hoạt động như vậy và cách để mã hoạt động ổn định hơn.Xin cảm ơn.
Thân ái, Đội cứu hộ dành cho người mới học lập trình C++
Xin chào.
Tôi là bố Huchu của Đội cứu hộ Korin.Khi thực hành theo bài giảng, đôi khi bạn nghĩ rằng mình đã làm giống hệt video nhưng lại không hoạt động hoặc gặp phải lỗi ngoài dự kiến. Trong những lúc như vậy, đừng tự mình suy nghĩ quá lâu mà hãy thoải mái để lại câu hỏi.
Tuy nhiên, nếu bạn cung cấp thêm các nội dung dưới đây, chúng tôi có thể nhanh chóng thu hẹp phạm vi vấn đề hơn nhiều.Bạn đang thực hành bài nào trong khóa học nào
Bạn đã thực hiện bình thường đến bước nào
Bạn đã mong đợi kết quả gì
Thực tế đang xảy ra hiện tượng gì
Lệnh đã thực thi và thông báo lỗi
Nếu có thể, hãy gửi mã đã viết và ảnh đấu dây
Ví dụ,
❌ "Không thể thực hiện bài thực hành GPIO."
Thay vì
⭕ "Tôi đang thực hành xuất GPIO. Chương trình chạy bình thường và không phát sinh lỗi, nhưng đèn LED không sáng. Tôi đã sử dụng chân GPIO số XX, sơ đồ đấu dây và mã nguồn hiện tại như dưới đây."Hoặc,
❌ "Không thể kết nối SSH."
thay vì
⭕ "Raspberry Pi và PC đang kết nối cùng một bộ định tuyến, đồng thời ping vẫn hoạt động bình thường. Khi chạyssh jcrt@192.168.x.xsẽ hiển thịPermission denied (publickey)."
Nếu cung cấp thông tin như vậy thì sẽ tốt hơn.Khi viết câu hỏi, việc tự sắp xếp lại “đâu là phần vẫn hoạt động bình thường và vấn đề bắt đầu phát sinh từ đâu?” cũng là một bài tập gỡ lỗi tốt. Nếu vẫn không biết thì cũng không sao. Bạn chỉ cần ghi lại trong phạm vi mình biết, chúng tôi sẽ cùng bạn kiểm tra.
Trong quá trình học, nếu gặp phần nào vướng mắc, bạn cứ thoải mái để lại câu hỏi bất cứ lúc nào nhé.Xin cảm ơn.
Đội cứu hộ dành cho người mới học code kính thưXin chào.
Tôi là bố Huchu của đội cứu hộ người mới học lập trình.Chẳng mấy chốc nữa là kỳ nghỉ lễ Chuseok đã đến gần vào tuần sau.
Trước hết, xin cảm ơn các học viên đã tìm đến khóa học và luôn đồng hành cùng tôi.Trong kỳ nghỉ dài, bạn có thể tạm nghỉ ngơi một chút, hoặc nếu có thời gian, hãy từ từ học bù từng một hoặc hai bài giảng còn dang dở.
Tôi nghĩ rằng với việc học lập trình nhúng, quá trình tự tay kết nối, chạy thử, đôi khi gặp bế tắc và dần làm quen từng bước quan trọng hơn việc cố gắng tiếp thu thật nhiều nội dung trong một lần.
Đừng vội hoàn thành khóa học, hãy vui vẻ theo học với tốc độ của riêng mình nhé.
Chúc bạn có một kỳ nghỉ Chuseok thật vui vẻ và thoải mái bên gia đình. :)Xin cảm ơn.
Thân ái, Đội cứu hộ dành cho người mới học KotlinXin chào.
Tôi là bố Huchu của Đội cứu hộ người mới học code.
Tôi xin thông báo về việc cập nhật nội dung liên quan đến mô-đun RFID RC522 trong danh sách dụng cụ cần chuẩn bị.sản phẩm mô-đun RC522 đã được hàn sẵn không bao gồm thẻ RFID,
vì vậy chúng tôi đã thêm liên kết mua thẻ RFID riêng vào danh sách dụng cụ dành cho những người đã chọn sản phẩm này.
Nếu bạn đã mua mô-đun RC522 nhưng chưa có thẻ RFID,
vui lòng chuẩn bị thêm thẻ từ liên kết đã được bổ sung để có thể thực hành trong khóa học.Để tránh nhầm lẫn liên quan đến các vật dụng cần chuẩn bị, chúng tôi sẽ tiếp tục cập nhật những nội dung đã được xác nhận.
Xin cảm ơn.
Đội cứu hộ dành cho người mới học lập trình KORINIXin chào.
Tôi là bố Huchu của Đội cứu hộ dành cho người mới học lập trình.Trong Raspberry Pi OS mới nhất,
pigpiodkhông được cài đặt sẵn, vì vậy trong quá trình thực hành PWM của khóa học, có thể xuất hiện thông báo như sau.
$ sudo systemctl status pigpiod
Không tìm thấy unit pigpiod.service.Vì bài thực hành PWM sử dụng thư viện
pigpio, vui lòng cài đặt và chạypigpiodtheo thứ tự dưới đây.
$ sudo apt update
$ sudo apt install -y git build-essential
$ git clone https://github.com/joan2937/pigpio.git
$ cd pigpio
$ make
$ sudo make install
$ sudo ldconfigSau khi cài đặt, hãy chạy
pigpiodbằng lệnh dưới đây.
$ sudo pigpiodBạn có thể kiểm tra chương trình đã chạy bình thường hay chưa bằng lệnh dưới đây.
$ pgrep pigpiod
Nếu có số được 출력 ra, nghĩa là chương trình đang chạy bình thường.
Sau đó, bạn hãy chạy mã thực hành PWM giống như trong bài giảng.
Nếu gặp phải vấn đề tương tự trong quá trình thực hành, vui lòng để lại câu hỏi trên bảng tin hỏi đáp, chúng tôi sẽ hướng dẫn bạn.Xin cảm ơn.
Đội cứu hộ dành cho người mới học lập trình trân trọng.Xin chào.
Tôi là Huchuappa từ Đội cứu hộ dành cho người mới học lập trình.Công cụ raspi-gpio được sử dụng tại thời điểm quay bài giảng hiện đã ngừng được bảo trì.
Do đó, trên Raspberry Pi OS mới nhất, bạn cần sử dụng công cụ kế nhiệm là pinctrl.Lệnh xuất hiện trong bài giảng như dưới đây:
$ raspi-gpio get 0
Trong môi trường hiện tại, vui lòng thực hiện như sau:
$ pinctrl get 0Các lệnh get/set cơ bản được sử dụng trong bài giảng
hãy thay raspi-gpio bằng pinctrl rồi thực hiện tương tự.Xin cảm ơn.
Đội cứu hộ dành cho người mới học lập trìnhXin chào.
Tôi là bố Huchu của Đội cứu hộ cho người mới học lập trình.Nếu đã nắm được quy trình tổng thể của hệ thống nhúng trong phần cơ bản,
giờ đây bạn có thể tiếp tục với phần firmware, nơi bạn sẽ hiện thực hóa các khái niệm đó bằng STM32 thực tế và mã C.
Trong phần firmware, bạn sẽ trực tiếp triển khai GPIO, UART, PWM, I2C, ADC và Timer, sau đó thực hiện một dự án tích hợp từng chức năng thành một hệ thống firmware duy nhất.Hiện tại, phần Firmware đang áp dụng chương trình giảm giá Early Bird,
và ngay cả sau khi chương trình Early Bird kết thúc, bạn vẫn có thể học phần Cơ bản và phần Firmware với mức giảm 30% thông qua lộ trình 「Bản chất của hệ thống nhúng」.
Những bạn vẫn đang học phần Cơ bản chưa cần phải vội. Sau khi nắm vững phần Cơ bản, bạn chỉ cần tự nhiên chuyển sang bước tiếp theo.Nếu bạn biết ai muốn học về hệ thống nhúng hoặc phát triển firmware, chúng tôi rất mong bạn giới thiệu cùng họ lộ trình «Bản chất của hệ thống nhúng».
Nếu trong quá trình học có điều gì thắc mắc, hãy để lại câu hỏi bất cứ lúc nào.
Xin cảm ơn.
Đội cứu hộ dành cho người mới học lập trình kính thưXin chào, tôi là Huchu-appa từ
Đội cứu hộ Corini.Khóa học thứ hai tiếp nối 『Bản chất của Hệ thống Nhúng - Phần Cơ bản』,
『Bản chất của Hệ thống Nhúng - Phần Firmware』 đã chính thức ra mắt.Nhân dịp ra mắt phần Firmware, trong thời gian Early Bird, bạn có thể mua phần Cơ bản với giá giảm 25%.
Ngoài ra, để tri ân các học viên đã tham gia phần Cơ bản trước đó, chúng tôi đã gửi tặng riêng phiếu giảm giá 40% cho phần Firmware.Hãy hiểu rõ nguyên lý của hệ thống nhúng trong phần cơ bản,
và trực tiếp thực hiện bằng cách sử dụng STM32 trong phần firmware.
Rất mong nhận được sự quan tâm và quảng bá bài giảng của các bạn. :)Xin cảm ơn.
Thân gửi từ Đội cứu hộ Corinny

