Eenvoudige Arduino XY Plotter (5 / 7 stap)

Stap 5: Código


El código whinose es bastante sencillo. Lo primero es que cargamos la librería math.h. Esta bevat varias funciones trigonométricas, nieuwe acos y atan, que vamos een utilizar. Luego nl el Setup simplemente asignamos el pin al servo (si quiere aprender más sobre el servo puedes seguir este instructable).

El ćodigo tiene dos elementos importantes:

  1. Conexión seriële
  2. funciones de movimiento y ley de cosenos

LECTURA del puerto seriële

Nl la líneas 29 een 30 del código:

 if (Serial.available() > 0){ posX = Serial.parseInt(); posY = Serial.parseInt();} 

Por el puerto serieel, vamos een enviar al Arduino las coordenadas como uitsluitend x, y en por coma. La función parseInt(), permite leer del puerto seriële cana elemento separado por coma. Al ejecutarlo por primera vez lee el primero, hasta la coma, al ejecutarlo la segunda, lee inmediatamente después de la coma el siguiente y así. Nl este caso leemos una primera vez y almacenamos nl la variabele global posX, y la segunda nl posY, así entonces utilizamos luego nl la línea 38, la función para calcular los ángulos y verhuizer los servo's.

Funciones

Creamos tres funciones importantes (whinose hay un instructable sobre funciones). La primera que llamamos getAngle():

 float getAngle(float a, float b, float c) { return acos((square(b) + square(c) - square(a)) / (2 * b * c));} 

Que es simplemente la fórmula que explicamos en el paso anterior para calcular el ángulo usando la ley de cosenos.

La siguiente función es:

 void armTo(float x, float y) { float h = sqrt(square(x) + square(y)); //calculates angles based on desired point float a1 = (getAngle(ARMLENGTH, ARMLENGTH, h) + atan2(y, x)); float a2 = (getAngle(h, ARMLENGTH, ARMLENGTH)); moveServo(a1, a2);} 

La cual es la que calcula, los dos ángulos que ocupamos usando la ley de cosenos. Los ángulos los almacenamos nl a1 y a2. Noten que een a1, le sumamos atan2(x,y), ese es el ángulo que hay desde la linea del horizonte hasta el punto, que hay que sumarle al ángulo del servo1.

Simplemente mueve los servo motores, La función moveServo, convirtiendo los ángulos de radianes een grados que es lo que ocupa la función write() de los servo's. esta función se puede mejorar muchísimo, para hacer verhuizer los motores de apoco is el ángulo deseado... eso se los dejo de tarea.

Gerelateerde Artikelen

Eenvoudige Arduino Arm (Pan/Tilt)

Eenvoudige Arduino Arm (Pan/Tilt)

Catapult spelen op kantoor inspireerde mij om te bouwen van deze Arduino Arm om de druk op de liniaal en de release om te schieten. Hoewel het niet mijn eerste intentie vervullen, denk ik dat deze eenvoudige Arduino Arm zal leiden tot andere koeler p
Een eenvoudige Arduino Bluetooth auto

Een eenvoudige Arduino Bluetooth auto

Hoi, dit is mijn eerste instructable.Dit is een eenvoudige arduino bluetooth auto voor beginners.Ik ben met behulp van twee continue rotatie servos in plaats van motoren.Dus, laten we beginnen. :)Stap 1: Wat moet je1) Arduino (im ' using een Mega-256
Zeer eenvoudige Arduino elektrische Lock

Zeer eenvoudige Arduino elektrische Lock

dit is een instructable voor een zeer eenvoudige Arduino elektrische lock gecontroleerde.Het belangrijkste idee is hier is heel eenvoudig als dit meer van een proof of concept prototype soort ding was.De Arduino wordt gebruikt als schakelaar voor con
Eenvoudige Arduino Laserharp

Eenvoudige Arduino Laserharp

hier beschrijf ik een manier om een eenvoudige Arduino laserharp, een muziekinstrument dat wordt muziek afgespeeld wanneer u een bundel van laserlicht van het raken van een fototransistor blokkeren. Dit project werd gedaan als onderdeel van de PHYC 3
Eenvoudige Arduino Monome

Eenvoudige Arduino Monome

OverzichtDit Instructable is de eenvoudige versie van de MaKey MaKey Monome, een instrument van de elektronische muziek gemakkelijk voor kinderen en beginners te reproduceren (sequentieel op!). Voel je vrij om check out mijn websitevoor meer informat
Eenvoudige Arduino verkeerslichten

Eenvoudige Arduino verkeerslichten

u een stad uit Legos ooit heb gedaan? Ik weet ik velen van hen hebben gebouwd, maar ze allemaal iets gemist... Verkeerslichten!Dus besloten heb ik om mijn eigen verkeerslicht setup uit mijn arduino board.Stap 1: U moet: u nodig:Een arduino boardRood,
Eenvoudige Arduino LCD-spel!

Eenvoudige Arduino LCD-spel!

Hallo mensen! Pure koolstof hier en vandaag ik zal je laten zien hoe maak je een uiterst eenvoudig spel dat kan worden afgespeeld op een LCD-knop Shield voor Arduino. Helaas zijn niet daadwerkelijk een spel omdat alles wat je zal kunnen doen is maken
Voorbeeld van de HC-SR04 en eenvoudige Arduino

Voorbeeld van de HC-SR04 en eenvoudige Arduino

na een HC-SR04 kopen bij Amazon, ik kon niet krijgen om te werken uit de doos. Niet willen toegeven dat ik had een DOA-sensor op mijn handen, zocht ik naar een eenvoudig voorbeeld setup. Na veel te lang op dit dan ik voelde dat ik moest, besloten heb
Eenvoudige Arduino PIR Motion Detector Module Demo

Eenvoudige Arduino PIR Motion Detector Module Demo

Ik weet dat er zijn tal van Instructables en tutorials over dit al. Mijn doel is om alles tot in de kale botten minimum vereist zodat een beginner (zoals ik) kan het werken voordat ze gefrustreerd en geven krijgen vereenvoudigen.Hopelijk dit zelfs om
Eenvoudige Arduino Bluetooth Cybot op de beweging en de Android Appplication (bijgewerkt)

Eenvoudige Arduino Bluetooth Cybot op de beweging en de Android Appplication (bijgewerkt)

Een tijdje terug schreef ik een paar instructables voor het maken van de interface van de gebruikers en de controle van de basis van de Cybot met opdrachten uit het toetsenbord of uit een barcode scanner.Links naar deze zijn hieronder:Gebruikersinter
Eenvoudige Arduino Voltage controle

Eenvoudige Arduino Voltage controle

In dit Instructable we gebruik maken van de analoge pinnen op de Arduino te maken van een eenvoudige stroomverbruik te bewaken systeem dat detecteert de spanning op de 5v-rail en een actie uitvoeren als het wordt te laag. Dit kan worden gebruikt om n
Eenvoudige Arduino Sunrise Lamp

Eenvoudige Arduino Sunrise Lamp

haat wakker worden in het donker? Ik ook van jou.  Ik vond een goedkope 24 LED-lamp en dacht dat het zou vrij vlot te halen op inschakelen langzaam met behulp van mijn Arduino, die zou moeten helpen sommige van die "waking up in the dark" verban
Eenvoudige Arduino 5 x 2 LED Matrix

Eenvoudige Arduino 5 x 2 LED Matrix

dit is mijn eerste Arduino project dus geduld met mij.Dit een eenvoudige LED-Matrix die wordt gerund door een Arduino Uno 3.U moet de volgende onderdelen:-10 LEDs-Arduino Board-Breadbord-Jumper draden- En wat draad vaste kernStap 1: LED plaatsing De
Eenvoudige Arduino Wing Shield

Eenvoudige Arduino Wing Shield

koop ik veel van deze sets stapelbare Arduino kop omdat ze erg handig voor een heleboel dingen zijn. Ik sommige breakout boards met hen, ik ze gebruiken om het toevoegen van enkele speling tussen een groter schild en het volgende schild dat ik ben st