- భాగాలు అవసరం
- ఉపయోగించిన సాఫ్ట్వేర్
- 433MHz RF ట్రాన్స్మిటర్ మరియు రిసీవర్ మాడ్యూల్
- సర్క్యూట్ రేఖాచిత్రం
- కోడ్విజన్ ఉపయోగించి అట్మెగా 8 కోసం ప్రాజెక్ట్ను సృష్టిస్తోంది
- కోడ్ మరియు వివరణ
- Atmega8 కు కోడ్ను అప్లోడ్ చేయండి
మా ప్రాజెక్ట్లను వైర్లెస్గా మార్చడం ఎల్లప్పుడూ చల్లగా కనిపించేలా చేస్తుంది మరియు దానిని నియంత్రించగల పరిధిని కూడా విస్తరిస్తుంది. స్వల్ప దూర వైర్లెస్ నియంత్రణ కోసం సాధారణ IR LED ను ఉపయోగించడం మొదలుకొని ప్రపంచవ్యాప్తంగా HTTP నియంత్రణ కోసం ESP8266 వరకు, వైర్లెస్ లేకుండా ఏదో నియంత్రించడానికి చాలా మార్గాలు ఉన్నాయి. ఈ ప్రాజెక్ట్లో 433 MHz RF మాడ్యూల్ మరియు AVR మైక్రోకంట్రోలర్ ఉపయోగించి వైర్లెస్ ప్రాజెక్ట్లను ఎలా నిర్మించాలో నేర్చుకుంటాము.
ఈ ప్రాజెక్ట్లో మేము ఈ క్రింది పనులు చేస్తాము: -
- మేము ఉపయోగించడానికి Atmega8 RF ట్రాన్స్మిటర్ మరియు Atmega8 RF స్వీకర్త విభాగానికి.
- మేము ఎల్ఈడీ మరియు పుష్బటన్ను అట్మెగా 8 మైక్రోకంట్రోలర్లతో ఇంటర్ఫేస్ చేస్తాము.
- ట్రాన్స్మిటర్ వైపు, మేము అట్మెగాతో పుష్బటన్ ను ఇంటర్ఫేస్ చేసి డేటాను ప్రసారం చేస్తాము. రిసీవర్ వైపు, మేము డేటాను వైర్లెస్గా స్వీకరిస్తాము మరియు LED లో అవుట్పుట్ను చూపుతాము.
- మేము 4 బిట్ డేటాను ప్రసారం చేయడానికి ఎన్కోడర్ మరియు డీకోడర్ IC ని ఉపయోగిస్తాము.
- రిసెప్షన్ ఫ్రీక్వెన్సీ మార్కెట్లో లభించే చౌకైన RF TX-RX మాడ్యూల్ ఉపయోగించి 433Mhz.
భాగాలు అవసరం
- Atmega8 AVR మైక్రోకంట్రోలర్ (2)
- USBASP ప్రోగ్రామర్
- 10-పిన్ FRC కేబుల్
- బ్రెడ్ బోర్డు (2)
- LED లు (2)
- పుష్బటన్ (1)
- HT12D మరియు HT12E జత
- RX-TX RF మాడ్యూల్
- రెసిస్టర్లు (10 కె, 47 కె, 1 ఎమ్)
- జంపర్ వైర్లు
- 5 వి విద్యుత్ సరఫరా
ఉపయోగించిన సాఫ్ట్వేర్
మేము ఉపయోగించడానికి CodeVisionAVR మా కోడ్ మరియు వ్రాయడం కోసం సాఫ్ట్వేర్ SinaProg USBASP ప్రోగ్రామర్ ఉపయోగించి Atmega8 మా కోడ్ అప్లోడ్ సాఫ్ట్వేర్.
ఇచ్చిన లింక్ల నుండి మీరు ఈ సాఫ్ట్వేర్లను డౌన్లోడ్ చేసుకోవచ్చు:
CodeVisionAVR :
సినాప్రోగ్:
స్కీమాటిక్స్ మరియు కోడ్లలోకి వెళ్ళే ముందు, ఎన్కోడర్-డీకోడర్ IC లతో RF మాడ్యూల్ యొక్క పనిని అర్థం చేసుకుందాం.
433MHz RF ట్రాన్స్మిటర్ మరియు రిసీవర్ మాడ్యూల్
అవి మేము ప్రాజెక్ట్లో ఉపయోగిస్తున్న ట్రాన్స్మిటర్ మరియు రిసీవర్ మాడ్యూల్స్. ఇది 433 MHz కి అందుబాటులో ఉన్న చౌకైన మాడ్యూల్. ఈ గుణకాలు ఒక ఛానెల్లో సీరియల్ డేటాను అంగీకరిస్తాయి.
మాడ్యూల్స్ యొక్క స్పెసిఫికేషన్లను మనం చూస్తే, ట్రాన్స్మిటర్ 3.5-12V ఆపరేషన్ కోసం ఇన్పుట్ వోల్టేజ్ గా రేట్ చేయబడుతుంది మరియు ట్రాన్స్మిట్ దూరం 20-200 మీటర్లు. ఇది 433 MHz పౌన .పున్యంలో AM (ఆడియో మాడ్యులేషన్) ప్రోటోకాల్లో ప్రసారం చేస్తుంది. మేము 10mW శక్తితో 4KB / S వేగంతో డేటాను బదిలీ చేయవచ్చు.
ఎగువ చిత్రంలో ట్రాన్స్మిటర్ మాడ్యూల్ యొక్క పిన్-అవుట్ చూడవచ్చు. ఎడమ నుండి కుడికి పిన్స్ VCC, DATA మరియు GND. పై చిత్రంలో సూచించిన బిందువుపై మనం యాంటెన్నా మరియు టంకమును కూడా జోడించవచ్చు.
కోసం స్వీకర్త వివరణ, స్వీకర్త యొక్క రేటింగ్ ప్రస్తుత 5V DC మరియు 4MA నిశ్చల ఇన్పుట్ వంటి. స్వీకరించడం పౌనఃపున్యం 433.92 MHz ఒక తో -105DB సున్నితత్వం.
పై చిత్రంలో రిసీవర్ మాడ్యూల్ యొక్క పిన్-అవుట్ చూడవచ్చు. నాలుగు పిన్స్ ఎడమ నుండి కుడికి, విసిసి, డాటా, డాటా మరియు జిఎన్డి. ఆ మధ్య రెండు పిన్స్ అంతర్గతంగా అనుసంధానించబడి ఉన్నాయి. మేము ఏదైనా ఒకటి లేదా రెండింటినీ ఉపయోగించవచ్చు. కానీ శబ్దం కలపడం తగ్గించడానికి రెండింటినీ ఉపయోగించడం మంచి పద్ధతి.
అలాగే, డేటాషీట్లో ఒక విషయం ప్రస్తావించబడలేదు, మాడ్యూల్ మధ్యలో వేరియబుల్ ఇండక్టర్ లేదా POT ఫ్రీక్వెన్సీ క్రమాంకనం కోసం ఉపయోగించబడుతుంది. మేము ప్రసారం చేసిన డేటాను స్వీకరించలేకపోతే, ప్రసారం మరియు స్వీకరించే పౌన encies పున్యాలు సరిపోలని అవకాశాలు ఉన్నాయి. ఇది RF సర్క్యూట్ మరియు మేము ట్రాన్స్మిటర్ను పరిపూర్ణ ప్రసార ఫ్రీక్వెన్సీ పాయింట్ వద్ద ట్యూన్ చేయాలి. అలాగే, ట్రాన్స్మిటర్ మాదిరిగానే, ఈ మాడ్యూల్కు యాంటెన్నా పోర్ట్ కూడా ఉంది; మేము ఎక్కువ రిసెప్షన్ కోసం కాయిల్డ్ రూపంలో టంకము తీగ చేయవచ్చు.
ట్రాన్స్మిటర్ పరిధి ట్రాన్స్మిటర్కు సరఫరా చేయబడిన వోల్టేజ్ మరియు రెండు వైపులా యాంటెన్నాల పొడవు మీద ఆధారపడి ఉంటుంది. ఈ నిర్దిష్ట ప్రాజెక్ట్ కోసం మేము బాహ్య యాంటెన్నాను ఉపయోగించలేదు మరియు ట్రాన్స్మిటర్ వైపు 5V ని ఉపయోగించాము. మేము 5 మీటర్ల దూరంతో తనిఖీ చేసాము మరియు ఇది ఖచ్చితంగా పని చేసింది.
RF ట్రాన్స్మిటర్ మరియు రిసీవర్ సర్క్యూట్లో RF జత గురించి మరింత తెలుసుకోండి. RF జతని ఉపయోగించే క్రింది ప్రాజెక్టులను తనిఖీ చేయడం ద్వారా మీరు RF యొక్క పని గురించి మరింత అర్థం చేసుకోవచ్చు:
- RF కంట్రోల్డ్ రోబోట్
- IR నుండి RF కన్వర్టర్ సర్క్యూట్
- రాస్ప్బెర్రీ పై ఉపయోగించి RF రిమోట్ కంట్రోల్డ్ LED లు
- RF నియంత్రిత గృహోపకరణాలు
సర్క్యూట్ రేఖాచిత్రం
RF ట్రాన్స్మిటర్ వైపు సర్క్యూట్ రేఖాచిత్రం
- Atmega8 యొక్క పిన్ D7 -> పిన్ 13 HT12E
- Atmega8 యొక్క పిన్ D6 -> పిన్ 12 HT12E
- Atmega8 యొక్క పిన్ D5 -> పిన్ 11 HT12E
- Atmega8 యొక్క పిన్ D4 -> పిన్ 10 HT12E
- అట్మెగా యొక్క పిన్ బి 0 నుండి పుష్బటన్.
- HT12E యొక్క పిన్ 15 మరియు 16 మధ్య 1M-ohm రెసిస్టర్.
- RF ట్రాన్స్మిటర్ మాడ్యూల్ యొక్క డేటా పిన్కు HT12E యొక్క పిన్ 17.
- HT12E యొక్క 18V ను 5V కి పిన్ చేయండి.
- GND పిన్ 1-9 మరియు HT12E యొక్క పిన్ 14 మరియు అట్మెగా యొక్క పిన్ 8.
RF రిసీవర్ సైడ్ కోసం సర్క్యూట్ రేఖాచిత్రం
- Atmega8 యొక్క పిన్ D7 -> పిన్ 13 HT12D
- Atmega8 యొక్క పిన్ D6 -> పిన్ 12 HT12D
- Atmega8 యొక్క పిన్ D5 -> పిన్ 11 HT12D
- Atmega8 యొక్క పిన్ D4 -> పిన్ 10 HT12d
- అట్మెగా యొక్క పిన్ B0 కి LED.
- RF12D యొక్క పిన్ 14 RF రిసీవర్ మాడ్యూల్ యొక్క డేటా పిన్కు.
- HT12D యొక్క పిన్ 15 మరియు 16 మధ్య 47 కోహ్మ్ రెసిస్టర్.
- HT12D యొక్క GND పిన్ 1-9 మరియు అట్మెగా యొక్క పిన్ 8.
- HT12D యొక్క 17 పిన్ చేయడానికి LED.
- 5 వి నుండి పిన్ 7 అట్మెగా మరియు పిన్ 18 హెచ్టి 12 డి.
కోడ్విజన్ ఉపయోగించి అట్మెగా 8 కోసం ప్రాజెక్ట్ను సృష్టిస్తోంది
ఈ సాఫ్ట్వేర్లను ఇన్స్టాల్ చేసిన తర్వాత ప్రాజెక్ట్ మరియు రైటింగ్ కోడ్ను సృష్టించడానికి క్రింది దశలను అనుసరించండి:
దశ 1. ఓపెన్ కోడ్విజన్ ఫైల్ -> న్యూ -> ప్రాజెక్ట్ పై క్లిక్ చేయండి. నిర్ధారణ డైలాగ్ బాక్స్ కనిపిస్తుంది. అవునుపై క్లిక్ చేయండి
దశ 2. కోడ్విజార్డ్ తెరవబడుతుంది. మొదటి ఎంపికపై AT90 పై క్లిక్ చేసి, సరి క్లిక్ చేయండి.
దశ 3. మీ మైక్రోకంట్రోలర్ చిప్ను ఎంచుకోండి, ఇక్కడ మేము చూపిన విధంగా Atmega8 ను తీసుకుంటాము.
దశ 4: - పోర్టులపై క్లిక్ చేయండి. లో ట్రాన్స్మిటర్ భాగంగా, పుష్బటన్ మా ఇన్పుట్ మరియు 4 డేటా మార్గాల అవుట్పుట్ ఉన్నాయి. కాబట్టి, మేము 4 పిన్స్ అట్మెగాను అవుట్పుట్గా ప్రారంభించాలి. పోర్ట్ డి పై క్లిక్ చేయడం ద్వారా బిట్ 7, 6, 5 మరియు 4 ను తయారు చేయండి.
దశ 5: - ప్రోగ్రామ్ -> జనరేట్, సేవ్ మరియు ఎగ్జిట్ పై క్లిక్ చేయండి. ఇప్పుడు, మా పనిలో సగానికి పైగా పూర్తయ్యాయి
దశ 6: - డెస్క్టాప్లో క్రొత్త ఫోల్డర్ను తయారు చేయండి, తద్వారా మా ఫైల్లు ఫోల్డర్లో ఉంటాయి, లేకపోతే అది మొత్తం డెస్క్టాప్ విండోలో చెల్లాచెదురుగా ఉంటుంది. మీకు కావలసిన విధంగా మీ ఫోల్డర్కు పేరు పెట్టండి మరియు ప్రోగ్రామ్ ఫైల్లను సేవ్ చేయడానికి అదే పేరును ఉపయోగించమని నేను సూచిస్తున్నాను.
ఫైల్లను సేవ్ చేయడానికి మేము మూడు డైలాగ్ బాక్స్లను ఒకదాని తరువాత ఒకటి కలిగి ఉంటాము. మీరు మొదటిదాన్ని సేవ్ చేసిన తర్వాత కనిపించే ఇతర రెండు డైలాగ్ బాక్స్లతో కూడా అదే చేయండి.
ఇప్పుడు, మీ కార్యస్థలం ఇలా ఉంది.
మా పని చాలావరకు విజార్డ్ సహాయంతో పూర్తయింది. ఇప్పుడు, మేము ట్రాన్స్మిటర్ మరియు రిసీవర్ పార్ట్ కోసం కోడ్ యొక్క కొన్ని పంక్తులను మాత్రమే వ్రాయాలి మరియు అంతే…
స్వీకర్త భాగం కోసం ఫైళ్ళను సృష్టించడానికి అదే దశలను అనుసరించండి. రిసీవర్ భాగంలో, లెడ్ మాత్రమే మా అవుట్పుట్ కాబట్టి పోర్ట్ B0 బిట్ అవుట్ అవ్వండి.
కోడ్ మరియు వివరణ
RF ఉపయోగించి వైర్లెస్గా LED ని టోగుల్ చేయడానికి మేము కోడ్ వ్రాస్తాము. ఈ వ్యాసం చివరలో అట్మెగా ఎట్ ట్రాన్స్మిటర్ మరియు రిసీవర్ వైపులా పూర్తి కోడ్ ఇవ్వబడింది.
RF ట్రాన్స్మిటర్ కోసం Atmega8 కోడ్:
మొదట మా కోడ్లో ఆలస్యాన్ని ఉపయోగించడానికి delay.h హెడర్ ఫైల్ను చేర్చండి.
# చేర్చండి
ఇప్పుడు, కోడ్ యొక్క చివరి పంక్తులకు రండి, అక్కడ మీరు కాసేపు లూప్ కనుగొంటారు . మా ప్రధాన కోడ్ ఈ లూప్లో ఉంటుంది.
లో ఉండగా లూప్, మేము 0x10 బైట్ PORTD బటన్ నొక్కినప్పుడు, పంపుతుంది మరియు బటన్ నొక్కినప్పుడు లేనప్పుడు 0x20 పంపుతుంది. మీరు పంపడానికి ఏదైనా విలువను ఉపయోగించవచ్చు.
(1) { if (PINB.0 == 1) { PORTD = 0x10; } if (PINB.0 == 0) { PORTD = 0x20; } } }
RF స్వీకర్త కోసం Atmega కోడ్
మొదట RF మాడ్యూల్ నుండి ఇన్కమింగ్ అక్షరాన్ని నిల్వ చేయడానికి శూన్యమైన ప్రధాన ఫంక్షన్ పైన వేరియబుల్స్ ప్రకటించండి.
# చేర్చండి
ఇప్పుడు కాసేపు లూప్కు రండి . ఈ లూప్లో, ఇన్కమింగ్ బైట్లను చార్ వేరియబుల్ బైట్కు నిల్వ చేయండి మరియు ఇన్కమింగ్ బైట్ మన ట్రాన్స్మిటర్ భాగంలో వ్రాసినట్లే అని తనిఖీ చేయండి. బైట్లు ఒకటే ఉంటే, PortB.0 అధిక మరియు పడుతుంది NOT LED మారుటకు PORTB.0 యొక్క.
(1) { బైట్ = పిండ్; if (PIND.7 == 0 && PIND.6 == 0 && PIND.5 == 0 && PIND.4 == 1) { PORTB.0 = ~ PORTB.0; delay_ms (1000); }}}
ప్రాజెక్ట్ను నిర్మించండి
మా కోడ్ పూర్తయింది. ఇప్పుడు, మేము మా ప్రాజెక్ట్ను నిర్మించాలి . చూపిన విధంగా బిల్డ్ ప్రాజెక్ట్ ఐకాన్ పై క్లిక్ చేయండి.
ప్రాజెక్ట్ను నిర్మించిన తరువాత , డీబగ్-> Exe ఫోల్డర్లో ఒక HEX ఫైల్ ఉత్పత్తి అవుతుంది, ఇది మీ ప్రాజెక్ట్ను సేవ్ చేయడానికి మీరు గతంలో చేసిన ఫోల్డర్లో చూడవచ్చు. సినాప్రోగ్ సాఫ్ట్వేర్ను ఉపయోగించి Atmega8 లో అప్లోడ్ చేయడానికి మేము ఈ HEX ఫైల్ను ఉపయోగిస్తాము.
Atmega8 కు కోడ్ను అప్లోడ్ చేయండి
ప్రోగ్రామ్ Atmega8 కు ఇచ్చిన రేఖాచిత్రం ప్రకారం మీ సర్క్యూట్లను కనెక్ట్ చేయండి. FRC కేబుల్ యొక్క ఒక వైపు USBASP ప్రోగ్రామర్కు హుక్అప్ చేయండి మరియు మరొక వైపు క్రింద వివరించిన విధంగా మైక్రోకంట్రోలర్ యొక్క SPI పిన్లకు కనెక్ట్ అవుతుంది:
- FRC మహిళా కనెక్టర్ యొక్క పిన్ 1 -> పిన్ 17, Atmega8 యొక్క MOSI
- పిన్ 2 atmega8 యొక్క Vcc కి కనెక్ట్ చేయబడింది, అంటే పిన్ 7
- పిన్ 5 atmega8 యొక్క రీసెట్కు కనెక్ట్ చేయబడింది అనగా పిన్ 1
- పిన్ 7 atmega8 యొక్క SCK కి కనెక్ట్ చేయబడింది, అంటే పిన్ 19
- పిన్ 9 atmega8 యొక్క MISO కి కనెక్ట్ చేయబడింది, అంటే పిన్ 18
- పిన్ 8 atmega8 యొక్క GND కి కనెక్ట్ చేయబడింది, అంటే పిన్ 8
సర్క్యూట్ రేఖాచిత్రం ప్రకారం బ్రెడ్బోర్డ్లో మిగిలిన భాగాలను కనెక్ట్ చేయండి మరియు సినాప్రోగ్ను తెరవండి .
మేము పైన ఉత్పత్తి చేసిన హెక్స్ ఫైల్ను సినాప్రోగ్ ఉపయోగించి అప్లోడ్ చేస్తాము, కాబట్టి దాన్ని తెరిచి , పరికర డ్రాప్ డౌన్ మెను నుండి Atmega8 ని ఎంచుకోండి. చూపిన విధంగా డీబగ్-> Exe ఫోల్డర్ నుండి HEX ఫైల్ను ఎంచుకోండి.
ఇప్పుడు, ప్రోగ్రామ్ పై క్లిక్ చేయండి.
మీరు పూర్తి చేసారు మరియు మీ మైక్రోకంట్రోలర్ ప్రోగ్రామ్ చేయబడింది. రిసీవర్ వైపు మరొక అట్మెగాను ప్రోగ్రామ్ చేయడానికి అదే దశలను ఉపయోగించండి.
పూర్తి కోడ్ మరియు ప్రదర్శన వీడియో క్రింద ఇవ్వబడింది.