INHOUDSOPGAWE:
- Stap 1: toerusting
- Stap 2: Kringdiagram -prentlêer
- Stap 3: Fritzing File of Circuit Diagram
- Stap 4: Senderkode
- Stap 5: Ontvangerkode
- Stap 6: INO -lêers
- Stap 7: Skakel van biblioteke
Video: Gebaarbeheerde draadlose motor: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:25
In hierdie handleiding gaan ons leer hoe om 'n motor met 'n gebaar of 'n robot te maak. Hierdie projek het twee dele, een deel is 'n sender -eenheid en 'n ander deel is 'n ontvanger -eenheid. Die sender -eenheid is eintlik op 'n handskoene gemonteer en die ontvanger -eenheid word in 'n motor of 'n robot geplaas. Nou is dit tyd om 'n mooi motor te maak. Kom ons gaan!
Stap 1: toerusting
Sender -eenheid
1. Arduino Nano.
2. MPU6050 Sensormodule.
3. RF 433 MHz -sender.
4. Enige tipe 3 -sel, 11.1 volt battery (hier het ek muntstuk gebruik).
5. Vero-Board.
6. Handhandskoene.
Ontvanger Eenheid
1. Arduino Nano of Arduino Uno.
2. L298N Motorbestuurder Module.
3. 4 -wiel robotraam insluitend motors.
4. RF 433 RF Ontvanger.
5. 3-sel, 11.1 volt Li-po-battery.
6. Vero-bord.
Ander
1. Plak stokke en geweer vas.
2. Springdrade.
3. Skroewedraaiers
4. Soldeerstel.
ens.
Stap 2: Kringdiagram -prentlêer
Stap 3: Fritzing File of Circuit Diagram
Stap 4: Senderkode
#insluit
#insluit
#insluit
MPU6050 mpu6050 (draad);
lang timer = 0;
char *kontroleerder;
leemte opstelling ()
{Serial.begin (9600); Wire.begin (); mpu6050.begin (); mpu6050.calcGyroOffsets (waar); vw_set_ptt_inverted (waar); // vw_set_tx_pin (10); vw_setup (4000); // spoed van data -oordrag Kbps
}
leemte lus ()
{ ////////////////////////////////////////////////////////////////////////////////////////////////
mpu6050.update ();
as (millis () - timer> 1000)
{Serial.println ("============================================== ============ "); Serial.print ("temp:"); Serial.println (mpu6050.getTemp ()); Serial.print ("accX:"); Serial.print (mpu6050.getAccX ()); Serial.print ("\ taccY:"); Serial.print (mpu6050.getAccY ()); Serial.print ("\ taccZ:"); Serial.println (mpu6050.getAccZ ()); Serial.print ("gyroX:"); Serial.print (mpu6050.getGyroX ()); Serial.print ("\ tgyroY:"); Serial.print (mpu6050.getGyroY ()); Serial.print ("\ tgyroZ:"); Serial.println (mpu6050.getGyroZ ()); Serial.print ("accAngleX:"); Serial.print (mpu6050.getAccAngleX ()); Serial.print ("\ taccAngleY:"); Serial.println (mpu6050.getAccAngleY ()); Serial.print ("gyroAngleX:"); Serial.print (mpu6050.getGyroAngleX ()); Serial.print ("\ tgyroAngleY:"); Serial.print (mpu6050.getGyroAngleY ()); Serial.print ("\ tgyroAngleZ:"); Serial.println (mpu6050.getGyroAngleZ ()); Serial.print ("angleX:"); Serial.print (mpu6050.getAngleX ()); Serial.print ("\ tangleY:"); Serial.print (mpu6050.getAngleY ()); Serial.print ("\ tangleZ:"); Serial.println (mpu6050.getAngleZ ()); Serial.println ("=============================================== ============ / n "); timer = millis (); }
/////////////////////////////////////////////////////////////////////////////////////
if (mpu6050.getAccAngleX () 30) {kontroleerder = "X2"; vw_send ((uint8_t *) kontroleerder, strlen (kontroleerder)); vw_wait_tx (); // Wag totdat die hele boodskap weg is Serial.println ("vorentoe"); } anders as (mpu6050.getAccAngleY ()> 40) {kontroleerder = "Y1"; vw_send ((uint8_t *) kontroleerder, strlen (kontroleerder)); vw_wait_tx (); // Wag totdat die hele boodskap weg is Serial.println ("LEFT"); } anders as (mpu6050.getAccAngleY () <-40) {controller = "Y2"; vw_send ((uint8_t *) kontroleerder, strlen (kontroleerder)); vw_wait_tx (); // Wag totdat die hele boodskap weg is Serial.println ("REGS"); } anders as (mpu6050.getAccAngleX ()-10 && mpu6050.getAccAngleY ()-10) {controller = "A1"; vw_send ((uint8_t *) kontroleerder, strlen (kontroleerder)); vw_wait_tx (); // Wag totdat die hele boodskap weg is Serial.println ("STOP"); }}
Stap 5: Ontvangerkode
#insluit
int LA = 3;
int LB = 11; int RA = 5; int RB = 6; ongeldige opstelling () {Serial.begin (9600); vw_set_ptt_inverted (waar); // Vereis vir DR3100 vw_set_rx_pin (12); vw_setup (4000); // Bits per sekonde pinMode (13, OUTPUT); pinMode (LA, UITGANG); pinMode (LB, OUTPUT); pinMode (RA, UITGANG); pinMode (RB, OUTPUT); vw_rx_start (); // Begin die ontvanger PLL met Serial.println ("Alles OK");
}
leemte -lus () {uint8_t buf [VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message (buf, & buflen)) // Nie-blokkerend
{if ((buf [0] == 'X') && (buf [1] == '1')) {Serial.println ("TERUG"); agteruit (); vertraging (100); // af (); } anders as ((buf [0] == 'X') && (buf [1] == '2')) {Serial.println ("VOORUIT"); vorentoe (); vertraging (100); // af (); }
anders as ((buf [0] == 'Y') && (buf [1] == '1'))
{Serial.println ("LINKS"); links (); vertraging (100); // af (); }
anders as ((buf [0] == 'Y') && (buf [1] == '2'))
{Serial.println ("REGS"); regs (); vertraging (100); // af (); } anders as ((buf [0] == 'A') && (buf [1] == '1')) {Serial.println ("STOP"); af (); vertraging (100); }} anders {Serial.println ("Geen sein ontvang nie"); }}
leegte vorentoe ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 70); analogWrite (RB, 0); }
agteruit leeg ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 0); analogWrite (RB, 70); }
leegte links ()
{analogWrite (LA, 0); analogWrite (LB, 70); analogWrite (RA, 70); analogWrite (RB, 0); }
nietig reg ()
{analogWrite (LA, 70); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 70); }
ongeldig ()
{analogWrite (LA, 0); analogWrite (LB, 0); analogWrite (RA, 0); analogWrite (RB, 0); }
Stap 6: INO -lêers
Stap 7: Skakel van biblioteke
Virtual Wire Library:
MPU6050_tockn Weegskaal:
Wire Library:
Aanbeveel:
Draadlose Arduino -robot met behulp van die HC12 -draadlose module: 7 stappe
Draadlose Arduino -robot wat die HC12 -draadlose module gebruik: Hallo ouens, welkom terug. In my vorige pos het ek verduidelik wat 'n H Bridge Circuit is, L293D -motorbestuurder -IC, L293D -motorbestuurder -IC vir die bestuur van hoëstroom -motorbestuurders en hoe u u eie L293D -motorbestuurderbord kan ontwerp en maak
Gebaarbeheerde motor: 5 stappe (met foto's)
Gebaarbeheerde motor: Robotte speel 'n belangrike rol in outomatisering in alle sektore, soos konstruksie, militêr, medies, vervaardiging, ens
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian -rek: 6 stappe
Vyftig meter bereik draadlose toegangspunt met TP Link WN7200ND USB draadlose adapter op Raspbian Stretch: Raspberry Pi is wonderlik om veilige draadlose toegangspunte te skep, maar dit het nie 'n goeie bereik nie; ek het 'n TP Link WN7200ND USB draadlose adapter gebruik om dit uit te brei. Ek wil deel hoe om dit te doen Hoekom wil ek 'n framboos pi in plaas van 'n router gebruik? T
DIY draadlose mikrofoon na draadlose kitaarstelsel: 4 stappe
DIY draadlose mikrofoon na draadlose kitaarstelsel: ek het 'n paar videos en 'n paar bands gekyk, en byna 'n draadlose stelsel op kitaar. Word mal, beweeg, loop en doen wat hulle wil sonder die koord, so ek droom daarvan om een te hê .. Maar .. vir my is dit nou te duur, so ek het hierop gekom
Hack 'n draadlose deurklokkie in 'n draadlose alarmskakelaar of aan/uit -skakelaar: 4 stappe
Hack 'n draadlose deurklokkie in 'n draadlose alarmskakelaar of aan/uit -skakelaar: ek het onlangs 'n alarmstelsel gebou en dit in my huis geïnstalleer. Ek het magnetiese skakelaars op die deure gebruik en deur die solder vasgemaak. Die vensters was 'n ander storie en harde bedrading was nie 'n opsie nie. Ek het 'n draadlose oplossing nodig gehad, en dit is