bbd649e5e8316b5ec969f2eb1cfacc6a2f1e1072
Board-dat/SDR/SDR1060-dat/SDR1060-dat.md
| ... | ... | @@ -58,6 +58,8 @@ Schematic |
| 58 | 58 | |
| 59 | 59 | |
| 60 | 60 | ## Applications, category, tags, etc. |
| 61 | + |
|
| 62 | +- [[dc-motor-dat]] |
|
| 61 | 63 | |
| 62 | 64 | ## Demo Code and Video |
| 63 | 65 |
Board-dat/SDR/SDR1064-dat/2025-05-08-14-42-09.png
| ... | ... | Binary files /dev/null and b/Board-dat/SDR/SDR1064-dat/2025-05-08-14-42-09.png differ |
Board-dat/SDR/SDR1064-dat/SDR1064-dat.md
| ... | ... | @@ -22,10 +22,70 @@ Input Pins: SD2, SD3, IO8, IO7, IO6, IO5, IO4, IO3, IO2, IO1, IO0 |
| 22 | 22 | |
| 23 | 23 | Motor Control: Phase_A, Phase_B, VIN, V_Motor |
| 24 | 24 | |
| 25 | +### Pins |
|
| 26 | + |
|
| 27 | +| nodemcu | right | func1 | func2 | [[SDR1064-dat]] | |
|
| 28 | +| ------- | ----- | ----- | ----- | --------------- | |
|
| 29 | +| D0 | I016 | USER | WAKE | | |
|
| 30 | +| D1 | I05 | | | PWM_A | |
|
| 31 | +| D2 | I04 | | | PWM_B | |
|
| 32 | +| D3 | I00 | FLASH | | Motor_1 | |
|
| 33 | +| D4 | I02 | TXD1 | | Motor_2 | |
|
| 34 | +| | 3.3V | | | | |
|
| 35 | +| | GND | | | | |
|
| 36 | +| D5 | I014 | | HSCLK | | |
|
| 37 | +| D6 | I012 | | HMISO | | |
|
| 38 | +| D7 | I013 | RXD2 | HMOSI | | |
|
| 39 | +| D8 | I015 | TXD2 | HCS | | |
|
| 40 | +| D9 | I03 | RXDe | | | |
|
| 41 | +| D10 | I01 | TXDE | | | |
|
| 42 | +| | GND | | | | |
|
| 43 | +| | 3.3V | | | | |
|
| 44 | + |
|
| 45 | + |
|
| 46 | +### Shield setup |
|
| 47 | + |
|
| 48 | +* Motor power supply (VM): 4.5V ~ 36V, can be powered separately |
|
| 49 | +* Nodemcu Control power (VIN): 4.5V ~ 9V (10VMAX), can be powered separately |
|
| 50 | +* Logic Operating current Iss: ≤60mA (Vi = L), ≤22mA (Vi = H) |
|
| 51 | +* Driver IC: L293, drive = PWM (Pulse Wide Modulation) |
|
| 52 | +* Drive part of the work current Io: ≤1.2A |
|
| 53 | +* Maximum power dissipation: 4W (T = 90 ℃) |
|
| 54 | +* Control signal input level: High: 2.3V≤VIH≤VIN; Low: -0.3V≤VIL≤1.5V |
|
| 55 | +* ESP12E Dev Kit Control Port: |
|
| 56 | +* GPIO0: Motor DirA, Button FLASH; GPIO5: Motor PWMA |
|
| 57 | +* GPIO2: Motor DirB; GPIO4: Motor PWMB |
|
| 58 | +* The screw terminal is labeled with the signal names. |
|
| 59 | +* The push button switch connects VIN to the board. |
|
| 60 | + |
|
| 61 | + |
|
| 25 | 62 | ## Demo Code and Video |
| 26 | 63 | |
| 64 | +- [[SDR1064-rover.ino]] - [[SDR1064-demo1.ino]] |
|
| 65 | + |
|
| 66 | +[SDR1064 drive hacked toy rover by #esp8266](https://t.me/electrodragon3/364) |
|
| 67 | + |
|
| 68 | +[demo video wifi car](https://www.youtube.com/watch?v=fbAj6JJp9aE) |
|
| 69 | + |
|
| 70 | +[WiFiCar-NodeMCU](http://www.rudiswiki.de/wiki9/WiFiCar-NodeMCU) |
|
| 71 | + |
|
| 72 | +[ESP8266: NodeMCU Motor Shield Review](http://blog.squix.ch/2015/09/esp8266-nodemcu-motor-shield-review.html) |
|
| 73 | + |
|
| 74 | +### Demo code JS Web Control |
|
| 75 | + |
|
| 76 | + |
|
| 77 | +It is not simple to setup the WiFiCar with the provided software. You should have good knowledge of network handling, and Arduino and C programming. |
|
| 27 | 78 | |
| 79 | +- Install the Arduino IDE (Integrated Development Environment) and the ESP8266 plugin Links #17 for programming the NodeMCU. |
|
| 80 | +- With Arduino IDE upload my program wifi-car-AP.ino (Access Point mode) to the NodeMCU of the car. |
|
| 81 | +- Power Up the NodeMCU, and try to find the WiFi hotspot (name: wifi-car) on IP address 192.168.4.1. |
|
| 82 | +- Upload the provided JavaSript program wifi-carAP.js to the NodeMCU, via the URL http://192.168.4.1/upload (you will be asked for the File name/path). |
|
| 83 | +#With an Android Smartphone connect with WLAN to the WiFicar Hotspot (name: wifi-car). |
|
| 84 | +- Enter in your Web browser the URL http://192.168.4.1 . A HTML file is loaded (embedded in the C program) and the Java script file is loaded and executed. |
|
| 85 | +- As soon, as you tilt the smartphone, the WiFicar will move in that direction. |
|
| 86 | +- You should be able to see the interface similar to the right. |
|
| 28 | 87 | |
| 88 | + |
|
| 29 | 89 | |
| 30 | 90 | ## ref |
| 31 | 91 | |
| ... | ... | @@ -33,7 +93,7 @@ Motor Control: Phase_A, Phase_B, VIN, V_Motor |
| 33 | 93 | |
| 34 | 94 | - [[SDR1064]] |
| 35 | 95 | |
| 36 | -- [[L293-dat]] |
|
| 96 | +- [[L293-dat]] - [[dc-motor-dat]] |
|
| 37 | 97 | |
| 38 | 98 | - [legacy wiki page ](https://www.electrodragon.com/w/WifiCar) |
| 39 | 99 | |
| ... | ... | \ No newline at end of file |
Board-dat/SDR/SDR1064-dat/SDR1064-demo1.ino
| ... | ... | @@ -0,0 +1,52 @@ |
| 1 | + |
|
| 2 | +const int ENA = 5; // PWM for speed for Motor 1 |
|
| 3 | +const int IN1 = 0; // Direction for Motor 1 (IN2_Motor1 is inverted in hardware) |
|
| 4 | + |
|
| 5 | +// Pins for Motor 2 |
|
| 6 | +const int ENB = 4; // PWM for speed for Motor 2 |
|
| 7 | +const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 8 | + |
|
| 9 | +void setup() |
|
| 10 | +{ |
|
| 11 | + pinMode(ENA, OUTPUT); |
|
| 12 | + pinMode(IN1, OUTPUT); |
|
| 13 | + |
|
| 14 | + pinMode(ENB, OUTPUT); |
|
| 15 | + pinMode(IN2, OUTPUT); |
|
| 16 | + |
|
| 17 | + Serial.begin(9600); |
|
| 18 | +} |
|
| 19 | + |
|
| 20 | +void loop() |
|
| 21 | +{ |
|
| 22 | + |
|
| 23 | + Serial.println("Forward"); |
|
| 24 | + // Both Motors Forward |
|
| 25 | + digitalWrite(IN1, HIGH); // Motor 1 Forward (IN2_Motor1 becomes LOW due to inverter) |
|
| 26 | + analogWrite(ENA, 200); // Set speed for Motor 1 |
|
| 27 | + |
|
| 28 | + digitalWrite(IN2, HIGH); // Motor 2 Forward |
|
| 29 | + analogWrite(ENB, 200); // Set speed for Motor 2 |
|
| 30 | + delay(2000); |
|
| 31 | + |
|
| 32 | + Serial.println("Stop"); |
|
| 33 | + // Both Motors Stop |
|
| 34 | + analogWrite(ENA, 0); // Stop Motor 1 |
|
| 35 | + analogWrite(ENB, 0); // Stop Motor 2 |
|
| 36 | + delay(1000); |
|
| 37 | + |
|
| 38 | + Serial.println("Backward"); |
|
| 39 | + // Both Motors Backward |
|
| 40 | + digitalWrite(IN1, LOW); // Motor 1 Backward (IN2_Motor1 becomes HIGH due to inverter) |
|
| 41 | + analogWrite(ENA, 200); // Set speed for Motor 1 |
|
| 42 | + |
|
| 43 | + digitalWrite(IN2, LOW); // Motor 2 Backward |
|
| 44 | + analogWrite(ENB, 200); // Set speed for Motor 2 |
|
| 45 | + delay(2000); |
|
| 46 | + |
|
| 47 | + Serial.println("Stop"); |
|
| 48 | + // Both Motors Stop |
|
| 49 | + analogWrite(ENA, 0); // Stop Motor 1 |
|
| 50 | + analogWrite(ENB, 0); // Stop Motor 2 |
|
| 51 | + delay(1000); |
|
| 52 | +} |
|
| ... | ... | \ No newline at end of file |
Board-dat/SDR/SDR1064-dat/SDR1064-rover.ino
| ... | ... | @@ -0,0 +1,98 @@ |
| 1 | +// ...existing code... |
|
| 2 | +// Pins for Motor 1 (Left Motor) |
|
| 3 | +const int ENA = 5; // PWM for speed for Motor 1 |
|
| 4 | +const int IN1 = 0; // Direction for Motor 1 (IN2_Motor1 is inverted in hardware) |
|
| 5 | + |
|
| 6 | +// Pins for Motor 2 (Right Motor) |
|
| 7 | +const int ENB = 4; // PWM for speed for Motor 2 |
|
| 8 | +const int IN2 = 2; // Direction pin 1 for Motor 2 |
|
| 9 | + |
|
| 10 | +// Define a speed for the motors |
|
| 11 | +const int motorSpeed = 200; |
|
| 12 | + |
|
| 13 | +void setup() |
|
| 14 | +{ |
|
| 15 | + pinMode(ENA, OUTPUT); |
|
| 16 | + pinMode(IN1, OUTPUT); |
|
| 17 | + |
|
| 18 | + pinMode(ENB, OUTPUT); |
|
| 19 | + pinMode(IN2, OUTPUT); |
|
| 20 | + |
|
| 21 | + Serial.begin(9600); |
|
| 22 | + stopMotors(); // Start with motors stopped |
|
| 23 | +} |
|
| 24 | + |
|
| 25 | +void goForward() { |
|
| 26 | + Serial.println("Moving Forward"); |
|
| 27 | + // Motor 1 Forward |
|
| 28 | + digitalWrite(IN1, HIGH); |
|
| 29 | + analogWrite(ENA, motorSpeed); |
|
| 30 | + // Motor 2 Forward |
|
| 31 | + digitalWrite(IN2, HIGH); |
|
| 32 | + analogWrite(ENB, motorSpeed); |
|
| 33 | +} |
|
| 34 | + |
|
| 35 | +void goBackward() { |
|
| 36 | + Serial.println("Moving Backward"); |
|
| 37 | + // Motor 1 Backward |
|
| 38 | + digitalWrite(IN1, LOW); |
|
| 39 | + analogWrite(ENA, motorSpeed); |
|
| 40 | + // Motor 2 Backward |
|
| 41 | + digitalWrite(IN2, LOW); |
|
| 42 | + analogWrite(ENB, motorSpeed); |
|
| 43 | +} |
|
| 44 | + |
|
| 45 | +void turnLeft() { |
|
| 46 | + Serial.println("Turning Left"); |
|
| 47 | + // Motor 1 (Left) Backward |
|
| 48 | + digitalWrite(IN1, LOW); |
|
| 49 | + analogWrite(ENA, motorSpeed); |
|
| 50 | + // Motor 2 (Right) Forward |
|
| 51 | + digitalWrite(IN2, HIGH); |
|
| 52 | + analogWrite(ENB, motorSpeed); |
|
| 53 | +} |
|
| 54 | + |
|
| 55 | +void turnRight() { |
|
| 56 | + Serial.println("Turning Right"); |
|
| 57 | + // Motor 1 (Left) Forward |
|
| 58 | + digitalWrite(IN1, HIGH); |
|
| 59 | + analogWrite(ENA, motorSpeed); |
|
| 60 | + // Motor 2 (Right) Backward |
|
| 61 | + digitalWrite(IN2, LOW); |
|
| 62 | + analogWrite(ENB, motorSpeed); |
|
| 63 | +} |
|
| 64 | + |
|
| 65 | +void stopMotors() { |
|
| 66 | + Serial.println("Stopping Motors"); |
|
| 67 | + // Stop Motor 1 |
|
| 68 | + analogWrite(ENA, 0); |
|
| 69 | + // Stop Motor 2 |
|
| 70 | + analogWrite(ENB, 0); |
|
| 71 | +} |
|
| 72 | + |
|
| 73 | +void loop() |
|
| 74 | +{ |
|
| 75 | + goForward(); |
|
| 76 | + delay(2000); |
|
| 77 | + |
|
| 78 | + stopMotors(); |
|
| 79 | + delay(1000); |
|
| 80 | + |
|
| 81 | + goBackward(); |
|
| 82 | + delay(2000); |
|
| 83 | + |
|
| 84 | + stopMotors(); |
|
| 85 | + delay(1000); |
|
| 86 | + |
|
| 87 | + turnLeft(); |
|
| 88 | + delay(1500); // Shorter delay for turns, adjust as needed |
|
| 89 | + |
|
| 90 | + stopMotors(); |
|
| 91 | + delay(1000); |
|
| 92 | + |
|
| 93 | + turnRight(); |
|
| 94 | + delay(1500); // Shorter delay for turns, adjust as needed |
|
| 95 | + |
|
| 96 | + stopMotors(); |
|
| 97 | + delay(1000); |
|
| 98 | +} |
|
| ... | ... | \ No newline at end of file |
Chip-dat/TI-dat/TI-Motor-dat/L293-dat/L293-dat.md
| ... | ... | @@ -11,17 +11,99 @@ The L293D is a 16-pin motor driver IC, also known as a quad half-H driver, capab |
| 11 | 11 | |
| 12 | 12 | ## App. |
| 13 | 13 | |
| 14 | -- [[SDR1064-dat]] |
|
| 14 | +- [[SDR1064-dat]] - [[nodemcu-dat]] |
|
| 15 | + |
|
| 16 | +- [[SDR1060-dat]] - [[arduino-ide-dat]] |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +## 🔌 L293 vs L293D: Key Differences |
|
| 20 | + |
|
| 21 | +| Feature | **L293** | **L293D** | |
|
| 22 | +|---------------------------|----------------------------------|--------------------------------------| |
|
| 23 | +| **Internal Flyback Diodes** | ❌ No | ✅ Yes (built-in protection diodes) | |
|
| 24 | +| **Maximum Output Current** | Up to 1 A (peak 2 A) | Up to 600 mA (peak 1.2 A) | |
|
| 25 | +| **Cost** | Slightly cheaper | Slightly more expensive | |
|
| 26 | +| **Protection** | Needs external diodes | Protected against back EMF | |
|
| 27 | + |
|
| 15 | 28 | |
| 16 | 29 | |
| 17 | 30 | ## demo code |
| 18 | 31 | |
| 19 | 32 | - single DC motor control [[afMotor-1.ino]] |
| 20 | 33 | |
| 34 | +### simple demo code |
|
| 35 | + |
|
| 36 | + // Pin definitions |
|
| 37 | + const int ENA = 9; |
|
| 38 | + const int IN1 = 8; |
|
| 39 | + const int IN2 = 7; |
|
| 40 | + |
|
| 41 | + void setup() { |
|
| 42 | + pinMode(ENA, OUTPUT); |
|
| 43 | + pinMode(IN1, OUTPUT); |
|
| 44 | + pinMode(IN2, OUTPUT); |
|
| 45 | + } |
|
| 46 | + |
|
| 47 | + void loop() { |
|
| 48 | + // Forward |
|
| 49 | + digitalWrite(IN1, HIGH); |
|
| 50 | + digitalWrite(IN2, LOW); |
|
| 51 | + analogWrite(ENA, 200); // PWM speed (0~255) |
|
| 52 | + delay(2000); |
|
| 53 | + |
|
| 54 | + // Stop |
|
| 55 | + analogWrite(ENA, 0); |
|
| 56 | + delay(1000); |
|
| 57 | + |
|
| 58 | + // Backward |
|
| 59 | + digitalWrite(IN1, LOW); |
|
| 60 | + digitalWrite(IN2, HIGH); |
|
| 61 | + analogWrite(ENA, 200); |
|
| 62 | + delay(2000); |
|
| 63 | + |
|
| 64 | + // Stop |
|
| 65 | + analogWrite(ENA, 0); |
|
| 66 | + delay(1000); |
|
| 67 | + } |
|
| 68 | + |
|
| 69 | +### simple demo code with inverter |
|
| 70 | + |
|
| 71 | + |
|
| 72 | + |
|
| 73 | + const int ENA = 9; // PWM for speed |
|
| 74 | + const int IN1 = 8; // Direction (IN2 is inverted in hardware) |
|
| 75 | + |
|
| 76 | + void setup() { |
|
| 77 | + pinMode(ENA, OUTPUT); |
|
| 78 | + pinMode(IN1, OUTPUT); |
|
| 79 | + } |
|
| 80 | + |
|
| 81 | + void loop() { |
|
| 82 | + // Forward |
|
| 83 | + digitalWrite(IN1, HIGH); // IN2 becomes LOW due to inverter |
|
| 84 | + analogWrite(ENA, 200); // Set speed |
|
| 85 | + delay(2000); |
|
| 86 | + |
|
| 87 | + // Stop |
|
| 88 | + analogWrite(ENA, 0); |
|
| 89 | + delay(1000); |
|
| 90 | + |
|
| 91 | + // Backward |
|
| 92 | + digitalWrite(IN1, LOW); // IN2 becomes HIGH due to inverter |
|
| 93 | + analogWrite(ENA, 200); // Set speed |
|
| 94 | + delay(2000); |
|
| 95 | + |
|
| 96 | + // Stop |
|
| 97 | + analogWrite(ENA, 0); |
|
| 98 | + delay(1000); |
|
| 99 | + } |
|
| 100 | + |
|
| 101 | + |
|
| 102 | + |
|
| 21 | 103 | ## ref |
| 22 | 104 | |
| 23 | 105 | - [[74LVC2G04-dat]] - [[logic-inverter-dat]] - [[logic-gate-dat]] |
| 24 | 106 | |
| 25 | -- [[L293]] |
|
| 107 | +- [[L293]] - [[TI-motor]] |
|
| 26 | 108 | |
| 27 | 109 |
Tech-dat/acturator-dat/motor-dat/DC-motor-dat/DC-motor-dat.md
| ... | ... | @@ -12,7 +12,7 @@ The **130 motor** is a type of **DC motor** commonly used in toys, small applian |
| 12 | 12 | |
| 13 | 13 | ### ⚙️ Specifications (Typical) |
| 14 | 14 | |
| 15 | -- **Voltage Range:** 1.5V – 6V (Commonly 3V or 5V) |
|
| 15 | +- **Voltage Range:** 1.5V – 6V (Commonly 3V or 5V) ??? try up to 7V |
|
| 16 | 16 | - **High RPM:** Often from a few thousand to over 10,000 RPM |
| 17 | 17 | - **Low Torque:** Suitable for light-load applications |
| 18 | 18 | - **Brush Type:** Brushed (uses carbon brushes and a commutator) |
| ... | ... | @@ -49,14 +49,14 @@ So, a **230 motor** typically has: |
| 49 | 49 | |
| 50 | 50 | ## 📊 Size Comparison Table |
| 51 | 51 | |
| 52 | -| Motor Name | Diameter (mm) | Length (mm) | Power Level | Common Use | |
|
| 53 | -|------------|----------------|--------------|-----------------------|---------------------------------| |
|
| 54 | -| 130 | ~15.5 | ~20 | Small / Light-duty | Toys, small fans | |
|
| 55 | -| 230 | ~24 | ~30 | Medium | DIY cars, small robots | |
|
| 56 | -| 260 | ~24 | ~36 | Medium-High | Hobby motors, gear motors | |
|
| 57 | -| 280 | ~24 | ~45 | High | RC cars, small drills | |
|
| 58 | -| 380 | ~28 | ~50–60 | Very High | Power tools, electric screwdrivers | |
|
| 59 | -| 540 | ~36 | ~50 | Ultra High | RC racing cars, e-bikes | |
|
| 52 | +| Motor Name | Diameter (mm) | Length (mm) | Power Level | Common Use | |
|
| 53 | +| ---------- | ------------- | ----------- | ------------------ | ---------------------------------- | |
|
| 54 | +| 130 | ~15.5 | ~20 | Small / Light-duty | Toys, small fans | |
|
| 55 | +| 230 | ~24 | ~30 | Medium | DIY cars, small robots | |
|
| 56 | +| 260 | ~24 | ~36 | Medium-High | Hobby motors, gear motors | |
|
| 57 | +| 280 | ~24 | ~45 | High | RC cars, small drills | |
|
| 58 | +| 380 | ~28 | ~50–60 | Very High | Power tools, electric screwdrivers | |
|
| 59 | +| 540 | ~36 | ~50 | Ultra High | RC racing cars, e-bikes | |
|
| 60 | 60 | |
| 61 | 61 | |
| 62 | 62 | ## ref |
board-3rd-dat/nodemcu-dat/nodemcu-dat.md
| ... | ... | @@ -10,6 +10,28 @@ |
| 10 | 10 | |
| 11 | 11 | - [[AMS1117-dat]] |
| 12 | 12 | |
| 13 | +### pins |
|
| 14 | + |
|
| 15 | + |
|
| 16 | +| nodemcu | right | func1 | func2 | |
|
| 17 | +| ------- | ----- | ----- | ----- | |
|
| 18 | +| D0 | I016 | USER | WAKE | |
|
| 19 | +| D1 | I05 | | | |
|
| 20 | +| D2 | I04 | | | |
|
| 21 | +| D3 | I00 | FLASH | | |
|
| 22 | +| D4 | I02 | TXD1 | | |
|
| 23 | +| | 3.3V | | | |
|
| 24 | +| | GND | | | |
|
| 25 | +| D5 | I014 | | HSCLK | |
|
| 26 | +| D6 | I012 | | HMISO | |
|
| 27 | +| D7 | I013 | RXD2 | HMOSI | |
|
| 28 | +| D8 | I015 | TXD2 | HCS | |
|
| 29 | +| D9 | I03 | RXDe | | |
|
| 30 | +| D10 | I01 | TXDE | | |
|
| 31 | +| | GND | | | |
|
| 32 | +| | 3.3V | | | |
|
| 33 | + |
|
| 34 | + |
|
| 13 | 35 | ## Boards |
| 14 | 36 | |
| 15 | 37 | - [[NWI1044-dat]] |