
Мазмұны:
2025 Автор: John Day | [email protected]. Соңғы өзгертілген: 2025-01-23 14:51

Сәлеметсіз бе, бұл жоба сенсорлар сезетін көрінбейтін бөлшектерден көрінетін графика жасауға арналған. Бұл жағдайда мен жарық пен қашықтықты басқару үшін ультрадыбыстық сенсор мен фоторезисторды қолдандым. Мен сенсордан айнымалыларды өңдеу кезінде айнымалы етіп жасау арқылы елестетемін. Содан кейін мен Arduino мен Processing -ті Arduino -ді өңдеу арқылы басқаруға қосамын. Осылайша, өңдеу графигі Arduino сенсорының айнымалыларын қолданады.
1 -қадам: 1 -қадам: бөлшектерді дайындау

Бұл жобаны жасау үшін сізге қажет компоненттер:
- 10k OHM
- Ультрадыбыстық сенсор
- Фоторезистор
- Ардуино Уно
- 7 сым
2 -қадам: 2 -қадам: Барлық компоненттерді қосыңыз

Фоторезистор мен ультрадыбыстық сенсорға дәл анықтау үшін кеңістік қажет. Біршама орынды үнемдеңіз және фоторезистор үшін жарық туралы ойланыңыз.
3 -қадам: 3 -қадам: Код

*Arduino мен Processing -те кітапхана қосыңыз.
Arduino: кітапханадан «жаңа пинг» іздеңіз
Өңдеу: кітапханадан «сериялық» іздеу
Arduino коды:
#қосу
#TRIGGER_PIN 12 анықтау #ECHO_PIN 11 анықтау #MAX_DISTANCE 200 анықтау
NewPing sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int lightSensorPin = A0; int analogValue = 0;
void setup () {Serial.begin (9600); }
void loop () {int Value1 = sonar.ping_cm (); Мән1 = карта (Мән1, 1, 60, 500, 24); Мән1 = шектеу (Мән1, 24, 500);
analogValue = analogRead (lightSensorPin); int cVal1 = карта (analogValue, 200, 600, 249, 100);
int cVal2 = карта (analogValue, 200, 600, 247, 97);
int cVal3 = карта (analogValue, 200, 600, 243, 101);
int cVal4 = карта (analogValue, 200, 600, 243, 150);
кешіктіру (50);
Serial.print (Value1); Serial.print («,»);
Serial.print (cVal1); Serial.print («,»); Serial.print (cVal2); Serial.print («,»); Serial.print (cVal3); Serial.print («,»); Serial.print (cVal4); Serial.print («,»);
Serial.println (); }
Өңдеу коды:
// сынып: (негізгі) //
импортты өңдеу.сериал.*;
int end = 10; Жол сериясы; Сериялық порт;
int pcount = 350; Бөлшек p = жаңа бөлшек [pcount]; int диагональды; int e = 100;
void setup () {port = new Serial (this, «/dev/cu.usbmodem141101»); port.clear (); serial = port.readStringUntil (соңы); сериялық = бос; үшін (int i = 0; i
қалқымалы айналу = 0;
void draw () {while (port.available ()> 0) {serial = port.readStringUntil (end); кешіктіру (10); } if (serial! = null) {String a = split (serial, ','); println (a [0]); println (a [1]); println (a [2]); println (a [3]); println (a [4]); int result1 = Integer.parseInt (a [0]); System.out.println (нәтиже1); frameRate (нәтиже1); int result2 = Integer.parseInt (a [1]); System.out.println (нәтиже2); int result3 = Integer.parseInt (a [2]); System.out.println (нәтиже3); int result4 = Integer.parseInt (a [3]); System.out.println (нәтиже4); int result5 = Integer.parseInt (a [4]); System.out.println (нәтиже5); фон (нәтиже2, нәтиже3, нәтиже4); аудару (ені/2, биіктігі); айналу-= 0.0005; айналдыру (айналдыру); for (int i = 0; i диагональ) {p = жаңа бөлшек (); }}}}
// сынып: бөлшек //
сынып Бөлшек {float n; float r; жүзу o; қалқыма c; қалқыма d; int l; Бөлшек () {l = 100; n = кездейсоқ (3, ені/2); r = кездейсоқ (0.10, TWO_PI); o = кездейсоқ (1, кездейсоқ (1, ені/n)); c = кездейсоқ (180, 228); d = кездейсоқ (160, 208); } void draw () {l ++; pushMatrix (); айналдыру (r); аудару (drawDist (), 1); эллипс (10, 10, ені/о/4, ені/о/4); popMatrix (); o- = 0,06; } float drawDist () {return atan (n/o)*width/HALF_PI; }}
4 -қадам: 4 -қадам: Қосылу және тестілеу

5 -қадам: 5 -қадам: Нәтижені қараңыз

Кез келген нәрсе ультрадыбыстық сенсорға жақындаған кезде қозғалатын доптың жылдамдығы тез болады. Сонымен қатар, фоторезисторы бар жарықты басқару фондық қараңғылық ретінде өңделетін болады.
Ұсынылған:
Маршрутизатордың автоматты ауысуы: 4 қадам

Маршрутизаторға арналған автоматты уақытты ауыстыру: Біз әр кеш сайын ұйықтайтынбыз, ал маршрутизатор күн сайын үзіліссіз жұмыс жасады. Қуатты күн сайын өшіру өте қиын, сондықтан мен мұны жасаймын, себебі мен оны автоматты түрде өшірудің жолын іздедім. Www.aipcba.com ұсынғаны үшін рахмет
Акустикалық гитараның электро басс гитарасына ауысуы: 5 қадам

Акустикалық гитараны электро басс гитарасына айналдыру: Мен 15 жасымда сыйлық ретінде бірінші классикалық гитарамды алдым. Жылдар өте келе менде бюджеті төмен электр гитаралар мен жартылай акустикалық гитаралар болды. Бірақ мен ешқашан өзімді бас сатып алмадым. Бірнеше апта бұрын мен ақшаны өзгертуге шешім қабылдадым
DIY 5v - 3.3v логикалық деңгейлерінің ауысуы: 3 қадам

DIY 5v-3.3v логикалық деңгейлерді ауыстыру: логикалық деңгейлерді ауыстыру-бұл кейбір цифрлық чиптердің жұмыс істеуі үшін қажет кернеудің бір деңгейін екіншісіне ауыстыру үшін қолданылатын мысал. arduino бізге arduino логикасын 3.3v -ге ауыстыру керек
220 В -тан 24 В -қа дейінгі 15А қуат көзі - Қуат көзінің ауысуы - IR2153: 8 қадам

220 В -тан 24 В -қа дейінгі 15А қуат көзі | Қуат көзінің ауысуы | IR2153: Сәлеметсіз бе, бүгін біз 220 В -тан 24 В -қа дейінгі 15А қуат көзін жасаймыз | Қуат көзінің ауысуы | IR2153 ATX қуат көзінен
Тұтқаны пайдаланып POP-X2 GLCD-де түс ауысуы: 6 қадам

Тұтқаны пайдалану арқылы POP-X2 GLCD-де түс ауысуы: Негізінен бұл жоба мен қолдануды ұнататын контроллер тақтасының ерекшеліктерін көрсетеді. INEX жасаған POP-X2 тақтасында кірістірілген түсті GLCD, тұтқасы, енгізу-шығару порттары мен басқа контроллер тақталарына ұқсас компоненттері бар. Басқару нұсқаулығын қараңыз