Цагаан зураас дагагч

Ашигласан материал:
Arduino uno -1 TB6612FNG-1 IR хос (TCRT5000L) -8 LM324 – 2 Дугуй-2 Мотор-2 Батарей -2 (3.7v 1500mah) 7805 voltage regulator-1 Тугалга -2м Өрөм -0.8 -2 Res 470om 1206 smd -4 Res 470om 0805 smd -4 Res 220om 0805 smd -9
Res 10kom 1206 smd -8
Res 10kom 0805 smd-1
Led 3mm -4
Led smd 0805 -8
Buzzer -1
2n3904-1
Эр header 40pin -3
15x10 зэс хавтан нэг талтай-1
уусмал Согтуу дугуй -1
Холбогч утас
Мэдрэгч
TCRT5000 мэдрэгч нь өөрөөсөө IR туяг цацаж буцааж хүлээн авч мэдэрдэг. Хэрвээ бидэнд цөөн тооны мэдрэгч байгаа бол манай роботын хөдөлгөөн жигд биш бөгөөл хурц огцом эргэлтэн дээр асуудал гарж ирнэ. Энэ асуудалыг PID засаж болдог. Олон тооны мэдрэгч ашигласан бол робот хөдөлгөөн жигд болж, огцом эргэлт найдвартай,  дутагдалтай тал нь энэ нь нарийн төвөгтэй програм бичнэ. Тиймээс бид мэдрэгчийн тоог оновчтой  сонгох ёстой. 
Мэдрэгч бүрийн хоорондын зайн хамаарал: 
1. Хоорондын зай 1.5cм (цагаан зураас дагагч роботын тэмцээний зам нь 2см болхоор )
2. Шулуун шугамын өргөн (мэдрэгч хоорондын зай шугамын өргөнөөс бага байх ёстой).
3. Мэдрэгчий  хоорондын зай нь тогтмол байж болно.  (энэ нь логикоос хамаарна).
Цагаан гадаргуу нь гэрэл илүү ойлгодог болхоор цацаад буцаж хүлээн авах утга нь хар цагаан дээр өөр байдаг.
LM324
Өөр дээрээ хоёр оролтын хөлтэй ба энэ хоё хөл дээрх утгыг хоорондоо харьцуулан гаралтандаа 1, 0 гаргадаг. Мэдрэгчийнхээ мэдрэх чадварыг ихсгэж багсгахын тулд нэг талдаа сенсор нөгөө талдаа потенцометр тавьдаг. потенцометрээр сенсорын мэдрэх босгоо тааруулна.
Мотор 
Моторын хувьд тогтмол гүйдэлийн мотор ашиглан ашиглахад хялбар байдаг. Моторын эргэлтийг шууд гаралт буюу дугуйнда өгөхд чадал нь бага байдаг болхоор араагаар хурдыг нь бууруулдаг. Арааны бууруулах тоо нь ирсэх тусам чадал нь нэмэгдэг.
Мотор драйвер


TB6612FNG мотор драйвер давуу тал нь түргэн зогсолтын горимтой, хоёр моторын хоёр чиглэлд удирдаг, удирдахдаа чиглэлээ өгөөд pwm дохио өгнө.(Pulse width modultion дохиогоор моторыг удирдаг )
Роботын схем: Роботын схем
Энэ цагаан зураас дагагч роботын хувьд схемээ зурсан учир моторын утасны холболт болон батарей холбох утаснаас өөр утас ашиглахгүй.
1.Роботын схемээ уусгах
2.Уусгасан хавтангаа гагнах
3.Роботоо эд ангиудыг холбох
4 Код







Хоёр моторыг урагш хурдыг нь удирдах код:Татах         
Хоёр моторыг урагш хурдыг нь удирдах код:
Хоёр моторыг урагш 1 сек Арагш 1сек баруун 0.5 сек зүүн 0.5 сек удирдах код Татах
Мотор тест:
Цагаан зураас дагагч робот код:


Гэрийн нөхцөлд PCB буюу Хэвлэмэл хавтан бэлдэх заавар.

Таньд хэрэг болох зүйлс:
№1 Зэс хавтан
№2 Принтер (Заавал лазер притер байна.)
№3 Индүү
№4 Зүлгүүр
№5 Хөрөө
№6 Өрөм 0.8mm
№7 Drill
№8 Шохойтой цаас эсвэл PCB цаас
(PCB цаас elec.mn дээр байгаа)
№9 500гр Төмрийн уусмал (Computer Lan 312 тоот 12000төг уусмал)

Гэрийн нөхцөлд хэвлэмэл хавтан бэлтгэх талаар энэ хичээлээр заах болно. Энэ аргын хувьд монголд ихээр ашигладаг аргуудын нэг юм. Хэвлэмэл хавтан гэдэг нь хоорондоо цахилгаан холбогч замуудыг агуулсан цахилгаан хэлхээ. Хамгийн энгийн хавтангууд нь зөвхөн нэг талдаа зэс замууд буюу холбогчуудыг агуулсан байдаг. 1. Схем зурах бэлдэх Схем зурахад Proteus 8, Eagle 7.6.0, Altium Desginer, Sprint layout 5.0 гэсэн программуудыг ихээр ашигладаг ба эхлээд зарчимын схем зурах ба зурсаны дараа Layout хавтан дээр хоорондоо хэрхэн холбогдох элементүүд нь хаана байрлуулахаар зурна.
2. Layout хэвлэх Бэлдсэн Layout хэвлэх ба зургийн маштаб 1:1 байх ба хэвлэх принтер маань заавал лазер принтер байна. Бэлэн болсон Layout - оо шохойтой цаас дээрээ хэвлэх.
3. Зэс хавтан цэвэрлэх, Таслах Эхлээд зэс хавтангаа өөрийн хэрэглэх хэмжээнд тааруулан тасдан авна. Зэс хавтан нь гэрэлд мэдрэмтгий учир тусгай лакаар бүрсэн байдаг урд нь ашиглаагүй боловсруултанд ороогүй зэс хавтангууд ийм лакаар бүрхсэн байдаг үүнийг усанд зүлгэж арилгавал сайн зэс хавтангын лакыг арилгасан бол үүнийг нар тасахгүй харанхуй газар хадгалах хэрэгтэй.
4. Layout хавтан дээрээ буулгах
Layout зургаа хавтан дээр байрлуулахдаа зөв буруу харсан эсхээ сайтар шалгах хэрэгтэй Притерээр хэвлэсэн Layout-оо Зэс хавтан дээр наан. Тамга цаасан дээр дараагүй үед буруу харчихсан байдаг бол цаасан дээр дарсны дараа зөв хэлбэртэй ордог шиг бид нарийн наах Layout толь шиг бууна.
5. Индүүдэх
Тааруулан тавьсан Layout- оо сайн дарж индүүдэх ба ингэснээр хор сайн Зэс хавтантай наалдана. (Ширээг шатаахгүйн тулд тусгаарлагч дулаан дамжуулаггуй материал ашиглах)
6. Салгах
Сайтар индүүдсэний дараа Шохойтой цаасаа усанд хийж зөөлөртөл хүлээж салгаж авна.


7. Уусгах



Салгах явцад наалдаагүй, тасарсан зам байх юм бол арилдаггүй фалмастар ашиглэн будаж уусмалруугаа уусгах талаа доошоо харуулан дүрнэ. (Уусгах сав маань заавал пайвар байх хэрэгтэй ба тунгалаг саванд уусгавал уусгах явцыг харж болох давуу талтай ) Хэрвээ уусгах явц удаад байх юм бол хэрэглэж байгаа уусмалын концентраци нь баг байна гэсэн уг ба уусмалаа солих юмуу нэмэх шаардлагтай.


8. Уусмалаас гаргах ,өрөмдөх
Бидэнд хэрэггүй хэсэг нь уусаж дууссан бол гаргаж усаар зайлаад хавтангаа өрөмдөнө. Өрөмдөх явц дуусан бол зэс хавтанд наалдсан принтерийн хорыг зүлгүүр ашиглана зүлгэж арилгана.
Өрөмдөх



Ингээд л бид хэвлэмэл хавтанг гэрийн нехцөлт хийж чадлаа:




Ардиуно анхан шатны хичээл №1

Таньд хэрэг болох зүйлс:
№1 Arduino uno -1ш
№2 Breadboard -1ш
№3 LED -5ш
№4 Button-1ш
№5 220 Омын эсэргүүцэл - 5ш
№6 10 kомын  эсэргүйцэл  -1ш
№6 Breadboard-ны холболтын утас - 1 ком

№7 Arduino Uno-н USB кабле - 1ш
 Код бичих хэсэг:
Туршилт 1;
const int buttonPin = 2;     // 2 хөлөндөө buttonPin гэсэн нэр өгье.
const int ledPin =  13;      // 13 хөлөндөө led гэсэн нэр өгье.
int buttonState = 0;         // button анхны төлөв нь 0 (LOW) байна.
void setup() { // setup функц нь ресет хийгдэх бүрд нэг удаа ажиллана.
  //   // led гэж зарласан хөлөө гаралт болгон зарлаж.
  pinMode(ledPin, OUTPUT);
    // buttonPin гэж зарласан хөлөө гаралт болгон зарлаж.
  pinMode(buttonPin, INPUT);
}
void loop() {loop функц нь байнга давтагдан ажиллана:
//buttonPin хөлны утгыг digitalRead(); уншин авна.
  buttonState = digitalRead(buttonPin);
  if (buttonState == HIGH) {
    //Хэрвээ buttonState нь HIGH (Логик 1) байх юм бол led асах.
    digitalWrite(ledPin, HIGH);
  } else {
    //Эсрэг тохиолдолд LOW (Логик 0) байх юм бол гэрэл унтар.
    digitalWrite(ledPin, LOW);
  }

}
Туршилт 2:

Ардиуно .HEX файл үүсгэх

Proteus дээр  симуляци хийхэд заавал .hex  өргөтгөлтэй файл хэрэг болдог. Arduino editer .ino  гэсэн өргөтгөлөөр хадгалдаг. тэгвэл яаж .hex өргөтгөлөөр хадгалах  зааварчилгаа.
 ctrl+ r дараад RUN  комманд дуудан ctrl+v (paste) дарж хуулсан файлаа буулгана. Тэгээд ok дар.

Ардиуно анхан шатны хичээл №0

Таньд хэрэг болох зүйлс:

№1 Arduino Nano -1ш
№2 Breadboard -1ш
№3 LED -5ш
№4 220 Омын эсэргүйцэл - 5ш
№5 Breadboard-ны холболтын утас - 1 ком

№6 Arduino Nano-н USB кабле - 1ш

Лэд гэрэл холбохдоо лэднийхээ Anode-ийг Ардиуно-луугаа харуулан холбоно. Cathode-оо Gnd хөлтэй холбоно.


Эсэргүйцэлээ тооцож гаргахдаа омын хууль ашиглана R=U/I.  Хэрвээ улаан өнгийн лэд тавих гэж байсан гээд тооцоо хийвэл  U= Хүчдэлийн үүсгүүрээс - Лэдний ажиллах хүчдэл 
2.9 = 5 - 2.1   1000ma = 1A байдаг бол  20ma = 0.02A 
145 om = 2.9 / 0.02A  

Туршилт 1:
Туршилт нэгийн хувьд 1 сек хугацаатай лэд гэрлээ унтрааж асаах код бичье.

int led = 13; //13 хөлөндөө led гэсэн нэр өгье.

void setup() { // setup функц нь ресет хийгдэх бүрд нэг удаа ажиллана.
 
  pinMode(13, OUTPUT); // led гэж зарласан хөлөө гаралт болгон зарлаж.
}
oid loop() { // loop функц нь байнга давтагдан ажиллана:
v\
  digitalWrite(led, HIGH);   // Логик өндөр түвшин буюу HIGH  5v хөлөөр гарна.
  delay(1000);              // Нэг секунд саатуулах  1cек = 1000 миллисекунд байна.
  digitalWrite(led, LOW);    // Логик нам түвшин буюу LOW 0v хөл
  delay(1000);              // Нэг секунд саатуулах
}




Туршилт 1:

int led;  //led гэдэг хувсагч зарлах

void setup() { 
  // led гэж зарласан хөлөө гаралт болгон зарлаж байна led=9-ээс led=13 хүртлэх хөл гаралт. 
  for( led=9; led=13; led++ )
  {
  pinMode(led, OUTPUT);
  }
}

