Menu Home

Áåñïëàòíàÿ òåõíè÷åñêàÿ áèáëèîòåêà äëÿ ëþáèòåëåé è ïðîôåññèîíàëîâ Áåñïëàòíàÿ òåõíè÷åñêàÿ áèáëèîòåêà


Ïðîñòîé ðîáîò. Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè

Áåñïëàòíàÿ òåõíè÷åñêàÿ áèáëèîòåêà

Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè / Àïïàðàòóðà ðàäèîóïðàâëåíèÿ

Êîììåíòàðèè ê ñòàòüå Êîììåíòàðèè ê ñòàòüå

 ýòîé ñòàòüå ïðåäñòàâëåíà ñõåìà ïðîñòîãî "ðîáîòà". Îí åçäèò íà ñâåò, à åñëè íåò èñòî÷íèêà ñâåòà, òîãäà âêëþ÷àåòñÿ ðåæèì "Ñâîáîäíûé ïîèñê" ò.å. ðîáîò áóäåò åçäèòü, à ïðè ñòîëêíîâåíèè îòúåçæàòü è ðàçâîðà÷èâàòüñÿ.

Ïðîñòîé ðîáîò. Ïðèíöèïèàëüíàÿ ñõåìà ðîáîòà
(íàæìèòå äëÿ óâåëè÷åíèÿ)

Ñåðäöåì ðîáîòà ÿâëÿåòñÿ ìèêðîêîíòðîëëåð ôèðìû ATMEL: AT90S2313, íî ìîæíî è ëþáîé äðóãîé ýòîé ôèðìû, ó ýòîãî ìèêðîêîíòðîëëåðà 2êá ïàìÿòè äëÿ ïðîãðàììû, 15 ïîðòîâ ââîäà/âûâîäà, äîñòóïíîå ïèòàíèå - 4-6Â. Äâèãàòåëÿìè áóäåò óïðàâëÿòü "äðàéâåð äâèãàòåëÿ" - ìèêðîñõåìà L293D (îòå÷åñòâåííûé àíàëîã - ÊÐ1128ÊÒ4À).  êà÷åñòâå äàò÷èêà áûëî ðåøåíî âçÿòü ôîòîðåçèñòîðû ÑÔ3-1.

Ðîáîò ñîñòîèò èç äâóõ ìîòîðîâ. Âîò êàê îíè áóäóò ðàáîòàòü ïðè îïðåäåëåííûõ äåéñòâèÿõ:

Êîìàíäà Õîäîâîé äâèãàòåëü Äâèãàòåëü ïîâîðîòà
âïåðåä (F) âïåðåä ñòîï
âïåðåä-âïðàâî (FR) âïåðåä âïåðåä
âïåðåä-âëåâî (FL) âïåðåä íàçàä
íàçàä (B) íàçàä ñòîï
íàçàä-âïðàâî (BR) íàçàä âïåðåä
íàçàä-âëåâî (BL) íàçàä íàçàä
íàçàä-âëåâî (BL) ñòîï ñòîï

Èñïîëüçóåìûå ðàäèîýëåìåíòû â ñõåìå:

Ìèêðîêîíòðîëëåð AT90S2313

Ìèêðîñõåìà L293D (îòå÷åñòâåííûé àíàëîã - ÊÐ1128ÊÒ4À)

2 ôîòîðåçèñòîð ÑÔ3-1

Êâàðö íà 4ÌÃö

Êîíäåíñàòîðû 22-24 ïÔ

Ñòàáèëèçàòîð 7805 (èëè ÊÐÅÍ5À)

Ðåçèñòîð 100 Îì (Îïöèîíàëüíî)

Äâà ìîòîðà

Ïèòàíèå Vbat - 4áàòàðåéêè ïàëü÷èêîâûå, èëè 1 êðîíà (9Â)

Ïèòàíèå Vm - 1êðîíà (9Â)

Ïîñëå ñáîðêè ñõåìû, íåîáõîäèìî çàãðóçèòü ïðîãðàììó â ìèêðîêîíòðîëëåð è ðîáîò ãîòîâ:

/****************************************************

Chip type : AT90S2313

Clock frequency : 4,000000 MHz

Memory model : Tiny

External SRAM size : 0

Data Stack size : 32

****************************************************/

#include <90s2313.h>

#include <stdlib.h>

#include <delay.h>

// íàçíà÷åíèå îïðåäåëåíèé äëÿ óäîáñòâà ðàáîòû ñ ïåðèôåðèåé

#define OUT PORTB

#define MOTOR_F 7

#define MOTOR_B 6

#define TURN_R 5

#define TURN_L 4

#define IN PIND

#define LIGHT_R 0

#define LIGHT_L 1

#define BUMPER_F 2

#define BUMPER_B 3

// Âîçìîæíûå ðåæèìû äâèæåíèÿ

enum {STOP, F, FR, FL, B, BR, BL};

//------------------------------------------------------------------------------

// Çàäåðæêà t õ 10ms

//------------------------------------------------------------------------------

void Delay_10ms(unsigned char t)

{char i;

for(i=0;i<t;i++) delay_ms(10);}

// òàáëèöà âåðîÿòíîñòåé äëÿ âûáîðà íàïðàâëåíèÿ äâèæåíèÿ

// èñõîäÿ èç òåêóùåãî íàïðàâëåíèÿ äâèæåíèÿ

unsigned char p[7][7] =

{14, 43, 57, 71, 86, 93, 100,

7, 43, 71, 100, 100, 100, 100,

7, 50, 93, 100, 100, 100, 100,

7, 50, 57, 100, 100, 100, 100,

29, 29, 29, 29, 57, 79, 100,

36, 36, 36, 36, 71, 93, 100,

36, 36, 36, 36, 71, 79, 100};

// òåêóùåå íàïðàâëåíèå äâèæåíèÿ

unsigned char this_move;

//------------------------------------------------------------------------------

// Âêëþ÷åíèå êîìáèíàöèè ìîòîðîâ äëÿ äâèæåíèÿ â çàäàííîì íàïðàâëåíèè

//------------------------------------------------------------------------------

void go(unsigned char direction){

switch (direction) {

case STOP:

OUT.MOTOR_F=0;

OUT.MOTOR_B=0;

OUT.TURN_R=0;

OUT.TURN_L=0;

break;

case F:

OUT.MOTOR_F=1;

OUT.MOTOR_B=0;

OUT.TURN_R=0;

OUT.TURN_L=0;

break;

case FR:

OUT.MOTOR_F=1;

OUT.MOTOR_B=0;

OUT.TURN_R=1;

OUT.TURN_L=0;

break;

case FL:

OUT.MOTOR_F=1;

OUT.MOTOR_B=0;

OUT.TURN_R=0;

OUT.TURN_L=1;

break;

case B:

OUT.MOTOR_F=0;

OUT.MOTOR_B=1;

OUT.TURN_R=0;

OUT.TURN_L=0;

break;

case BR:

OUT.MOTOR_F=0;

OUT.MOTOR_B=1;

OUT.TURN_R=1;

OUT.TURN_L=0;

break;

case BL:

OUT.MOTOR_F=0;

OUT.MOTOR_B=1;

OUT.TURN_R=0;

OUT.TURN_L=1;

break;

}

}

//------------------------------------------------------------------------------

// Âûáîð íàïðàâëåíèÿ äâèæåíèÿ â ñëåäóþùåì øàãå ïî òàáëèöå âåðîÿòíîñòåé

//------------------------------------------------------------------------------

unsigned char next_move(void){

unsigned char pp, i;

pp = rand()/327; // ïîëó÷àåì ñëó÷àéíîå ÷èñëî 0..99

for (i=0;i<7;i++){ // èùåì ñîîòâåòñòâèå â òàáëèöå âåðîÿòíîñòåé

if (p[this_move][i] > pp) break;

}

this_move = i; // çàïèñûâàåì íîâîå ïîëó÷åííîå íàïðàâëåíèå êàê òåêóùåå

return(i);

}

