Thông báo

Collapse
No announcement yet.

Arduino - Mạch AVR rất tiện dụng

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Arduino - Mạch AVR rất tiện dụng

    Click image for larger version

Name:	arduino_uno_test.jpg
Views:	1
Size:	89.5 KB
ID:	1411431

    Arduino đã và đang được sử dụng rất rộng rãi trên thế giới, và ngày càng chứng tỏ được sức mạnh của chúng thông qua vô số ứng dụng độc đáo của người dùng trong cộng đồng nguồn mở (open-source). Tuy nhiên tại Việt Nam Arduino vẫn còn chưa được biết đến nhiều. Bài viết này là một cố gắng nhầm giới thiệu một số thông tin về Arduino với hy vọng cung cấp cho người dùng DIY Việt Nam thêm một lựa chọn mới đầy tiềm năng khi thực hiện các dự án của mình.


    Hiện tượng Arduino

    Arduino thực sự đã gây sóng gió trên thị trường người dùng DIY (là những người tự chế ra sản phẩm của mình) trên toàn thế giới trong vài năm gần đây, gần giống với những gì Apple đã làm được trên thị trường thiết bị di động. Số lượng người dùng cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên đến đại học đã làm cho ngay cả những người tạo ra chúng phải ngạc nhiên về mức độ phổ biến.

    Arduino là gì mà có thể khiến ngay cả những sinh viên và nhà nghiên cứu tại các trường đại học danh tiếng như MIT, Stanford, Carnegie Mellon phải sử dụng; hoặc ngay cả Google cũng muốn hỗ trợ khi cho ra đời bộ kit Arduino Mega ADK dùng để phát triển các ứng dụng Android tương tác với cảm biến và các thiết bị khác?

    Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. Chỉ với khoảng $30, người dùng đã có thể sở hữu một bo Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị.

    Arduino ra đời tại thị trấn Ivrea thuộc nước Ý và được đặt theo tên một vị vua vào thế kỷ thứ 9 là King Arduin. Arduino chính thức được đưa ra giới thiệu vào năm 2005 như là một công cụ khiêm tốn dành cho các sinh viên của giáo sư Massimo Banzi, là một trong những người phát triển Arduino, tại trường Interaction Design Instistute Ivrea (IDII). Mặc dù hầu như không được tiếp thị gì cả, tin tức về Arduino vẫn lan truyền với tốc độ chóng mặt nhờ những lời truyền miệng tốt đẹp của những người dùng đầu tiên. Hiện nay Arduino nổi tiếng tới nỗi có người tìm đến thị trấn Ivrea chỉ để tham quan nơi đã sản sinh ra Arduino.

    Click image for larger version

Name:	arduino01-1319573198164.jpg
Views:	1
Size:	37.3 KB
ID:	1411432
    Những thành viên khởi xướng Arduino

    (Còn tiếp)

  • #2
    Các ứng dụng nổi bật của bo mạch Arduino

    Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phức tạp. Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp. Sau đây là danh sách một số ứng dụng nổi bật của Arduino.

    Máy in 3D

    Một cuộc cách mạng khác cũng đang âm thầm định hình nhờ vào Arduino, đó là sự phát triển máy in 3D nguồn mở Reprap. Máy in 3D là công cụ giúp tạo ra các vật thể thực trực tiếp từ các file CAD 3D. Công nghệ này hứa hẹn nhiều ứng dụng rất thú vị trong đó có cách mạng hóa việc sản xuất cá nhân.

    Click image for larger version

Name:	Makerbot-Thing-O-Matic-614x660.jpg
Views:	1
Size:	63.2 KB
ID:	1354955
    Máy in 3D Makerbot điều khiển bằng Arduino Mega2560
    MakerBot Industries

    Robot
    Do kích thước nhỏ gọn và khả năng xử lý mạnh mẽ, Arduino được chọn làm bộ xử lý trung tâm của rất nhiều loại robot, đặc biệt là robot di động.

    Click image for larger version

