Мазмұны:

Ақылды интерактивті бағдаршам: 5 қадам (суреттермен)
Ақылды интерактивті бағдаршам: 5 қадам (суреттермен)

Бейне: Ақылды интерактивті бағдаршам: 5 қадам (суреттермен)

Бейне: Ақылды интерактивті бағдаршам: 5 қадам (суреттермен)
Бейне: "Ара" әдісі. Қызықты әдіс 2024, Қараша
Anonim
Ақылды интерактивті бағдаршам
Ақылды интерактивті бағдаршам

Әлемдегі ең жақсы және интерактивті бағдаршамды орнатуға дайынсыз ба? Жақсы! Бұл оқулықта біз Arduino көмегімен өз қолыңызбен қалай құрылысқа болатынын түсіндіреміз.

Қажетті компоненттер:- Arduino (..duh)- LM317 Mosfet- 2x 60 см аналогтық RGB светодиодты жолақтар (12В)- ПВХ түтігі (1мх 125мм)- Кабельдер (қызыл және қара)- Жарық қақпақтарға арналған металл плиталар- Жарық үшін акрил -белгілер (.svg белгішелерін flaticon.com сайтынан тексеріңіз)- Қара және ақ бояуды шашырату.- Электрлік таспа- Барлық қажетті дәнекерлеу компоненттері- Қажетті қалқаны бар дисплей (оқулықта қолданылмайды)

1-қадам: 1-қадам: Жеңіл қақпақтарды жасаңыз

1-қадам: Жеңіл қақпақтарды жасаңыз
1-қадам: Жеңіл қақпақтарды жасаңыз

Дизайн шынымен сізге байланысты. Біз шамдарды ұстап тұру үшін 15х15 см қақпақ жасадық. Біз металл тақталарды дұрыс мөлшерде кесіп алдық және қақпақтарды дұрыс пішінде ию үшін металл иілгішті қолдандық (жоқ, Аватардан емес). Артқы тақталар басқа компоненттен жасалған.

2 -қадам: 2 -қадам: ПВХ полюсін дайындау

2 -қадам: ПВХ полюсін дайындау
2 -қадам: ПВХ полюсін дайындау

ПВХ полюсінде жарық қақпақтарын орнату үшін 2 тесік кесіңіз. Содан кейін барлық нәрсені қара түске бояу үшін қара бояу бүріккішін қолданыңыз. Қаласаңыз, полюстің түбіне ақ жолақтарды қосуға болады (Нидерландыда жиі кездеседі).

3 -қадам: 3 -қадам: RGB светодиодты жолақтарын жинау және акрил пластиналарын құммен үрлеу

3 -қадам: RGB светодиодты жолақтарын жинау және акрил пластиналарды құммен үрлеу
3 -қадам: RGB светодиодты жолақтарын жинау және акрил пластиналарды құммен үрлеу
3 -қадам: RGB светодиодты жолақтарын жинау және акрил пластиналарын құммен үрлеу
3 -қадам: RGB светодиодты жолақтарын жинау және акрил пластиналарын құммен үрлеу

Содан кейін сізге RGB жарықдиодты жолақтарды жарық қақпағының ішіне жинау қажет. Оларды қақпақтың айналасына мықтап бекітіңіз және оларды алдыңғы жағына мүмкіндігінше жақын орналастырыңыз.

Әрі қарай сізге акрил пластинадағы таңбаны құммен тазалау қажет болады. Таспаны алыңыз және акрил пластинасын жабыңыз. Содан кейін қалаған пішінді/фигураны кесіңіз. Осыдан кейін пластинаны құммен тазалап, аяз тәрізді әсерге қол жеткізуге болады.

4 -қадам: 4 -қадам: RGB светодиодты жолақтарын Arduino -ға қосыңыз

4 -қадам: RGB жарықдиодты жолақтарын Arduino -ға қосыңыз
4 -қадам: RGB жарықдиодты жолақтарын Arduino -ға қосыңыз

Енді қиын бөлігі келеді: RGB LED жолақтарын Arduino -ға қосу. Түйреуіштерді қосқан кезде жолақтың 12 вольтіне 12 вольтты орнатқаныңызға көз жеткізіңіз. Әр түстің арасында қызыл немесе жасыл түске мосфет қою керек. Жетекші жолақтың деректерін мосфеттің ортаңғы түйреуішіне, ал сол жақ түйреуішті Arduino -ға қосыңыз. Оң жақ түйреуіш Ардуино жеріне қайта оралуы керек.

