ArduiBlock: Không cần viết code - Điều khiển motor qua bluetooth

I. Dẫn nhập

Tôi là một gà mờ về điện điện tử, chả biết tý gì ^^. Tuy thế nhìn những lúc thằng con chơi xe điều khiển lại nảy ra ý tưởng : ít ra mình cũng biết lập trình, sao không làm cái gì đó hay hay cho nó. Thế ròi giờ ở cái tuỏi U40 lại lọ mọ tìm kiếm và cuối cùng dc cái kết quả arduino.vn và bài viết trên, vui, sung sướng. Thế là bắt đầu tìm hiểu.

Thú thật là cho đến tận bây giờ trên tay mình vẫn chưa có 1 sản phẩm arduino nào cả. Tất cả đến từ việc tìm kiếm: công cụ lập trình thích hợp, công cụ mô phỏng thích hợp, làm sao cho nó đơn giản hơn với mình và ai đó có hứng thú.

Thế là lục ra được ArduBlock và vài dòng code "made in tự tui": với các bạn có lẽ là không khó khăn gì với đại đa số người, nhưng với tôi là 1 sự khởi đầu tốt.

II. Chiến nào

1. Công cụ

2. Bắt tay làm thôi

Vệc nối mach nhu thế nào, tôi nghĩ chắc các bạn cũng đã tham khảo nhièu bài viết rồi hoặc là có thể tụ nghiên cứu thêm dc. Tôi giới thiệu đến cách tiếp cận qua ArduBlock thôi nhé, còn có khúc mắc thì post lên, chúng ta cùng nghiên cứu ^^

Việc cài đặt ArduBlock thì các bạn làm theo hướng dẫn sau : http://blog.ardublock.com/engetting-started-ardublockzhardublock/

3. Code

#include <SoftwareSerial.h>
#include <AFMotor.h>

SoftwareSerial bleShield(2, 3);
bool _ABVAR_1_var= false ;
AF_DCMotor motor_dc_1(1, MOTOR12_64KHZ);
char _ABVAR_2_blvar = ' ' ;

void setup()
{
  pinMode( 1 , INPUT);
  pinMode( 2 , INPUT);
  bleShield.begin(19200);

  _ABVAR_1_var = HIGH ;

  motor_dc_1.setSpeed(255);
  motor_dc_1.run(RELEASE);

}

void loop()
{
  if (( ( digitalRead(1) ) == ( _ABVAR_1_var ) ))
  {
    motor_dc_1.setSpeed(255);
    motor_dc_1.run(FORWARD);
  }
  else
  {
    if (( ( digitalRead(2) ) == ( _ABVAR_1_var ) ))
    {
      motor_dc_1.setSpeed(255);
      motor_dc_1.run(BACKWARD);
    }
  }
  while ( bleShield.available() )
  {
    _ABVAR_2_blvar = bleShield.read();
    if (( ( _ABVAR_2_blvar ) == ('1') ))
    {
      motor_dc_1.setSpeed(255);
      motor_dc_1.run(FORWARD);
    }
    if (( ( _ABVAR_2_blvar ) == ('2') ))
    {
      motor_dc_1.setSpeed(255);
      motor_dc_1.run(BACKWARD);
    }
  }

}

Chưa hiểu lắm về tính năng viết bài trên web này, thấy nó hơi rắc rối. Bản này mình test với 2 nút bấm điều khiển motor thư viện AFMotor.h 

Sau đó là test với module Bluetooth tính năng tín hiệu thông qua điện thoại android có cài app dk, đã có bạn viết bài này rồi, mọi người tham khảo:

  • http://arduino.vn/bai-viet/654-lam-xe-dieu-khien-tu-xa-bang-bluetooth-dieu-khien-bang-android-voi-app-inventor ,
  • http://arduino.vn/bai-viet/657-huong-dan-su-dung-appinventor-lap-trinh-ung-dung-dieu-khien-xe-qua-bluetooth-ma-khong

Cám ơn đã xem bài

p/s : trong bài có một số pin tui để nhầm : pin 1, pin 2, pin của BLE : ae test trên mạch thực tế thì chỉnh lại nhé. vì tui mô phỏng arduino code nó chạy bình thường ^^

Link file thiết kế của ardublock https://drive.google.com/file/d/0Bz0oKsQSelRVa0FZNUZkNzY0Rms/view?usp=sharing (mirror)

Những hình ảnh về dự án: 
lên
10 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Xe điều khiển bằng tay game Dual Shock3 thông qua Bluetooth

Vừa bắt đầu với arduino được hơn 1 tuần, có tham khảo qua các nguồn từ "trung ương đến địa phương", nắm được 1 số kiến thức cơ bản nên mình bắt đầu thực hiện 1 sản phẩm để đúc kết kinh nghiệm. Trong số đó thì xe điều khiển là dễ nhất. Kết hợp với cái tay game ps3 nằm lăn lóc ở góc nhà. Thế là có 1 chiếc xe điều khiển từ xa. Bắt đầu nhé.

lên
17 thành viên đã đánh giá bài viết này hữu ích.

Làm xe điều khiển từ xa bằng Bluetooth - Điều khiển bằng Android với App Inventor

Mình rất thích điện tử nhưng không học về ngành điện tử. Rất may là có Adruino, rồi có cộng đồng Adruino Việt Nam, đặc biệt là sự nhiệt tình của tất cả các bạn trong cộng đồng, mình đã làm được 1 chiếc xe điều khiển từ xa. Cho con chơi là lí do phụ thôi, còn tìm hiểu, học tập là chính. Hôm nay chia sẻ cùng các bạn, cùng gửi lời cảm ơn đến tất cả các bạn trong cộng đồng. Có bạn thì giúp đỡ trực tiếp, có bạn thì viết bài, rồi có bạn thì bình luận, nêu câu hỏi. Tất cả đều có giá trị đối với mình.

Ngại viết bài nên mình đăng dưới dạng ảnh.

lên
26 thành viên đã đánh giá bài viết này hữu ích.
Các bài viết cùng tác giả

ArduiBlock: Lập trình Arduino Không cần code - xe tăng cơ bản

Tiếp nối bài viết trước, bài viết này cho cái nhìn sâu hơn về các tính năng của ArduBlock mình viết full code cho xe tăng điều khiển cơ bản, làm cho con chơi ^^

lên
17 thành viên đã đánh giá bài viết này hữu ích.