Name:	P9060278sml.jpg
Views:	1
Size:	35.8 KB
ID:	1354956
    Robot di động tự tránh vật cản dùng camera CMUCam và Arduino nano
    My Arduino + CMUcam indoor rover. | Let's Make Robots!

    Thiết bị bay không người lái UAV
    UAV là một ứng dụng đặc biệt thích hợp với Arduino do chúng có khả năng xử lý nhiều loại cảm biến như Gyro, accelerometer, GPS…; điều khiển động cơ servo và cả khả năng truyền tín hiệu từ xa.


    Game tương tác
    Việc đọc cảm biến và tương tác với PC là một nhiệm vụ rất đơn giản đối với Arduino. Do đó rất nhiều ứng dụng game tương tác có sử dụng Arduino.

    Building an Arduino-based laser game, Part 1: Arduino basics
    Arduino Game

    Điều khiển ánh sáng
    Các tác vụ điều khiển đơn giản như đóng ngắt đèn LED hay phức tạp như điều khiển ánh sáng theo nhạc hoặc tương tác với ánh sáng laser đều có thể thực hiện với Arduino.


    Trên đây chỉ là một vài ví dụ minh họa cho khả năng ứng dụng của Arduino. Khi tìm kiếm trên Google, bạn có thể tìm thấy vô số ứng dụng có sử dụng Arduino. Ngoài ra có thể tham khảo trang web sau để tìm hiểu thêm nhiều ứng dụng rất độc đáo:

    Top 40 Arduino Projects of the Web | Hack N Mod

    (Còn tiếp)

    Comment


    • #3
      Khả năng của bo mạch Arduino

      Bo mạch Arduino sử dụng dòng vi xử lý 8-bit megaAVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560. Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớ ROM, RAM và Flash, các ngõ vào ra digital I/O trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng như UART, SPI, TWI (I2C).

      Sức mạnh xử lý
      Xung nhịp: 16MHz
      EEPROM: 1KB (ATmega328) và 4KB (ATmega2560)
      SRAM: 2KB (Atmega328) và 8KB (Atmega2560)
      Flash: 32KB (Atmega328) và 256KB (Atmega2560)

      Đọc tín hiệu cảm biến ngõ vào:

      Digital:
      Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặc ngõ ra bằng phần mềm. Do đó người dùng có thể linh hoạt quyết định số lượng ngõ vào và ngõ ra.

      Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54.

      Analog:
      Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10-bit (1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV).

      Số lượng cổng vào analog là 6 đối với Atmega328, và 16 đối với Atmega2560.

      Với tính năng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ ẩm, ánh sáng, gyro, accelerometer…

      Xuất tín hiệu điều khiển ngõ ra:
      Digital output:

      Tương tự như các cổng vào digital, người dùng có thể cấu hình trên phần mềm để quyết định dùng ngõ digital nào là ngõ ra.

      Tổng số lượng cổng digital trên các mạch dùng Atmega328 là 14, và trên Atmega2560 là 54.

      PWM output:
      trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tín hiệu điều chế xung PWM. Độ phân giải của các tín hiệu PWM này là 8-bit.

      Số lượng cổng PWM đối với các bo dùng Atmega328 là 6, và đối với các bo dùng Atmega2560 là 14.

      PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình.

      Chuẩn Giao tiếp
      Serial:
      Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạch Arduino. Mỗi bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chip thực hiện). Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thực hiện giao tiếp nối tiếp bằng phần mềm (có thư viện chuẩn, người dùng không cần phải viết code). Mức tín hiệu của các cổng này là TTL 5V. Lưu ý cổng nối tiếp RS-232 trên các thiết bị hoặc PC có mức tín hiệu là UART 12V. Để giao tiếp được giữa hai mức tín hiệu, cần phải có bộ chuyển mức, ví dụ như chip MAX232.

      Số lượng cổng Serial cứng của Atmega328 là 1 và của Atmega2560 là 4.

      Với tính năng giao tiếp nối tiếp, các bo Arduino có thể giao tiếp được với rất nhiều thiết bị như PC, touchscreen, các game console…

      USB:
      Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nối với máy tính dùng cho việc tải chương trình. Tuy nhiên các chip AVR không có cổng USB, do đó các bo Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tín hiệu UART. Do đó máy tính nhận diện cổng USB này là cổng COM chứ không phải là cổng USB tiêu chuẩn.

      SPI:
      Đây là một chuẩn giao tiếp nối tiếp đồng bộ có bus gồm có 4 dây. Với tính năng này các bo Arduino có thể kết nối với các thiết bị như LCD, bộ điều khiển video game, bộ điều khiển cảm biến các loại, đọc thẻ nhớ SD và MMC…

      TWI (I2C):
      Đây là một chuẩn giao tiếp đồng bộ khác nhưng bus chỉ có hai dây. Với tính năng này, các bo Arduino có thể giao tiếp với một số loại cảm biến như thermostat của CPU, tốc độ quạt, một số màn hình OLED/LCD, đọc real-time clock, chỉnh âm lượng cho một số loại loa…

      (Còn tiếp)

      Comment


      • #4
        Môi trường lập trình bo mạch Arduino

        Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn.

        Click image for larger version

