Bài viết này hướng tới những người "đang dự định" và "mới bắt đầu" tìm hiểu về nền tảng Arduino: bạn học sinh trẻ tuổi muốn tìm hiểu cái mới hay những người không chuyên về điện tử đang muốn thử sức mình ở lĩnh vực này.
Khi bắt đầu học một cái gì đó, nhiều người thường không biết bắt đầu từ đâu. Học về Arduino cũng vậy. Do đó, sau một thời gian trải nghiệm với Arduino đủ dài, mình quyết định viết bài này để cho bạn thấy những gì mình từng trải qua. Bắt đầu của mình chỉ là một con số 0 - 0 kiến thức, 0 kinh nghiệm, 0 thiết bị, 0 người hướng dẫn và quan trọng là một chút tò mò. Bạn cũng như mình, nhưng ít nhất bạn cũng đã có người hướng dẫn, đó là Arduino.vn. Hãy bắt tay ngay với Arduino để thử thách khả năng sáng tạo của mình.
Sẽ rất khó khăn để bạn tiến lên từ chỗ không biết một thứ gì đó lên mức nắm bắt được nó, nhưng sẽ dễ dàng hơn cho bạn khi tiếp tục đi từ đây. Nói cho dễ hiểu là khoảng cách từ mức "0" lên mức "1" lớn hơn khoảng cách từ mức "1" lên mức "2" rất nhiều.
Những yếu tố quan trọng để thành công
1. Đầu tiên là con người
1.1. Sự đam mê trong bản thân bạn là điều tối cần thiết nếu bạn muốn gắn bó lâu dài với Arduino. Mỗi công việc đều có những khó khăn nhất định, tìm hiểu và thực hành Arduino cũng vậy. Nếu không có đam mê thì mình chắc chắn rằng bạn sẽ sớm bỏ cuộc, chưa kể là tốn kém tiền bạc để mua sắp nhiều thứ.
1.2 Thực hành cũng là một yếu tố hết sức quan trọng. Có nhiều bạn học Arduino tuy là có đam mê thật nhưng lại không có điều kiện thực hành. Bởi thế mà học tới đâu quên tới đó, và càng học thì càng không hiểu. Đây là điều cực kì nguy hiểm bởi nó dễ đánh mất đi niềm đam mê của người học. Nếu bạn đã từng ngáp ngắn ngáp dài trong những giờ học Lịch sử hay Triết học, và cảm thấy vô cùng phấn khích khi xem bộ phim 3 chàng ngốc (3 Idiots) thì vấn đề ở đây cũng tương tự thế thôi. Nếu bạn chưa xem bộ phim này thì mình khuyên bạn nên xem kĩ.
1.3 Làm việc nhóm là một điều tối quan trọng giúp bạn mau chóng tiến bộ cũng như giảm thiểu rủi ro hay chi phí để nuôi niềm đam mê Arduino:
- Mọi người cùng chia sẻ kiến thức với nhau.
- Mọi người cùng nhau tìm một lỗi sai.
- Cùng chia tiền mua chung đồ hay có thể mượn lẫn nhau.
- Dễ dàng phối hợp khi đi thi.
Hay đơn giản hơn, hãy nhìn vào bức ảnh dưới đây và cùng suy ngẫm ...
1.4 Luôn tiến lên phía trước nếu không bạn sẽ tụt lại phía sau !
2. Thứ hai là "Doing ordinary things"
.3. Thứ ba là tìm được cộng đồng để cùng chia sẻ
"Hãy nhớ rằng, tất cả chúng ta đều đã từng vấp ngã, tất cả. Đó là lí do vì sao chúng ta cảm thấy mạnh mẽ khi nắm chặt tay nhau" - Emily Kimbrough
Trong quá trình nghiên cứu Arduino, mình cũng đã từng vấp ngã, nghiên cứu thất bại. mình cũng từng làm hỏng nhiều thứ được mua bởi tiền lương của ba mẹ mình. mình cũng đã từng có ý định sẽ từ bỏ. Nhưng không, như bạn thấy, mình đã ở đây, đã viết bài viết này. Đó là bởi vì mình còn có bạn bè, những người luôn theo dõi mình, và mình không thể làm họ thất vọng. Một cộng đồng có thể truyền cho người ta một sức mạnh mà chính họ cũng không thể tưởng tượng được ...
- Trí tuệ của một đội quân: cho dù bạn có thông minh đến đâu thì bạn cũng chỉ là 1 con người. "Một cây làm chẳng nên non - Ba cây chụm lại nên hòn núi cao". Nếu bạn đã từng tham gia vào cái "hợp tác xã" thời học sinh thì bạn sẽ tưởng tượng ra được sức mạnh của một tập thể to lớn đến mức nào.
- Vượt qua giới hạn của bản thân: hôm nay có thể bạn chỉ biết làm một chiếc xe, nhưng có thể ngày mai sẽ có người nói cho bạn biết cách làm một cái máy bay. Vâng, bạn không thể biết những thứ mình không biết - đó chính là giới hạn của bạn, nhưng có thể người khác lại biết chúng và ngược lại. Chí ít thì lúc khó khăn cũng có thể có một số người trong cộng đồng có thể giúp đỡ được. Con người luôn có giới hạn, nhưng họ luôn có thể đẩy giới hạn đó đi xa hơn, bạn cũng vậy.
- Ý tưởng: mình tin rằng bạn đã từng nghe câu chuyện về Flappy Bird. Thành công không đến với những kẻ thông minh nhưng có ý tưởng tồi, nhưng điều ngược lại thì luôn luôn đúng. Biết đâu được bạn sẽ tìm ra ý tưởng cho riêng mình trong một cuộc thảo luận, hay chỉ tình cờ nhìn thấy một điều gì đấy thì sao ...
- Hỗ trợ lẫn nhau: trong những lúc mà bạn đã đánh mất đi niềm tin vào chính bản thân mình thì vẫn còn có một cộng đồng ngoài kia. Sẽ có những người chia sẻ với bạn, ở bên cạnh và giúp đỡ bạn. Nếu bạn không bỏ rơi người khác trong lúc họ gặp khó khăn, thì người khác cũng sẽ không bỏ rơi bạn trong những lúc như thế.
- Động lực: bạn có thấy chiếc xe của mình ở trên không? mình không làm nó chỉ cho bản thân của mình chơi mà còn cho nhiều người khác chơi, và cho cả mục đích truyền bá Arduino đến cho nhiều người khác nữa. mình làm được vì mình có động lực, mình thấy vui khi nhìn người khác thích thú với sản phẩm do mình làm ra.
2. Phần cứng
Đánh giặc thì cần vũ khí, nghiên cứu Arduino cũng cần có "vũ khí" thì mới đánh được giặc dốt. Có phần cứng tức là bạn có khả năng thực hành, có thực hành thì sẽ hiểu nhanh, nhớ lâu và biết vận dụng những gì mình học được. mình tin chắc rằng bạn sẽ nhớ mãi cái cảm giác lần đầu tiên làm việc với Arduino, bởi mình và nhiều người như mình cũng như thế.
1. Arduino Starter kit
Hiện nay có rất nhiều bộ Arduino Starter kit đang được bán ở Việt Nam có thể giúp bạn bước đầu nắm vững về Arduino. Một bộ Arduino Starter kit thường sẽ có những thứ này:
Ngoài ra, bạn cũng có thể mua phần cứng để thực hành theo các bài viết tại mục Tự học Arduino được cung cấp bởiArduino.vn. Bằng cách này, bạn có thể linh hoạt hơn trong việc:
- Giảm chi phí mua sắm
- Tự do lựa chọn các bài học theo sở thích của bản thân.
- Đọc thêm một số bài viết ngoài lề, điển hình là bài viết mà bạn đang đọc trên đây :D
Bên cạnh đó, các nội dung tại đây cũng có thể được cập nhật những kiến thức mới nhất hay bổ sung thêm nội dung mới.
Tuy nhiên, cũng có một điểm trừ là các bài viết vẫn chưa có nội dung thống nhất với nhau, do đó có thể làm người học bối rối đôi chút nhưng mình nghĩ đây không phải là vấn đề quá nghiêm trọng.
2.2 Đọc thêm tài liệu
Nếu bạn có khả năng đọc hiểu tiếng anh ở mức trung bình trở lên, bạn có thể tìm đọc một số quyển sách sau:
- Getting Started with Arduino: The Open Source Electronics Prototyping Platform (Make) 3rd Edition: Quyển sách này được viết bởi Massimo Banzi (một trong 5 người đồng sáng lập nền tảng Arduino) và Michael Shiloh (trưởng nhóm giáo dục của Arduino). Quyển này thuộc dạng sách giáo khoa cần phải có cho bất cứ ai muốn học Arduino và cũng đang được store.arduino.cc bán như là tài liệu tham khảo chính thức.
- Arduino Workshop: A Hands-On Introduction with 65 Projects 1st Edition: Quyển này được viết bởi John Boxall - founder và cũng là chủ của trang tronixstuff.com. John Boxall bắt đầu đăng các bài viết lên trang này từ năm 2012 và cho đến nay thì số lượng bài viết đã là cực khủng, bao gồm đến 61 bài hướng dẫn học Arduino với đủ thứ thiết bị khác nhau. Nếu thích học Arduino qua các dự án thực tế thì quyển này phù hợp với bạn.
- Arduino Cookbook 3rd Edition: Quyển sách này dày hơn cả 2 quyển trước cộng lại. Để đọc hiểu được quyển này thì điều kiện đầu tiên là bạn phải đọc và thực hành nội dung của một trong hai quyển ở trên trước. Mình chưa đọc quyển này nhưng theo lời tác giả thì nó thích hợp cho những người muốn tận dụng sức mạnh của máy tính (computer) để tương tác với môi trường bên ngoài, hay những người đang đi tìm lời giải cho một vấn đề nào đó. Quyển này cũng không đề cập nhiều đến lý thuyết cơ bản về điện cũng như lập trình như 2 quyển trước.
3. Lập trình
Ở đây bạn cần 2 thứ đó là tư duy lập trình và kiến thức về vi điều khiển trên Arduino để phục vụ lập trình và tận dụng được hết sức mạnh của nó.
Trên thực tế, ta cần khả năng lập trình nhiều hơn. Tuy nhiên, nó cũng không khó hơn là bao so với mấy cái bài tập tin học lớp 11 trong chương trình phổ thông.
Trước tiên, bạn cần:
- Arduino Driver để máy tính của mình giao tiếp được với mạch Arduino.
- Arduino IDE để lập trình và tải chương trình lên mạch Arduino của mình.
- Và đây là một chương trình mẫu điều khiển 1 cho đèn Led nhấp nháy.
- int led = 13;
- void setup() {
- pinMode(led, OUTPUT); //Thiết lập chân số 13 trên mạch là chân xuất tín hiệu
- }
- void loop()
- {
- digitalWrite(led, HIGH); //LED sáng
- delay(1000); //Đợi 1000 mili giây
- digitalWrite(led, LOW); //LED tắt
- delay(1000); //Đợi 1000 mili giây
- }
- nguồn: internet