Мазмуну:
Video: PCBWay Arduino Bicycle Odometer: 4 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:36
Көптөгөн унааларда, басып өткөн аралыкты эсептеген жана айдоочуга маалымат берүү үчүн зарыл болгон түзүлүштөр бар.
Ошентип, бул маалымат аркылуу, мисалы, унаанын одометри аркылуу эки чекиттин ортосундагы аралыкты көзөмөлдөөгө болот.
Жабдуулар
01 PCBWay Көнүмүш PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 дисплей - UTSOURCE
01 х Breadboard - UTSOURCE
01 x Wire Jumpers - UTSOURCE
01 x 10kR Ротари потенциометр - UTSOURCE
01 x UTSOURCE Reed Switch - UTSOURCE
Ошондуктан, бул макала аркылуу биз камыш которгуч сенсорунун жардамы менен аралыкты эсептөөчү аппаратты кантип чогултууну үйрөтөбүз.
1 -кадам: Долбоор
Төмөнкү долбоор спорт залдын велосипеди менен басып өткөн аралыкты эсептөө үчүн түзүлгөн. Мындан тышкары, сиз долбоор үчүн программалоону кантип түзүүнү үйрөнөсүз.
Бул долбоордун үч функциясы бар:
- Велосипед менен басып өткөн аралыкты эсептөө;
- Түзмөктү ишке киргизүү радиусунун конфигурациясы;
- Ар кандай велосипедге ылайыкташтырылган.
Бул функцияларга жетүү үчүн, колдонуучу системанын үч баскычын колдонот. Ар бир баскыч сиздин функцияңызга ээ. Системада бизде төмөнкү баскычтар бар:
Көбөйтүү баскычы: Бул дөңгөлөктөрдүн радиусун конфигурациялоо жана радиустун чоңдугун көбөйтүү опциясына кирүү үчүн колдонулат;
Азайтуу баскычы: Бул дөңгөлөктөрдүн радиусун конфигурациялоо опциясын азайтуу үчүн колдонулат;
Кирүү баскычы: Бул тутумдагы радиустун маанисин киргизүү үчүн колдонулат.
Мындан тышкары, бизде камыш которуу сенсору бар. Бул дөңгөлөктөрдүн толук бурулушун аныктоо үчүн жооптуу. Муну аныктоо үчүн, itis дөңгөлөктөргө магнит орнотушу керек.
Камыш которгуч жогорудагы сүрөттө берилген.
2-кадам:
Ошентип, магнит сенсорго жакындаган сайын Reed Switch сенсорун иштетет. Процесс төмөнкү теңдеме аркылуу иштейт:
Саякатталган аралык = 2 * π * радиусу * TurnNumber
Бул теңдеме аркылуу биз велосипед басып өткөн аралыкты билебиз.
Теңдемеде радиус колдонуучу тарабынан киргизилет жана Turn Number дөңгөлөктүн бурулуштарынын саны аркылуу эсептелет.
Ал эми дөңгөлөктүн бурулушун аныктоо үчүн велосипед дөңгөлөгүнө магнит орнотуу жана Рулдун жанына Камыш которуу сенсорун орнотуу керек.
Процессти жеңилдетүү үчүн, камыш которуу сенсорун жана үч баскычты туташтыруу үчүн басылган схеманы түзөбүз. Басып чыгарылган схема төмөндөгү сүрөттө көрсөтүлгөн.
3 -кадам:
ПХБда көрсөтүлгөндөй Arduino Nanoну көрүүгө болот. Бул бардык системаларды көзөмөлдөө үчүн жооптуу. Мындан тышкары, бизде 5 JST туташтыргычы бар.
C4 C4 туташтыргычы үч баскычты жана камыш которуу сенсорун туташтыруу үчүн колдонулат. Эми, C5 Connector LCD 16x2 I2C туташтыруу үчүн колдонулат.
Ошондуктан, бул система аркылуу сиз долбоорду велосипедге орнотуп, басып өткөн аралыктын баасын ала аласыз.
Бул үчүн сиз төмөндө көрсөтүлгөн кодду колдоно аласыз.
#кошуу #кошуу
/*
Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter */
120
125
#аныктоо ReedSwitch 8
#аныктооботаоэнтерок 11
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
бол сенсор = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
байт cont = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
float DistKm = 0;
unsigned int raio = 0; float Distancia = 0;
жараксыз орнотуу ()
{Serial.begin (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd.begin (16, 2);
// Конфигурациялоо үчүн каттоо эсебиңизди басыңыз
if (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }
lcd.setCursor (3, 0);
lcd.print ("Distancia"); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print (“км”);
raio = EEPROM.read (PosRaio);
}
боштук цикл ()
{
// Regioo de codigo to realizar a leitura dos botoes e sensors to dispositivo
сенсор = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
if (сенсор == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (float) (2*3.14*raio*VoltaCompleta) /100000.0;
lcd.setCursor (0, 1);
lcd.print (““); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print (“км”);
estado_anterior = 0;
}
эгер (сенсор == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regioo de Codigo para Configurar o Raio
if (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
эгер (Incremento == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
жараксыз ConfiguraRaio ()
{
байт RaioRoda = 0;
// Imprimir mansagem смартфондук цифралар
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (см)");
кыл
{
lcd.setCursor (6, 1);
Incremento = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
эгер (Incremento == 1 && IncrementoAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
эгер (Incremento == 0 && IncrementoAnterior == 1)
{IncrementoAnterior = 0; }
эгер (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
эгер (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
кайтуу; }
Бул коддон, балким, сиздин Arduino менен болгон аралыкты эсептейт.
4 -кадам: Жыйынтык
Демек, сиз өзүңүздүн ПХБны кааласаңыз, бул шилтеме аркылуу PCBWay.com веб -сайтынан ала аласыз. Бул үчүн, сиз веб -сайтка кире аласыз, эсебиңизди түзө аласыз жана өзүңүздүн ПХБңызды ала аласыз.
Silícios Lab бул долбоорду түзүү үчүн электрондук компоненттерди сунуштоо үчүн UTSOURCEке ыраазычылык билдирет.
Сунушталууда:
DIY Police LED PCBWAY менен: 6 кадам (сүрөттөр менен)
DIY Police LED PCBWAY менен: HiDelta бүгүнкү күндө басылган схемага негизделген жөнөкөй электрондук компоненттерди колдонуп, полиция жаркылдагын кантип чогултуу керектигин көрсөтөт.Алгач сиз видео индукция схемасын жана тактай шаблонун жүктөп алсаңыз болот. Кеттик
Акустикалык левитация Arduino Uno менен кадам-кадам (8-кадам): 8 кадам
Акустикалык левитация менен Arduino Uno Step-by-Step (8-кадам): ультрадыбыштуу үн өткөргүчтөр L298N Dc аял адаптеринин электр энергиясы менен камсыздоосу эркек токту Arduino UNOBreadboard Бул кантип иштейт: Биринчиден, сиз Arduino Uno кодун жүктөп бересиз (бул санарип менен жабдылган микроконтроллер) жана аналогдук порттор кодду айландыруу үчүн (C ++)
Open (Bicycle) Grade Simulator - OpenGradeSIM: 6 Steps
Ачык (велосипед) класс симулятору - OpenGradeSIM: Киришүү АКШнын белгилүү фитнес компаниясы (Wahoo) жакында велосипеддин алдыңкы бөлүгүн турбо тренажерунда дөбөнүн симуляцияланган классына ылайык көтөрүп, түшүргөн чоң жабык машыктыруучу каражатты алып чыкты. колдонуучу минип жатат (th
Bicycle Energy Demo (Иштетүү Инструкциясы): 4 кадам
Bicycle Energy Demo (Иштетүү Инструкциялары): Бул көрсөтмө велосипед энергия демо үчүн иштөө нускамасы болуп саналат. Курууга шилтеме төмөндө камтылган: https: //www.instructables.com/id/Bicycle-Energy-Demo-Build
Bicycle Energy Demo (Build): 7 кадам
Bicycle Energy Demo (Build): Бул Нускаманын максаты баланын инженерияга болгон кызыгуусун арттыруу үчүн интерактивдүү велосипед энергиясын көрсөтүү болгон. Долбоор төмөнкүдөй иштейт, бала велосипедди тезирээк басканда, ал дисплейде көбүрөөк жарыкты иштете алат