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

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

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

<< Íàçàä

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

Îïòèìàëüíàÿ ïðîäîëæèòåëüíîñòü ñíà 12.11.2025

Ñîí èãðàåò êëþ÷åâóþ ðîëü â ïîääåðæàíèè çäîðîâüÿ, êîãíèòèâíûõ ôóíêöèé è îáùåãî ñàìî÷óâñòâèÿ. Íåñìîòðÿ íà øèðîêî ðàñïðîñòðàíåííûé ñòåðåîòèï î âîñüìè÷àñîâîì ñíå, ïîñëåäíèå èññëåäîâàíèÿ ïîêàçûâàþò, ÷òî îïòèìàëüíàÿ ïðîäîëæèòåëüíîñòü ñíà äëÿ áîëüøèíñòâà çäîðîâûõ âçðîñëûõ áëèæå ê ñåìè ÷àñàì. Ýâîëþöèîííûé áèîëîã èç Ãàðâàðäà, Äýíèåë Ý. Ëèáåðìàí, óòâåðæäàåò, ÷òî òðàäèöèîííàÿ íîðìà âîñüìè ÷àñîâ ñíà - ýòî ñêîðåå êóëüòóðíîå íàñëåäèå èíäóñòðèàëüíîé ýïîõè, ÷åì áèîëîãè÷åñêàÿ íåîáõîäèìîñòü. Ïî åãî ñëîâàì, ïîëåâûå èññëåäîâàíèÿ, ïðîâåäåííûå â ñîîáùåñòâàõ, íå èñïîëüçóþùèõ ýëåêòðè÷åñòâî, ïîêàçûâàþò, ÷òî ñðåäíÿÿ ïðîäîëæèòåëüíîñòü ñíà ñîñòàâëÿåò 6-7 ÷àñîâ, ÷òî çíà÷èòåëüíî îòëè÷àåòñÿ îò îáùåïðèíÿòîãî ñòàíäàðòà. Ñîâðåìåííûå ýïèäåìèîëîãè÷åñêèå äàííûå ïîäòâåðæäàþò ýòîò âçãëÿä. Èññëåäîâàíèÿ âûÿâèëè òàê íàçûâàåìóþ "U-îáðàçíóþ êðèâóþ" çàâèñèìîñòè ìåæäó ïðîäîëæèòåëüíîñòüþ ñíà è ðèñêàìè äëÿ çäîðîâüÿ. Ìèíèìàëüíûå ïîêàçàòåëè çàáîëåâàåìîñòè è ñìåðòíîñòè íàáëþäàþòñÿ èìåííî ó ëþäåé, ñïÿùèõ îêîëî ñåìè ÷àñîâ â ñóòêè. ...>>

Äåôèöèò êèñëîðîäà óñèëèâàåò âûáðîñ çàêèñè àçîòà 12.11.2025

