Мазмуну:
- 1 -кадам: Компьютериңизге тиешелүү программалык камсыздоону жүктөп алыңыз
- 2 -кадам: Аппараттык
- 3 -кадам: Велосипедди стационардык велосипед стендине коюңуз
- 4 -кадам: Arduino кодун жүктөө жана текшерүү
- 5 -кадам: YouTube Controller орнотуу
Video: Реалдуу убакытта ылдамдыкты жөнгө салуу менен велосипед симулятору: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Бул долбоор спидометрди түзүү үчүн YouTube же башка медиада велосипед тебүү видеолорунун ылдамдыгын көзөмөлдөө үчүн магниттик камыш которгучту колдонот. Arduino миляны эсептеп, анан ошол маалыматты компьютердин баскычын басууну окшоштуруу үчүн колдонот. Бул баскычты басуу, Google Chrome кеңейтүүсү менен жупташып, ылдамдыктын өзгөрүшүнүн негизинде видеону тездетет же жайлатат. Бул Arduinoго жаңыдан баштагандар оңой эле өз алдынча түзө ала турган негизги аппараттык орнотууга ээ.
Спидометрдин коду бул долбоорго негизделген:
Аппараттык тизме:
1. Ардуино Леонардо
2. Микро USB кабели (Файлды өткөрүүгө жөндөмдүү болушу керек жана <3 фут)
3. Магниттик камыш которуштуруу
4. 10k Ом резистору
5. 22 ченегич зым (<4 фут)
6. Лайнер
7. Solder
8. Электр лентасы
9. Zip галстуктары
10. Стационардык велосипед стенди
11. Велосипед
1 -кадам: Компьютериңизге тиешелүү программалык камсыздоону жүктөп алыңыз
1. Arduino IDE
2. Видео ылдамдыгын көзөмөлдөөчү (Веб -браузердин кеңейтүүсү)
а. Google Chrome
б. Firefox
2 -кадам: Аппараттык
Бардык туташуулар биригип, электр лента менен жабыштырылышы керек. Arduino Arduino менен коштолгон пластикалык корпустун жардамы менен велосипедге орнотулушу мүмкүн (жогорудагы бөлүктөр тизмесинде шилтеме кылынган). Бул маанилүү, анткени эгер велосипед металлы төөнөгүчтөр менен түз байланышта болсо, анда керексиз байланыштарды түзүшү мүмкүн. Капчыкта велосипедге зип байлап турган тешиктер бар. 22 калибрлүү зым велосипеддин алкагына оролуп, скотч же зым галстук менен бекитилиши керек. Зымдын кыймылдоочу механизмдерге түшө турган жерлерге оролуп калбасын.
3 -кадам: Велосипедди стационардык велосипед стендине коюңуз
Велосипедди стационардык велосипед стендине бекитип, микро USB кабели сиздин компьютериңизге жетиши үчүн сиздин компьютериңизге жакын экенин текшериңиз. Ошондой эле, экранды ыңгайлуу көрүү үчүн көрүү аралыкыңыз ылайыктуу экенин текшериңиз. Велосипедди стендге кантип коопсуз орнотуу керектигин бул жерден тапса болот.
4 -кадам: Arduino кодун жүктөө жана текшерүү
Эгерде сиз Arduino IDEде жаңы болсоңуз, анда киришүү баракчасын бул жерден тапса болот. Белгилей кетчү нерсе, Леонардо файлды өткөрүп берүү мүмкүнчүлүгүнө ээ болгон жүктөө үчүн micro-USC кабелин талап кылат. Көптөгөн микро USB кабелдери кубаттоо үчүн гана колдонулат жана алар иштебейт. Ардуино Леонардо компьютер тарабынан таанылгандан кийин, төмөнкү кодду көчүрүү жана чаптоо жана жүктөө:
// Бул код велосипеддин ылдамдыгын табат жана аны компьютердин баскычтоп басуусуна айлантат
// эсептөөлөр
// шинанын радиусу ~ 13.5 дюйм // айланасы = pi*2*r = ~ 85 дюйм // максималдуу ылдамдыгы 35 миль/саат ~ 616 дюйм/секунда // максималдуу rps = ~ 7.25
#кошуу
#define камыш A0 // окуучу которуштурууга туташкан
// сактоо өзгөрмөлөрү
int reedVal; узак таймер; // бир толук айлануунун ортосундагы убакыт (мс менен) сүзүүчү миля; сүзүү радиусу = 13.5; // шинанын радиусу (дюймда) калкып жүрүү чөйрөсү; float vprevious; сүзүү ылдамдыгы;
int maxReedCounter = 100; // минута (мс менен) бир айлануу (дебюндоо үчүн)
int reedCounter;
жараксыз орнотуу () {
reedCounter = maxReedCounter; айланасы = 2*3.14*радиусу; pinMode (камыш, INPUT); Keyboard.begin (); // TIMER SETUP- таймердин үзүлүшү камыш которгучтун так убакыт ченөөлөрүнө мүмкүнчүлүк берет // arduino таймерлеринин конфигурациясы жөнүндө көбүрөөк маалымат үчүн https://arduino.cc/playground/Code/Timer1 cli () караңыз; // үзгүлтүктөрдү токтотуу
// таймер1 үзүлүүсүн 1 кГцге коюңуз
TCCR1A = 0; // бүт TCCR1A регистрин 0 TCCR1B = 0 деп коюу; // TCCR1B үчүн бирдей TCNT1 = 0; // таймердин санын 1 кГц өсүшү үчүн OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // CTC режимин күйгүзүү TCCR1B | = (1 < <WGM12); // CS11 битти 8 prescaler TCCR1B үчүн коюңуз | = (1 << CS11); // таймерди салыштыруу үзгүлтүгүн иштетүү TIMSK1 | = (1 << OCIE1A); sei (); // үзгүлтүктөргө уруксат берүү // END TIMER SETUP Serial.begin (9600); }
ISR (TIMER1_COMPA_vect) {// Камыш которгучту өлчөө үчүн 1 кГц жыштыгында үзгүлтүккө учуратуу
reedVal = digitalRead (reed); // A0 валына ээ бол (reedVal) {// эгер камыш которгуч жабылган болсо (reedCounter == 0) {// импульстар ортосундагы мүнөт vprevious = mph өттү; кечигүү (500); mph = (56.8*калкып чыгуу (айланасы))/калкып чыгуу (таймер); // саатына миля эсептөө таймер = 0; // таймер reedCounter = maxReedCounter; reedCounter терс reedCounter -= 1; // азайтуу reedCounter}}} башка {// эгер камыш которгуч ачык болсо (reedCounter> 0) {// reedCounter терс reedCounter -= 1; /decrement reedCounter}} if (таймер> 2000) {mph = 0; // эгер камыш которгучтан жаңы импульстар али жок болсо, mphти 0го коюңуз vprevious = 0; } башка {таймер += 1; // көбөйтүү таймери}}
Void controlComp () {
if (vprevious mph) // Видео ылдамдыгын төмөндөтүү {Keyboard.press (s)); Keyboard.releaseAll (); кечиктирүү (750); } if (vprevious == mph) // эч нерсе кылба {; }} void loop () {// mph басып чыгаруу секундасына эки жолу Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (vprevious);
Serial.print ("MPH:");
Serial.print ("\ t"); Serial.println (mph); controlComp (); }
Код ийгиликтүү жүктөлгөндөн кийин, сериялык мониторду ачыңыз. Арткы дөңгөлөк кыймылдабаганда, "MPH" жана "VPrevious" 0.00 окулушу керек. Дөңгөлөктү бир нече революцияга чейин ылдамдатып, анан басаңдата тургандай кылып буруңуз. Монитор ылдамдыкты жана d түрүн ылдамдатуу үчүн, ал эми басаңдоо үчүн s'лерди окушу керек. Эгерде дөңгөлөк айланганда эч кандай баалуулуктар пайда болбосо, магнит камыш которгуч тарабынан аныкталбашы мүмкүн. Магнит которгучтан өтүп баратканда, quit * clink * ызы -чуусун угуу менен, магниттин күчтүү экенин текшериңиз.
5 -кадам: YouTube Controller орнотуу
Акыркы кадам - велосипед менен жүрүү үчүн колдонууну каалаган YouTube видеолорун чыгаруу. Идея - велосипед тебүү учурунда пейзаждан ырахат ала турган биринчи адамдын видеолору. Мен ар кандай видео варианттарынын YouTube плейлистин аткардым. Алар бул биринчи критерийлерге туура келген видеолорду жүктөгөн бир нече каналдан турат. Алар ошондой эле булуттар аркылуу учуу жана биринчи адам укмуштуу окуялары үчүн кросс поезд саякаттары сыяктуу видеолор.
Сунушталууда:
M5StickC ESP32 күйөрманы менен жайкы эс алууңуздан ырахат алыңыз - Ылдамдыкты жөнгө салуу: 8 кадам
M5StickC ESP32 күйөрманы менен салкын жайыңыздан ырахат алыңыз - Ылдамдыкты жөнгө салуу: Бул долбоордо биз M5StickC ESP32 тактасын жана L9110 күйөрман модулун колдонуп, күйөрман ылдамдыгын кантип башкарууну үйрөнөбүз
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: 6 кадам (сүрөттөр менен)
Реалдуу убакытта кудуктун суу деңгээлин өлчөөчү: Бул көрсөтмөлөр казылган кудуктарда колдонуу үчүн арзан баада, реалдуу убакытта суунун деңгээлин эсептегичти кантип курууну сүрөттөйт. Суунун деңгээли өлчөгүч казылган кудуктун ичине илинип, суунун деңгээлин күнүнө бир жолу өлчөп, маалыматтарды WiFi же уюлдук байланыш аркылуу жөнөтүү үчүн иштелип чыккан
Ардуино UNO жана SD-Card менен нымдуулукту жана температураны реалдуу убакытта кантип жаздыруу керек - DHT11 Proteusтагы маалыматтарды каттоочу симуляциясы: 5 кадам
Ардуино UNO жана SD-Card менен нымдуулукту жана температураны реалдуу убакытта кантип жаздыруу керек | DHT11 Data Logger Simulation in Proteus: Киришүү: салам, бул Liono Maker, бул жерде YouTube шилтемеси. Биз Arduino менен креативдүү долбоор түзүп, камтылган системаларда иштейбиз. Дата-Логгер: Маалыматты жазуучу (ошондой эле маалыматтарды жазуучу же маалымат жазгыч)-бул убакыттын өтүшү менен маалыматтарды жазуучу электрондук түзүлүш
EM издерин колдонуу менен реалдуу убакытта түзмөктү таануу: 6 кадам
EM изин колдонуу менен реалдуу убакытта түзмөктү таануу: Бул түзүлүш ар кандай электрондук түзмөктөрдү EM сигналдарына ылайык классификациялоого арналган. Ар кандай түзмөктөр үчүн алар чыгарган ар кандай EM сигналдары бар. Биз бөлүкчөлөрдү колдонуп электрондук түзмөктөрдү аныктоо үчүн IoT чечимин иштеп чыктык
DIY 2000 ватт PWM ылдамдыкты жөнгө салуучу: 8 кадам (сүрөттөр менен)
DIY 2000 Ватт PWM ылдамдыкты жөнгө салуучу: Мен велосипедимди автоматтык эшик механизми үчүн DC кыймылдаткычынын жардамы менен электрдикке айландыруу боюнча иштеп келе жатам жана ал үчүн 84v DC токтоочу батарейка пакетин жасадым. Эми бизге энергия делосун чектей турган ылдамдыкты жөндөгүч керек