Hiển thị các bài đăng có nhãn Học chế tạo robot. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Học chế tạo robot. Hiển thị tất cả bài đăng

Thứ Ba, 20 tháng 2, 2018

Tự học arduino bài 1 - Cài đặt và nạp code

Tự học arduino bài 1: Cài đặt chương trình và nạp code

Nguồn: laptrinhdieukhien.com

Tự học arduino bài 1 – Giới thiệu nội dung?

Tự học arduino bài 1 là bài học nhập môn đối với lập trình arduino. Ở bài học này các bạn sẽ đi bước đầu tiên trong việc lập trình với arduino. Đó chính là cài đặt chương trình arduino, cài driver và nạp code.
Với sự phát triển như vũ bão của khoa học công nghệ. Việc lập trình để điều khiển cho các thiết bị như cảm biến, đèn, động cơ đã không còn là một việc quá khó khăn đối với con người, kể cả các bạn nhỏ. Với mong muốn đem phổ biến những kiến thức về lập trình arduino và điều khiển tự động tới với nhiều người hơn, đặc biệt là các bạn thiếu nhi, chủ nhân tương lai của đất nước. Tôi đã đặc biệt soạn ra bộ tự học arduino trong 30 ngày với 30 bài học khác nhau để các bạn có những bước đi đầu tiên trong lĩnh vực lập trình điều khiển. Từ đó tạo niềm vui và nguồn động lực giúp các bạn vươn xa hơn trong lĩnh vực nghiên cứu khoa học.
Ở bài học đầu tiên này, chúng ta sẽ cùng nhau setup cho chiếc máy tính của chúng ta trở nên sẵn sàng với các bài học lập trình sau này. 
tự học arduino

Thứ Hai, 4 tháng 9, 2017

Lập trình mario theme với arduino và còi chip

Tạo được một thiết bị âm nhạc để phát ra những note nhạc vui tai đã từng là ước mơ của ai đó trong chúng ta lúc thơ bé. Và giờ đây, để đạt được ước mơ đó đã không còn quá khó khăn.





Chỉ với một vài dòng lệnh đơn giản, chúng ta đã hoàn toàn có thể tạo ra những bản nhạc cho riêng mình.





Code mẫu cho các bạn quan tâm đây nha

#define NOTE_B0  31
#define NOTE_C1  33
#define NOTE_CS1 35
#define NOTE_D1  37
#define NOTE_DS1 39
#define NOTE_E1  41
#define NOTE_F1  44
#define NOTE_FS1 46
#define NOTE_G1  49
#define NOTE_GS1 52
#define NOTE_A1  55
#define NOTE_AS1 58
#define NOTE_B1  62
#define NOTE_C2  65
#define NOTE_CS2 69
#define NOTE_D2  73
#define NOTE_DS2 78
#define NOTE_E2  82
#define NOTE_F2  87
#define NOTE_FS2 93
#define NOTE_G2  98
#define NOTE_GS2 104
#define NOTE_A2  110
#define NOTE_AS2 117
#define NOTE_B2  123
#define NOTE_C3  131
#define NOTE_CS3 139
#define NOTE_D3  147
#define NOTE_DS3 156
#define NOTE_E3  165
#define NOTE_F3  175
#define NOTE_FS3 185
#define NOTE_G3  196
#define NOTE_GS3 208
#define NOTE_A3  220
#define NOTE_AS3 233
#define NOTE_B3  247
#define NOTE_C4  262
#define NOTE_CS4 277
#define NOTE_D4  294
#define NOTE_DS4 311
#define NOTE_E4  330
#define NOTE_F4  349
#define NOTE_FS4 370
#define NOTE_G4  392
#define NOTE_GS4 415
#define NOTE_A4  440
#define NOTE_AS4 466
#define NOTE_B4  494
#define NOTE_C5  523
#define NOTE_CS5 554
#define NOTE_D5  587
#define NOTE_DS5 622
#define NOTE_E5  659
#define NOTE_F5  698
#define NOTE_FS5 740
#define NOTE_G5  784
#define NOTE_GS5 831
#define NOTE_A5  880
#define NOTE_AS5 932
#define NOTE_B5  988
#define NOTE_C6  1047
#define NOTE_CS6 1109
#define NOTE_D6  1175
#define NOTE_DS6 1245
#define NOTE_E6  1319
#define NOTE_F6  1397
#define NOTE_FS6 1480
#define NOTE_G6  1568
#define NOTE_GS6 1661
#define NOTE_A6  1760
#define NOTE_AS6 1865
#define NOTE_B6  1976
#define NOTE_C7  2093
#define NOTE_CS7 2217
#define NOTE_D7  2349
#define NOTE_DS7 2489
#define NOTE_E7  2637
#define NOTE_F7  2794
#define NOTE_FS7 2960
#define NOTE_G7  3136
#define NOTE_GS7 3322
#define NOTE_A7  3520
#define NOTE_AS7 3729
#define NOTE_B7  3951
#define NOTE_C8  4186
#define NOTE_CS8 4435
#define NOTE_D8  4699
#define NOTE_DS8 4978

#define melodyPin 11
//Mario main theme melody
int melody[] = {
  NOTE_E7, NOTE_E7, 0, NOTE_E7,
  0, NOTE_C7, NOTE_E7, 0,
  NOTE_G7, 0, 0,  0,
  NOTE_G6, 0, 0, 0,

  NOTE_C7, 0, 0, NOTE_G6,
  0, 0, NOTE_E6, 0,
  0, NOTE_A6, 0, NOTE_B6,
  0, NOTE_AS6, NOTE_A6, 0,

  NOTE_G6, NOTE_E7, NOTE_G7,
  NOTE_A7, 0, NOTE_F7, NOTE_G7,
  0, NOTE_E7, 0, NOTE_C7,
  NOTE_D7, NOTE_B6, 0, 0,

  NOTE_C7, 0, 0, NOTE_G6,
  0, 0, NOTE_E6, 0,
  0, NOTE_A6, 0, NOTE_B6,
  0, NOTE_AS6, NOTE_A6, 0,

  NOTE_G6, NOTE_E7, NOTE_G7,
  NOTE_A7, 0, NOTE_F7, NOTE_G7,
  0, NOTE_E7, 0, NOTE_C7,
  NOTE_D7, NOTE_B6, 0, 0
};
//Mario main them tempo
int tempo[] = {
  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,

  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,

  9, 9, 9,
  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,

  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,

  9, 9, 9,
  12, 12, 12, 12,
  12, 12, 12, 12,
  12, 12, 12, 12,
};
//Underworld melody
int underworld_melody[] = {
  NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4,
  NOTE_AS3, NOTE_AS4, 0,
  0,
  NOTE_C4, NOTE_C5, NOTE_A3, NOTE_A4,
  NOTE_AS3, NOTE_AS4, 0,
  0,
  NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4,
  NOTE_DS3, NOTE_DS4, 0,
  0,
  NOTE_F3, NOTE_F4, NOTE_D3, NOTE_D4,
  NOTE_DS3, NOTE_DS4, 0,
  0, NOTE_DS4, NOTE_CS4, NOTE_D4,
  NOTE_CS4, NOTE_DS4,
  NOTE_DS4, NOTE_GS3,
  NOTE_G3, NOTE_CS4,
  NOTE_C4, NOTE_FS4, NOTE_F4, NOTE_E3, NOTE_AS4, NOTE_A4,
  NOTE_GS4, NOTE_DS4, NOTE_B3,
  NOTE_AS3, NOTE_A3, NOTE_GS3,
  0, 0, 0
};
//Underwolrd tempo
int underworld_tempo[] = {
  12, 12, 12, 12,
  12, 12, 6,
  3,
  12, 12, 12, 12,
  12, 12, 6,
  3,
  12, 12, 12, 12,
  12, 12, 6,
  3,
  12, 12, 12, 12,
  12, 12, 6,
  6, 18, 18, 18,
  6, 6,
  6, 6,
  6, 6,
  18, 18, 18, 18, 18, 18,
  10, 10, 10,
  10, 10, 10,
  3, 3, 3
};

void setup(void)
{
  pinMode(11, OUTPUT);//buzzer
  pinMode(13, OUTPUT);//led indicator when singing a note

}
void loop()
{
  //sing the tunes
  sing(1);
  sing(1);
  sing(2);
}
int song = 0;

void sing(int s) {
  // iterate over the notes of the melody:
  song = s;
  if (song == 2) {
    Serial.println(" 'Underworld Theme'");
    int size = sizeof(underworld_melody) / sizeof(int);
    for (int thisNote = 0; thisNote < size; thisNote++) {

      // to calculate the note duration, take one second
      // divided by the note type.
      //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
      int noteDuration = 1000 / underworld_tempo[thisNote];

      buzz(melodyPin, underworld_melody[thisNote], noteDuration);

      // to distinguish the notes, set a minimum time between them.
      // the note's duration + 30% seems to work well:
      int pauseBetweenNotes = noteDuration * 1.30;
      delay(pauseBetweenNotes);

      // stop the tone playing:
      buzz(melodyPin, 0, noteDuration);

    }

  } else {

    Serial.println(" 'Mario Theme'");
    int size = sizeof(melody) / sizeof(int);
    for (int thisNote = 0; thisNote < size; thisNote++) {

      // to calculate the note duration, take one second
      // divided by the note type.
      //e.g. quarter note = 1000 / 4, eighth note = 1000/8, etc.
      int noteDuration = 1000 / tempo[thisNote];

      buzz(melodyPin, melody[thisNote], noteDuration);

      // to distinguish the notes, set a minimum time between them.
      // the note's duration + 30% seems to work well:
      int pauseBetweenNotes = noteDuration * 1.30;
      delay(pauseBetweenNotes);

      // stop the tone playing:
      buzz(melodyPin, 0, noteDuration);

    }
  }
}

void buzz(int targetPin, long frequency, long length) {
  digitalWrite(13, HIGH); 
  long delayValue = 1000000/ frequency / 2; // calculate the delay value between transitions
  //// 1 second's worth of microseconds, divided by the frequency, then split in half since
  //// there are two phases to each cycle
  long numCycles = frequency * length / 1000; // calculate the number of cycles for proper timing
  //// multiply frequency, which is really cycles per second, by the number of seconds to
  //// get the total number of cycles to produce
  for (long i = 0; i < numCycles; i++) { // for the calculated length of time...
    digitalWrite(targetPin, HIGH); // write the buzzer pin high to push out the diaphram
    delayMicroseconds(delayValue); // wait for the calculated delay value
    digitalWrite(targetPin, LOW); // write the buzzer pin low to pull back the diaphram
    delayMicroseconds(delayValue); // wait again or the calculated delay value
  }
  digitalWrite(13, LOW);

}

Nguồn: viditu.com

Thứ Hai, 28 tháng 8, 2017

Hướng dẫn lắp ráp xe robot

Ngày nay, Robot đã và đang đóng góp nhiều giá trị to lớn vào cuộc sống của con người chúng ta. Với mong muốn đơn giản hóa quá trình học tập về robot. Chúng tôi đã soạn sẵn bộ video hướng dẫn về chế tạo. Trong đó có video lắp ráp xe robot 3 bánh đơn giản. Video đặc biệt phù hợp và dành cho các bạn mới bắt đầu nghiên cứu về robot và các hệ thống điều khiển. Hi vọng sau khi lắp xong bộ Xe robot này, chúng ta sẽ nhanh chóng tiến tới và tìm hiểu những thuật đoán điều khiển thú vị ẩn sâu bên trong đó.

Khung xe robot 3 bánh
Thành phẩm sau khi lắp ráp




Chúc các bạn học tập thật vui và có nhiều phát minh sáng chế trong tương lai.

Thứ Hai, 7 tháng 8, 2017

BẢNG DANH VỊ MAKER SPACE NĂM HỌC 2017-2018

