Schrijver: Eugene Taylor
Datum Van Creatie: 13 Augustus 2021
Updatedatum: 1 Juli- 2024
Anonim
Control Your Raspberry Pi Remotely Using Your Phone | RaspController
Video: Control Your Raspberry Pi Remotely Using Your Phone | RaspController

Inhoud

In dit artikel: Installeer de OSTownload NOOBSFormater de SDCopier NOOBS-kaart op de SD-kaart Neem de Raspberry pi in Configureer het netwerkInstall Geany IDPower een DC-motor in Python (gedeeltelijke bekabeling) Voltooi de verbindingenPilot een DC-motor in Python (programmeergedeelte) 1e challenge2e challenge5 Referenties

De Raspberry Pi is een computer ter grootte van een creditcard. Het is ontworpen en geproduceerd door de Raspberry Foundation, een organisatie zonder winstoogmerk die computers en programma's zo toegankelijk mogelijk wil maken. De oorspronkelijke missie van het Raspberry-project was om een ​​computer zo goedkoop mogelijk te ontwerpen met goede programmeermogelijkheden. Leg het dus in handen van de studenten. Deze gids is bedoeld om de basis te leggen voor het gebruik van Raspberry Pi en zo de bediening ervan te vergemakkelijken.

Waarschuwing. Dit artikel is bedoeld voor mensen met een goede computerachtergrond.


stadia

Deel 1 Installeer het besturingssysteem

  1. Begrijp wat NOOBS (nieuwe out-of-box-software) is. Het is een installatiemanager voor de verschillende besturingssystemen die kunnen worden gebruikt met de Raspberry Pi en heeft tot doel de installatie van het besturingssysteem van onze keuze te vergemakkelijken. Dit is het eerste contact dat we zullen hebben met het softwaregedeelte van onze microcomputer. De volgende besturingssystemen zijn opgenomen in NOOBS:
    • Raspbian
    • Pidora
    • OpenELELC
    • RaspBMC
    • RISC OS
    • Boog Linus
    • De benodigde apparatuur voor deze zelfstudie zijn:
    • Een pc
    • Een klasse 4 SD-kaart van minimaal 8 GB
      • De originele doos met de Raspberry Pi bevat al een vooraf geïnstalleerde SD-geheugenkaart met NOOBS. De volgende stappen zijn daarom alleen nuttig bij installatie op een nieuwe SD-kaart.

Deel 2 Download NOOBS




  1. U kunt "NOOBS" downloaden op het volgende adres: NOOBS

Deel 3 Formatteer de SD-kaart

  1. Het is noodzakelijk om een ​​SD-kaart van minimaal 4 GB te hebben. 8 GB is echter de aanbevolen grootte.

Deel 4 Kopieer NOOBS naar SD-kaart

  1. Pak de bestanden uit. Pak de documenten uit het zipbestand met de naam NOOBS dat in de eerste stap is gedownload. Kopieer de uitgepakte bestanden naar de nieuw geformatteerde SD-kaart. Wees echter voorzichtig dat in sommige gevallen de uitgepakte bestanden naar een nieuwe map kunnen gaan en in dit geval is het beter om de bestanden zelf te kopiëren in plaats van de map.
    • Wanneer u voor het eerst start, wordt de lijst met beschikbare besturingssystemen weergegeven.

Deel 5 Neem de controle over de Raspberry pi

  1. Volg de onderstaande stappen om de Raspberry Pi te gebruiken.
    • Plaats de SD-kaart in de Raspberry totdat u een "klik" hoort.
    • Sluit de HDMI-kabel aan en verbind deze met het scherm. Vergeet niet aan te sluiten en in te schakelen
    • het scherm. Voed de Raspberry met de Micro USB-oplader
    • Sluit het toetsenbord en de muis aan op een USB-poort.




    • Nadat u deze stappen hebt uitgevoerd, ziet u op uw monitor dat de NOOBS-software wordt geladen. Na het laden verschijnt er een lijst met besturingssystemen die kunnen worden geïnstalleerd. Raspbian is het aanbevolen besturingssysteem voor installatie. Selecteer Raspbian en klik op de knop "Installeren" bovenaan het venster.





  2. De installatie duurt ongeveer 20 minuten. Wanneer de installatie is voltooid, verschijnt een zwart opdrachtscherm. Het is dan nodig om, op verzoek van het programma, de gebruikersnaam: "pi" en het wachtwoord: "raspberry" in te voeren. Typ vervolgens het volgende in de opdrachtregel en druk op de toets "Enter":

    startx

  3. Gefeliciteerd! Je bent erin geslaagd de omgeving te installeren die nodig is om je Raspberry pi te gebruiken :)! We gaan nu verder met de netwerkconfiguratie.

Deel 6 Configureer het netwerk

Maak verbinding met internet. Zodra de Raspberry Pi functioneel is, moet u vervolgens een verbinding met het internet voor de Raspberry Pi opzetten. Zodra dit is gebeurd, kunt u op internet surfen net zoals bij een compleet andere computer. Er zijn twee manieren om uw verbinding in te stellen, hetzij bekabeld (met een Ethernet-kabel) of draadloos via Wi-Fi. Volg deze stappen om uw netwerk in te stellen.

Configureer een bekabeld netwerk

  1. De benodigde apparatuur is:
    • een functionele Raspberry Pi (zie Aan de slag met Raspberry Pi)
    • een ethernetkabel
  2. Sluit eenvoudig een van de Ethernet-kabelkoppen aan op de meegeleverde poort op de Raspberry Pi en de andere op de modem of internettoegangsrouter. Hierdoor wordt de Raspberry Pi automatisch verbonden met internet.

Een draadloos netwerk instellen (SSH / wifi)

  1. De benodigde apparatuur is:
    • een functionele Raspberry Pi (zie Aan de slag Raspberry Pi 3)
    • een wifi USB-sleutel
  2. Sluit de USB-wifi-stick aan op een van de beschikbare poorten van de Raspberry Pi.


  3. Open de wifi-installatieservice door op het pictogram in het menu te tikken.
    • Nadat u de service hebt geopend, ziet u de volgende interface verschijnen.





  4. Klik op de scan knop. Er verschijnt een nieuw venster. Daarom zal het het netwerk dat we willen gebruiken verdubbelen.


  5. Voer het wachtwoord in. Voer het netwerktoegangswachtwoord in het veld Pre-Shared Key (PSK) in zoals hieronder getoond.
    • Klik nu op "Opslaan" en voeg het netwerk toe. Nadat u dit hebt gedaan, wordt u verbonden met het internetnetwerk.



Deel 7 Installeer Geany IDE

  1. Geany is een lichtgewicht e-uitgever die GTK + en Scintilla gebruikt en de basisfuncties van een geïntegreerde ontwikkelomgeving bevat. Ontworpen om weinig afhankelijkheden te hebben en snel te starten, ondersteunt het de talen C / C ++, Java, JavaScript, PHP, HTML, CSS, Python, Perl, Ruby, Pascal en Haskell.


  2. Open de opdrachtprompt in het menu.
  3. Voer de opdrachtregel "sudo root" in om in de hoofdmap van Raspberry te staan. Voer vervolgens de gebruikersnaam "pi" en wachtwoord "raspberry" in.
  4. Voer de volgende opdrachtregel in.

    apt-get install python geany xterm

  5. De installatie duurt enkele seconden.
  6. Open de Geany IDE in het menu.



  7. U kunt nu uw eerste programma schrijven door uw eerste bestand op het tabblad "Bestand" te maken.


  8. Nadat uw code is geschreven, hoeft u zich alleen nog maar te registreren en de code te compileren.

Deel 8 Een DC-motor aansturen in Python (bedradingsdeel)

In dit deel laten we je zien hoe je een DC-motor op de Raspberry Pi aansluit en hoe je een klein programma in python kunt maken dat de rotatiesnelheid en de richting van een DC-motor kan variëren.



  1. Deze kleine tutorial zal je waarschijnlijk later helpen voor de realisatie van je robotproject.
  2. Begrijp het principe. Allereerst moet je dat weten de DC-motor maakt geen directe verbinding met de GPIO-pinnen van de Raspberry Pi. De stroom die zal worden gebruikt om de motor (en) te roteren zal inderdaad vrij hoog zijn voor onze kleine Raspberry Pi en deze kan beschadigd raken.
    • Daarom gaan we een chip gebruiken die is ontworpen voor het aansturen van maximaal twee DC-motoren. De L293D-chip.



    • Een belangrijk kenmerk van de Raspberry Pi is de rij GPIO-pinnen op de hoek van het bord. Elk van de GPIO-pinnen kan bij het programmeren worden aangeduid als een invoer- of uitvoerpen.



  3. Sluit de L293D aan.
    • Pen 4, 5, 12 en 13 van de L293D moeten worden aangesloten op de GND zoals te zien is op de afbeelding. Met pin 16 van de L293D kan hij worden gevoed. We zullen het in 5V voeren. Deze spanning wordt niet overgedragen naar de motor, maar alleen naar de L293D-chip.



    • Gebruik voor het voeden van de motor pin 8 van de L293D (positieve klem) die is aangesloten op batterijen of een batterij. De negatieve klem moet worden verbonden met aarde (GND). Zorg ervoor dat u de spanningslimiet voor de motor niet overschrijdt.





  4. Sluit de motor aan. Om de eerste motor aan te sluiten, sluit u deze eenvoudig aan op pennen 3 en 6 (uitgang 1A en 1B) van de L293D-chip.

Deel 9 Maak de verbindingen af

  1. Pin 1 van de L293D-chip is de "enable" pin van de eerste motor. Wanneer deze pen logisch "hoog" is, draait de motor op maximale snelheid en wanneer deze pen logisch "laag" is, staat de motor stil. Om een ​​lagere snelheid naar de motor toe te staan, is het voldoende om op deze twee toestanden te spelen door ze zeer snel af te wisselen. Dit wordt "PWM" (Pulse Width Modulation) genoemd. We gaan pin 1 van de L293D-chip verbinden met pin 22 van de Raspberry Pi om de snelheid te regelen.
    • Om de draairichting van de motor te regelen, moet je plezier hebben met pennen 2 en 7 van de L293D-chip. Wanneer pin 2 "hoog" is en pin 7 "laag" is, zal de motor in één richting draaien. Als de twee logische toestanden tussen deze twee pennen worden omgekeerd, draait de motor in de andere richting. We gaan de l293D-chip 2-pins verbinden met de Raspberry-pin 18 en de l293D-chip 7-pins met de Raspberry 16-pins.



Deel 10 Een DC-motor besturen in Python (programmeergedeelte)

  1. Deze kleine code maakt het mogelijk om de richting en rotatiesnelheid van een motor te regelen. Het draait eerst in een richting met een hoge snelheid gedurende 3 seconden. Vervolgens met verminderde snelheid. Vervolgens wordt de draairichting omgekeerd en draait de motor met een lagere snelheid en vervolgens met een hoge snelheid. We laten u nu deze code verkennen:

    import GPIO.setmode (GPIO.BOARD) GPIO vanuit tijd import slaap RPi.GPIO

  2. We kunnen nu de GPIO-poorten configureren.

    Motor1A = 16 ## Uitgang A van de eerste motor, pin 16 Motor1B = 18 ## Uitgang B van de eerste motor, pin 18 Motor1E = 22 ## Vrijgave van de eerste motor, pin 22 GPIO.setup (Motor1A, GPIO.OUT) ## De 3 pinnen zijn output (OUT) GPIO.setup (Engine1B, GPIO.OUT) GPIO.setup (Engine1E, GPIO.OUT)

  3. Hier configureren we de PWM.

    pwm = GPIO.PWM (Motor1E, 50) ## Pin 22 in PWM met een frequentie van 50Hz pwm.start (100) ## we committeren met een duty cycle van 100%

  4. De statussen van de GPIO-poorten zijn actief.

    "Directe draairichting, maximale snelheid met een duty cycle van 100%" GPIO.output (Motor1A, GPIO.HIGH) GPIO.output (Motor1B, GPIO.LOW) GPIO.output (Motor1E, GPIO.HIGH)

  5. Laat de motor nu 3 seconden lopen.

    slaap (3)

  6. De werkcyclus wordt gewijzigd in 20% om de snelheid te verminderen.

    pwm.ChangeDutyCycle (20)

  7. "Directe draairichting, met een duty-cycle van 20%" slaap (3) "Omgekeerde rotatie, met een duty-cycle van 20%" GPIO.output (Motor1A, GPIO.LOW) GPIO.output (Motor1B, GPIO.HIGH) sleep (3) pwm.ChangeDutyCycle (100) "Omgekeerde rotatie, maximale snelheid (duty cycle 100%)" slaap (3) "Motorstop" GPIO.output (Engine1E, GPIO.LOW) pwm.stop () ## stop PWM GPIO.cleanup ()

Deel 11 1e uitdaging

Maak deze keer een kleine code met twee motoren. Aan jou de keuze!

Gebruik de HC-SR04 ultrasone sensor (bedrading)

  1. De benodigde apparatuur voor deze fase is:
    • een ultrasone module HC-SR04,
    • een weerstand van 1 kΩ,
    • een weerstand van 2 kΩ,
    • verbindingskabels,
    • een broodbord
    • De HC-SR04 ultrasone sensor meet een afstand van 2 tot 400 cm door geluidssignalen te verzenden op 40 kHz. Als een functie van de tijd die de emissie scheidt van de ontvangst van het ultrasone signaal, wordt een afstand gevonden door berekening.



  2. De HC-SR04 heeft 4 pinnen:
    • een pin (Gnd), gebruikt om de module op aarde te plaatsen (0 V),
    • een uitgangspen (Echo), die wordt gebruikt om het einde van de emissie van de dultrason-trein en zijn terugkeer na reflectie op het obstakel te informeren,
    • een invoerpen (Trig for Trigger), gebruikt om de emissie van de dultrason-trein te activeren,
    • een pin (Vcc), gebruikt om de sensor van stroom te voorzien in 5 V.
      • De uitgangsspanning die wordt geleverd door de Echo-pin is 5 V. De input-pin (GPIO) van de Rapsberry Pi is echter ontworpen voor maximaal 3,3 V.
    • We zullen daarom, om schade aan de Rapsberry Pi te voorkomen, een spanningsdelerbrug bestaande uit twee weerstanden gebruiken om de uitgangsspanning van de sensor te verlagen.



  3. Net daarna, zoals u hierboven kunt zien, sluit u aan:
    • de "Vcc" den op 5 V van de Raspberry Pi (rode draad)
    • de pin "Trig" op de pin GPIO 23 (pin 16) van de Raspberry (gele draad)
    • de pin "Echo" op de pin GPIO 24 (pin 18) van de Raspberry (blauwe draad)
    • GND-den met Raspberry GND (zwarte draad)
  4. Vergeet je twee kleine weerstanden niet!
    • De sensor is nu verbonden met de Raspberry Pi en is klaar voor het programmeren van python!

Gebruik de HC-SR04 ultrasone sensor (programmeergedeelte)

  1. Als eerste stap moeten de verschillende bibliotheken worden geïmporteerd om:
    • GPIO-poortbeheer.
    • klokbeheer

      import RPi.GPIO als GPIO importtijd GPIO.setmode (GPIO.BCM)

  2. We moeten vervolgens de verschillende pinnen identificeren die we zullen gebruiken. In ons geval, de uitgangspen "GPIO 23" (TRIG: triggersignaal naar de ultrasone sensor) en de ingangspen "GPIO 24" (ECHO: acquisitie van het signaal terug).

    TRIG = 23 ECHO = 24

  3. We kunnen nu de GPIO-poorten configureren.

    GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN)

  4. Om ervoor te zorgen dat de "Trig" -pen aanvankelijk laag is, zullen we deze op "False" zetten en een wachttijd geven zodat de sensor kan worden gereset.

    GPIO.output (TRIG, False) "Wachten op sensor om te regelen" time.sleep (2)

  5. De ultrasone sensor heeft een puls van 10 microseconden nodig om zijn module te activeren. Om de trigger te maken, moet de Trig-pin 10 μs gedwongen worden en vervolgens op laag worden teruggesteld:

    GPIO.output (TRIG, True) time.sleep (0.00001) GPIO.output (TRIG, False)

  6. Om de verschillende gebeurtenissen die voortkomen uit de statusverandering van een pin, tijdstempel te gebruiken, gebruiken we een while-lus en de functie time.time (). Detecteer de signaalstatusverandering. De eerste stap is het detecteren en tijdstempelen van het moment net voordat de status verandert van de lage naar de hoge status. Dit moment (pulse_start) is dat van het einde van de emissie van de dultrason-trein door de sensor.

    terwijl GPIO.input (ECHO) == 0: pulse_start = time.time ()

  7. Zodra de ultrasone trein is uitgezonden, blijft de echopin hoog totdat het ultrasone geluid dat wordt gereflecteerd door het obstakel terugkeert. We proberen dan opnieuw de omschakeling van het echosignaal naar de lage status te detecteren. Dit tijdstempel (pulse_end) is dat van de detectie van de terugkeer van ultrageluid.

    terwijl GPIO.input (ECHO) == 1: pulse_end = time.time ()

  8. We kunnen de impulsduur (pulse_duration) kennen door het verschil tussen de twee pulsen te berekenen:

    pulse_duration = pulse_end - pulse_start

  9. Om de afstand te kennen, passen we de formule toe:

    afstand = pulse_duration * 17150

  10. We zullen onze afstand afronden op twee decimalen:

    afstand = rond (afstand, 2)

  11. Om de afstand in "cm" weer te geven:

    "Afstand:", afstand, "cm"

  12. Om de GPIO-pinnen te resetten, voegen we toe:

    GPIO.cleanup ()

  13. Het enige dat u nu hoeft te doen is de code opslaan door deze bijvoorbeeld "sensor_distance" te noemen en deze op de opdrachtregel te starten:

    sudo python remote_capteur.py

  14. Gefeliciteerd! je kunt een motor besturen en een afstand detecteren met de ultrasone sensor!

Deel 12 2e uitdaging

  1. Als u dit voertuig met drie wielen heeft. Met wat je tot nu toe hebt geleerd, moet je in staat zijn om dit voertuig te besturen zodat het een "E" kan vormen terwijl het beweegt. Hij zal ook kunnen stoppen als hij een obstakel tegenkomt met behulp van ultrasone sensoren.



  2. Aan jou de keuze!

Zorg Ervoor Dat Je Leest

Hoe reumatoïde artritis te behandelen

Hoe reumatoïde artritis te behandelen

In dit artikel: Medicijnen innemen Evalueren van niet-medicamenteuze therapieën Traceren van aanvullende therapieën21 Referentie Reumatoïde artriti (RA) i een auto-immuunziekte waarbij ...
Hoe een geode te openen

Hoe een geode te openen

In dit artikel: Een hamer gebruikenOpen met een beitelVerwijderen met een andere geodenijden met een kettingnijder nijden met een diamantzaagReferentie Een geode i een rotachtige holte die kritallen e...