// loop функц нь байнга давтагдан ажиллана:
void loop() {
    for( led=9; led=13; led++ ) //For([<эхлэх утга>]; [<нөхцөлт-илэрхийлэл>]; [<илэрхийлэл-алхам>])
    //-Энэ параметр  давталтын хувьд эхлээд D9 led асан дараа нь D10 дээрэх led асан ийм байдлаараа D13 хүртэл асаж унтраад цикл дахиад эхнээсээ эхлэнэ.
  { 
  digitalWrite(led, HIGH);   // led гэсэн хувьсагчид оноосон лэд асах.
  delay(1000);              //Асаад нэг секунд хүлээх  
  digitalWrite(led, LOW);    // led гэсэн хувьсагчид оноосон лэд унтар.
  delay(1000);              // Унтараад нэг секунд хүлээх
  }
}


“Шоо цуглуулагч робот” дүрэм

Автомат_Робот 2016‬ 5 сарын 21-нд МХТС-н спорт зааланд болох  тэмцээний Шоо цуглуулагч роботний  дүрэм.
1.       Тэмцээний зорилго:
Тэмцээний зорилго нь талбайд урьдчилан байрлуулсан шоонуудыг автомат роботоор тээвэрлэн заагдсан бүсэд богино хугацаанд цуглуулах юм. Хоёр минутын хугацаанд шоонуудыг эсрэг тоглогчоос түрүүлэн заагдсан байрлалд аваачиж өндөр оноо авсан баг хожих эсвэл ухаалаг шийдэл бүхий үйлдэл хийж бүх шоог түрүүлэн цуглуулсан баг хугацаанаасаа өмнө ялагч болно.

2.       АЮУЛГҮЙ БАЙДАЛ

2.1.     Оролцогчид аюулгүй ажиллагааны зааварчилгааг мөрдөнө  үү.
2.2.     Оролцогчид тэмцээний туршид талбайд байх хэн нэгэнд (бусад баг, зохион байгуулагчид, үзэгчид гэх мэт ) хохирол учруулахгүй байхаар  аюулгүй байдалд анхаарал тавих ёстой.
2.3.     Загварчлалын алдаа, роботын засвар, электрон хэлхээний хэт ачаалал, тэжээлийн үүсгүүрийн богино холболтоос үүдэн гал гарах зэрэг ослоос зайлс хийхийн тулд дараах арга хэмжээг авна уу:
2.3.1.         Тохиромжтой гал хамгаалагч ашиглах.
2.3.2.         Шатамхай бодисоос хол ажиллах.
2.3.3.         Тохиромжтой тэжээлийн үүсгүүрийг стандартын дагуу хэрэглэх.
2.4.     Дээрхээс гадна роботын хувийн онцлогоос үүдэн өөр бусад аюултай байдлууд үүсч болно.  Иймээс тухайн  роботод тохирох аюулгүй байдлын арга хэмжээг авна уу.



3.       БАГИЙН ГИШҮҮД

3.1.     Баг тус бүр нэг удирдагч багш, хоёр үндсэн гишүүн болон туслах гишүүдээс бүрдэнэ.
3.2.     Зөвхөн багийн үндсэн нэг  гишүүн тоглолтонд оролцохыг зөвшөөрнө.

4.       ТОГЛОЛТЫН ДАРААЛАЛ

4.1.     Багууд цэнхэр бол улаан бүсийн аль нэгэнд тоглолтыг гүйцэтгэх бөгөөд аль бүсэд тоглохыг сугалаагаар шийднэ.
4.2.     Бэлтгэл хугацаа
4.2.1.         Тоглолт эхлэхийн өмнө шүүгчийн дохиогоор багуудад бэлтгэл хугацааны 30-н секунд олгоно.
4.2.2.         Бэлтгэл хугацаанд багийн гишүүд тоглолтонд бэлтгэж талбайн эхлэх бүсэд роботоо байрлуулна.
4.2.3.         Бэлтгэх хугацаа дуусахад багийн гишүүн роботоос холдсон байх ёстой.
4.3.     Тоглолт хоёр минут үргэлжилнэ.
4.4.     Роботыг ажиллагаанд оруулах
4.4.1.         Бэлтгэл хугацаанд багийн гишүүн роботын бүрэн ажиллагааг шалгаж, роботыг эхлэх бүсэд  байрлуулна.
4.4.2.         Шүүгчийн шүгэл дуугарахад багийн гишүүн нэг үйлдлээр роботыг тоглолтонд оруулах ёстой.
4.4.3.  Багийн үндсэн гишүүн роботыг  тоглолтонд оруулж болно.
4.4.4.         Хэрвээ роботын хэвийн ажиллагаа алдагдвал багийн гишүүн шүүгчээс зөвшөөрөл авч  роботыг хэдэн ч удаа эхлэх бүсээс дахин ажиллуулах боломжтой.
4.4.5.         Роботыг дахин ажиллагаанд оруулахын өмнө Шоо цуглуулах бүс-д байгаа шооны байрлалыг өөрчилж болохгүй, харин талбайд байрласан шоо байрлалаасаа хөдөлсөн тохиолдолд анхны байрлалд дахин байрлуулна.
4.5.     Оноо
4.5.1.  Робот нь өөрийн тоглолтын талбайд байрлуулсан шоонуудыг  Шоо цуглуулах бүс-д зөөн аваачиж оноог  авна.
4.5.2.         Шоо цуглуулах бүс-д шоо нь бүрэн орсон тохиолдолд (хүрээ цагаан зураасын гадна ирмэгээс дотогш) оноог тооцно.
4.5.3.  Шоо цуглуулах бүс-д улаан шоог байрлуулбал 3 оноо, ногоон шоог байрлуулбал 2 оноо, шар шоог байрлуулбал 1 оноо авна.
4.5.4.         Тоглолт дуусахад Шоо цуглуулах бүс-д байрлуулсан шоо бүрийн өнгөнд харгалзах оноонуудын нийлбэр дүнгээр хожлын оноог тооцно.
4.5.5.         Тухайн тоглогч роботын талбайд нэг улаан, хоёр ногоон, гурван шар шоо байрлуулсан байх бөгөөд бүх шоог цуглуулсан баг нийт 10 оноо авна.
4.5.6.         Тоглолтын явцад роботын хэвийн ажиллагаа алдагдсан тохиолдолд багийн гишүүн шүүгчээс зөвшөөрөл авч роботыг дахин эхлүүлэх боломжтой бөгөөд энэ тохиолдолд өмнө авсан оноог хүчинтэйд тооцно.
4.6.     Тоглолтонд хожих ба хожигдох
4.6.1.  Тоглолтын цаг дуусахад хамгийн олон оноо авсан баг ялагч болно.
4.6.2.  Тоглолтын үндсэн хугацаа дуусахад оноо тэнцүү тохиолдолд түрүүлж оноогоо авсан баг
хожино.
4.6.3.  Тоглолтын үндсэн хугацаа дуусахад  тэнцүү оноог  ижил хугацаанд авсан тохиолдолд
түрүүлж өндөр оноотой шоог цуглуулсан  баг  хожино.
4.6.4.  Тоглолтын цаг  дуусахаас өмнө бүх шоог заагдсан байрлалд цуглуулсан баг шууд
хожино.
4.6.5.  Дээрхээс бусад тохиолдлуудад ялагчийг шүүгчийн шийдвэрээр тодорхойлно.

5.       ТЭМЦЭЭНИЙ ТАЛБАЙ

5.1.     Тэмцээний талбай 2.0м×2.4м-ийн хэмжээтэй тэгш өнцөгт байх ба 1.7см өндөртэй төмөр хашлагаар хүрээлэгдсэн байна.
5.2.     Талбайн үндсэн гадаргуу нь тэгш хэмтэй шахмал модон хавтангаар (ди-с-пэй хавтан) хийгдэж, хар будгаар будагдсан байна.
5.3.     Талбайн үндсэн гадаргуу дээр 2см –ын өргөнтэй цагаан зураасаар замчлалыг тодорхойлон дүрсэлнэ.
5.4.     Талбайн бүтцийг доорх зургаас үзнэ үү.