Maker Space không chỉ là một môn học, đó còn là một cuộc chơi
Và trong phiên bản mới nhất của cuộc chơi này. Các đẳng cấp tại trường pháp thuật Albert đã có phiên bản online để tiện theo dõi (xem phía dưới). Ngoài ra, nhiều nhiệm vụ đã được bổ sung hướng dẫn để học sinh có được  sự trợ giúp kịp thời cả khi ở trường lẫn về nhà để hoàn thành nhiệm vụ.



Các bạn học sinh sau khi hoàn thành nhiệm vụ sẽ cập nhật và mô tả công việc mình làm tại phần bình luận của bài viết này để được cập nhật thứ hạng sớm nhất


Cấp độĐiều kiệnKỹ năng, kiến thức cần cóNhiệm vụ cần thực hiệnHướng dẫn, giải thích
Nhập môn
Newbie

(mỗi nhiệm vụ 5 điểm kinh nghiệm)
- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên 15
Có tài khoản email, biết gửi emailGửi một email cho giáo viên phụ trách Maker SpaceXem hướng dẫn
Biết cài đặt một phần mềm cơ bản (photoshop, Corel draw, các phần mềm lập trình....)Cài đặt được một phần mềm học ở trường vào máy tính cá nhân, chụp màn hình quá trình càiHỗ trợ cài 5 máy cho MKS/ một phần mềm  được 5 điểm kinh nghiệm 
Biết cách tìm kiếm thông tin từ youtube và googleChia sẻ một kinh nghiệm mình tìm kiếm được bằng videoXem hướng dẫn
Gõ máy tính nhanh hơn 50 từ 1 phútChụp ảnh màn hình kết quảXem hướng dẫn
Trồng được 1 cái câyXem hướng dẫn
Biết lập trình arduino nháy đèn ledQuay lại video nháy đèn led đuổi nhauXem hướng dẫn 
Điều khiển còi chip phát ra tiếng kêuXem hướng dẫn
Tiểu đồng
Learner
(mỗi nhiệm vụ 7 điểm kinh nghiệm)
- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên 30
Thành thạo điểu khiển động cơ DCQuay lại video cho robot đi theo hình vuôngXem hướng dẫn

Biết nhận tín hiệu từ nút bấmQuay lại video lập trình bóng đèn sáng khi thả nút bấm và tắt khi ấn nút bấm Xem hướng dẫn
Đọc được tín hiệu từ cảm biến âm thanh CN 07Quay video mô phỏng khi thiết bộ nhận được âm thanhXem hướng dẫn
Đọc được tín hiệu từ cảm biến ánh sáng
Quay video mô phỏng khi thiết bộ nhận được ánh sáng
Xem hướng dẫn
Đọc được tín hiệu cảm biến hồng ngoạiQuay video mô phỏng khi thiết bộ  phân biệt được ánh sáng hồng ngoạiXem hướng dẫn

Điều khiển động cơ servoQuay video quét động cơ servoXem hướng dẫn
Nhận tín hiệu từ cảm biến siêu âmQuay video về giá trị cảm biến siêu âm đọc đượcXem hướng dẫn
Thành lập một websiteGửi link websiteXem hướng dẫn
Tạo một fanpageGửi link fanpageXem hướng dẫn
Học việc
Magician
(10 điểm kinh nghiệm mỗi nhiệm vụ)
- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên
45
Gửi tín hiệu serial từ arduino Quay màn hình Xem hướng dẫn
Nhận tín hiệu Serial từ arduinoQuay videoXem hướng dẫn
Lập một website bán hàngGửi linkXem hướng dẫn
Biết tạo kênh youtubeGửi linkXem hướng dẫn
Biết lập trình đọc tín hiệu từ phím ma trậnQuay vide
Lập trình đọc cảm biến nhiệt độ độ ẩmQuay videoXem hướng dẫn
Hiển thị ký tự lên màn hình LCDQuay videoXem hướng dẫn
Có một hệ thống kinh doanh đã mang lại đơn hàngChụp hìnhXem hướng dẫn
Nhận tín hiệu hồng ngoại từ điều khiển tiviQuay videoXem hướng dẫn
Lập trình robot thực hiện theo tín hiệu serial được gửi từ máy tínhQuay videoXem hướng dẫn
Chế tạo thước điện tửQuay videoXem hướng dẫn
Lập trình được ứng dụng đầu tiên trên appInventorQuay videoXem hướng dẫn
Nhận tín hiệu điều khiển rf 4 kênhChụp hìnhXem hướng dẫn
Lập trình chế tạo led trái tim
Quay video
Phù Thủy
(12 điểm kinh nghiệm)
- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên 70
Chế tạo máy rút quần áo khi mưaQuay videoXem hướng dẫn
Lập trình
Chế tạo robot tránh vật cảnQuay videoXem hướng dẫn
Chế tạo robot dò đườngQuay videoXem hướng dẫn
Hiển thị led 7 đoạnQuay videoXem hướng dẫn
Hiển thị led ma trậnQuay videoXem hướng dẫn
Nhận tín hiệu từ phím ma trậnQuay videoXem hướng dẫn
Lập trình robot điều khiển bằng bluetoothQuay video
Xem hướng dẫn

Gửi nhận tín hiệu rf bằng module rf315Quay videoXem hướng dẫn
Tạo lập hệ thống kinh doanh có ít nhất 1 đơn hàng/ ngàyChụp hìnhXem hướng dẫn
Phù thủy vĩ đại
Great wizard
(15 điểm kinh nghiệm)
- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên
100
Lập trình gửi tín hiệu qua internet với BlynkQuay videoXem hướng dẫn
Đọc tín hiệu cảm biến gia tốc gócQuay videoXem hướng dẫn
Gửi nhận tín hiệu tới module simQuay videoXem hướng dẫn
Đọc được giá trị trả về của module GPSQuay videoXem hướng dẫn
Đọc được tín hiệu la bàn sốQuay videoXem hướng dẫn
Có giải thưởng trong một cuộc thi khoa học kỹ thuật (dưới mọi hình thức)Chụp hìnhXem hướng dẫn
Kết hợp được nhiều hơn 03 nền tảng lập trình khác nhau trong một sản phẩmQuay videoXem hướng dẫn
Điều khiển được vật thể trong khoảng cách từ 200 đến 1000mQuay videoXem hướng dẫn
Tạo lập được hệ thống kinh doanh có trên 3 đơn hàng/ ngàyQuay video Xem hướng dẫn
Điều khiêrn module RFIDQuay videoXem hướng dẫn
Điều khiển thiết bị với tay PS2Xem hướng dẫn
Pháp sư
Warlock
(30 điểm kinh nghiệm)

- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên
130
Lập trình gửi hình ảnh qua mạng internetQuay videoXem hướng dẫn
Sử dụng giao tiếp MQTTQuay videoXem hướng dẫn
Lập trình nhận diện màu sắc vật thểQuay videoXem hướng dẫn
Đạt giải học sinh giỏi quốc giaQuay videoXem hướng dẫn
Đạt giải thưởng khoa học kỹ thuật cấp quốc giaChụp hìnhXem hướng dẫn
Đạt giải VifotecChụp hìnhXem hướng dẫn
Lập trình camera nhận diện khuôn mặtQuay videoXem hướng dẫn
Lập trình camera nhận hình khốiQuay videoXem hướng dẫn
Đọc tín hiệu từ module cameraQuay videoXem hướng dẫn
Lập trình điều khiển một robot có thể đi bằng 2 chân
Đại Pháp sư
Beyonder
(50 điểm kinh nghiệm)
- Thực hiện được 3 kỹ năng hoặc nhiệm vụ trong cấp độ
- Có tổng điểm kinh nghiệm trên
150
Lập trình các bài toán cơ bản về AI (như đánh cờ) hay trợ lý ảoQuay videoXem hướng dẫn
Xây dựng các phầm mềm quản trị dữ liệu số lượng lớn (trên 10000 bản ghi)Quay videoXem hướng dẫn
Có bằng phát minh sáng chếChụp hìnhXem hướng dẫn
Đạt giải một cuộc thi khoa học kỹ thuật tại nước ngoàiChụp hìnhXem hướng dẫn