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

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

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

<< Íàçàä

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

Ýêðàíû âëèÿþò íà äåòåé íåðàâíîìåðíî â ðàçíîì âîçðàñòå 01.08.2026

Ïëàíøåòû è ñìàðòôîíû äàâíî ñòàëè ïðèâû÷íîé ÷àñòüþ ïîâñåäíåâíîé æèçíè äàæå ñàìûõ ìàëåíüêèõ äåòåé. Ðîäèòåëè ÷àñòî èñïîëüçóþò ãàäæåòû, ÷òîáû óñïîêîèòü ìàëûøà èëè çàíÿòü åãî íà âðåìÿ, îäíàêî ó÷åíûå âñå ÷àùå çàäàþòñÿ âîïðîñîì, êàê ýêðàííîå âðåìÿ ñêàçûâàåòñÿ íà ðàçâèòèè ìîçãà è áóäóùåé ñïîñîáíîñòè ê îáó÷åíèþ. Íîâîå èññëåäîâàíèå ïîêàçûâàåò, ÷òî çíà÷åíèå èìååò íå òîëüêî ïðîäîëæèòåëüíîñòü ïðîñìîòðà, íî è âîçðàñò, â êîòîðîì ðåáåíîê ïðîâîäèò âðåìÿ ïåðåä ýêðàíîì. Ó÷åíûå íàáëþäàëè äåòåé îò ðîæäåíèÿ äî 8 ëåò. Îêàçàëîñü, ÷òî áîëüøå âñåãî ýêðàíû âëèÿþò íà ìîçã â äâà ïåðèîäà - â ðàííåì ìëàäåí÷åñêîì âîçðàñòå è ïåðåä ïîñòóïëåíèåì â øêîëó. Ó äåòåé, ìíîãî âðåìåíè ïðîâîäèâøèõ ïåðåä ýêðàíàìè â ýòè âîçðàñòíûå òî÷êè, â 9 ëåò áûëè íåñêîëüêî õóæå óñïåõè â îáó÷åíèè, à â 10,5 ëåò õóæå ðàáîòàëà ðàáî÷àÿ ïàìÿòü - ñïîñîáíîñòü óäåðæèâàòü è îáðàáàòûâàòü èíôîðìàöèþ çäåñü è ñåé÷àñ. Èññëåäîâàòåëè èç Ôðàíöèè è Ñèíãàïóðà ïðîàíàëèçèðîâàëè äàííûå 502 äåòåé è âûäåëèëè äâà êëþ÷åâûõ ýòàïà. Ó ìëàäåíöåâ ìîçã ðàçâèâàåòñÿ î÷åíü ...>>

Óìíûå æèëåòû, ñïàñàþùèå îò æàðû 01.08.2026

Ëåòíÿÿ æàðà â áîëüøèõ ãîðîäàõ âñå ÷àùå ñòàíîâèòñÿ ñåðüåçíûì èñïûòàíèåì äëÿ ëþäåé, ðàáîòàþùèõ íà îòêðûòîì âîçäóõå. Ìóñîðùèêè, ñòðîèòåëè è äðóãèå ñïåöèàëèñòû âûíóæäåíû ïðîâîäèòü ÷àñû ïîä ïàëÿùèì ñîëíöåì, ðèñêóÿ ïåðåãðåâîì. Êèòàéñêèå èíæåíåðû ïðåäëîæèëè ïðàêòè÷íîå ðåøåíèå - ñïåöèàëüíûå îõëàæäàþùèå æèëåòû, êîòîðûå ïîìîãàþò ñíèçèòü îùóùàåìóþ òåìïåðàòóðó ïðèìåðíî íà 10 ãðàäóñîâ. Ïîêà ìèð ñòðàäàåò îò ñèëüíîé æàðû, êèòàéñêèå èíæåíåðû ðàçðàáîòàëè "óìíûå" æèëåòû ñ êëèìàò-êîíòðîëåì. Æèëåòû ñ êîíäèöèîíèðîâàíèåì ïî÷òè íå îòëè÷àþòñÿ îò îáû÷íîé ðàáî÷åé îäåæäû. Ãëàâíîå îòëè÷èå - â ñèñòåìå îõëàæäåíèÿ.  ãîðîäå Íàíêèí â æèëåò âìîíòèðîâàíû äâà âåíòèëÿòîðà, ðàáîòàþùèõ îò ïîðòàòèâíûõ àêêóìóëÿòîðîâ. Îäíîãî çàðÿäà õâàòàåò íà 3-4 ÷àñà íåïðåðûâíîé ðàáîòû.  ×àí÷æîó ðåøèëè ðàçìåñòèòü â êàðìàíàõ îõëàæäàþùèå ýëåìåíòû ñ ìàòåðèàëîì, êîòîðûé ïðè íàãðåâàíèè ïåðåõîäèò èç òâåðäîãî ñîñòîÿíèÿ â æèäêîå, àêòèâíî ïîãëîùàÿ òåïëî. Ýòî ïîääåðæèâàåò êîìôîðòíóþ òåìïåðàòóðó â òå÷åíèå 2,5-4 ÷àñîâ. Òàêèå æèëåòû âûãëÿäÿò ïî÷òè ...>>

