Мазмұны:

Қосу қосқышы: 7 қадам (суреттермен)
Қосу қосқышы: 7 қадам (суреттермен)

Бейне: Қосу қосқышы: 7 қадам (суреттермен)

Бейне: Қосу қосқышы: 7 қадам (суреттермен)
Бейне: Басқа тышты деген осы 😡 2024, Қараша
Anonim
Image
Image

Бірде туысым менен қол соғуға жауап беретін қосқышты жасай аламын ба деп сұрады. Мен жоба жасау үшін кейбір нәрселерге тапсырыс бердім және әркімде осындай керемет қосқыш болуы үшін нұсқаулық жасауға шешім қабылдадым.

Микроконтроллер - бұл жобаның миы. Микроконтроллерге дыбыс датчигі қосылған, дыбыс анықталған кезде сенсор аналогты деректерді жібереді. Микроконтроллер дыбыстың үлкен айырмашылығын анықтауға арналған. Шапалақты білдіретін жеткілікті жоғары айырмашылық анықталған кезде микроконтроллер реле сигналын жібереді. Реле қосылады және жарық қосылады. Екінші рет шапалақтау кезінде жарық қайтадан сөнеді.

Жабдықтар

Физикалық заттар:

  • Бағдарламалауға арналған кабелі бар 1x ATmega328P Xplained Mini
  • 1х 5в релелік модуль 1-арна (KY-019 немесе ұқсас)
  • 1x Дыбыс сенсоры модулі (KY-038 немесе ұқсас)
  • 1x Нан тақтасы
  • 6x Еркек-Еркек сым
  • Сымы бар 1x жарық ұясы (немесе қосқыңыз келетін кез келген басқа құрылғы)
  • 1x шам
  • 1x резистор* (мен 220 Ом қолданамын)
  • 1x жарық диоды*