Ïàðíèêîâûå ãàçû èãðàþò êëþ÷åâóþ ðîëü â èçìåíåíèè êëèìàòà, à çàêèñü àçîòà (N2O) - îäèí èç íàèáîëåå îïàñíûõ ñðåäè íèõ. Ýòîò ãàç íå òîëüêî âòðîå ñèëüíåå óãëåêèñëîãî ãàçà â óäåðæàíèè òåïëà, íî è ðàçðóøàåò îçîíîâûé ñëîé. Íåäàâíåå èññëåäîâàíèå àìåðèêàíñêèõ ó÷åíûõ ïîêàçàëî, ÷òî ìèêðîáû â çîíàõ ñ íèçêèì ñîäåðæàíèåì êèñëîðîäà àêòèâíî ïðîèçâîäÿò N2O, óñèëèâàÿ ãëîáàëüíûå êëèìàòè÷åñêèå ðèñêè. Êîìàíäà èç Óíèâåðñèòåòà Ïåíñèëüâàíèè èçó÷àëà ïðèáðåæíûå âîäû ó Ñàí-Äèåãî è ïðîâåëà íàáëþäåíèÿ íà ãëóáèíàõ îò 40 äî 120 ìåòðîâ â Âîñòî÷íîé òðîïè÷åñêîé ñåâåðíîé ÷àñòè Òèõîãî îêåàíà - îäíîé èç êðóïíåéøèõ çîí äåôèöèòà êèñëîðîäà. Èññëåäîâàòåëè ñîñðåäîòî÷èëèñü íà òîì, êàê ìîðñêèå ìèêðîîðãàíèçìû ïðåâðàùàþò íèòðàòû â çàêèñü àçîòà.  õîäå ðàáîòû âûÿñíèëîñü, ÷òî ñóùåñòâóåò äâà ïóòè îáðàçîâàíèÿ N2O. Îäèí ïóòü íà÷èíàåòñÿ ñ íèòðàòà, äðóãîé - ñ íèòðèòà. Íà ïåðâûé âçãëÿä áîëåå êîðîòêèé ïóòü äîëæåí áûòü ýôôåêòèâíåå, îäíàêî ìèêðîáû, èñïîëüçóþùèå íèòðàò, ïðîäóöèðóþò áîëüøå ãàçà, ïîñêîëüêó ýòîò "ñûðüåâîé" èñòî÷íèê áîëåå ä ...>>

Îìåãà-3 ïîìîãàþò ìîëîäûì êîðàëëàì âûæèâàòü 11.11.2025

Ñîõðàíåíèå êîðàëëîâûõ ðèôîâ ñòàíîâèòñÿ âñå áîëåå àêòóàëüíîé çàäà÷åé â óñëîâèÿõ ãëîáàëüíîãî èçìåíåíèÿ êëèìàòà. Ìîëîäûå êîðàëëû îñîáåííî óÿçâèìû íà ðàííèõ ñòàäèÿõ ðàçâèòèÿ, êîãäà ñòðåññîâûå óñëîâèÿ è íåõâàòêà ïèòàòåëüíûõ âåùåñòâ ìîãóò ïðèâåñòè ê âûñîêîé ñìåðòíîñòè. Íåäàâíåå èññëåäîâàíèå ó÷åíûõ èç Òåõíîëîãè÷åñêîãî óíèâåðñèòåòà Ñèäíåÿ ïîêàçûâàåò, ÷òî ñïåöèàëüíûå ïèùåâûå äîáàâêè ñïîñîáíû ñóùåñòâåííî ïîâûñèòü âûæèâàåìîñòü ëè÷èíîê êîðàëëîâ.  õîäå ðàáîòû èññëåäîâàòåëè ðàçðàáîòàëè îñîáûé ñîñòàâ "äåòñêîãî ïèòàíèÿ" äëÿ êîðàëëîâûõ ëè÷èíîê.  íåãî âîøëè ìàñëà, áîãàòûå îìåãà-3 æèðíûìè êèñëîòàìè, à òàêæå âàæíûå ñòåðèíû, íåîáõîäèìûå äëÿ ôîðìèðîâàíèÿ êëåòî÷íûõ ìåìáðàí. Ëè÷èíêè, ïîëó÷àâøèå ýòè äîáàâêè, ðàçâèâàëèñü áûñòðåå, ñòàíîâèëèñü êðåï÷å è äåìîíñòðèðîâàëè áîëåå âûñîêóþ óñòîé÷èâîñòü ê ñòðåññîâûì ôàêòîðàì. Îñîáîå âíèìàíèå ó÷åíûå óäåëèëè ëèïèäàì. Àíàëèç ïîêàçàë, ÷òî ëè÷èíêè àêòèâíî óñâàèâàþò ýòè âåùåñòâà, ÷òî íàïðÿìóþ âëèÿåò íà èõ æèçíåñïîñîáíîñòü. Ñòåðèíû, ñîäåðæàùèåñÿ â êîðìå, ïîâûøàþò óñòîé÷è ...>>

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