Ëåòàþùèå âåòðîòóðáèíû 3 ÌÂò âûøëè â ñåðèþ 31.07.2026

Òðàäèöèîííûå âåòðÿíûå ýëåêòðîñòàíöèè çàâèñÿò îò ñèëû è ñòàáèëüíîñòè âåòðà ó ïîâåðõíîñòè çåìëè, ãäå âîçäóøíûå ïîòîêè ÷àñòî áûâàþò ñëàáûìè è ïîðûâèñòûìè. Íà áîëüøèõ âûñîòàõ âåòåð îáû÷íî ñèëüíåå è ïîñòîÿííåå, ïîýòîìó èíæåíåðû óæå äàâíî ðàññìàòðèâàþò âîçìîæíîñòü ïîäúåìà òóðáèí â âîçäóõ. Êèòàéñêàÿ êîìïàíèÿ ñäåëàëà âàæíûé øàã â ýòîì íàïðàâëåíèè, ïåðåéäÿ îò èñïûòàíèé ê ìåëêîñåðèéíîìó ïðîèçâîäñòâó. Êîìïàíèÿ Beijing Linyi Yunchuan Energy Technology çàïóñòèëà ìåëêîñåðèéíîå ïðîèçâîäñòâî ëåòàþùåé âåòðîòóðáèíû S2000, à â ïðîâèíöèè ׿ýöçÿí âîçâîäÿò îòäåëüíûé çàâîä ïî ïðîèçâîäñòâó ìàòåðèàëîâ äëÿ îáîëî÷êè àïïàðàòà. Ó êîìïàíèè óæå åñòü ïðåäâàðèòåëüíûå äîãîâîðåííîñòè ñ ïðèáðåæíûìè ãîðîäàìè è ãîðíûìè ðåãèîíàìè, êîòîðûå ðàññìàòðèâàþò âîçìîæíîñòü èñïîëüçîâàíèÿ ýòîé òåõíîëîãèè äëÿ óäîâëåòâîðåíèÿ ñîáñòâåííûõ ýíåðãåòè÷åñêèõ ïîòðåáíîñòåé. Ïðîòîòèï, êîòîðûé ïîëãîäà íàçàä òîëüêî ÷òî ïîäíÿëñÿ â íåáî íàä Ñû÷óàíåì, òåïåðü ïðåâðàùàåòñÿ â öåëóþ îòðàñëü. Èäåÿ S2000 ïðîñòà: âìåñòî òîãî ÷òîáû óñòàíàâëèâàòü âåòðÿíó ...>>

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

Äèîêñèä àçîòà óñóãóáëÿåò ñìåðòíîñòü îò COVID-19 22.04.2020

Çàãðÿçíåíèå âîçäóõà äèîêñèäîì àçîòà ñâÿçàíî ñ âûñîêîé ñìåðòíîñòüþ îò COVID-19. Ê òàêîìó âûâîäó ïðèøëè ó÷åíûå èç Óíèâåðñèòåòà Ìàðòèíà Ëþòåðà â Ãàëëå-Âèòòåíáåðãå.

Äèîêñèä àçîòà (N02) - çàãðÿçíèòåëü âîçäóõà, êîòîðûé ïîâðåæäàåò äûõàòåëüíûå ïóòè ÷åëîâåêà. Îí âûáðàñûâàåòñÿ â àòìîñôåðó â ðåçóëüòàòå äåÿòåëüíîñòè ÷åëîâåêà. Ïðè êîíòàêòå äèîêñèäà óãëåðîäà ñ âëàæíîé ïîâåðõíîñòüþ ëåãêèõ îáðàçóþòñÿ àçîòíàÿ è àçîòèñòàÿ êèñëîòû, ðàçäðàæàþùèå ñëèçèñòûå îáîëî÷êè è ïîðàæàþùèå àëüâåîëÿðíóþ òêàíü ëåãêèõ. Ïðè âûñîêèõ êîíöåíòðàöèÿõ îêñèäîâ àçîòà (0,004 - 0,008 %) âîçíèêàþò àñòìàòè÷åñêèå ïðîÿâëåíèÿ è îòåê ëåãêèõ.

 íîâîì èññëåäîâàíèè ó÷åíûå èñïîëüçîâàëè äàííûå îá óðîâíÿõ ðåãèîíàëüíîãî çàãðÿçíåíèÿ äèîêñèäîì àçîòà, èçìåðåííûõ ñïóòíèêîì Sentinel 5Ð Åâðîïåéñêîãî êîñìè÷åñêîãî àãåíòñòâà (ESA). Çàòåì ó÷åíûå îáúåäèíèëè ýòó èíôîðìàöèþ ñäàííûìè àìåðèêàíñêîãî àãåíòñòâà ïîãîäû NOAAo âåðòèêàëüíûõ âîçäóøíûõ ïîòîêàõ.

Íà îñíîâàíèè ýòèõ äàííûõ èññëåäîâàòåëè âûÿñíèëè íåñêîëüêî íàèáîëåå çàãðÿçíåííûõ N02 òî÷åê ñî ñëàáûì äâèæåíèåì âîçäóøíûõ ìàññ, à çàòåì ñîïîñòàâèëè äàííûå î âñïûøêå COVID-19 â Èòàëèè, Ôðàíöèè, Èñïàíèè è Ãåðìàíèè.

Ðàáîòà ïîêàçàëà, ÷òî â ðåãèîíàõ ñ áîëüøèì êîëè÷åñòâîì ñìåðòåé òàêæå îòìå÷àåòñÿ îñîáåííî âûñîêèé óðîâåíü äèîêñèäà àçîòà è îñîáåííî íèçêèé óðîâåíü âåðòèêàëüíîãî âîçäóõîîáìåíà.

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

▪ Ïðîöåññîðû Zhaoxin KaiXian KX-6780A è KX-U6880A

▪ Âèäåî íà ïîëå áîÿ

▪ ÆÊ-òåëåâèçîðû ãîòîâû ïîòåñíèòü ïëàçìó

▪ Íàðó÷íûé òåëåâèçîð îò NHJ

▪ Íàçâàíà îïòèìàëüíàÿ äîçà êîôå

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

 

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

▪ ðàçäåë ñàéòà Âàøè èñòîðèè. Ïîäáîðêà ñòàòåé

▪ ñòàòüÿ Óáèéöû â áåëûõ õàëàòàõ. Êðûëàòîå âûðàæåíèå

▪ ñòàòüÿ Ìîãóò ëè ñàëàìàíäðû æèòü â îãíå? Ïîäðîáíûé îòâåò

▪ ñòàòüÿ Òåìïåðàòóðíàÿ òðàâìà. Ìåäèöèíñêàÿ ïîìîùü

▪ ñòàòüÿ Íà÷èíàþùåìó ðàäèîëþáèòåëþ. Ðàäèîïðèåìíèê. Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè

▪ ñòàòüÿ Âîëøåáíàÿ ïàëî÷êà è ïîäàðêè. Ñåêðåò ôîêóñà

Îñòàâüòå ñâîé êîììåíòàðèé ê ýòîé ñòàòüå:

Èìÿ:


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


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





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

www.diagram.com.ua

www.diagram.com.ua
2000-2026