//------------------------------------------------------------------------------

// Îáðàáîòêà ïðåðûâàíèÿ îò ïåðåäíåãî áàìïåðà (INT0 = PD2)

//------------------------------------------------------------------------------

interrupt [EXT_INT0] void ext_int0_isr(void)

{

if(this_move==FR) go(BL);

if(this_move==FL) go(BR);

else go(B);

Delay_10ms(250); // îòúåçä â òå÷åíèå 2.5 õ 2 ñåê

Delay_10ms(250);

this_move=B;

}

//------------------------------------------------------------------------------

// Îáðàáîòêà ïðåðûâàíèÿ îò çàäíåãî áàìïåðà (INT1 = PD3)

//------------------------------------------------------------------------------

interrupt [EXT_INT1] void ext_int1_isr(void)

{

if(this_move==BR) go(FL);

if(this_move==BL) go(FR);

else go(F);

Delay_10ms(250); // îòúåçä â òå÷åíèå 2.5 õ 2 ñåê

Delay_10ms(250);

this_move=F;

}

//------------------------------------------------------------------------------

// "Ñëó÷àéíîå áëóæäàíèå"

//------------------------------------------------------------------------------

unsigned char walk(void){

// ýòîò öèêë îðãàíèçóåò "ñâîáîäíîå áëóæäàíèå" ïîêà

// íåò ñèãíàëà íè îò îäíîãî èç äàò÷èêîâ îñâåùåííîñòè

while((IN.LIGHT_R) && (IN.LIGHT_L)){

go(next_move()); // ïîëó÷àåì ñëåäóþùåå íàïðàâëåíèå äâèæåíèÿ è

Delay_10ms(250); // äâèæåìñÿ â ýòîì íàïðàâëåíèè 2.5 ñåê

}

// ýòîò öèêë îðãàíèçóåò äâèæåíèå íà ñâåò, ïîêà

// åñòü ñèãíàë õîòÿ áû îò îäíîãî èç äàò÷èêîâ îñâåùåííîñòè

while((IN.LIGHT_R==0) || (IN.LIGHT_L==0)){

if((IN.LIGHT_R==0) && (IN.LIGHT_L==0)) go(F);

else if(IN.LIGHT_R==0) go(FR);

else if(IN.LIGHT_L==0) go(FL);

}

return(0);

}

//------------------------------------------------------------------------------

// Ãëàâíàÿ ïðîãðàììà

//------------------------------------------------------------------------------

void main(void)

{

DDRB = 0xff; // íàçíà÷àåì âñå ëèíèè ïîðòà B íà âûõîä

PORTB = 0x00; // è óñòàíàâëèâàåì íà íèõ íèçêèé óðîâåíü

DDRD = 0x00; // íàçíà÷àåì âñå ëèíèè ïîðòà D íà âõîä

PORTD = 0xff; // ïîäêëþ÷àåì âíóòðåííèå íàãðóçî÷íûå ðåçèñòîðû

// External Interrupt(s) initialization

// INT0: On

// INT0 Mode: Falling Edge

// INT1: On

// INT1 Mode: Falling Edge

GIMSK=0xC0;

MCUCR=0x0A;

GIFR=0xC0;

// ðàçðåøàåì ïðåðûâàíèÿ

#asm("sei")

// çàïóñêàåì ãëàâíûé öèêë

while(1) walk();

}

Ñêà÷àòü ïðîãðàììó, ôàéë ïðîøèâêè è ñõåìó ðîáîòà â ôîðìàòå sPlan

Ïóáëèêàöèÿ: cxem.net

Ñìîòðèòå äðóãèå ñòàòüè ðàçäåëà Àïïàðàòóðà ðàäèîóïðàâëåíèÿ.

×èòàéòå è ïèøèòå ïîëåçíûå êîììåíòàðèè ê ýòîé ñòàòüå.

<< Íàçàä

Ïîñëåäíèå íîâîñòè íàóêè è òåõíèêè, íîâèíêè ýëåêòðîíèêè:

Ñîñåäè ôîðìèðóþò âàøó ìèêðîôëîðó 27.04.2026

Ó÷åíûå óæå äàâíî ðàññìàòðèâàþò ÷åëîâåêà íå êàê èçîëèðîâàííûé îðãàíèçì, à êàê ñëîæíóþ ýêîñèñòåìó, òåñíî ñâÿçàííóþ ñ ìèêðîìèðîì âíóòðè è âîêðóã íåãî. Îñîáåííî àêòèâíî èññëåäóåòñÿ êèøå÷íàÿ ìèêðîôëîðà, îò êîòîðîé çàâèñÿò ïèùåâàðåíèå, èììóíèòåò è äàæå íåêîòîðûå àñïåêòû ïîâåäåíèÿ. Íîâàÿ ðàáîòà Óíèâåðñèòåòà Âîñòî÷íîé Àíãëèè äîáàâëÿåò ê ýòîìó ïîíèìàíèþ åùå îäèí âàæíûé ñëîé: îêàçûâàåòñÿ, ñîñòàâ ìèêðîáèîòû ìîæåò èçìåíÿòüñÿ ïîä âëèÿíèåì ëþäåé, ñ êîòîðûìè ìû æèâåì ðÿäîì. ×òîáû ïðîâåðèòü, êàê ñîöèàëüíûå êîíòàêòû âëèÿþò íà ïåðåäà÷ó ìèêðîáîâ, èññëåäîâàòåëè îáðàòèëèñü ê ïðèðîäíîé ìîäåëè - ñåéøåëüñêîé êàìûøîâêå (Acrocephalus sechellensis), íåáîëüøîé ïåâ÷åé ïòèöå, îáèòàþùåé íà îñòðîâå Êóçåí íà Ñåéøåëüñêèõ îñòðîâàõ. Ýòîò âèä îêàçàëñÿ îñîáåííî óäîáíûì äëÿ íàáëþäåíèé, ïîñêîëüêó ïòèöû æèâóò èçîëèðîâàííî è íå ïîêèäàþò îñòðîâ, ÷òî ïîçâîëÿåò îòñëåæèâàòü èõ áèîëîãè÷åñêèå è ñîöèàëüíûå ñâÿçè íà ïðîòÿæåíèè âñåé æèçíè.  ðàìêàõ ìíîãîëåòíåãî èññëåäîâàíèÿ ó÷åíûå ñîáèðàëè ñîòíè îáðàçöîâ ïòè÷üåãî ïîìåòà, àíàëèçèð ...>>

Ëàçåðíàÿ ïå÷àòü ìèêðîñõåì êàê àëüòåðíàòèâà êðåìíèþ 27.04.2026

Èíäóñòðèÿ ýëåêòðîíèêè ïîñòåïåííî óõîäèò îò èñêëþ÷èòåëüíî êðåìíèåâûõ è ïëàñòèêîâûõ ðåøåíèé â ñòîðîíó áîëåå ãèáêèõ, äåøåâûõ è ýêîëîãè÷íûõ ìàòåðèàëîâ. Îäíèì èç íàèáîëåå íåîáû÷íûõ íàïðàâëåíèé ñòàëà òàê íàçûâàåìàÿ áóìàæíàÿ ýëåêòðîíèêà, ãäå ïðèâû÷íûé ëèñò áóìàãè ïðåâðàùàåòñÿ â îñíîâó äëÿ ðàáîòàþùèõ ýëåêòðîííûõ ñõåì. Èìåííî â ýòîé îáëàñòè èññëåäîâàòåëè èç Ëàáîðàòîðèè áèîýëåêòðîíèêè è ìèêðîñõåì Áèíãåìòîíñêîãî óíèâåðñèòåòà ïðåäëîæèëè ïðèíöèïèàëüíî íîâûé ïîäõîä ê ñîçäàíèþ ìèêðîñõåì. Ó÷åíûå ðàçðàáîòàëè òåõíîëîãèþ, ïðè êîòîðîé ýëåêòðîííûå ñõåìû ôîðìèðóþòñÿ ïðÿìî íà ïåðãàìåíòíîé áóìàãå ñ ïîìîùüþ ñòàíäàðòíîãî óãëåêèñëîòíîãî ëàçåðà. Îñîáåííîñòü èñïîëüçóåìîãî ìàòåðèàëà çàêëþ÷àåòñÿ â òîíêîì ñèëèêîíîâîì ïîêðûòèè, ïðèäàþùåì áóìàãå ãèäðîôîáíûå ñâîéñòâà è çàùèùàþùåì åå îò âëàãè. Ëàçåð òî÷å÷íî óäàëÿåò ýòî ïîêðûòèå, ñîçäàâàÿ ðèñóíîê áóäóùåé ñõåìû è îáíàæàÿ öåëëþëîçíûå âîëîêíà, ñïîñîáíûå âïèòûâàòü æèäêîñòü. Äàëåå â îáðàçîâàííûå ëàçåðîì ìèêðîñêîïè÷åñêèå êàíàëû ââîäÿòñÿ âîäíûå ÷åðíèëà, êîòîðûå ôîðìèðóþò ô ...>>

Ïñèõîëîãè÷åñêîå ñîñòîÿíèå è ñòàðåíèå 26.04.2026

Íàóêà âñå ÷àùå ðàññìàòðèâàåò ñòàðåíèå íå òîëüêî êàê áèîëîãè÷åñêèé ïðîöåññ, íî è êàê ÿâëåíèå, òåñíî ñâÿçàííîå ñ ïñèõîëîãè÷åñêèì ñîñòîÿíèåì ÷åëîâåêà. Ýìîöèîíàëüíîå áëàãîïîëó÷èå, óðîâåíü ñòðåññà è îùóùåíèå ñîöèàëüíîé âêëþ÷åííîñòè ìîãóò íàïðÿìóþ âëèÿòü íà òî, êàê áûñòðî èçíàøèâàåòñÿ îðãàíèçì íà êëåòî÷íîì óðîâíå. Êèòàéñêèå èññëåäîâàòåëè ïðîâåëè ìàñøòàáíûé àíàëèç äàííûõ ëþäåé ñòàðøå 45 ëåò è îáíàðóæèëè âàæíóþ çàêîíîìåðíîñòü: òàêèå ôàêòîðû, êàê îäèíî÷åñòâî è ñóáúåêòèâíîå îùóùåíèå íåñ÷àñòüÿ, ñâÿçàíû ñ óñêîðåíèåì áèîëîãè÷åñêîãî ñòàðåíèÿ ïðèìåðíî íà 1,65 ãîäà. Èíûìè ñëîâàìè, âíóòðåííåå ýìîöèîíàëüíîå ñîñòîÿíèå ìîæåò "äîáàâëÿòü" îðãàíèçìó ëèøíèé âîçðàñò äàæå ïðè îäèíàêîâîì ïàñïîðòíîì âîçðàñòå. ×òîáû ïîëó÷èòü áîëåå òî÷íóþ îöåíêó áèîëîãè÷åñêîãî ñòàðåíèÿ, ó÷åíûå èñïîëüçîâàëè êîìïëåêñíûé ïîäõîä.  èõ àíàëèç âîøëè 16 áèîìàðêåðîâ êðîâè, ñåìü áèîìåòðè÷åñêèõ ïàðàìåòðîâ, à òàêæå äàííûå, ñâÿçàííûå ñ áèîëîãè÷åñêèì ïîëîì ó÷àñòíèêîâ. Òàêîé íàáîð ïîçâîëèë ñôîðìèðîâàòü áîëåå ìíîãîñëîéíóþ êàðòèíó ñîñòîÿíèÿ ...>>

Ñëó÷àéíàÿ íîâîñòü èç Àðõèâà

3-ñèìî÷íûé ñìàðòôîí Explay Atom 07.02.2014

Êîìïàíèÿ Explay ïðåäñòàâèëà ñâîé ïåðâûé òðåõñèìî÷íûé ñìàðòôîí - Atom. Ãëàâíîé îñîáåííîñòüþ íîâèíêè ñòàëè íå òîëüêî 3 àêòèâíûå ñèì-êàðòû, íî è öåíîâàÿ äîñòóïíîñòü ìîäåëè, ðàññêàçàëè CNews â Explay.

Explay Atom èìååò 4-äþéìîâûé TFT-äèñïëåé, à åãî ðàçðåøåíèå ñîñòàâëÿåò 480x800 ïèêñåëåé. Cìàðòôîí îñíàùåí 2-x ÿäåðíûì ïðîöåññîðîì ÌÒÊ 6572 ñ ÷àñòîòîé 1 Ããö è îáëàäàåò äâóìÿ êàìåðàìè (îñíîâíàÿ êàìåðà èìååò ðàçðåøåíèå 3 Ìï). Ìîäåëü ðàáîòàåò ïîä óïðàâëåíèåì Android 4.2, èìååò GPS, Wi-Fi, Bluetooth 3,1. Îáúåì îïåðàòèâíîé ïàìÿòè ñîñòàâëÿåò 512 ÌÁ, âíóòðåííåé ïàìÿòè - 4 ÃÁ, íî ïðè æåëàíèè åå ìîæíî óâåëè÷èòü äî 32 ÃÁ ñ ïîìîùüþ êàðòû microSD. Ðàçìåðû ìîäåëè ñîñòàâëÿþò 105,7x54,9x10,3 ìì, à âåñ - 142 ãð.

Explay Atom ïîÿâèòñÿ â ïðîäàæå â êîíöå ÿíâàðÿ 2014 ã. â áåëîì è ÷åðíîì öâåòå ïî ðåêîìåíäóåìîé ðîçíè÷íîé öåíå 110 USD.

Äðóãèå èíòåðåñíûå íîâîñòè:

▪ Ñàóíäáàð Sonos Arc Ultra

▪ Âîäîðîäíûé ïàðóñíèê Nemesis Yacht

▪ Ýëåêòðîãåíåðàòîð ðàáîòàåò íà òðåíèè

▪ Êîðîòêîôîêóñíûé ïðîåêòîð LG PH450UG-GL

▪ Ñïîðò è ïîñò

Ëåíòà íîâîñòåé íàóêè è òåõíèêè, íîâèíîê ýëåêòðîíèêè

 

Èíòåðåñíûå ìàòåðèàëû Áåñïëàòíîé òåõíè÷åñêîé áèáëèîòåêè:

▪ ðàçäåë ñàéòà Ïðåäâàðèòåëüíûå óñèëèòåëè. Ïîäáîðêà ñòàòåé

▪ ñòàòüÿ Êàê ðàáîòàòü â Windows Live Movie Maker. Èñêóññòâî âèäåî

▪ ñòàòüÿ  êàêîé ñòðàíå ðàñïðîñòðàíåí îáû÷àé ïîõèùåíèÿ æåíèõîâ? Ïîäðîáíûé îòâåò

▪ ñòàòüÿ Ñóìàõ ñî÷íûé. Ëåãåíäû, âûðàùèâàíèå, ñïîñîáû ïðèìåíåíèÿ

▪ ñòàòüÿ Ðàäèîòåëåôîííûé èíòåðôåéñ äëÿ ñèìïëåêñíûõ ðàäèîñòàíöèé. Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè

▪ ñòàòüÿ Äâóõðåæèìíîå çàðÿäíîå óñòðîéñòâî. Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè

[an error occurred while processing this directive] Îñòàâüòå ñâîé êîììåíòàðèé ê ýòîé ñòàòüå:

Èìÿ:


E-mail (íå îáÿçàòåëüíî):


Êîììåíòàðèé:





Ãëàâíàÿ ñòðàíèöà | Áèáëèîòåêà | Ñòàòüè | Êàðòà ñàéòà | Îòçûâû î ñàéòå

www.diagram.com.ua

www.diagram.com.ua
2000-2026