Name:	serial_monitor_arduino.jpg
Views:	1
Size:	91.1 KB
ID:	1354958
        Giao diện IDE của Arduino


        Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh OSX và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm.

        Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn.


        Các loại bo mạch Arduino

        Về mặt chức năng, các bo mạch Arduino được chia thành hai loại: loại bo mạch chính có chip Atmega và loại mở rộng thêm chức năng cho bo mạch chính (thường được gọi là shield).

        Các bo mạch chính về cơ bản là giống nhau về chức năng, tuy nhiên về mặt cấu hình như số lượng I/O, dung lượng bộ nhớ, hay kích thước có sự khác nhau. Một số bo có trang bị thêm các tính năng kết nối như Ethernet và Bluetooth.

        Các bo mở rộng chủ yếu mở rộng thêm một số tính năng cho bo mạch chính ví dụ như tính năng kết nối Ethernet, Wireless, điều khiển động cơ v.v…

        Click image for larger version

Name:	MotorShield_R3_Front.jpg
Views:	1
Size:	155.4 KB
ID:	1354959
        Bo mạch mở rộng Motor Shield dùng để điều khiển động cơ DC hoặc Stepper


        Tài liệu tham khảo

        Arduino - HomePage
        The Making of Arduino - IEEE Spectrum
        Embedded Systems/Atmel AVR - Wikibooks, open books for an open world

        Comment


        • #5
          Cái này rất hay nè, cảm ơn bác, mà ở VN mình thấy cái này chưa đc phổ biến lắm. Hi vọng qua topic này nó sẽ đc phát triển và ứng dụng rộng rãi ở VN.
          Nhận làm mạch, ĐAMH sử dụng vđk Pic & AVR tại tp.HCM
          Liên hệ sđt: 0902.808.371

          Comment


          • #6
            Hi,
            Mỗi họ VDK mới hay KIT mới đều luôn hấp dẫn anh em nhà ta có điều bây giờ già rồi không có thời gian để theo đuổi nữa. Sự nghiệp của tui chắc theo đuổi thêm chip của TI nữa là đủ rồi. Các bác đang là sinh viên đam mê VDK hãy tích cực đón nhận nhiều dòng VDK mới và làm chủ được nó. Bên Trung Quốc học sinh cấp 2 đã mang KIT ra ngồi vỉa hè lập trình rồi, Việt Nam mình mà được như vậy là cũng tốt lắm rồi.
            Thân ái.
            Đường đến những ngày vinh quang không còn xa
            Con đường chúng ta... chúng ta đã chọn.

            Comment


            • #7
              Bo Arduino dùng dòng VDK Atmega cũng cũ rồi bác, nhưng được cái bo này có nhiều thư viện có sẵn và nạp chương trình trực tiếp qua cổng USB luôn nên khá tiện dụng.

              Sẵn thêm cái video chỉ cách chụp hình nhanh (high speed photography) dùng Arduino cho các bác thích món này.

              Comment


              • #8
                Anh em mình tự MOD lại mấy cái board Adruino đi ? Có ai còn board mà ko sử dụng ko, để lại e 1 cái.

                Comment


                • #9
                  Có sẵn schematic rùi bác. không biết tìm đủ linh kiện đc không.

                  http://www.arduino.cc/en/uploads/Mai...-schematic.pdf

                  Comment


                  • #10
                    Có sẵn schematic rùi bác. không biết tìm đủ linh kiện đc không.

                    http://www.arduino.cc/en/uploads/Mai...-schematic.pdf

                    Comment


                    • #11
                      Đây là mạch Adruino thông dụng tại VN
                      Click image for larger version

