diff --git a/arduino/auto_lafvin/Code/Lesson 10 Obstacle Avoidance Robot Car/Obstacle_Avoidance_Robot_Car/Obstacle_Avoidance_Robot_Car.ino b/arduino/auto_lafvin/Code/Lesson 10 Obstacle Avoidance Robot Car/Obstacle_Avoidance_Robot_Car/Obstacle_Avoidance_Robot_Car.ino new file mode 100644 index 0000000..0fe3155 --- /dev/null +++ b/arduino/auto_lafvin/Code/Lesson 10 Obstacle Avoidance Robot Car/Obstacle_Avoidance_Robot_Car/Obstacle_Avoidance_Robot_Car.ino @@ -0,0 +1,169 @@ + +#include +#include +Servo myservo; +int Echo_Pin=A0; // ultrasonic module ECHO to A0 +int Trig_Pin=A1; // ultrasonic module TRIG to A1 +#define Lpwm_pin 5 //pin of controlling speed---- ENA of motor driver board +#define Rpwm_pin 6 //pin of controlling speed---- ENB of motor driver board +int pinLB=2; //pin of controlling turning---- IN1 of motor driver board +int pinLF=4; //pin of controlling turning---- IN2 of motor driver board +int pinRB=7; //pin of controlling turning---- IN3 of motor driver board +int pinRF=8; //pin of controlling turning---- IN4 of motor driver board +volatile int D_mix; +volatile int D_mid; +volatile int D_max; +volatile int Front_Distance; +volatile int Left_Distance; +volatile int Right_Distance; +volatile int Right_IR_Value; +volatile int Left_IR_Value; + +float checkdistance() { + digitalWrite(Trig_Pin, LOW); + delayMicroseconds(2); + digitalWrite(Trig_Pin, HIGH); + delayMicroseconds(10); + digitalWrite(Trig_Pin, LOW); + float distance = pulseIn(Echo_Pin, HIGH) / 58.00; + delay(10); + return distance; +} + +void Detect_Left_and_Right__distance() { + myservo.write(180); + delay(400); + Left_Distance = checkdistance(); + delay(600); + Serial.print("Left_Distance:"); + Serial.println(Left_Distance); + myservo.write(0); + delay(400); + Right_Distance = checkdistance(); + delay(600); + Serial.print("Right_Distance:"); + Serial.println(Right_Distance); + myservo.write(90); +} + +void Ultrasonic_obstacle_avoidance() +{ + Front_Distance=checkdistance(); //obtain the value detected by ultrasonic sensor + if((Front_Distance < 20)&&(Front_Distance > 0))//if the distance is greater than 0 and less than 20 +{ + stopp();//stop + delay(100); + myservo.write(180); + delay(500); + Left_Distance=checkdistance();//measure the distance + delay(100); + myservo.write(0); + delay(500); + Right_Distance=checkdistance();//measure the distance + delay(100); +if(Left_Distance > Right_Distance)//if distance a1 is greater than a2 + { + rotate_left(150);//turn left + myservo.write(90); + delay(300); + } + else //if the right distance is greater than the left + { + rotate_right(150);// turn right + myservo.write(90); + delay(300); + } + } + else//otherwise + { + go_forward(100);//go forward + } +} + + + + + + +void Obstacle_Avoidance_Main() +{ + Ultrasonic_obstacle_avoidance(); +} + + + +void setup(){ + myservo.attach(A2); + Serial.begin(9600); + D_mix = 10; + D_mid = 20; + D_max = 100; + Front_Distance = 0; + Left_Distance = 0; + Right_Distance = 0; + myservo.write(90); + pinMode(Echo_Pin, INPUT); + pinMode(Trig_Pin, OUTPUT); + pinMode(pinLB,OUTPUT); // /pin 2 + pinMode(pinLF,OUTPUT); // pin 4 + pinMode(pinRB,OUTPUT); // pin 7 + pinMode(pinRF,OUTPUT); // pin 8 + pinMode(Lpwm_pin,OUTPUT); // pin 5 (PWM) + pinMode(Rpwm_pin,OUTPUT); // pin 6(PWM) +} + +void loop(){ + Obstacle_Avoidance_Main(); + +} + + + +void go_forward(unsigned char speed_val) // speed_val:0~255 + {digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,LOW); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,LOW); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + + } + +void go_backward(unsigned char speed_val) // speed_val:0~255 + { + digitalWrite(pinRB,LOW); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,LOW); + digitalWrite(pinLF,HIGH); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + } + +void rotate_left(unsigned char speed_val) // speed_val:0~255 + {digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,LOW ); + digitalWrite(pinLB,LOW); + digitalWrite(pinLF,HIGH); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + + } +void rotate_right(unsigned char speed_val) // speed_val:0~255 + { + digitalWrite(pinRB,LOW); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,LOW); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + } +void stopp() //stop + { + digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,HIGH); + } diff --git a/arduino/auto_lafvin/Code/Lesson 5 Servo/Servo/Servo.ino b/arduino/auto_lafvin/Code/Lesson 5 Servo/Servo/Servo.ino new file mode 100644 index 0000000..0706051 --- /dev/null +++ b/arduino/auto_lafvin/Code/Lesson 5 Servo/Servo/Servo.ino @@ -0,0 +1,23 @@ + +#include + +Servo myservo; // create servo object to control a servo +// twelve servo objects can be created on most boards + +int pos = 0; // variable to store the servo position + +void setup() { + myservo.attach(A2); // attaches the servo on pin 9 to the servo object +} + +void loop() { + for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees + // in steps of 1 degree + myservo.write(pos); // tell servo to go to position in variable 'pos' + delay(15); // waits 15ms for the servo to reach the position + } + for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees + myservo.write(pos); // tell servo to go to position in variable 'pos' + delay(15); // waits 15ms for the servo to reach the position + } +} diff --git a/arduino/auto_lafvin/Code/Lesson 6 Ultrasonic Sensor Module/Ultrasonic_Sensor_Module/Ultrasonic_Sensor_Module.ino b/arduino/auto_lafvin/Code/Lesson 6 Ultrasonic Sensor Module/Ultrasonic_Sensor_Module/Ultrasonic_Sensor_Module.ino new file mode 100644 index 0000000..7edcb6b --- /dev/null +++ b/arduino/auto_lafvin/Code/Lesson 6 Ultrasonic Sensor Module/Ultrasonic_Sensor_Module/Ultrasonic_Sensor_Module.ino @@ -0,0 +1,28 @@ + +#define TRIG_PIN A1 +#define ECHO_PIN A0 +int Ult_distance=0; + +float checkdistance() { + digitalWrite(TRIG_PIN, LOW); + delayMicroseconds(2); + digitalWrite(TRIG_PIN, HIGH); + delayMicroseconds(10); + digitalWrite(TRIG_PIN, LOW); + float distance = pulseIn(ECHO_PIN, HIGH) / 58.00; + delay(10); + return distance; +} + +void setup(){ + Serial.begin(9600); + pinMode(TRIG_PIN, OUTPUT); + pinMode(ECHO_PIN, INPUT); +} +void loop(){ + Ult_distance = checkdistance(); + Serial.print("Distance:"); + Serial.print(Ult_distance); + Serial.println("CM"); + delay(100); +} diff --git a/arduino/auto_lafvin/Code/Lesson 7 IR Receiver Module/IR_Receiver_Module/IR_Receiver_Module.ino b/arduino/auto_lafvin/Code/Lesson 7 IR Receiver Module/IR_Receiver_Module/IR_Receiver_Module.ino new file mode 100644 index 0000000..2e32859 --- /dev/null +++ b/arduino/auto_lafvin/Code/Lesson 7 IR Receiver Module/IR_Receiver_Module/IR_Receiver_Module.ino @@ -0,0 +1,15 @@ +#include + int RECV_PIN = 12; + IRrecv irrecv(RECV_PIN); + decode_results results; + void setup() +{ + Serial.begin(9600); + irrecv.enableIRIn(); // Start the receiver +} + void loop() { + if (irrecv.decode(&results)) { + Serial.println(results.value, HEX); + irrecv.resume(); // Receive the next value + } +} diff --git a/arduino/auto_lafvin/Code/Lesson 8 L298N Motor Driver/L298N_Motor_Driver/L298N_Motor_Driver.ino b/arduino/auto_lafvin/Code/Lesson 8 L298N Motor Driver/L298N_Motor_Driver/L298N_Motor_Driver.ino new file mode 100644 index 0000000..e2d5a19 --- /dev/null +++ b/arduino/auto_lafvin/Code/Lesson 8 L298N Motor Driver/L298N_Motor_Driver/L298N_Motor_Driver.ino @@ -0,0 +1,81 @@ + +#define Lpwm_pin 5 //pin of controlling speed---- ENA of motor driver board +#define Rpwm_pin 6 //pin of controlling speed---- ENB of motor driver board +int pinLB=2; //pin of controlling turning---- IN1 of motor driver board +int pinLF=4; //pin of controlling turning---- IN2 of motor driver board +int pinRB=7; //pin of controlling turning---- IN3 of motor driver board +int pinRF=8; //pin of controlling turning---- IN4 of motor driver board + +void setup() +{ + pinMode(pinLB,OUTPUT); // /pin 2 + pinMode(pinLF,OUTPUT); // pin 4 + pinMode(pinRB,OUTPUT); // pin 7 + pinMode(pinRF,OUTPUT); // pin 8 + pinMode(Lpwm_pin,OUTPUT); // pin 5 (PWM) + pinMode(Rpwm_pin,OUTPUT); // pin 6(PWM) +} + + +void loop() +{go_forward(100); + delay(2000); + go_backward(100); + delay(2000); + rotate_left(150); + delay(2000); + rotate_right(150); + delay(2000); + stopp(); + delay(2000); + } + + +void go_forward(unsigned char speed_val) // speed_val:0~255 + {digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,LOW); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,LOW); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + + } + +void go_backward(unsigned char speed_val) // speed_val:0~255 + { + digitalWrite(pinRB,LOW); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,LOW); + digitalWrite(pinLF,HIGH); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + } + +void rotate_left(unsigned char speed_val) // speed_val:0~255 + {digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,LOW ); + digitalWrite(pinLB,LOW); + digitalWrite(pinLF,HIGH); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + + } +void rotate_right(unsigned char speed_val) // speed_val:0~255 + { + digitalWrite(pinRB,LOW); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,LOW); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + } +void stopp() //stop + { + digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,HIGH); + } diff --git a/arduino/auto_lafvin/Code/Lesson 9 IR Remote Control Car/IR_Remote_Control_Car/IR_Remote_Control_Car.ino b/arduino/auto_lafvin/Code/Lesson 9 IR Remote Control Car/IR_Remote_Control_Car/IR_Remote_Control_Car.ino new file mode 100644 index 0000000..f655b5e --- /dev/null +++ b/arduino/auto_lafvin/Code/Lesson 9 IR Remote Control Car/IR_Remote_Control_Car/IR_Remote_Control_Car.ino @@ -0,0 +1,109 @@ +#include +int RECV_PIN = 12; +IRrecv irrecv(RECV_PIN); +decode_results results; +#define IR_Go 0x00ff629d +#define IR_Back 0x00ffa857 +#define IR_Left 0x00ff22dd +#define IR_Right 0x00ffc23d +#define IR_Stop 0x00ff02fd +#define IR_ESC 0x00ff52ad +#define Lpwm_pin 5 //adjusting speed +#define Rpwm_pin 6 //adjusting speed // +int pinLB=2; // defining pin2 left rear +int pinLF=4; // defining pin4 left front +int pinRB=7; // defining pin7 right rear +int pinRF=8; // defining pin8 right front + +void go_forward(unsigned char speed_val) // speed_val:0~255 + {digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,LOW); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,LOW); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + + } + +void go_backward(unsigned char speed_val) // speed_val:0~255 + { + digitalWrite(pinRB,LOW); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,LOW); + digitalWrite(pinLF,HIGH); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + } + +void rotate_left(unsigned char speed_val) // speed_val:0~255 + {digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,LOW ); + digitalWrite(pinLB,LOW); + digitalWrite(pinLF,HIGH); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + + } +void rotate_right(unsigned char speed_val) // speed_val:0~255 + { + digitalWrite(pinRB,LOW); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,LOW); + analogWrite(Lpwm_pin,speed_val); + analogWrite(Rpwm_pin,speed_val); + + } +void stopp() //stop + { + digitalWrite(pinRB,HIGH); + digitalWrite(pinRF,HIGH); + digitalWrite(pinLB,HIGH); + digitalWrite(pinLF,HIGH); + } + +void IR_Control(void) +{ + unsigned long Key; + if(irrecv.decode(&results)) //judging if serial port receives data + { + Key = results.value; + switch(Key) + { + case IR_Go:go_forward(150); //UP + break; + case IR_Back:go_backward(150); //back + break; + case IR_Left:rotate_left(100); //Left + break; + case IR_Right:rotate_right(100); //Righ + break; + case IR_Stop:stopp(); //stop + break; + default: + break; + } + irrecv.resume(); // Receive the next value + } + +} +void setup() +{ + pinMode(pinLB,OUTPUT); // pin2 + pinMode(pinLF,OUTPUT); // pin4 + pinMode(pinRB,OUTPUT); // pin7 + pinMode(pinRF,OUTPUT); // pin8 + pinMode(Lpwm_pin,OUTPUT); // pin5 (PWM) + pinMode(Rpwm_pin,OUTPUT); // pin6 (PWM) + irrecv.enableIRIn(); // Start the receiver + Serial.begin(9600); //initializing serial port, Bluetooth used as serial port, setting baud ratio at 9600 + stopp(); +} +void loop() +{ + + IR_Control(); + +} diff --git a/arduino/auto_lafvin/Libraries/IRremote.zip b/arduino/auto_lafvin/Libraries/IRremote.zip new file mode 100644 index 0000000..7d82392 Binary files /dev/null and b/arduino/auto_lafvin/Libraries/IRremote.zip differ diff --git a/arduino/auto_lafvin/Libraries/Servo.zip b/arduino/auto_lafvin/Libraries/Servo.zip new file mode 100644 index 0000000..b0bfe7c Binary files /dev/null and b/arduino/auto_lafvin/Libraries/Servo.zip differ diff --git a/arduino/auto_lafvin/Obstacle Avoidance Smart Car Kit V1.1.pdf b/arduino/auto_lafvin/Obstacle Avoidance Smart Car Kit V1.1.pdf new file mode 100644 index 0000000..73c5fec Binary files /dev/null and b/arduino/auto_lafvin/Obstacle Avoidance Smart Car Kit V1.1.pdf differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341PT.DLL b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341PT.DLL new file mode 100644 index 0000000..f3f7825 Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341PT.DLL differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341S64.SYS b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341S64.SYS new file mode 100644 index 0000000..9ce8f8b Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341S64.SYS differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341S98.SYS b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341S98.SYS new file mode 100644 index 0000000..ec20708 Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341S98.SYS differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.INF b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.INF new file mode 100644 index 0000000..2e6c3d7 --- /dev/null +++ b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.INF @@ -0,0 +1,213 @@ +; CH341SER.INF +; Driver for CH341 (USB=>SERIAL chip) V3.1 +; WDM&VXD for Windows 98/Me/2000/XP/Server2003/Vista/64bit Vista/Server2008/Win7/64bit Win7 +; Copyright (C) W.ch 2001-2009 +; + +[Version] +Signature = "$Chicago$" +Class = Ports +ClassGuid = {4D36E978-E325-11CE-BFC1-08002BE10318} +Provider = %WinChipHead% +DriverVer = 06/03/2009, 3.1.2009.06 +CatalogFile = CH341SER.CAT + +[ControlFlags] +ExcludeFromSelect = USB\VID_1A86&PID_7523 +ExcludeFromSelect = USB\VID_1A86&PID_5523 +ExcludeFromSelect = USB\VID_4348&PID_5523 +ExcludeFromSelect = USB\VID_4348&PID_5523&REV_0250 +ExcludeFromSelect = USBSERPORT\SER5523 +ExcludeFromSelect = CH341PORT\SER5523 + +[Manufacturer] +%WinChipHead% = WinChipHead,NT,NTamd64,NTia64 + +[WinChipHead] +%CH340SER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_7523 +%CH341ASER.DeviceDesc% = CH341SER_Install, USB\VID_1A86&PID_5523 +%CH341SER.DeviceDesc% = CH341SER_Install, USB\VID_4348&PID_5523 +%CH340SER.DeviceDesc% = CH341SER_Install, USB\VID_4348&PID_5523&REV_0250 +%CH341S98.DeviceDesc% = CH341S98_Install, USBSERPORT\SER5523 +%CH341S98.DeviceDesc% = CH341S98_Install, CH341PORT\SER5523 + +[WinChipHead.NT] +%CH340SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_1A86&PID_7523 +%CH341ASER.DeviceDesc% = CH341SER_Install.NT, USB\VID_1A86&PID_5523 +%CH341SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_4348&PID_5523 +%CH340SER.DeviceDesc% = CH341SER_Install.NT, USB\VID_4348&PID_5523&REV_0250 + +[WinChipHead.NTamd64] +%CH340SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_1A86&PID_7523 +%CH341ASER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_1A86&PID_5523 +%CH341SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_4348&PID_5523 +%CH340SER.DeviceDesc% = CH341SER_Inst.NTamd64, USB\VID_4348&PID_5523&REV_0250 + +[WinChipHead.NTia64] +%CH340SER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_1A86&PID_7523 +%CH341ASER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_1A86&PID_5523 +%CH341SER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_4348&PID_5523 +%CH340SER.DeviceDesc% = CH341SER_Inst.NTia64, USB\VID_4348&PID_5523&REV_0250 + +[CH341SER_Install] +DelFiles = CH341S98.DelFiles.SYS +CopyFiles = CH341SER.CopyFiles.SYS, CH341SER.CopyFiles.DLL +AddReg = CH341SER.9X.AddReg, CH341SER.AddReg + +[CH341SER_Install.NT] +CopyFiles = CH341SER.NT.CopyFiles.SYS, CH341SER.CopyFiles.DLL +AddReg = CH341SER.NT.AddReg, CH341SER.AddReg + +[CH341SER_Install.NT.HW] +AddReg = CH341SER.NT.HW.AddReg + +[CH341SER_Inst.NTamd64] +CopyFiles = CH341SER.NT.CopyFiles.SYSA64 +AddReg = CH341SER.NT.AddReg, CH341SER.AddReg + +[CH341SER_Inst.NTamd64.HW] +AddReg = CH341SER.NT.HW.AddReg + +[CH341SER_Inst.NTia64] +CopyFiles = CH341SER.NT.CopyFiles.SYSI64 +AddReg = CH341SER.NT.AddReg, CH341SER.AddReg + +[CH341SER_Inst.NTia64.HW] +AddReg = CH341SER.NT.HW.AddReg + +[CH341S98_Install] +DelFiles = CH341S98.DelFiles.SYS +CopyFiles = CH341S98.CopyFiles.VXD, CH341SER.CopyFiles.SYS +AddReg = CH341S98.9X.AddReg, CH341S98.AddReg + +;[CH341S98_Install.NT] + +[CH341S98.DelFiles.SYS] +CH341S98.SYS, , , 1 + +[CH341SER.CopyFiles.SYS] +CH341S98.SYS, , , 2 + +[CH341SER.NT.CopyFiles.SYS] +CH341SER.SYS, , , 2 + +[CH341SER.NT.CopyFiles.SYSA64] +CH341S64.SYS, , , 2 + +[CH341SER.NT.CopyFiles.SYSI64] +;CH341I64.SYS, , , 2 + +[CH341S98.CopyFiles.VXD] +CH341SER.VXD, , , 2 + +[CH341SER.CopyFiles.DLL] +CH341PT.DLL, , , 2 +;°²×°DLLÊÇ¿ÉÑ¡µÄ,DLL¿ÉÒÔÓÃÓÚʶ±ðCH341¶Ë¿ÚºÍ¼àÊÓCH341¶Ë¿ÚµÄ²å°Îʼþ + +[CH341SER.9X.AddReg] +HKR, , DevLoader, , *NTKERN +HKR, , NTMPDriver, , CH341S98.SYS + +[CH341SER.NT.AddReg] +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" + +[CH341SER.NT.HW.AddReg] +HKR,,"UpperFilters",0x00010000,"serenum" +;ÉÏÃæÕâÐÐÓÃÓÚö¾Ù½ÓÔÚ´®¿ÚµÄ¼´²å¼´ÓÃÉ豸,Æô¶¯Ê±½«²úÉúDTRºÍRTSÐźÅ,Èç¹ûÐèҪö¾Ù,Ç뽫ÉÏÃæÕâÐеķֺÅÈ¥µô + +[CH341S98.9X.AddReg] +HKR, , DevLoader, , *vcomm +HKR, , PortDriver, , CH341SER.VXD +HKR, , Contention, , *vcd +HKR, , ConfigDialog, , serialui.dll +HKR, , DCB, 3, 1C,00,00,00, 80,25,00,00, 11,00,00,00, 00,00,0A,00, 0A,00,08,00, 00,11,13,00, 00,00,00,00 +HKR, , PortSubClass, 1, 01 +HKR, , EnumPropPages, , "serialui.dll,EnumPropPages" +HKR, , Enumerator, , serenum.vxd +;ÉÏÃæÕâÐÐÓÃÓÚö¾Ù½ÓÔÚ´®¿ÚµÄ¼´²å¼´ÓÃÉ豸,Æô¶¯Ê±½«²úÉúDTRºÍRTSÐźÅ,Èç¹ûÐèҪö¾Ù,Ç뽫ÉÏÃæÕâÐеķֺÅÈ¥µô + +[CH341SER.AddReg] +HKLM, SOFTWARE\WinChipHead\IC\CH341SER, WDM, 0x00010001, 0x00000031 +HKLM, SOFTWARE\WinChipHead\IC\CH341PORT, DLL, 0x00010001, 0x00000010 +HKLM, SOFTWARE\WinChipHead\IC\CH341SER, Function, , "USB=>Serial" +;HKLM, SYSTEM\CurrentControlSet\Services\CH341SER, UserRemoval, 0x00010001, 0x00000001 +;ÉÏÃæÕâÐÐÓÃÓÚÔÚϵͳÍÐÅÌÖÐÏÔʾ¡°°²È«É¾³ýUSBתSERIALÓ²¼þÉ豸¡±£¬±ãÓÚÓû§ÊÖ¹¤É¾³ýÓ²¼þ + +[CH341S98.AddReg] +HKLM, SOFTWARE\WinChipHead\IC\CH341SER, VXD, 0x00010001, 0x00000023 + +[CH341SER_Install.NT.Services] +AddService = CH341SER, 2, CH341SER.Service +AddService = Serenum, , Serenum_Service_Inst + +[CH341SER_Inst.NTamd64.Services] +AddService = CH341SER_A64, 2, CH341SER.ServiceA64 +AddService = Serenum, , Serenum_Service_Inst + +[CH341SER_Inst.NTia64.Services] +AddService = CH341SER_I64, 2, CH341SER.ServiceI64 +AddService = Serenum, , Serenum_Service_Inst + +[CH341SER.Service] +DisplayName = "CH341SER" +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +ServiceBinary = %10%\System32\Drivers\CH341SER.SYS + +[CH341SER.ServiceA64] +DisplayName = "CH341SER_A64" +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +ServiceBinary = %10%\System32\Drivers\CH341S64.SYS + +[CH341SER.ServiceI64] +DisplayName = "CH341SER_I64" +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +ServiceBinary = %10%\System32\Drivers\CH341I64.SYS + +[Serenum_Service_Inst] +DisplayName = "SerEnum" +ServiceType = 1 +StartType = 3 +ErrorControl = 1 +ServiceBinary = %12%\serenum.sys +LoadOrderGroup = PNP Filter + +[DestinationDirs] +DefaultDestDir = 10, System32\Drivers +CH341S98.DelFiles.SYS = 11 +CH341SER.CopyFiles.SYS = 10, System32\Drivers +CH341SER.NT.CopyFiles.SYS = 10, System32\Drivers +CH341S98.CopyFiles.VXD = 11 +CH341SER.CopyFiles.DLL = 11 +CH341SER.NT.CopyFiles.SYSA64 = 10, System32\Drivers +;CH341SER.NT.CopyFiles.SYSI64 = 10, System32\Drivers + +[SourceDisksFiles] +CH341SER.SYS = 1 +CH341S98.SYS = 1 +CH341SER.VXD = 1 +CH341PT.DLL = 1 +CH341S64.SYS = 1 +;CH341I64.SYS = 1 + +[SourceDisksNames] +1 = %DISK_NAME%, , , + +[SourceDisksNames.amd64] +1 = %DISK_NAME%, , , + +[SourceDisksNames.ia64] +1 = %DISK_NAME%, , , + +[Strings] +WinChipHead = "wch.cn" +CH341SER.DeviceDesc = "USB-SERIAL CH341" +CH341S98.DeviceDesc = "USB-SERIAL CH341" +CH340SER.DeviceDesc = "USB-SERIAL CH340" +CH341ASER.DeviceDesc = "USB-SERIAL CH341A" +DISK_NAME = "CH341 Serial Installation Disk" diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.SYS b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.SYS new file mode 100644 index 0000000..6f843b3 Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.SYS differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.VXD b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.VXD new file mode 100644 index 0000000..1c04d3d Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/CH341SER.VXD differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/SETUP.EXE b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/SETUP.EXE new file mode 100644 index 0000000..e7f75c7 Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/SETUP.EXE differ diff --git a/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/ch341SER.CAT b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/ch341SER.CAT new file mode 100644 index 0000000..824b6f8 Binary files /dev/null and b/arduino/auto_lafvin/USB Driver Software CH340/USB_Drive_CH341_3_1/ch341SER.CAT differ diff --git a/prezentace/21_jedenadvacata_schuzka.pdf b/prezentace/21_jedenadvacata_schuzka.pdf new file mode 100644 index 0000000..8696e17 Binary files /dev/null and b/prezentace/21_jedenadvacata_schuzka.pdf differ