Үүнийг хийх болсон шалтгаан нь яваандаа гүйдэг гэрлэн диодоос бүтсэн самбар хийх зорилготой юм. Эхний удаад 4 диод залгаад туршиж үзье гэж боджийн Юуны түрүүнд микроконтроллер уруугаа гэрлэн диодоо яаж холбох талаар үзье.
Манай AVR ийн хөлөөс +5V хүчдэл гардаг. Гэрлэн диодоор гүйх гүйдэл өнгөнөөсөө хамаараад хоорондоо адилгүй. Дээд тал нь +4V байна. Тэхээр +5V залгавал гэрлэн диод шатах учир шатаахгүйн тулд эсэргүүцэл залгаж хүчдэлийг хуваана. Эсэргүүцлийг бодож олохдоо энэ сайтыг ашиглаарай.
Диодын дамжуулах гүйдэл (diode forward current) дээр нь 20 гэж бичиж өгөөрэй. Гэрлэн диодуудаа цуваа залгаж болохгүй учир бүгдийг нь зэрэгцээ залгана. яагаад цуваа залгаж болохгүй байгаа вэ гэвэл нэг нэгээр нь удирдах учраас. За тээд цааш нь диодынхоо анод хөлд нь тэжээл (эсэргүүцэл холбосон тэжээл) катод хөлд нь газар холбоно. Эсэргүүцэлд чиглэл гэж байхгүй тул хаашаа ч харуулж холбосон болно.
Миний угсарсан хавтан иймэрхүү янзтай болж байна.


За тэгээд энэ дээрээ Sanguino хавтангаа зоогоод ажиллуулах юм байгаа юм.
Програмын хувьд бол С хэл дээр бичсэн. AVR өөрөө оролт гаралтын 32 хөлтэй гэж доор дурьдсан. 32 хөлөө 8 8 аар нь салгаад
Манай AVR ийн хөлөөс +5V хүчдэл гардаг. Гэрлэн диодоор гүйх гүйдэл өнгөнөөсөө хамаараад хоорондоо адилгүй. Дээд тал нь +4V байна. Тэхээр +5V залгавал гэрлэн диод шатах учир шатаахгүйн тулд эсэргүүцэл залгаж хүчдэлийг хуваана. Эсэргүүцлийг бодож олохдоо энэ сайтыг ашиглаарай.
Диодын дамжуулах гүйдэл (diode forward current) дээр нь 20 гэж бичиж өгөөрэй. Гэрлэн диодуудаа цуваа залгаж болохгүй учир бүгдийг нь зэрэгцээ залгана. яагаад цуваа залгаж болохгүй байгаа вэ гэвэл нэг нэгээр нь удирдах учраас. За тээд цааш нь диодынхоо анод хөлд нь тэжээл (эсэргүүцэл холбосон тэжээл) катод хөлд нь газар холбоно. Эсэргүүцэлд чиглэл гэж байхгүй тул хаашаа ч харуулж холбосон болно.


За тэгээд энэ дээрээ Sanguino хавтангаа зоогоод ажиллуулах юм байгаа юм.
Програмын хувьд бол С хэл дээр бичсэн. AVR өөрөө оролт гаралтын 32 хөлтэй гэж доор дурьдсан. 32 хөлөө 8 8 аар нь салгаад
- PORTA
- PORTB
- PORTC
- PORTD гээд хуваачихсан байгаа.
Жишээ нь b0 хөлийг удирдъя гэвэл
Хэрэв оролт гэж заасан бол хөлийн PIN регистерээр удирдана. С хэлний биттэй харьцдаг командуудын талаар илүү ихйиг эндээс мэдэж болно.
DDRB = 0xFF ; //DDR регистерээр тухайн портын гаралт оролтыг нь заана. 0x00 гэвэл оролт болно
PORTB |= (1 << PB0) ;// PB0 хөлөнд 5V тэжээл очиж байна
PORTB &= ~(1 << PB0) ; // PB0 хөлөнд GND очиж байна
Хэрэв оролт гэж заасан бол хөлийн PIN регистерээр удирдана. С хэлний биттэй харьцдаг командуудын талаар илүү ихйиг эндээс мэдэж болно.