6.       РОБОТ
6.1.     Баг бүр нэг роботтой тоглолтонд оролцох ёстой.
6.2.     Роботууд нь зөвхөн автомат удирдлагатай байна.
6.3.     Роботын удирдлага
6.3.1.  Бэлтгэл хугацаанд роботыг эхлэх бүсэд байрлуулсан байх бөгөөд дуут дохио өгөгдөхөд  роботыг  нэг удаагийн үйлдлээр ажиллагаанд оруулах ёстой.
6.3.2.         Роботын ажиллагааг утасгүй холболтоор (радио удирдлагаар) удирдаж болохгүй.
6.3.3.         Робот нь эхлэх бүсэд багтах ёстой бөгөөд хэмжээ нь 30см –ийн урт, 20см –ийн өргөн, 20см-ийн өндрөөс ихгүй байх ёстой.
6.3.4.         Роботын ажиллагаа эхэлсэнээс хойш робот нь бүрэн задарч 30см –ийн урт, 30см –ийн өргөн, 30см-ийн өндөрт багтаж болно.
6.4.     Роботийн жин 1000 гр-д багтсан байх ёстой.
6.5.     Робот хамгийн ихдээ хоёр (өргөх болон хавчих г.м) механизмтай байж болно.
6.6.     Роботын тэжээлийн үүсгүүрийн хүчдэл 5 вольтоос хэтрэх ёсгүй.



7.       ЗӨРЧЛҮҮД БА ХАСАГДАХ НӨХЦӨЛ

7.1.     Дараах үйлдлүүдийг зөрчил гэж үзэн багийг тэмцээнээс  хасна.
7.1.1.         Өөрийн болон өрсөлдөгч талын тоглолтын талбайг санаатайгаар гэмтээх.
7.1.2.         Робот нь эсрэг багийн талбайд нэвтэрч өрсөлдөгч багийн роботод санаатайгаар гэмтэл учруулах
7.1.3.         Тоглолт явагдаж байх үед багийн гишүүн өрсөлдөгч багийн роботод хүрч гэмтэл учруулах
7.2.     Дараах үйлдэл тухайн тоглолтоос хасагдах нөхцөл болох ба өрсөлдөгч баг 10:0 харьцаагаар ялна.
7.2.1.  Тоглолт явагдаж байх үед багийн гишүүн өрсөлдөгч багийн роботод хүрвэл
7.2.2.  Тоглолтын явцад роботын  механизмууд роботоос салсан тохиолдолд
7.2.3.  Тэмцээний талбай болон шоог санамсаргүйгээр гэмтээх
7.2.4.         Эсрэг багийн талбайд нэвтэрч өрсөлдөгч роботын ажиллагаанд санамсаргүйгээр саад учруулах
7.2.5.         Баг болон багтай холбоотой хэн нэгэн хөндлөнгөөс алсын удирдлага ашиглан роботыг удирдсан тохиолдолд.
7.2.6.  Шударга тоглолтын эсрэг үйлдэл гаргавал.
7.3 Тоглолтыг дахин эхлүүлэх    
7.3.1 Тоглолт эхлэх дуут дохио өгөгдөхөөс өмнө багийн гишүүн роботыг ажиллагаанд оруулсан тохиолдолд зөвхөн тухайн багийн роботыг эхлэх бүсээс дахин эхлүүлнэ. (Тоглолтыг зогсоохгүй)
                7.3.2 Тоглолт эхэлсэнээс хойш багийн гишүүн робот болон шоонд хүрсэн тохиолдолд тухайн
багийн роботыг эхлэх бүсээс дахин эхлүүлнэ
8.       БУСАД
8.1.           Дүрэмд тусгагдаагүй бусад үйлдэлд шүүгчийн шийдвэрийг дагана уу.
8.2.           Дүрэмд өөрчлөлт орвол Тэмцээний Зохион Байгуулагчид албан ёсны вэб сайт дээр зарлаж, шинэчлэх болно.
8.3.           Бүх роботууд тэмцээнд оролцохын тулд хэмжээ, жин, аюулгүй байдлыг шалгуулах ёстой.
8.4.           Телевизийн нэвтрүүлэгийн бичлэг хийхэд зориулж талбайд нэмэлт гэрэлтүүлэг байх болно.
8.5.           Тэмцээний өмнөх өдөр Тэмцээний Зохион Байгуулагчидаас бүх багуудад тэмцээний талбай дээр туршилт хийх хугацаа олгоно.
Тэмцээний талаарх дэлгэрэнгүй мэдээллийг www. https://www.facebook.com/High-Tech-Club-217451685055175/?fref=ts Club,  www.facebook.com/LionRobo2016/  хаягуудаас авна уу.