Name:	arduino-diy-large.jpg
Views:	1
Size:	302.8 KB
ID:	1355029

                      Đi ra ngoài chợ linh kiện mua 1 con atmega8 + mấy thứ lặt vặt là có Adruino xài rồi việc gì phải xoắn ? tính năng của Adruino chính là tính năng của con chip AVR mà thôi.

                      Adruino được dân Prồ VN sử dụng từ cái thời xa xưa rồi, có điều dân VN ngèo mà thông minh nên chăng bao giờ chơi ngông bỏ ra vài chục USD mà mua cái kit vớ vẩn ấy đâu. Chỉ bỏ ra vài chục ngàn VND là vi vu rồi. Thậm chí dân VN còn bỏ cả con FT232 chế lại bootloader cho AVR nạp thẳng từ USB luôn ấy chứ.
                      Từ chối trách nhiệm:
                      Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
                      Blog: http://mritx.blogspot.com

                      Comment


                      • #12
                        vâng, cái mạch của arduino thì quá đơn giản đv dân pro điện tử rồi. Chằng có gì bí mật. Dân đt tự làm thì chắc không khó, nhưng làm cho người không rành về đt dùng thì còn nhiều thứ lắm. Đưa họ cái mạch arduino-diy-large bên trên thì chắc hoa cả mắt . kêu hàn thành mạch thì càng điêu đứng. Dân DIY ngoài ngành ĐT thì chỉ muốn cái bo plug-and-play thôi bác.

                        Comment


                        • #13
                          Cái mạch arduino-diy-large thực tế chỉ có 15 linh kiện, cắm trên bread-board chứ không hàn. Kể cả người không chuyên, nhìn vào đấy còn hoa mắt thì tốt nhất không nên chơi với điện tử.
                          Phần mềm tự do hoặc không dùng máy tính nữa !.

                          Comment


                          • #14
                            Tại bác pro nên nhìn thấy dễ vậy, chứ nhiều người không chuyên thường bị kẹt ở khâu debug mạch. Dân nghiệp dư mua linh kiện về tự cấm nhiều khi không chạy được mà không biết bebug thế nào nên rất mất thời gian. Trong khi đó họ chỉ cần một cái bo chạy ổn định để lập trình điều khiển ứng dụng của mình thôi. Đúng như bác nói là họ ngại đụng đến điện tử lắm. Họ chỉ thích lập trình.

                            Cho nên nếu bác nào làm thử một bo hoàn chỉnh, giá cả phù hợp thì chắc cũng có khối người mua đấy. Arduino đã là một nền tảng nguồn mở luôn rồi. Ngay cả Labview cũng có arduino toolkit. Cho nên bác nào làm ra mạch thì chỉ cần bảo tương thích với arduino thì ai cũng hiểu.

                            Comment


                            • #15
                              Nguyên văn bởi nghiaho Xem bài viết
                              Tại bác pro nên nhìn thấy dễ vậy, chứ nhiều người không chuyên thường bị kẹt ở khâu debug mạch. Dân nghiệp dư mua linh kiện về tự cấm nhiều khi không chạy được mà không biết bebug thế nào nên rất mất thời gian. Trong khi đó họ chỉ cần một cái bo chạy ổn định để lập trình điều khiển ứng dụng của mình thôi. Đúng như bác nói là họ ngại đụng đến điện tử lắm. Họ chỉ thích lập trình.

                              Cho nên nếu bác nào làm thử một bo hoàn chỉnh, giá cả phù hợp thì chắc cũng có khối người mua đấy. Arduino đã là một nền tảng nguồn mở luôn rồi. Ngay cả Labview cũng có arduino toolkit. Cho nên bác nào làm ra mạch thì chỉ cần bảo tương thích với arduino thì ai cũng hiểu.
                              Hì hì cậu nói như kiểu "con kiến cắn con ku", cái mạch đơn giản thế mà không ráp được thì lập trình xong đem Arduino ra ứng dụng bằng niềm tin à ? thậm chí cả ở ứng dụng nháy led thì cũng phải ráp con trở với con led, phải biết + - ở đâu. Arduino là lập trình nhúng, mốn lập trình nhúng thì phải biết điện tử cơ bản, mà đã biết điện tử cơ bản thì phải biết bread-board vì nó là dụng cụ cơ bản để học.
                              Đi học thì phải có vở ghi chép, học điện tử thì phải có bread-board để thực hành.
                              Còn đây là mạch Arduino thứ 2 cũng rất thông dụng tại VN xuất xứ từ japan
                              Click image for larger version

Name:	3964128701_4c1633f8c3.jpg
Views:	1
Size:	84.5 KB
ID:	1355043
                              Click image for larger version

Name:	3964932530_731805d3c3.jpg
Views:	1
Size:	41.6 KB
ID:	1355044


                              Cái này nếu có nhu cầu chắc forum sẽ tiến hành sx, chậc để bàn với BQT đã.
                              Từ chối trách nhiệm:
                              Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
                              Blog: http://mritx.blogspot.com

                              Comment

                              Về tác giả

                              Collapse

                              nghiaho Tìm hiểu thêm về nghiaho

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X