5 -қадам: 5 -қадам: Arduino кодын жазыңыз

5 -қадам: Arduino кодын жазыңыз
5 -қадам: Arduino кодын жазыңыз

Бұл Arduino коды bluetooth арқылы басқарылады, себебі біз ішкі дисплейді пайдаланбадық. Осылайша, код bluetooth хабарламалары арқылы loop () функциясымен басқарылады.

#анықтау r 6 #анықтау g 11 #қосу

SoftwareSerial mySerial (10, 11); // RX, TX

#ашулануды анықтаңыз Ұзындығы 4

#құлауды анықтаңыз Ұзындығы 3 #бақыттыБолуды4 ұзақтығын анықтаңыз #Телефонның ұзақтығын 13 анықтаңыз #сөйлеуді анықтаңыз Ұзақтығын 5 #жаяу жүруді анықтаңыз Ұзақтығын 4 #анықтайтын жүрудіАзынҰзындығын 4 #Ұзындықты 6 анықтаңыз

bool түймесі басылды;

int currentMillis; int previousMillis;

int animation1Delay;

int animation2Delay; int animation3Delay; int animation4Delay;

bool animation1Done = жалған;

bool animation2Done = жалған; bool animation3Done = жалған; bool animation4Done = жалған; bool анимациясы5Done = жалған;

bool blockLight = жалған;

bool lightRed = ақиқат;

int currentAnimationDelay;

жарамсыз орнату () {

// орнату кодын бір рет іске қосу үшін осында қойыңыз: pinMode (r, OUTPUT); pinMode (g, OUTPUT);

Serial.begin (9600);

mySerial.begin (38400); Serial.setTimeout (25); buttonPressed = жалған; currentMillis = 0; алдыңғыMillis = 0;

animation1Delay = жаяу ұзындығы * 1000;

animation2Delay = wavingLength * 1000; animation3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;

// currentAnimationDelay = animation1Delay * 1000;

lightRed = ақиқат; }

void loop () {

// кешіктіру (20);

// бірнеше рет іске қосу үшін негізгі кодты осында қойыңыз: unsigned long currentMillis = millis (); if (buttonPressed == true) {if (animation1Done == false) {if (currentMillis - previousMillis> animation1Delay) {Serial.println («0»); алдыңғыMillis = currentMillis; animation1Done = ақиқат; }} else if (animation2Done == false және animation1Done == true) {if (currentMillis - previousMillis> animation2Delay) {Serial.println («1»); алдыңғыMillis = currentMillis; animation2Done = ақиқат; }} else if (animation3Done == false және animation2Done == true) {if (currentMillis - previousMillis> animation3Delay) {Serial.println («2»); //Serial.println("sound:green «); алдыңғыMillis = currentMillis; animation3Done = ақиқат; lightRed = жалған; }} else if (animation4Done == false және animation3Done == true) {if (currentMillis - previousMillis> animation4Delay) {previousMillis = currentMillis; animation4Done = ақиқат; Serial.println («FLSH»); }}}

if (Serial.available ()) {

Жол str = Serial.readString (); егер (str == «CMD: BUTTON_PRESSED») {

animation1Done = жалған;

animation2Done = жалған; animation3Done = жалған; animation4Done = жалған; animation5Done = жалған;

animation1Delay = жаяу ұзындығы * 1000;

animation2Delay = wavingLength * 1000; animation3Delay = happyLength * 1000; animation4Delay = walkingOutLength * 1000;

// currentAnimationDelay = animation1Delay * 1000;

lightRed = ақиқат; Serial.println («3»); buttonPressed = true; алдыңғыMillis = currentMillis; }

егер (str == «ҚЫЗЫЛ») {

blockLight = жалған; lightRed = ақиқат; }

егер (str == «ЖАСЫЛ») {

blockLight = жалған; lightRed = жалған; }

if (str == «LIGHT: GREEN: OFF») {

blockLight = ақиқат; analogWrite (g, 255); } if (str == «LIGHT: GREEN: ON») {blockLight = true; analogWrite (g, 0); } //Serial.println(str); }

егер (blockLight == жалған) {

егер (lightRed == true) {

analogWrite (r, 0); analogWrite (g, 255); } if (lightRed == false) {analogWrite (r, 255); analogWrite (g, 0); }}}

Ұсынылған: