Menu English Ukrainian Russian 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

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

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

<< Íàçàä

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

Èñêóññòâåííàÿ êîæà äëÿ ýìóëÿöèè ïðèêîñíîâåíèé 15.04.2024

 ìèðå ñîâðåìåííûõ òåõíîëîãèé, ãäå óäàëåííîñòü ñòàíîâèòñÿ âñå áîëåå îáûäåííîé, ñîõðàíåíèå ñâÿçè è ÷óâñòâà áëèçîñòè èãðàþò âàæíóþ ðîëü. Íåäàâíèå ðàçðàáîòêè íåìåöêèõ ó÷åíûõ èç Ñààðñêîãî óíèâåðñèòåòà â îáëàñòè èñêóññòâåííîé êîæè ïðåäñòàâëÿþò íîâóþ ýðó â âèðòóàëüíûõ âçàèìîäåéñòâèÿõ. Íåìåöêèå èññëåäîâàòåëè èç Ñààðñêîãî óíèâåðñèòåòà ðàçðàáîòàëè óëüòðàòîíêèå ïëåíêè, êîòîðûå ìîãóò ïåðåäàâàòü îùóùåíèå ïðèêîñíîâåíèÿ íà ðàññòîÿíèè. Ýòà ïåðåäîâàÿ òåõíîëîãèÿ ïðåäîñòàâëÿåò íîâûå âîçìîæíîñòè äëÿ âèðòóàëüíîãî îáùåíèÿ, îñîáåííî äëÿ òåõ, êòî îêàçàëñÿ âäàëè îò ñâîèõ áëèçêèõ. Óëüòðàòîíêèå ïëåíêè, ðàçðàáîòàííûå èññëåäîâàòåëÿìè, òîëùèíîé âñåãî 50 ìèêðîìåòðîâ, ìîãóò áûòü èíòåãðèðîâàíû â òåêñòèëüíûå èçäåëèÿ è íîñèòüñÿ êàê âòîðàÿ êîæà. Ýòè ïëåíêè äåéñòâóþò êàê äàò÷èêè, ðàñïîçíàþùèå òàêòèëüíûå ñèãíàëû îò ìàìû èëè ïàïû, è êàê èñïîëíèòåëüíûå ìåõàíèçìû, ïåðåäàþùèå ýòè äâèæåíèÿ ðåáåíêó. Ïðèêîñíîâåíèÿ ðîäèòåëåé ê òêàíè àêòèâèðóþò äàò÷èêè, êîòîðûå ðåàãèðóþò íà äàâëåíèå è äåôîðìèðóþò óëüòðàòîíêóþ ïëåíêó. Ýòà ...>>

Êîøà÷èé óíèòàç Petgugu Global 15.04.2024

Çàáîòà î äîìàøíèõ æèâîòíûõ ÷àñòî ìîæåò áûòü âûçîâîì, îñîáåííî êîãäà ðå÷ü çàõîäèò î ïîääåðæàíèè ÷èñòîòû â äîìå. Ïðåäñòàâëåíî íîâîå èíòåðåñíîå ðåøåíèå ñòàðòàïà Petgugu Global, êîòîðîå îáëåã÷èò æèçíü âëàäåëüöàì êîøåê è ïîìîæåò èì äåðæàòü ñâîé äîì â èäåàëüíîé ÷èñòîòå è ïîðÿäêå. Ñòàðòàï Petgugu Global ïðåäñòàâèë óíèêàëüíûé êîøà÷èé óíèòàç, ñïîñîáíûé àâòîìàòè÷åñêè ñìûâàòü ôåêàëèè, îáåñïå÷èâàÿ ÷èñòîòó è ñâåæåñòü â âàøåì äîìå. Ýòî èííîâàöèîííîå óñòðîéñòâî îñíàùåíî ðàçëè÷íûìè óìíûìè äàò÷èêàìè, êîòîðûå ñëåäÿò çà àêòèâíîñòüþ âàøåãî ïèòîìöà â òóàëåòå è àêòèâèðóþòñÿ äëÿ àâòîìàòè÷åñêîé î÷èñòêè ïîñëå åãî èñïîëüçîâàíèÿ. Óñòðîéñòâî ïîäêëþ÷àåòñÿ ê êàíàëèçàöèîííîé ñèñòåìå è îáåñïå÷èâàåò ýôôåêòèâíîå óäàëåíèå îòõîäîâ áåç íåîáõîäèìîñòè âìåøàòåëüñòâà ñî ñòîðîíû âëàäåëüöà. Êðîìå òîãî, óíèòàç èìååò áîëüøîé îáúåì ñìûâàåìîãî õðàíèëèùà, ÷òî äåëàåò åãî èäåàëüíûì äëÿ äîìàøíèõ, ãäå æèâóò íåñêîëüêî êîøåê. Êîøà÷èé óíèòàç Petgugu ðàçðàáîòàí äëÿ èñïîëüçîâàíèÿ ñ âîäîðàñòâîðèìûìè íàïîëíèòåëÿìè è ïðåäëàãàåò ðÿä äîï ...>>

