Купил на али сыну подарок, нужно найти скеч
- Войдите на сайт для отправки комментариев
Вс, 23/09/2018 - 01:04
Всех приветствую! Для ребенка заказал на али гусеничную платформу с ардуинкой. На странице есть ссылка на гитхаб, но там я не нашел для своей модели ни скеч схему подключения. Сам я в этом новичок, по этому прошу помощи. Помогите найти базовый скеч, что бы работала элементарно вперед, назад, в лево\право. Дальше уже буду разбираться, и докупать модули и тд. Самому очень интересна эта тема и хочу сына втянуть в это дело, пока проявляет интерес.
Всех приветствую! Для ребенка заказал на али гусеничную платформу с ардуинкой. На странице есть ссылка на гитхаб, но там я не нашел для своей модели ни скеч схему подключения. Сам я в этом новичок, по этому прошу помощи. Помогите найти базовый скеч, что бы работала элементарно вперед, назад, в лево\право. Дальше уже буду разбираться, и докупать модули и тд. Самому очень интересна эта тема и хочу сына втянуть в это дело, пока проявляет интерес.
Да, чой-то у них на вики нет ничего про IR. Имхо, лучшим вариантом будет написать на
И разобраться - цена таки не детская.
Да нет там ничего. Только под вайфай версии вижу. А тут IR-only, как я понимаю. Придется что-то в остальном интернете поискать... что-то типа "управление l293 через ИК" (судя по виду у вас именно этот драйвер моторов).
Да с писаниной на почту может затянутся, по этому решил тут написать может кто уже с такой игрушкой сталкивался и есть рабочий скеч, но если нет, буду искать. Спасибо!
Д Придется что-то в остальном интернете поискать...
К сожалению, беглое гугление не дало результатов по этому девайсу :( Написать код, конечно, не проблема, да и схему можно срисовать с платы (насколько я понял - там просто шилд для Uno) - но это - тоже время.
Поэтом советую всё же написать на почту производителю, параллельно начав срисовывать разводку шилда. Ну а потом, с готовой разводкой - сюда, и можно будет подыскать то-то похожее из готового, там не бином Ньютона, но надо, как минимум, знать, по каким выводам рулить моторами.
Шилд этот: https://ru.aliexpress.com/item/-/32677358192.html
Но, судя по картинкам, на нем одновременно разведен и L293D и что-то типа PCA9685. IR, похоже, воткнут в пины для PCA9685, который умеет только на выход работать. Вобщем, я тоже склоняюсь к переписке с продавцом, так как пока для меня схема подключения крайне неочевидна.
Ещё мысль, раз шилд с разъёмом для Wi-Fi: выкинуть IR, купить ESP, и прошить прошивкой от производителя, там на гитхабе есть под это дело, плюс софт под андроид. Кмк, это может быть оптимальным вариантом решения проблемы.
А IR с пультом оставить на потом, на предмет поиграться с каким-нибдь другим проектом, коих масса интересных, чтобы чадо заинтересовать. Например, сделать чего-нибудь со светодиодной лентой - гирлянду на ёлку, до НГ не так много ремени осталось ;) Мама будет довольна, думаю.
Шилд этот: https://ru.aliexpress.com/item/-/32677358192.html
Но, судя по картинкам, на нем одновременно разведен и L293D и что-то типа PCA9685. IR, похоже, воткнут в пины для PCA9685, который умеет только на выход работать. Вобщем, я тоже склоняюсь к переписке с продавцом, так как пока для меня схема подключения крайне неочевидна.
вот его "даташит" https://github.com/SmartArduino/ESPboard/blob/master/DataSheetforMotorSe...
ps ТС, танк уже приехал или еще в пути? может он уже с залитым скетчем?
Шилд этот: https://ru.aliexpress.com/item/-/32677358192.html
Но, судя по картинкам, на нем одновременно разведен и L293D и что-то типа PCA9685. IR, похоже, воткнут в пины для PCA9685, который умеет только на выход работать. Вобщем, я тоже склоняюсь к переписке с продавцом, так как пока для меня схема подключения крайне неочевидна.
Да это он. Написал посмотрим как скоро ответит.
Ещё мысль, раз шилд с разъёмом для Wi-Fi: выкинуть IR, купить ESP, и прошить прошивкой от производителя, там на гитхабе есть под это дело, плюс софт под андроид. Кмк, это может быть оптимальным вариантом решения проблемы.
А IR с пультом оставить на потом, на предмет поиграться с каким-нибдь другим проектом, коих масса интересных, чтобы чадо заинтересовать. Например, сделать чего-нибудь со светодиодной лентой - гирлянду на ёлку, до НГ не так много ремени осталось ;) Мама будет довольна, думаю.
Это еще один месяц ждать:(
Посмрипи что ответят.
ps ТС, танк уже приехал или еще в пути? может он уже с залитым скетчем?
Пришол, но как посмотреть залит там скеч или нет?
Пришол, но как посмотреть залит там скеч или нет?
включить и "потыкать кнопки" :))))))) если чего-то залито, оно поедет :))))))))
включить и "потыкать кнопки" :))))))) если чего-то залито, оно поедет :))))))))
для этого нужно знать какие в коде пины используются, я уже писал что инструкцию по подулючению я не нашел.
Кто ни будь может сказать что это за мотор шилд? в инете не нашел ничего по данной модели. Как я понял подключать моторы нужно к клемам А+/- и В+/-. Так же вопрос по моторам, что за моторы используются, как найти название, у них разем на 6 пинов а задействованы 2?
Кто ни будь может сказать что это за мотор шилд?
тремя постами выше http://arduino.ru/forum/obshchii/kupil-na-ali-synu-podarok-nuzhno-naiti-skech#comment-392793
Так же вопрос по моторам
https://github.com/SmartArduino/SZDOITWiKi/wiki/9V-motor-with-Hall-sensor
https://github.com/SmartArduino/ESPboard/blob/master/miniT100Instruction.pdf
https://github.com/SmartArduino/ESPboard/blob/master/T-Series%20Tank%20Assembly.pdf
Написал китайцу, но он второй раз скидывает версию для WIFI.
//材料:UNO开发板*1+2路电机&16路舵机驱动板*1+DT-06 WiFi模块*1 //WiFi控制 /****************************IO引脚定义*****************************/ //电机引脚 #define PWMA 11 //左电机转速 #define DIRA 12 //左电机转向 #define DIRB 7 //右电机转向 #define PWMB 6 //右电机转速 //定义小车速度 uint8_t speedd=255;//小车正常速度 uint8_t speeddAG=250;// //定义串口接收相关 #define MAX_PACKETSIZE 32 //串口接收缓冲区 char buffUART[MAX_PACKETSIZE]; unsigned int buffUARTIndex = 0; unsigned long preUARTTick = 0; //小车控制标志量 enum DS { MANUAL_DRIVE,//手动控制 }Drive_Status=MANUAL_DRIVE; //电机控制标志量 enum DN { GO_ADVANCE, GO_LEFT, GO_RIGHT, GO_BACK, STOP_STOP, DEF }Drive_Num=DEF; //电机控制相关 bool flag1=false; bool stopFlag = true; bool JogFlag = false; uint16_t JogTimeCnt = 0; uint32_t JogTime=0; uint8_t serial_update_flag =0; //电机控制 void Car_GO_FORWARD(uint8_t spel, uint8_t sper, int tim=0)//小车前进 { uint8_t speeddl=spel; uint8_t speeddr=sper; digitalWrite(DIRA,HIGH); analogWrite(PWMA,speeddl); digitalWrite(DIRB,HIGH); analogWrite(PWMB,speeddr); delay(tim); } void Car_GO_LEFT(uint8_t spel,uint8_t sper, int tim=0)//车体左转 { uint8_t speeddl=spel; uint8_t speeddr=sper; digitalWrite(DIRA,LOW); analogWrite(PWMA,speeddl); digitalWrite(DIRB,HIGH); analogWrite(PWMB,speeddr); delay(tim); } void Car_GO_RIGHT(uint8_t spel,uint8_t sper, int tim=0)//车体右转 { uint8_t speeddl=spel; uint8_t speeddr=sper; digitalWrite(DIRA,HIGH); analogWrite(PWMA,speeddl); digitalWrite(DIRB,LOW); analogWrite(PWMB,speeddr); delay(tim); } void Car_GO_STOP(uint8_t spel,uint8_t sper, int tim=0)//车体停止 { uint8_t speeddl=spel; uint8_t speeddr=sper; digitalWrite(DIRA,LOW); analogWrite(PWMA,speeddl); digitalWrite(DIRB,LOW); analogWrite(PWMB,speeddr); delay(tim); } void Car_GO_BACK(uint8_t spel,uint8_t sper, int tim=0)//车体后退 { uint8_t speeddl=spel; uint8_t speeddr=sper; digitalWrite(DIRA,LOW); analogWrite(PWMA,speeddl); digitalWrite(DIRB,LOW); analogWrite(PWMB,speeddr); delay(tim); } //串口接收处理 void UART_Control() { char Uart_Date=0; if(Serial.available()) { size_t len = Serial.available(); uint8_t sbuf[len + 1]; sbuf[len] = 0x00; Serial.readBytes(sbuf, len); //parseUartPackage((char*)sbuf); memcpy(buffUART + buffUARTIndex, sbuf, len);//确保串口能读完整一帧数据 buffUARTIndex += len; preUARTTick = millis(); if(buffUARTIndex >= MAX_PACKETSIZE - 1) { buffUARTIndex = MAX_PACKETSIZE - 2; preUARTTick = preUARTTick - 200; } } if(buffUARTIndex > 0 && (millis() - preUARTTick >= 100))//在APP发送标志量修改避障参数 { //data ready buffUART[buffUARTIndex] = 0x00; if((buffUART[0]=='C') && (buffUART[1]=='M') && (buffUART[2]=='D')) //输入CMD+参数:修改循迹小车的速度 { int arr = 0; Serial.println(buffUART); sscanf(buffUART,"CMD%d",&arr); if(arr >= 150 && arr <= 250)//限定修改的参数有效范围 { speeddAG=arr; Serial.println(F("You have modified the Car_speeddAG!"));//提示已经修改循迹速度 Serial.println(String("CMD:speeddAG=")+speeddAG); } else { Serial.println(F("Your input is incorrect and the change is invalid!"));//提示输入错误且修改无效 Serial.println(F("Please re-enter the correct parameters!"));//提示请重新输入正确的参数 } } else Uart_Date=buffUART[0]; buffUARTIndex = 0; } switch (Uart_Date) //串口控制指令 { case '2':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_ADVANCE;if(serial_update_flag!=1) {serial_update_flag=1;Serial.println(F("CAR GO_ADVANCE!"));} break; case '4':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_LEFT; if(serial_update_flag!=2) {serial_update_flag=2;Serial.println(F("CAR GO_LEFT!"));}break; case '6':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_RIGHT; if(serial_update_flag!=3) {serial_update_flag=3;Serial.println(F("CAR GO_RIGHT!"));}break; case '8':Drive_Status=MANUAL_DRIVE; Drive_Num=GO_BACK; if(serial_update_flag!=4) {serial_update_flag=4;Serial.println(F("CAR GO_BACK!"));}break; case '5':Drive_Status=MANUAL_DRIVE; Drive_Num=STOP_STOP;if(serial_update_flag!=5) {serial_update_flag=5;Serial.println(F("car STOP!"));}break; default:break; } } //小车控制 void CAR_Control() { if(Drive_Status == MANUAL_DRIVE) { switch (Drive_Num) { case GO_ADVANCE:Car_GO_FORWARD(speedd,speedd);JogFlag = true;JogTimeCnt = 1;JogTime=millis();break; case GO_LEFT: Car_GO_LEFT(speedd,speedd);JogFlag = true;JogTimeCnt = 1;JogTime=millis();break; case GO_RIGHT:Car_GO_RIGHT(speedd,speedd);JogFlag = true;JogTimeCnt = 1;JogTime=millis();break; case GO_BACK:Car_GO_BACK(speedd,speedd);JogFlag = true;JogTimeCnt = 1;JogTime=millis();break; case STOP_STOP: Car_GO_STOP(0,0); JogTime = 0;JogFlag=false;stopFlag=true;break; default:break; } Drive_Num=DEF; //小车保持姿态300ms if(millis()-JogTime>=300) { JogTime=millis(); if(JogFlag == true) { stopFlag = false; if(JogTimeCnt <= 0) { JogFlag = false; stopFlag = true; } JogTimeCnt--; } if(stopFlag == true) { JogTimeCnt=0; Car_GO_STOP(0,0); } } } } //IO初始化 void GPIO_init() { //电机 pinMode(PWMA, OUTPUT); pinMode(DIRA, OUTPUT); pinMode(PWMB, OUTPUT); pinMode(DIRB, OUTPUT); } /**********************************************************************************************/ void setup() { Serial.begin(9600); GPIO_init(); Car_GO_STOP(0,0); } void loop() { UART_Control();//串口接收 CAR_Control();//小车控制 } /***********************************************************************************************/Ee сложно переделать для ИК?
Схему-то он скидывает?
Функцию UART_Control() перелопатить на IR. Только вряд ли вы осилите так с наскоку.(((((
Попросил, но либо он меня не понял, либо ее нет, спрошу еще раз
Попросил, но либо он меня не понял, либо ее нет, спрошу еще раз
Они сразу начинают понимать ВСЁ, как только произносишь волшебное слово "REFUND" (именно так, прописными) ;)
Хорошо, попробую)