Բովանդակություն:
Video: Պլանշետ/հեռախոս, ինչպես Arduino էկրան, և $ 2 տատանում ՝ 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Չնայած Arduino- ի վրա հիմնված ծրագրի համար կարելի է գնել էժան 320x240 LCD սենսորային էկրան, այն ավելի հարմար կլինի, հատկապես ուրվագիծը նախատիպերի պատրաստելու և փորձարկելու համար, պլանշետը կամ հեռախոսը որպես սենսորային էկրան և էներգիայի աղբյուր օգտագործելը: նախագիծը: Ձեր Android սարքում կարող եք ունենալ շատ ավելի բարձր լուծաչափ և ավելի լավ տեսք ունեցող էկրան (օրինակ ՝ ձեր բոլոր տողերը հակածրագրավորված կլինեն):
Android- ի վրա հիմնված էկրանը կարող է միացվել USB սերիայի, Bluetooth- ի կամ WiFi- ի միջոցով (օրինակ ՝ ESP8266):
Այդ նպատակով ես գրեցի VectorDisplay (աղբյուրը այստեղ), Android ծրագիր, որը զուգորդվում է Arduino գրադարանով, որն իրականացնում է Adafruit GFX ինտերֆեյսի մեծ ենթաբազմություն: Կարող եք գրել ծածկագիր, որն այնուհետև կարող է հեշտությամբ տեղափոխվել ՝ ինքնուրույն էկրան օգտագործելու համար, կամ շարունակել օգտագործել ուրվագիծը Android- ի վրա հիմնված էկրանով: Եվ դուք կարող եք հրամաններ ուղարկել Android հավելվածից ՝ Arduino- ի էսքիզը վերահսկելու համար: Arduino գրադարանը հիմնականում անկախ տախտակից է. Այն պետք է աշխատի ցանկացած տախտակի հետ, որն ապահովում է USB սերիական պորտի օբյեկտ Serial անունով կամ ESP8266 WiFi- ով կամ Bluetooth- ով (նախ զուգակցեք ձեր տախտակը):
Որպես հայեցակարգի կիրառման ապացույց, ես տեղափոխեցի մերկ ոսկորներ STM32-O-Scope նախագիծը ՝ VectorDisplay- ի օգտագործման համար ILI9341 ցուցադրման փոխարեն: Արդյունքը ՝ շարժական, մարտկոցով աշխատող 1.7MS/վ տատանում է, որը պահանջում է ոչ ավելի, քան $ 2 STM32F103C տախտակ (օգտագործելով libmaple- ի վրա հիմնված Arduino միջուկը), երկու լար, USB OTG մալուխ և Android սարք:. Իհարկե, այն, ինչ դուք ստանում եք դրանով, 0 -ից մինչև 3.3 Վ լարման միջակայք է:
Քայլ 1: Տեղադրեք ծրագրակազմ
Ենթադրում եմ, որ դուք ունեք Arduino IDE ՝ ձեր նախընտրած տախտակի համար, և որ ձեր նախընտրած տախտակն ունի USB սերիական ինտերֆեյս:
Գնացեք ուրվագիծ | Ներառել գրադարան | Կառավարեք գրադարանները: Տեղադրեք «VectorDisplay» որոնման տարածքում և կտտացրեք «Տեղադրեք», երբ այն գտնվի:
Ներբեռնեք գրադարանի zip այստեղից:
Բացեք ձեր Arduino/libraries պանակի ներսում գտնվող թղթապանակի մեջ:
Ներբեռնեք VectorDisplay- ը Google Play- ից և տեղադրեք այն ձեր Android սարքում: Հնարավոր է, որ անհրաժեշտ լինի միացնել Android սարքի անհայտ աղբյուրներից տեղադրումը: Android ծրագիրը օգտագործում է UsbSerial գրադարանը, և ելակետը գրադարանի օրինակելի ծրագրերից մեկն էր:
Քայլ 2: Դեմո ուրվագիծ
Միացրեք ձեր տախտակը (անհրաժեշտության դեպքում `բեռնման ռեժիմում) ձեր համակարգչին և անցեք Ֆայլ | Օրինակներ | VectorDisplay | շրջանակներ ձեր Arduino IDE- ում: Կտտացրեք վերբեռնման կոճակին (աջ սլաք):
Գործարկեք VectorDisplay ծրագիրը ձեր Android սարքում: Միացրեք ձեր տախտակը Android սարքին USB OTG մալուխի միջոցով: (Եթե ձեր տախտակն ունի USB միկրո պորտ, համոզվեք, որ ձեր USB OTG հյուրընկալող կողմը անցնում է Android սարքին): Այժմ դուք պետք է թույլտվության հարցում ստանաք VectorDisplay- ի համար: Սեղմեք OK:
Եթե ամեն ինչ լավ ընթանա, VectorDisplay- ն այժմ էկրանի ձախ կողմում ցույց կտա երկու կոճակ ՝ Circle և Color: Circle սեղմելը նկարում է պատահական շրջան էկրանին, իսկ Color- ը գույնը փոխում է պատահական գույնի մինչև հաջորդ շրջանը:
Եթե նայեք IDE- ի շրջանակների ուրվագծին, կտեսնեք, որ սերիական վեկտորի ցուցադրումը հայտարարված է հետևյալով.
SerialDisplayClass էկրան;
այնուհետև սկզբնավորվում է setup () - ում ՝
Display.begin ();
Այնուհետեւ հրամանի կոճակները պահանջվում են Display.addButton () - ով: Այնուհետև loop () - ը կանչում է Display.readMessage () ՝ հրամանների կոճակների միջոցով ուղարկվող հրամաններ փնտրելու համար:
Լռելյայն, ցուցադրման կոորդինատային համակարգը 240x320 է: Այնուամենայնիվ, տողերն ու տեքստը գծված են ՝ օգտագործելով ձեր Android սարքի էկրանի ամբողջական լուծաչափը ՝ լավ արտաքին տեսքի համար հակալիզացմամբ: Այդ պատճառով հավելվածը կոչվում է Vector Display:
Քայլ 3: API
Գրադարանում API- ն գտնվում է VectorDisplay.h ֆայլում: Նախ պետք է նախաստորագրեք objectուցադրման օբյեկտ: USB- ի օգտագործման համար դա արեք ՝
SerialDisplayClass էկրան;
Նախագծեք Display.begin () - ի հետ կապը:
SerialDisplayClass օբյեկտում առկա են մեթոդների երկու փաթեթ. Մեկ հավաքածուն օգտագործում է 32-բիթանոց գույն (ներառյալ ալֆա) և հրամաններ, որոնք բավականին մոտ են USB սերիական արձանագրությանը, որն օգտագործում է իմ VectorDisplay ծրագիրը, իսկ մյուսը ստանդարտի ենթաբազմությունն է: Adafruit GFX գրադարանային մեթոդներ ՝ օգտագործելով 16-բիթանոց գույն: Մեծ մասամբ դուք կարող եք ազատորեն խառնել երկու հրամանների հավաքածու, բացառությամբ, որ եթե օգտագործում եք Adafruit- ի հետ համատեղելի մեթոդներ, ապա պետք է օգտագործեք 16-բիթանոց գունային հրամաններ, որոնց անունները 32 բիթերի փոխարեն ավարտվում են 565-ով:
Դուք կարող եք կոորդինատների համակարգը սահմանել Display.coordinates- ով (լայնություն, բարձրություն): Լռելյայն է լայնությունը = 240 և բարձրությունը = 320: Եթե ցանկանում եք ընդօրինակել ոչ քառակուսի պիքսելներով էկրանը, կարող եք օգտագործել Display.pixelAspectRatio (հարաբերակցությունը):
Մեթոդներից մի քանիսը, ներառյալ pixelAspectRatio (), վերցնում են FixedPoint32 փաստարկը: Սա լողացող կետի համար ներկայացնող 32-բիթանոց ամբողջ թիվ է, որտեղ 65536-ը ներկայացնում է 1.0-ը: Լողացող կետի համարը FixedPoint32- ի փոխարկելու համար կատարեք ՝ (FixedPoint32) (65536. * X) (կամ պարզապես TO_FP32 (x)):
Բացի Android կոճակներից հրամաններ ուղարկելու հնարավորությունից, էկրանի հպման իրադարձությունները նույնպես ուղարկվում են MCU:
WiFi- ի օգտագործման համար տե՛ս rings_esp8266 օրինակը: WiFiրագրում պետք է սեղմել USB կոճակը ՝ WiFi ռեժիմին անցնելու համար:
Bluetooth- ի համար դուք պետք է կարողանաք անել.
SerialDisplayClass էկրան (MyBluetoothSerial);
… MyBluetoothSerial.begin (115200); Display.begin ();
և այնուհետև շարունակեք այնպես, ինչպես USB սերիայի դեպքում, որտեղ MyBluetoothSerial- ը Stream- ի ցանկացած օբյեկտ է (օրինակ ՝ Serial2) միացված է ձեր Bluetooth ադապտերին:
Քայլ 4: 2 դոլար տատանում
Արագ և կեղտոտ տատանումների համար ձեզ հարկավոր կլինի կապույտ կամ սև (ավելի հեշտ է գործ ունենալ) հաբ STM32F103C8 տախտակ, որը Aliexpress- ում կարող եք ձեռք բերել 2 դոլարից ցածր գնով: Ես նկարագրում եմ, թե ինչպես պատրաստել տախտակը դրա համար Arduino միջավայրի հետ օգտագործման համար և էսքիզներ տեղադրել այստեղ:
Ներբեռնեք այս ուրվագիծը գրատախտակին, որը Pingumacpenguin- ի STM32-O-Scope էսքիզի փոփոխված տարբերակն է: Խմբագրեք #define BOARD_LED տողը ՝ ձեր տախտակին համապատասխանելու համար: Ես օգտագործում եմ սև հաբ, որի LED- ն PB12 է: Կապույտ դեղահատերը (և մի քանի սև դեղահատեր, որոնք ունեն նույն պինուսը, ինչ կապույտ դեղահատը) ունեն LED- ը PC13- ում:
Մի մետաղալար `հիմնավորված զոնդը միացրեք տախտակի գետնին, իսկ մյուսը` տախտակի B0 կապին: Միացրեք տախտակը Android սարքի հետ, որն աշխատում է VectorDisplay- ով, և ունեք շարժական, մարտկոցով աշխատող տատանում:
Լուսանկարում ես ունեմ օսլիլոսկոպ, որը միացված է ֆոտոտրանսիստորին: Էկրանի հետքը հեռուստացույցի ինֆրակարմիր հեռակառավարման վահանակից է:
Խորհուրդ ենք տալիս:
Ինչպես պատրաստել անլար թիթեղյա հեռախոս: (Arduino Walkie Talkie). 7 քայլ (նկարներով)
Ինչպես պատրաստել անլար թիթեղյա հեռախոս: (Arduino Walkie Talkie). Օրերս ես մի շատ կարևոր հեռախոսազանգի մեջ էի, երբ իմ բանանի հեռախոսը դադարեց աշխատել: Ես այնքան հիասթափված էի: Դա վերջին անգամն է, որ բաց եմ թողնում զանգը այդ հիմար հեռախոսի պատճառով: (Հետահայաց, ես գուցե մի փոքր չափազանց բարկացա
Մինի մարտկոցով աշխատող CRT տատանում. 7 քայլ (նկարներով)
Մինի մարտկոցով սնուցվող CRT տատանումներ. Բարև: Այս հրահանգում ես ձեզ ցույց կտամ, թե ինչպես պատրաստել մինի մարտկոցով աշխատող CRT տատանում: Oscilloscope- ը էլեկտրոնիկայի հետ աշխատելու կարևոր գործիք է. դուք կարող եք տեսնել բոլոր ազդանշանները, որոնք հոսում են շրջագծով, և խնդիրների լուծում
Point-to-point Լարման վերահսկվող տատանում `29 քայլ
Բարև! Դուք գտել եք մի նախագիծ, որտեղ մենք վերցնում ենք մեկ իսկապես էժան միկրոչիպ ՝ CD4069 (գեղեցիկ) և կպցնում որոշ մասեր դրան և ստանում շատ օգտակար սկիպիդար հետևող լարման վերահսկվող տատանում: Տարբերակը, որը մենք կկառուցենք, ունի միայն սղոցի կամ թեքահարթակի ալիքի ձև, որը
Կասետային երկակի ձգձգում + տատանում ՝ 8 քայլ
Կասետի երկակի ձգձգում + տատանում. Ոգեշնչված dmark2- ի նախագծով. Միկրոկասետային ժապավենի հետաձգում
Ինչպես պատրաստել բանանի հեռախոս (ֆիքսված հեռախոս) և բանանի բազային միավոր. 20 քայլ (նկարներով)
Ինչպես պատրաստել բանանի հեռախոս (ֆիքսված հեռախոս) և բանանի բազային միավոր. Սա այն է: Սուրբ Christmasնունդից ընդամենը մի քանի շաբաթ ունեք, և դուք պետք է գտնեք նվեր, որն իսկապես օրիգինալ է և ցույց է տալիս, թե որքանով եք ստեղծող: Կան հազարավոր ընտրություններ, բայց այն, ինչ իսկապես ուզում ես անել, բանանի հեռախոսն է