Hoe Xod u helpt Arduino-robots te bouwen zonder codering
Advertentie
Kennismaken met DIY Arduino-robotica kan intimiderend zijn als je nog nooit eerder hebt gecodeerd. Hoe groot uw ideeën ook zijn, als u uw microcontroller niet kunt programmeren, zal uw robot niet veel doen.
Gelukkig zijn er manieren om je Arduino te programmeren zonder een enkele regel code te schrijven. Vandaag kijken we naar basisrobotica met Xod, een open source visuele programmeringsnode-gebaseerde Arduino-compatibele IDE.
De codevrije robot
Het project van vandaag gebruikt een aantal standaard hobbyrobotcomponenten om een prototype van een robotarm met afstandsensor te maken. De combinatie van een servo en een ultrasone afstandssensor zijn gebruikelijk in hobbyrobots en u voegt een LCD-scherm toe.
Het voltooide project registreert afstandswaarden op het LCD-scherm en verplaatst de servo-arm in verhouding tot de afstand die wordt gedetecteerd door de bereikdetector.
Met een beetje fantasie is dit een robotarm die je probeert te grijpen als je te dichtbij komt. Spookachtige!
Hardware vereisten
Je hebt nodig :
- Arduino-compatibel bord (dit project gebruikt een Uno)
- 16 × 2 LCD-scherm
- HC-SR04 ultrasone afstandssensor
- Hobby servo
- 10k potentiometer
- 220 ohm weerstand
- 5v voeding
- Breadboard en aansluitdraden
Er zijn nogal wat componenten nodig voor dit project, maar elke goede Arduino-starterkit moet alles hebben wat je nodig hebt. Ik vond alles wat ik nodig had in de Elegoo Uno R3-starterkit. Als alternatief is elk hierboven genoemd onderdeel super goedkoop en verkrijgbaar bij alle goede elektronische hobbywinkels.
Het LCD-scherm instellen
Voeg uw LCD-scherm, 10k-potentiometer en 220 ohm-weerstand toe aan de breadboard volgens het bovenstaande Fritzing-diagram.
Het instellen van een LCD-scherm kan de eerste keer dat je het doet behoorlijk intimiderend zijn, maar blijf verwijzen naar het diagram en je krijgt het! Om het eenvoudiger te maken, heb ik de LCD- en Arduino-pinnen ingesteld op exact dezelfde als in de officiële Arduino LCD-zelfstudie, dus verwijs daar ook naar als je vastloopt.
Servo en ultrasone sensor toevoegen
Voeg nu uw HC-SR04 ultrasone sensor toe aan de breadboard. Verbind de VCC- en GND- pinnen met de 5v en grondrails van het breadboard. Verbind de Trig pin met Arduino pin 7 en de Echo pin met 8 .
Bevestig vervolgens uw servo. De bedradingskleuren kunnen hier variëren, maar in de regel sluit rood aan op de 5v- pin en bruin of zwart op de GND- pin. De datalijn, meestal geel of oranje, maakt verbinding met pin 10 .
Verbind ten slotte de grondrail van de breadboard met een van de GND- pinnen van de Arduino. Dat is het! U bent helemaal klaar.
Het downloaden van de Xod IDE
Ga naar Xod.io en download de gratis Xod IDE. Het is beschikbaar voor Windows, Mac en Linux. Er is ook een browserversie, maar omdat je deze niet kunt gebruiken om Arduino-schetsen te uploaden, werkt deze niet voor dit project.
Download: Xod IDE voor Windows, Mac en Linux
Knipperen met Xod
Wanneer u Xod voor de eerste keer opent, ziet u het zelfstudieproject; U kunt het ook openen onder het menu Help . Vouw de welcome-to-Xod- verzameling links in de projectbrowser uit en selecteer 101-upload .
Deze knooppuntinstelling is om te testen of code met succes naar de Arduino wordt geüpload. Het werkt op dezelfde manier als een Blink-schets in de Arduino IDE. Het klokknooppunt genereert elke seconde een signaal. Dit maakt verbinding met het flip-flopknooppunt, dat telkens heen en weer schakelt tussen true en false wanneer het signaal wordt ontvangen. De uitgang van de flip-flop maakt verbinding met de led- knoop, waardoor deze wordt in- en uitgeschakeld.
Klik op het led-knooppunt en u ziet het Inspector-paneel veranderen om de parameters ervan te tonen. Verander de poort in 13 zoals hierboven getoond, de pin met een ingebouwde LED op een Arduino. Merk op dat Xod automatisch 13 verandert in D13 . U hoeft de D niet zelf te typen, maar het maakt voor deze zelfstudie niets uit als u dat wel doet!
Om te testen of het werkt, sluit je Arduino via USB aan, ga naar Deploy> Upload to Arduino en selecteer het juiste bordtype en de COM-poort.
Als je de Arduino LED ziet knipperen, ben je klaar om te gaan! Als dit niet het geval is, controleer dan uw bord- en poortnummer en test opnieuw voordat u verdergaat.
LCD programmeren
Normaal gesproken beginnen we nu aan het lange coderingsproces, maar omdat we Xod gebruiken, zullen we er geen schrijven. Selecteer tekst-lcd-16 × 2 in de projectbrowser - u vindt het onder xod / common-hardware . Sleep het naar uw programma en gebruik de Inspector om het met de pinnen in te stellen zoals weergegeven.
L1 is de eerste regel van het LCD-scherm, en L2 is de tweede, voor nu hebben we hardcodering "Hallo wereld" om te controleren of alles werkt. Implementeer uw programma op de Arduino om het te zien werken. Als uw tekst moeilijk te zien is, probeer dan de 10k-potentiometer te draaien om het LCD-contrast aan te passen.
Nu om de afstandssensor in te stellen en aan de praat te krijgen met het LCD-scherm.
Afstandswaarneming
Sleep het knooppunt hc-sr04-ultrasoonbereik naar uw project en stel de TRIG- en ECHO- pinnen in op 7 en 8 om overeen te komen met hoe u het eerder hebt ingesteld.
Je vindt het concat- knooppunt onder xod / core in de projectbrowser. Sleep het tussen uw ultrasone bereik-sensorknooppunt en het LCD-knooppunt. U gebruikt dit om de uitlezing van de bereiksensor samen te voegen met uw eigen tekst (wat een mooi woord is voor combineren).
Deze afbeelding laat zien wat er aan de hand is. De Dm- uitgang van het bereiksensorknooppunt is aangesloten op IN2 en u kunt zien dat de inspecteur het als gekoppeld markeert. Typ "Afstand:" in het vak IN1 . Koppel nu de uitgang van de concat-knoop aan L1 van de LCD-knoop.
Sla het aangepaste programma op en implementeer het. De bovenste regel van het LCD-scherm toont nu de meetwaarde van de bereiksensor!
Servo-instelling
Om de servo aan de slag te krijgen, zijn er drie delen, dus laten we ze één voor één doornemen. Begin met het slepen van een map-clip knooppunt van xod / math naar je programma. Dit knooppunt neemt informatie van de Dm- uitgang van het bereiksensorknooppunt en wijst dit toe aan waarden die de servo begrijpt.
Smin en Smax vertegenwoordigen het minimale en maximale bereik om de servo te activeren, in dit geval tussen 5 en 20 cm. Deze waarden worden toegewezen aan Tmin en Tmax, die worden ingesteld op 0 en 1 als de minimale en maximale servopositie.
De vervagingsknoop onder xod / kern neemt de uitvoerwaarde van de kaartclipknoop en maakt deze vloeiend met een gedefinieerde snelheid . Dit voorkomt ongewenste schokkerige servobeweging. Een snelheid van 2 is een goede balans, maar je kunt hier met verschillende waarden experimenteren om de servo sneller en langzamer te laten reageren.
Ten slotte neemt de servoknoop, die u onder xod-dev / servo vindt, de uitvoerwaarde van de fade-knoop. Wijzig de poort in 10 . Je kunt UPD continu aan laten staan omdat we willen dat onze servo continu wordt bijgewerkt op basis van de bereiksensor.
Sla uw script op en implementeer het op het Arduino-bord. Je prototype robotarm is klaar!
Testen
Wanneer u nu iets in de buurt van de bereiksensor plaatst, registreert het LCD de afstand en beweegt de servo evenredig met de gedetecteerde afstand. Dit alles zonder enige code.
De volledige knoopboom laat zien hoe eenvoudig het is om complexe programma's in Xod te maken. Als u problemen ondervindt, controleer dan zowel uw circuit als elk knooppunt zorgvuldig op fouten.
De No-Code Arduino Robot
Met Xod kan iedereen Arduino-boards programmeren, ongeacht de kennis van codering. Xod werkt zelfs met de Blynk DIY IoT-app, waardoor een complete codevrije DIY smart home een reële mogelijkheid is.
Zelfs met tools zoals Xod is het leren coderen belangrijk voor doe-het-zelfprojecten. Gelukkig kun je code leren op je smartphone Wil je basiscodering leren? Probeer 5 bijtbare codeerapps in uw vrije tijd Wilt u basiscodering leren? Probeer 5 bijtbare codeerapps in uw vrije tijd Wilt u basiscodering leren maar heeft u weinig tijd? Deze hapklare codeer-apps nemen slechts enkele minuten van uw drukke dag in beslag. Lees meer om de basis te leren!
Ontdek meer over: Arduino, Integrated Development Environment, Robotics.