Бағдарламалық қамтамасыз ету (жүктеу):

  • AtmelStudio 7.0 (https://www.microchip.com/mplab/avr-support/atmel-studio-7)
  • Шпатлевка (www.putty.org)*

* Тестілеу мақсатында

1 -қадам: Қосылымдар

Бағдарламаны құру
Бағдарламаны құру

Барлық сымдарды суретте көрсетілгендей қосыңыз.

2 -қадам: Бағдарламаны құру

Бағдарламаны құру
Бағдарламаны құру
Бағдарламаны құру
Бағдарламаны құру

Мен C тілінде кодтауды жақсы көремін, сондықтан бұл жоба C тілінде жазылған.

Егер сіз қажетті бағдарламалық жасақтаманы әлі жүктеп, орнатпаған болсаңыз, оны қазір жүктеп алып, орнатыңыз.

Енді келесі қадамдарды орындаңыз:

  1. AtmelStudio ашыңыз.
  2. «Файл» -> «Жаңа» -> «Жоба» түймесін басыңыз.
  3. «GCC C орындалатын жоба» түймесін басыңыз. Жобаңызға атау мен сақтау орнын беріңіз. «Жарайды» түймесін басыңыз.
  4. ATmega328P іздеңіз. «ATmega328P» -> «Жарайды» түймесін басыңыз.
  5. Негізгі бағдарламаны ашу үшін «main.c» ішіндегі Solution Explorer -ді нұқыңыз.

3 -қадам: кодты қосу

Main.c -те бұрыннан бар кодты жойыңыз

Келесі кодты көшіріп, main.c -ге қойыңыз

#F_CPU 16000000 анықтаңыз

#қосу #қосу #қосу #қосу «usart.h» #анықтаңыз MINIMALVALUE 5 void InitADC (); uint16_t ReadADC (uint8_t ADCchannel); қос val1, val2; int main (void) {// USART USART_init (9600) инициализациясы; USART_putstr («#USART init / n»); // ADC InitADC () инициализациясы; USART_putstr («#ADC init / n»); // PORTC шығысының PC1 түйрегіші, қалғаны - кіріс. DDRC = 0b00000010; // бастапқы мәндерді PORTC төменге қойыңыз. PORTC = 0b00000000; while (1) {// потенциометрдің мәнін оқу // мәнді оқу және сақтау val1 val1 = ReadADC (0); _кешігу (1); // val2 -де сақталатын келесі мәнді оқыңыз val2 = ReadADC (0); char str [10]; // ReadADC () мәнді бүтін сандарға қайтарады. Егер біз жөндеуге немесе шпатлевкадағы мәнді көргіміз келсе, // мәнді таңбаларға түрлендіру қажет, сондықтан USART оны басып шығара алады. itoa (val1, str, 10); USART_putstr (str); USART_putstr («\ n»); // егер 2 мәнде белгілі бір айырмашылық болса. Дыбыс анықталып, портты ауыстырады. // MINIMALVALUE өзгертуге болады, оны жоғарылату сезімталдығын төмендетеді. Төмендеу оны сезімтал етеді, егер (val1-val2> MINIMALVALUE || val2-val1> MINIMALVALUE) {PORTC ^= 0b00000010; // LIGHT ON UC _delay_ms (200); }}} void InitADC () {// Vref = AVcc ADMUX | = (1 << REFS0) таңдаңыз; // алдын ала жүктеушіні 128 етіп орнатыңыз және ADC ADCSRA | = (1 << ADPS2) | (1 << ADPS1) | (1 << ADPS0) | (1 << ADEN) қосыңыз; } uint16_t ReadADC (uint8_t ADCchannel) {// қауіпсіздік маскасымен ADC арнасын таңдаңыз ADMUX = (ADMUX & 0xF0) | (ADCchannel & 0x0F); // бір түрлендіру режимі ADCSRA | = (1 << ADSC); // ADC түрлендіру аяқталғанша күтіңіз (ADCSRA & (1 << ADSC)); ADC қайтару; }

4 -қадам: USART қосу

USART қосу
USART қосу

USART - бұл микроконтроллерде қолдануға болатын сериялық байланыс хаттамасы. Мен сенсордан аналогты деректерді көру үшін микроконтроллерде қолданамын.

USART дұрыс бағдарламаланған, онда тақырып (.h) және бастапқы (.c) файл бар. 2 файлды жүктеп алып, оларды AtmelStudio бағдарламасына қосыңыз.

Solution Explorer ішіндегі жоба атауын тінтуірдің оң жақ түймешігімен нұқыңыз. «Қосу» -> «Бар элемент …» түймесін басып, жүктелген 2 файлды таңдаңыз.

5 -қадам: кодты іске қосу

Кодты іске қосу
Кодты іске қосу
Кодты іске қосу
Кодты іске қосу

Микроконтроллерді компьютерге қосыңыз. Компьютерден «құрылғы менеджерін» іздеңіз және оны ашыңыз. «Порттар (COM & LPT)» дегенді іздеңіз және микроконтроллердің COM портын қосқанын есте сақтаңыз.

PuTTY ашыңыз және «Сериялық» түймесін басыңыз, микроконтроллерден тапқан COM-портын енгізіңіз және «Ашу» түймесін басыңыз. Терминал пайда болады, оны әзірге қалдырыңыз.

Микроконтроллерді бағдарламалауға қажетті құралды таңдау үшін AtmelStudio -ға оралыңыз.

  1. Балға құралын басыңыз.
  2. «MEDBG*ATML» отладчикті/бағдарламашыны таңдаңыз.
  3. «DebugWIRE» интерфейсін таңдаңыз.
  4. «Жөндеусіз бастау» түймесін басыңыз.

Бағдарлама құрастырады және жазады.

Бағдарлама дұрыс жұмыс істегенде puTTY ішіндегі бүтін мәндерді көресіз. Бұрауышты пайдаланып, сенсордағы бұранданы бұру арқылы puTTY -де көрінетін мәнді өзгертуге болады. Менің сенсорым бұранданы толық айналдыру кезінде 0 -ден 1000 -ға дейінгі мәндерді береді. Мен бұранданы жалпы мәннің 100 -ге (10%) айналдырамын. Бұл мен үшін жұмыс істейтінін білдім.

6 -қадам: сезімталдықты өзгерту

Жарық қосылған кезде сезімталдықты реттеу үшін 2 опцияны қолдануға болады, бірақ екеуін де емес, біреуін таңдаңыз:

  1. Датчиктің бұрандасын ауыстыру;
  2. Код мәнін өзгерту.

Мен 2 -нұсқаны қолданамын. MINIMALVALUE ұлғайту оның сезімталдығын төмендетеді, азайту оны сезімтал етеді.

#минималды мәнді анықтаңыз 5

7 -қадам: Сізге ұнайтын нәрсені ауыстырыңыз

Сізге ұнайтын нәрсені ауыстырыңыз!
Сізге ұнайтын нәрсені ауыстырыңыз!
Сізге ұнайтын нәрсені ауыстырыңыз!
Сізге ұнайтын нәрсені ауыстырыңыз!

ЕСКЕРТУ: жоғары кернеуді ауыстырған кезде абай болыңыз

Сенсордың сезімталдығына риза болсаңыз, схеманы өзгертуге болады. Жоғарыдағы суреттегідей тізбекті өзгертіңіз. Енді сіз өзіңізге ұнайтын нәрсені ауыстыра аласыз!

Ұсынылған: