ఈ ప్రాజెక్ట్లో మేము ఆర్డునోను ఉపయోగించి వినోదం యొక్క భాగాన్ని నిర్మించబోతున్నాము. ఏదైనా యాదృచ్ఛిక సంగీతాన్ని సృష్టించడానికి టేబుల్ లేదా పెన్ను నొక్కడం మనందరికీ అలవాటు. వాస్తవానికి ఇది మంచి పద్దతిగా పరిగణించబడకపోవచ్చు, కాని మనమందరం కనీసం ఒక్కసారైనా చేయడం ఆనందించండి. అందువల్ల ఆర్డునో యొక్క స్వరాలను ఆడే సామర్థ్యాన్ని ఉపయోగించడం ద్వారా దాన్ని తదుపరి స్థాయికి తీసుకెళ్లాలని అనుకున్నాను. మీరు ఈ ప్రాజెక్ట్ను నిర్మించిన తర్వాత మీరు మీ వేళ్లను వాహక దేనినైనా నొక్కడం ద్వారా టోన్లను ఉత్పత్తి చేయగలరు మరియు మీ స్వంత లయలను సృష్టించగలరు, ఇది మీ అరచేతిలో పియానో వాయించడం వంటిది. సరిగ్గా బాగుంది, దాన్ని నిర్మించుకుందాం.
అవసరమైన భాగాలు:
ఈ ప్రాజెక్ట్ కోసం అవసరమైన పదార్థాలు క్రింద ఇవ్వబడ్డాయి, అదే విధంగా ఉండటం తప్పనిసరి కాదు. మీరు భావనను పట్టుకున్న తర్వాత మీరు దానిని నిర్మించడానికి మీ స్వంత మార్గాన్ని ఉపయోగించవచ్చు.
- అర్దుని ప్రో మినీ
- పీజో స్పీకర్
- ఫ్లెక్స్ సెన్సార్
- ఫింగర్ గ్లోవ్స్
- 10 కె రెసిస్టర్లు
- BC547 ట్రాన్సిస్టర్లు
- 9 వి బ్యాటరీ
సర్క్యూట్ రేఖాచిత్రం మరియు వివరణ:
ఈ ఆర్డునో పామ్ పియానో కోసం సర్క్యూట్ రేఖాచిత్రం క్రింద చూపబడింది.
ఈ ప్రాజెక్ట్ మొత్తం నాలుగు సెన్సార్లను ఉపయోగిస్తుంది, అంటే రెండు ఫ్లెక్స్ సెన్సార్ మరియు రెండు డార్లింగ్టన్ జతలు టచ్ సెన్సార్గా పనిచేస్తాయి. మేము 10k విలువ యొక్క రెండు పుల్ డౌన్ రెసిస్టర్లు R1 మరియు R2 లను కూడా ఉపయోగించాము, ఇవి ఫ్లెక్స్ సెన్సార్ కోసం పుల్ డౌన్ రెసిస్టర్గా పనిచేస్తాయి. ఇక్కడ ఫ్లెక్స్ సెన్సార్ ఒక వేలిని ఉపయోగించి మూడు వేర్వేరు టోన్లను ఉత్పత్తి చేయడానికి ఉపయోగించబడుతుంది, ఇది ఎంత వంగి ఉంటుంది అనే దాని ఆధారంగా. కాబట్టి మనం రెండు వేళ్లను ఉపయోగించి 6 శబ్దాలను ఉత్పత్తి చేయవచ్చు. ఫ్లెక్స్ సెన్సార్ గురించి ఇక్కడ తెలుసుకోండి.
డార్లింగ్టన్ పెయిర్:
మేము కొనసాగడానికి ముందు డార్లింగ్టన్ అంటే ఏమిటి మరియు ఇది మా ప్రాజెక్ట్లో ఎలా పని చేస్తుందో తెలుసుకోవడం ముఖ్యం. డార్లింగ్టన్ జతను రెండు బైపోలార్ ట్రాన్సిస్టర్లుగా అనుసంధానించవచ్చు, ఆ విధంగా మొదటిదాని ద్వారా విస్తరించబడిన కరెంట్ రెండవ ట్రాన్సిస్టర్ చేత మరింత విస్తరించబడుతుంది. దిగువ చిత్రంలో డార్లింగ్టన్ జత చూపబడింది:
పైన చూపిన విధంగా మేము రెండు BC547 ట్రాన్సిస్టర్లను ఉపయోగించాము, దీని కలెక్టర్లు సేకరించడానికి ముడిపడి ఉన్నారు మరియు మొదటి ట్రాన్సిస్టర్ యొక్క ఉద్గారిణి రెండవ ట్రాన్సిస్టర్ యొక్క బేస్ తో అనుసంధానించబడి ఉంది. ఈ సర్క్యూట్ లాభంతో యాంప్లిఫైయర్గా పనిచేస్తుంది, అంటే మొదటి ట్రాన్సిస్టర్ యొక్క స్థావరానికి ఇచ్చిన ఏదైనా చిన్న సిగ్నల్ రెండవ ట్రాన్సిస్టర్ యొక్క ఆధారాన్ని పక్షపాతం చేయడానికి సరిపోతుంది. మన శరీరం ఇక్కడ ఒక మైదానంగా పనిచేస్తుంది కాబట్టి మేము ట్రాన్సిస్టర్ యొక్క ఆధారాన్ని తాకినప్పుడల్లా రెండవ ట్రాన్సిస్టర్ పక్షపాతంతో ఉంటుంది. దీన్ని మా అనుకూలంగా ఉపయోగించి మేము ఈ ప్రాజెక్ట్ కోసం టచ్ సెన్సార్ను నిర్మించాము.
పిన్ నంబర్ 2 మరియు 3 ఆర్డునోలోని అంతరాయ పిన్స్, ఇవి అంతర్గత పుల్-అప్ రెసిస్టర్లను ఉపయోగించి అధికంగా లాగబడతాయి మరియు డార్లింగ్టన్ స్విచ్ మూసివేసినప్పుడల్లా ఈ పిన్లు నేలమీద ఉంచబడతాయి. ఈ విధంగా మేము వైర్ను తాకిన ప్రతిసారీ (1 స్టంప్ ట్రాన్సిస్టర్ యొక్క బేస్ నుండి) ఆర్డునో నుండి అంతరాయం ఏర్పడుతుంది.
రెండు వేళ్లను ఉపయోగించడం రెండు రకాల టోన్లను మాత్రమే ఉత్పత్తి చేయగలదు, అందువల్ల నేను ఫ్లెక్స్ సెన్సార్ను కూడా జోడించాను, ఇది ఎంత వంగి ఉందో దాని ఆధారంగా టోన్ను మారుస్తుంది. వేలు (ఫ్లెక్స్ సెన్సార్) ఎంత వంగి ఉందో దాని ఆధారంగా వేలికి మూడు వేర్వేరు టోన్లను ఉత్పత్తి చేయడానికి నేను ప్రోగ్రామ్ చేసాను. మీ వేలి చిట్కాల వద్ద ఎక్కువ టోన్లు కావాలనుకుంటే మీరు సంఖ్యను పెంచవచ్చు.
నేను పూర్తి బోర్డును పెర్ఫ్ బోర్డులో చేసాను, తద్వారా ఇది నా అరచేతులకు సులభంగా సరిపోతుంది, కానీ మీరు బ్రెడ్బోర్డ్ను కూడా ఉపయోగించవచ్చు. మీ శరీరం ఏదో ఒక సమయంలో సర్క్యూట్ యొక్క భూమిని తాకినట్లు నిర్ధారించుకోండి. మీరు ప్రతిదీ టంకం చేసిన తర్వాత ఇది ఇలా ఉండాలి
పైన చూపిన విధంగా డార్లింగ్టన్ జత నుండి వైర్లను మరియు స్థితిలో ఉన్న ఫ్లెక్స్ సెన్సార్ను భద్రపరచడానికి నేను రెండు వేలు చేతి తొడుగులు ఉపయోగించాను. మీరు మీ స్వరాలను ఆడుతున్నప్పుడు వాటిని భద్రపరచడానికి మీ స్వంత (వీలైతే మంచిది) ఆలోచనతో మీరు రావచ్చు.
ఆర్డునో ప్రోగ్రామింగ్:
ఈ ఆర్డునో ట్యాప్ టోన్ జనరేటర్ కోసం ప్రోగ్రామ్ చాలా సరళంగా ముందుకు ఉంది. మేము డార్లింగ్టన్ వైర్ల నుండి అంతరాయాల కోసం వెతకాలి మరియు ఒకటి దొరికితే మనం టోన్ ప్లే చేయాలి, ఇది ఎంత ఫ్లెక్స్ సెన్సార్ వంగి ఉంటుందో దానిపై ఆధారపడి ఉంటుంది. పూర్తి కోడ్ ఈ పోస్ట్ చివరిలో ఇవ్వబడింది కాని నేను క్రింద కొన్ని ముఖ్యమైన భాగాలను వివరించాను.
గమనిక: ఈ ప్రోగ్రామ్ లైబ్రరీ “పిచ్స్.హెచ్” సహాయంతో పనిచేస్తుంది. కాబట్టి మీరు మీ ప్రోగ్రామ్కు కంపైల్ చేయడానికి ముందు హెడర్ ఫైల్ను జోడించారని నిర్ధారించుకోండి. మీరు ఇక్కడ నుండి pitches.h హెడర్ ఫైల్ను డౌన్లోడ్ చేసుకోవచ్చు.
లో సెటప్ ఫంక్షన్, మేము 2 మరియు 3 పిన్ ప్రారంభించడం పుల్ అప్ రెసిస్టర్స్ను ఇన్పుట్ వంటి. మేము వాటిని అంతరాయ పిన్లుగా ప్రకటించి, పిన్ 2 పై అంతరాయం ఉన్నప్పుడు టోన్ 1 () ను మరియు 3 వ పిన్లో అంతరాయం ఉన్నప్పుడు టోన్ 2 () ఫంక్షన్ను అమలు చేస్తాము. ఈ పిన్స్ వారి లాగిన స్థితి నుండి తక్కువ పొందినప్పుడల్లా ఈ అంతరాయాలు ప్రేరేపించబడతాయి.
శూన్య సెటప్ () {పిన్మోడ్ (2, INPUT_PULLUP); పిన్మోడ్ (3, INPUT_PULLUP); అటాచ్ఇంటరప్ట్ (డిజిటల్ పిన్టోఇంటరప్ట్ (2), టోన్ 1, తక్కువ); అటాచ్ఇంటరప్ట్ (డిజిటల్ పిన్టోఇంటరప్ట్ (3), టోన్ 2, తక్కువ); సీరియల్.బెగిన్ (9600); }
లూప్ ఫంక్షన్ లోపల, ఫ్లెక్స్ సెన్సార్ ఎంత వంగి ఉందో మేము నిరంతరం తనిఖీ చేస్తాము. ఉదాహరణకు నా ఫ్లెక్స్సెన్సర్ 1 ఫ్లాట్గా ఉన్నప్పుడు 200 చుట్టూ విలువలను ఇచ్చింది మరియు నేను దానిని గరిష్టంగా వంగినప్పుడు 130 కి పడిపోయింది, కాబట్టి నేను 3 వేర్వేరు రకాలను ఆడవలసి ఉన్నందున విలువను 200 నుండి 130 వరకు 1 నుండి 3 వరకు మ్యాప్ చేసాను. స్వరాలు. మీ ఫ్లెక్స్ సెన్సార్ విలువలు మరియు టోన్ల సంఖ్య ఆధారంగా మీరు ఈ రెండు పంక్తులను సర్దుబాటు చేయాలి.
void loop () {flexSensor1 = map (అనలాగ్ రీడ్ (A0), 200,130,1,3); // మీ ఫ్లెక్స్ సెన్సార్ ఫ్లెక్స్సెన్సర్ 2 = మ్యాప్ (అనలాగ్ రీడ్ (ఎ 1), 170,185,1,3) ఆధారంగా మీ స్వంత విలువలతో మ్యాప్ అప్ చేయండి; // మీ ఫ్లెక్స్ సెన్సార్ ఆధారంగా మీ స్వంత విలువలతో మ్యాప్ చేయండి}
మేము ముందుగా ఫంక్షన్ చూసినట్లుగా () tone1 ఆటంకం పిన్ 2. ఏమిటి లోపల జరుగుతుంది ఉన్నప్పుడు ఎదురయినపుడు అమలు అవుతుంది tone1 () ఫంక్షన్ పైన చూపించాం. మేము ఫ్లెక్స్సెన్సర్ 1 యొక్క విలువలను పరిశీలిస్తాము మరియు ఫ్లెక్స్సెస్నర్ విలువ ఆధారంగా టోన్ని ప్లే చేస్తాము. ఆర్డునో యొక్క టోన్ ఫంక్షన్ను ఉపయోగించి టోన్లు ఆడబడతాయి. మేము మా మునుపటి ప్రాజెక్ట్లోని టోన్ () ఫంక్షన్ను వివరించాము.
void tone1 () {if (flexSensor1 == 1) టోన్ (8, NOTE_D4,50); లేకపోతే (flexSensor1 == 2) టోన్ (8, NOTE_A3,50); లేకపోతే (flexSensor1 == 3) టోన్ (8, NOTE_G4,50); వేరే టోన్ (8, NOTE_D4,50); }
టోన్ ప్లే చేయడానికి క్రింది లైన్ ఉపయోగించబడుతుంది. మీరు “పిచ్స్.హెచ్” హెడర్ ఫైల్లో అందుబాటులో ఉన్న ఏదైనా టోన్ని ప్లే చేయవచ్చు. ఉదాహరణకు పైన పేర్కొన్న పంక్తి 50 మిల్లీ సెకన్ల వ్యవధిలో పిన్పై NOTE_A3 ను ప్లే చేస్తుంది.
స్వరం (8, NOTE_A3,50); // టోన్ (పిన్నమ్, గమనిక పేరు, వ్యవధి);
పని:
మీ హార్డ్వేర్ సిద్ధమైన తర్వాత, కోడ్ను అప్లోడ్ చేసి, వాటిని మీ వేళ్లపై మౌంట్ చేయండి. మీ శరీరం ఏదో ఒక సమయంలో సర్క్యూట్ భూమిని తాకినట్లు నిర్ధారించుకోండి. ఇప్పుడు ఏదైనా వాహక పదార్థాన్ని లేదా మీ శరీరాన్ని తాకండి మరియు మీరు సంబంధిత స్వరాన్ని వినగలుగుతారు. వేర్వేరు వ్యవధిలో మరియు వేర్వేరు స్థానాల్లో నొక్కడం ద్వారా మీరు మీ స్వంత శ్రావ్యత లేదా సంగీతాన్ని ప్లే చేయవచ్చు.
దిగువ వీడియో ఈ ప్రాజెక్ట్ యొక్క పూర్తి పనిని చూపిస్తుంది. మీరు ప్రాజెక్ట్ను నిర్మించడాన్ని ఆస్వాదించారని ఆశిస్తున్నాము, ఏవైనా సూచనలు లేదా ప్రశ్నలు క్రింద వ్యాఖ్య విభాగంలో పోస్ట్ చేయబడతాయి. మా ఆర్డునో ఆడియో ప్లేయర్ మరియు ఆర్డునో టోన్ జనరేటర్ ప్రాజెక్ట్ను కూడా తనిఖీ చేయండి.