Ïðèâëåêàòåëüíîñòü çàáîòëèâûõ ìóæ÷èí 14.04.2024

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

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

Ñàóíäáàð LG S95QR 31.12.2021

Êîìïàíèÿ LG àíîíñèðîâàëà ñàóíäáàð S95QR ñ êîíôèãóðàöèåé çâóêà 9.1.5, ïîääåðæêîé Dolby Atmos è DTS:X è èíòåðåñíûì ðåøåíèåì: öåíòðàëüíûé êàíàë íàïðàâëåí ââåðõ, ÷òîáû ãîëîñ â õîäå ïðîñìîòðà êèíî îòðàæàëñÿ îò ïîòîëêà è ÷åòêî ðàçëè÷àëñÿ óõîì.  êîìïëåêòå òàêæå ïîñòàâëÿþòñÿ áåñïðîâîäíûå ñàáâóôåð è ïàðà äîïîëíèòåëüíûõ òûëîâûõ äèíàìèêîâ.

Ñòàíäàðòíûé öåíòðàëüíûé êàíàë è íàïðàâëåííûé ââåðõ äèíàìèê íåñóò îäèí ñèãíàë, è ýòî ðåøåíèå ïîâûøàåò ÷åòêîñòü äèàëîãîâ; àíàëîãè÷íûì îáðàçîì îäèí ñèãíàë íåñóò ñîîòâåòñòâóþùèå áîêîâûå äèíàìèêè ñàóíäáàðà è êîìïëåêòíûå òûëîâûå êîëîíêè - òàêàÿ êîíôèãóðàöèÿ ïîçèòèâíî âëèÿåò íà ãëóáèíó ýôôåêòà ïîãðóæåíèÿ. Ñèíõðîíèçàöèÿ è âåëè÷èíà çàäåðæåê äèíàìèêà íàñòðàèâàþòñÿ àâòîìàòè÷åñêè ïðè ïîìîùè ôóíêöèè AI Room Calibration. Ñóììàðíàÿ âûõîäíàÿ ìîùíîñòü àóäèîñèñòåìû ñîñòàâëÿåò 810 Âò.

Çàìåòíûì íåäîñòàòêîì ñàóíäáàðà îêàçàëàñü åãî íåñïîñîáíîñòü ê ñêâîçíîé ïåðåäà÷å HDR-âèäåî â ðàçðåøåíèè 4K ñ ÷àñòîòîé 120 Ãö. Ýòî çíà÷èò, ÷òî âëàäåëüöàì Xbox Series X èëè PS5, à òàêæå 4K-òåëåâèçîðîâ ñ HDR-ïàíåëÿìè ëó÷øå íå ïîäêëþ÷àòü çâóêîâóþ ïàíåëü íåïîñðåäñòâåííî ê ïðèñòàâêå.

Åñòü ïîääåðæêà Google Assistant, Alexa è äðóãèõ ãîëîñîâûõ àññèñòåíòîâ. Ïîääåðæèâàåòñÿ òàêæå ðàáîòà ñ áåñïðîâîäíûì ìîäóëåì LG Wowcast, êîòîðûé îáåñïå÷èâàåò âûñîêîêà÷åñòâåííóþ ïåðåäà÷ó çâóêà â òåõ ñëó÷àÿõ, êîãäà ïðîâîäíîå ïîäêëþ÷åíèå ê èñòî÷íèêó îðãàíèçîâàòü íå ïîëó÷àåòñÿ.

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

▪ Ïîáîðîòü àëêîãîëèçì è èãîðìàíèþ

▪ Panasonic ãîòîâèò ê âûïóñêó IP-ìîáèëüíèê

▪ Íîñòàëüãèÿ ñíèæàåò ôèçè÷åñêóþ áîëü

▪ Intel ïîñòðîèò â Îãàéî ôàáðèêó ïî ïðîèçâîäñòâó ìèêðîñõåì

▪ Çàñëîí äëÿ ãðûçóíîâ

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

 

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

▪ ðàçäåë ñàéòà Àíòåííû. Ïîäáîðêà ñòàòåé

▪ ñòàòüÿ Åñëè áûòü, òî áûòü ïåðâûì. Êðûëàòîå âûðàæåíèå

▪ ñòàòüÿ Ó êàêîãî ðàñòåíèÿ öâåòêè ñòàíîâÿòñÿ ïðîçðà÷íûìè ïîñëå äîæäÿ? Ïîäðîáíûé îòâåò

▪ ñòàòüÿ Âèäåîèíæåíåð ýôèðíîé ñëóæáû. Äîëæíîñòíàÿ èíñòðóêöèÿ

▪ ñòàòüÿ Óñèëèòåëü ñ ïàðàëëåëüíûì âêëþ÷åíèåì ëàìï â âûõîäíîì êàñêàäå. Ýíöèêëîïåäèÿ ðàäèîýëåêòðîíèêè è ýëåêòðîòåõíèêè

▪ ñòàòüÿ Ñòàêàí âîäû èç êàðìàíà. Ñåêðåò ôîêóñà

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

Èìÿ:


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


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





All languages of this page

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

www.diagram.com.ua

www.diagram.com.ua
2000-2024