Íàïèòêè èç ìÿñà 04.08.2017

Ìÿñíèê èç Ãåðìàíèè Ïèòåð Êëàññåí ðàçðàáîòàë óíèêàëüíîå æèäêîå ìÿñî è óæå ïîäàë çàÿâêó, ÷òîáû çàïàòåíòîâàòü ñòîëü íåîáû÷íûé, íî ïèòàòåëüíûé íàïèòîê.

Íàä ðåöåïòîì íàïèòêîâ èç ìÿñà Ïèòåð Êëàññåí ðàáîòàë òðè ãîäà, à ïîìîãàëè åìó â ýòîì íåìåöêèé ïîâàð Øòåôàí Êèììåë è ñûí Ôèëèïï. Ðåöåïò æèäêîãî ìÿñà íå ÿâëÿåòñÿ ñåêðåòîì - äëÿ ýòîãî êóñîê ìÿñà íóæíî îáæàðèòü ñ îâîùàìè, à çàòåì îòâàðèòü â áóëüîíå.

Ïîëó÷åííàÿ òàêèì îáðàçîì ñìåñü èçìåëü÷àåòñÿ è ðàçìèíàåòñÿ äî êîíñèñòåíöèè êàêàî. Çàòåì ìÿñíîé íàïèòîê ðàçëèâàåòñÿ ïî áóòûëêàì è ñòåðèëèçóåòñÿ. Æèäêîå ìÿñî, ïî ñëîâàì Êëàññåíà, ìîæíî çàïðîñòî õðàíèòü â îõëàæäåííîì ñîñòîÿíèè 12 ìåñÿöåâ.

Íàïèòîê áóäåò ïðåäñòàâëåí â òðåõ âêóñàõ: "Áîìáåéñêàÿ ãîâÿäèíà", "Ñòåéê" è "Êîðîëåâñêàÿ êóðèöà". Ìÿñíèê óæå äîãîâîðèëñÿ ñ äèñòðèáüþòîðàìè î ïîñòàâêàõ âî Ôðàíöèþ, Áåëüãèþ è Ëþêñåìáóðã. Îñåíüþ íûíåøíåãî ãîäà æèäêîå ìÿñî ïîÿâèòñÿ íà ïðèëàâêàõ â Ãåðìàíèè.

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

▪ Ãèáêèå ñîëíå÷íûå áàòàðåè

▪ Ñèíèé ñâåò ñòèìóëèðóåò èììóíèòåò

▪ Íîâîå ñåìåéñòâî äðàéâåðîâ ëàçåðíûõ äèîäîâ

▪ Ïëàâó÷èå êîñìîäðîìû SpaceX

▪ ÄÍÊ è ïðåæäåâðåìåííîå ñòàðåíèå

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

 

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

▪ ðàçäåë ñàéòà Îõðàíà è áåçîïàñíîñòü. Ïîäáîðêà ñòàòåé

▪ ñòàòüÿ Áëàãî íàðîäà - âûñøèé çàêîí. Êðûëàòîå âûðàæåíèå

▪ ñòàòüÿ Ïî÷åìó ïåðñû ðåøèëè ïîäàðèòü Ðîññèè àëìàç Øàõ? Ïîäðîáíûé îòâåò

▪ ñòàòüÿ Çàæèì ïèëêè â ëîáçèêå. Äîìàøíÿÿ ìàñòåðñêàÿ

▪ ñòàòüÿ Í× ÷àñòîòîìåð íà èíòåãðàëüíûõ ñõåìàõ. Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè

▪ ñòàòüÿ Ïðåäñêàçàíèå ïî êàëåíäàðþ. Ñåêðåò ôîêóñà

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

Èìÿ:


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


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





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

www.diagram.com.ua

www.diagram.com.ua
2000-2025