Kolo za robota omni wheel 60mm
€4.99 (DDV vključen)
KOMPLET tank 4WD DIY UNO Zhiyi kompatibilno z Arduino
€99.49 (DDV vključen)
KOMPLET leseno vozilo 4WD DIY Zhiyi
€86.49 (DDV vključen)
KOMPLET leseno vozilo 4WD DIY Zhiyi kompatibilno z Arduino
2 na zalogi
Šifra:
ZHIYI-002
Kategorije: KOMPLETI ⭐, NOVO, Zhiyi
Opis
Opis
Arduino KOMPLET – leseno vozilo 4WD DIY – Zhiyi
Splošen opis izdelka
Arduino KOMPLET - leseno vozilo 4WD DIY - Zhiyi je celovit komplet, ki vam omogoča, da sestavite leseno vozilo s 4WD (štirikolesnim pogonom), ki je poganjano s pomočjo Arduino. Ta komplet za samogradnjo nudi izjemno priložnost za učenje o elektroniki, programiranju in robotiki med sestavljanjem in prilagajanjem lastnega vozila. Z leseno šasijo in združljivostjo z Arduino ponuja edinstveno in zanimivo izkušnjo za ustvarjalce vseh ravni.
Tabela najpogostejših specifikacij
Specifikacije | Podrobnosti |
---|---|
Material šasije | Les |
Vrsta motorja | DC zobni motorji |
Napajanje | 4 x AA baterije (niso priložene) |
Mikrokrmilnik | Združljiv z Arduino |
Krmilnik motorjev | L293D |
Kolesa | Gume |
Dimenzije | Vary v skladu s sestavljanjem |
Uporabne aplikacije
- Izobraževalni projekti: Idealno za učenje elektronike, programiranja in konceptov robotike.
- STEM izobraževanje: Primeren za uporabo v razredu in delavnicah, ki spodbujajo praktično učenje.
- Samogradnja robotov: Omogoča navdušencem raziskovanje robotike s sestavljanjem in prilagajanjem lastnega vozila.
- Prototipiranje: Lahko se uporabi kot platforma za testiranje in razvoj sistemov na podlagi senzorjev.
- Arduino projekti: Združljivost z Arduino programiranjem omogoča integracijo z drugimi Arduino moduli in senzorji.
Prednosti izdelka
- Učenje in raziskovanje: Nudi praktično učno izkušnjo na področju elektronike, programiranja in robotike.
- Prilagodljiv dizajn: Lesena šasija omogoča prilagajanje in personalizacijo vozila.
- Združljivost z Arduino: Se integrira z Arduino platformo, kar omogoča dostop do širokega nabora knjižnic in virov.
- Krmiljenje motorjev: Opremljen z DC zobnimi motorji in krmilnikom motorjev L293D za natančno krmiljenje gibanja vozila.
- Zanimivo in zabavno: Ponuja prijetno izkušnjo samogradnje za ljubitelje, študente in ustvarjalce.
Razvijte svojo ustvarjalnost in se potopite v svet robotike z Arduino KOMPLET - leseno vozilo 4WD DIY - Zhiyi. Ta celovit komplet vam omogoča gradnjo in prilagajanje lastnega leseno vozila s štirikolesnim pogonom, hkrati pa pridobivate dragocene veščine na področju elektronike in programiranja. Ne glede na to, ali ste študent, ljubitelj ali ustvarjalec, ta komplet ponuja zanimivo in izobraževalno izkušnjo, ki združuje moč Arduino platforme s vzdušjem sestavljanja lastnega robota. Pripravite se na navdušujočo pot raziskovanja in inovacij z Arduino KOMPLET - leseno vozilo 4WD DIY - Zhiyi.
Dokumentacija
ZYC0062 – Navodila za nalaganje programa (kode)
ZYC0062 – Navodila za instalacijo CH340 gonilnikov
CH340 gonilniki (drivers) … potrebno, da računalnik prepozna krmilnik
Projektne kode za izdelek (vse) … potrebno, da računalnik prepozna krmilnik
Električna vezava motorjev:
Primer kode za izogibanje oviram:
/*************************************
* TIME:2021.9.24
* Development Team: Zhiyi Technology Co., Ltd.
* OBSTACLE AVOIDANCE CAR
* Program function: ultrasonic obstacle avoidance
* Obstacle avoidance distance setting: Avoidance(X)
in the loop() function call; adjust the X parameter in
the function to adjust the obstacle avoidance distance
**************************************/
//定义L9110S电机驱动引脚
#define MOTOAL1 6 //左前轮
#define MOTOAL2 7
#define MOTOBL1 9 //左后轮
#define MOTOBL2 8
#define MOTOCR1 10 //右前轮
#define MOTOCR2 12
#define MOTODR1 11 //右后轮
#define MOTODR2 13
//定义超声波引脚
#define Trig 4 // 初始化超声波的触发引脚
#define Echo 5 // 初始化超声波的回声引脚
//设置超声波函数变量定义
float high_speed=0;
float direction_bit = 0 ;
//设定默认速度,取值范围1~255
int speed_A = 150;
int speed_B = 150;
int speed_C = 150;
int speed_D = 150;
/**********电机运行函数*************/
void forward() //前进函数
{
digitalWrite(MOTOAL1,speed_A);//
digitalWrite(MOTOAL2,LOW); //左前轮电平
digitalWrite(MOTOBL1,speed_B);
digitalWrite(MOTOBL2,LOW); //左后轮电平
digitalWrite(MOTOCR1,LOW);
digitalWrite(MOTOCR2,speed_C); //右前轮电平
digitalWrite(MOTODR1,LOW);
digitalWrite(MOTODR2,speed_D); //右后轮电平
Serial.println("Forward");//发送消息到串行监视器
}
void back() //后退函数
{
digitalWrite(MOTOAL1,LOW);//
digitalWrite(MOTOAL2,speed_A); //左前轮电平
digitalWrite(MOTOBL1,LOW);
digitalWrite(MOTOBL2,speed_B); //左后轮电平
digitalWrite(MOTOCR1,speed_C);
digitalWrite(MOTOCR2,LOW); //右前轮电平
digitalWrite(MOTODR1,speed_D);
digitalWrite(MOTODR2,LOW); //右后轮电平
Serial.println("Back");
}
void left() //左转函数
{
digitalWrite(MOTOAL1,LOW);//
digitalWrite(MOTOAL2,speed_A); //左前轮电平
digitalWrite(MOTOBL1,LOW);
digitalWrite(MOTOBL2,speed_B); //左后轮电平
digitalWrite(MOTOCR1,LOW);
digitalWrite(MOTOCR2,speed_C); //右前轮电平
digitalWrite(MOTODR1,LOW);
digitalWrite(MOTODR2,speed_D); //右后轮电平
Serial.println("Left");
}
void right() //右转函数
{
digitalWrite(MOTOAL1,speed_A);
digitalWrite(MOTOAL2,LOW); //左前轮电平
digitalWrite(MOTOBL1,speed_B);
digitalWrite(MOTOBL2,LOW); //左后轮电平
digitalWrite(MOTOCR1,speed_C);
digitalWrite(MOTOCR2,LOW); //右前轮电平
digitalWrite(MOTODR1,speed_D);
digitalWrite(MOTODR2,LOW); //右后轮电平
Serial.println("Right");
}
void stop()//停止函数
{
digitalWrite(MOTOAL1,LOW );
digitalWrite(MOTOAL2,LOW); //左前轮电平
digitalWrite(MOTOBL1,LOW );
digitalWrite(MOTOBL2,LOW); //左后轮电平
digitalWrite(MOTOCR1,LOW );
digitalWrite(MOTOCR2,LOW); //右前轮电平
digitalWrite(MOTODR1,LOW );
digitalWrite(MOTODR2,LOW); //右后轮电平
Serial.println("Stop");
}
//初始化
void setup()
{
pinMode(MOTOAL1,OUTPUT);//在使用IO引脚之前,必须先设置引脚模式
pinMode(MOTOAL2,OUTPUT);
pinMode(MOTOBL1,OUTPUT);
pinMode(MOTOBL2,OUTPUT);
pinMode(MOTOCR1,OUTPUT);
pinMode(MOTOCR2,OUTPUT);
pinMode(MOTODR1,OUTPUT);
pinMode(MOTODR2,OUTPUT);
pinMode(Trig,OUTPUT);
pinMode(Echo,INPUT);
Serial.begin(9600); // Begin serial monitor to note down the threshold clearance of table surface
}
/*
功能:获取超声波传感器测距数据
参数:Trig,Echo
参数说明:传感器连接主板的引脚端口4,5
*/
float GetDistance()
{
float distance;
digitalWrite(Trig, LOW);
delayMicroseconds(2);
digitalWrite(Trig, HIGH);
delayMicroseconds(10);
digitalWrite(Trig, LOW);
distance = pulseIn(Echo, HIGH) / 58.00;
return distance; //返回测距值
}
void loop()
{
avoidance(10);//执行跟函数
}
//避障功能
void avoidance(int set_dis)
{
int distance;
distance = GetDistance();
//将获得的超声波数据值分配给距离
//Serial.println(direction_bit);
if(distance>=35)
{
forward(); //前进
delay(2);
speed_A++; //accelerate
speed_B++;
speed_C++; //accelerate
speed_D++;
if((speed_A&&speed_B>=255)&&(speed_C&&speed_D>=255)) //Maximum speed
{
high_speed = 1;
speed_A = 255;
speed_B = 255;
speed_C = 255;
speed_D = 255;
}
}
else if(distance > set_dis)
{
forward(); //前进
speed_A = 180; //Minimum speed
speed_B = 180;
speed_C = 180;
speed_D = 180;
}
if((distance<=35)&&(high_speed)) //减速小于35CM
{
delay(2);
speed_A--;
speed_B--;
speed_C--;
speed_D--;
if((speed_A&&speed_B<=180)&&(speed_C&&speed_D<=180))
{
high_speed = 0;
speed_A = 180;
speed_B = 180;
speed_C = 180;
speed_D = 180;
}
}
if((distance <= set_dis)&&(direction_bit<=5))//左转4次
{
stop();
delay(80);
back();
delay(500);
stop();
delay(80);
left();
delay(500);
direction_bit ++;
}
else if((distance <= set_dis)&&(direction_bit>=5))//右转5次
{
stop();
delay(80);
back();
delay(500);
stop();
delay(80);
right();
delay(500);
direction_bit ++;
if(direction_bit>9)direction_bit = 0;
}
}