Automatisierte Zigarrencutter (4 / 7 schritt)


Schritt 4: Hochladen des Cigar Cutter-Quellcodes

Nun, da wir sicher sind, dass wir unser Steckbrett korrekt verdrahtet und alle Servos funktionieren, sind wir lädt Quellcode die Projekte. Im folgenden habe ich den Quellcode gezeigt und kommentiert seine Funktionen erklären.

/*******************************************************

Zweck: Light-A-Bull machen Kursprojekt

Erstellt von Karl Lewis

DATUM: 11/2014

*******************************************************/

/****************************************************************************************************************************

Hier verwende ich die #define-Funktion, um Pins auf dem Arduino eine erkennbare Variable zuordnen. Diese definieren Funktion machen eine leichtere Anerkennung dessen, was jede Funktion tut. Ohne diese alle Funktionen wäre aus der von Pin-Nummern, die weniger erkennbar ist, gelesen und benötigen gemeint ist, was an diesem Pin angeschlossen ist.

****************************************************************************************************************************/

#include //Includes die Servo-Bibliothek mit der Arduino IDE enthalten

Dies sind meine Servos

Servo, links, rechts, Transport; Links werden auf der linken Seite des Fräsers, rechts auf rechts, und Verkehr bewegt sich die Zigarre

#define SwitchPin 13 //this definieren Funktion wird mir erlauben, "SwitchPin" im Code statt 13 platzieren

#define DebounceTime 200

lange Zeit;

Int Lpos = 0; Definition von Ganzzahlen mit den Servos verwendet werden

Int Rpos = 55;

Int cpos = 0;

void setup() {}

left.Attach(5); die linke Servo wird von Pin 5 kontrolliert werden

right.Attach(6); das richtige Servo wird von Pin 6 kontrolliert werden.

Transport.Attach(3); Pin 3 wird das Servo bewegt die Zigarre gesteuert werden

PinMode (SwitchPin, Eingabe); Dies wird die SwitchPin als Eingabe einrichten

}


void loop() {}

left.Write(LPOS); Damit wird das linke Servo Winkel der Ganzzahl Lpos gleich

right.Write(RPOs); Ebenso entspricht das einem ganzzahligen rpos

Transport.Write(CPOs); und dies wird die Ganzzahl cpos


Wenn (readSwitch(debounceTime) == True) {//If Schleife beginnt die Geräte-Funktionen beim Eingang LOW liest

Delay(1000);

Zuerst öffnen wir den Cigar Cutter mithilfe einer Funktion

Ich war nicht in der Lage, eine clevere Methode, um beide Servos gleichzeitig zu verschieben, so dass ich auf halbem Weg bewegen sich einfallen

mit jeder und dann die andere Hälfte.

für (Lpos = 0; Lpos < = 30; Lpos += 1) {//half der linken Bewegung

left.Write(LPOS);

Delay(15);

}

für (Rpos = 55; Rpos > = 25; Rpos-= 1) {//half der linken Bewegung

right.Write(RPOs);

Delay(15);

}

Zweite Hälfte des Satzes

für (Lpos = 30; Lpos < = 65; Lpos += 1) {//secong die Hälfte der linken Bewegung

left.Write(LPOS);

Delay(15);

}

für (Rpos = 25; Rpos > = 0; Rpos-= 1) {//second Hälfte der rechten Bewegung

right.Write(RPOs);

Delay(15);

}

Delay(2000);

Jetzt sind wir Transport die Zigarre in Position zu schneiden

für (cpos = 0; cpos < = 90; cpos += 1) {}

Transport.Write(CPOs);

Delay(15);

}

Dies wird nun die Zigarre mit der linken und rechten Servos schneiden.

für (Lpos = 65; Lpos > = 30; Lpos = 1) {//First die Hälfte der linken Seite

left.Write(LPOS);

Delay(15);

}

für (Rpos = 0; Rpos < = 25; Rpos += 1) {//First Hälfte rechts

right.Write(RPOs);

Delay(15);

}

Zweite Hälfte des Satzes

für (Lpos = 30; Lpos > = 0; Lpos = 1) {//Second die Hälfte der linken Seite

left.Write(LPOS);

Delay(15);

}

für (Rpos = 25; Rpos < = 55; Rpos += 1) {//Second Hälfte rechts

right.Write(RPOs);

Delay(15);

}

Delay(2000);

Jetzt wird die Zigarre in die Ausgangsposition zurück.

für (cpos = 90; cpos > = 0; cpos-=1) {}

Transport.Write(CPOs);

Delay(15);

}

}

}

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Neue Registerkarte Funktionen

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


/****************************************************************************************************************************

Dieser Teil dient zum Lesen meiner Eingangsschalter (Capacative Touch) um den Kreislauf zu aktivieren. Ich fand, dass das Touchpad identisch mit einem mechanischen input Switch betreibt, so ließ ich dabei Entprellung auf diesen Eingang.

****************************************************************************************************************************/


Byte-ReadSwitch (lange Entprellung) {//The Entprellung Variable definiert auf Hauptseite

statische lange LastTime; Neue Variable LastTime genannt, repräsentiert es das letzte Mal war der Schalter aktiv

statische Byte PreviousState; Neue Variable namens PreviousState stellt den vorherigen Zustand des Eingangs

Byte CurrentState = digitalRead(switchPin); Neue Variable CurrentState die verwenden eine digitale Lesen der Eingabe

Wenn (CurrentState == LOW & & PreviousState == HIGH & & Millis ()-LastTime > Entprellen) {//If meine eingangs-Pin nur von hoch zu niedrig ging und die schon länger als die Prellzeit dann

lastTime=millis(); Dies setzt LastTime zum letzten Mal und setzt die Entprellung Timer PreviousState = LOW; Set PreviousState zu niedrig

Return(true); True oder 1 Eingabe bedeutet Rückkehr ist in der Tat aufgetreten. Diese zurückgegeben, "wahrer" Wert dient zur Aktivierung der If Anweisung auf der vorherigen Seite

}


Else {//If "If"-Anweisung nicht wurde erfüllt, es werden die Aufgaben in der 'else'-Anweisung

Hinweis: "{elseif()} erstellen Sie eine sekundäre If Anweisung Vorform mit 'else' es wird / / wenn nicht die"If".

PreviousState = hoch; Legen Sie die PreviousState auf hoch

Return(false); "False" zurück, die anzeigt, dass der Schalter nicht gedrückt wurde

}

}

In Verbindung stehende Artikel

Automatisierte Gewächshaus

Automatisierte Gewächshaus

Wir beschlossen, ein Gewächshaus als Thema für unsere elektronischen Projekt zu entwerfen. Das Ziel war eine Lampe, ein Servomotor, öffnen Sie ein Fenster und ein PC-Lüfter, regulieren die Temperatur im Inneren des Gewächshauses Dank. Wir wollten ein
Somabot - eine automatisierte Barkeeper (Intel IOT)

Somabot - eine automatisierte Barkeeper (Intel IOT)

Somabot ist eine automatisierte Barkeeper. Wählen Sie einfach in den Zutaten und und die Getränke sind erreichbar von jedem mobilen oder Desktop-Browser zu Cocktails für Sie bereit. Ich habe einen NFC-Chip auf der linken, oberen angebracht, damit die
Automatisierte Instructable Ansichten und Favoriten Checker

Automatisierte Instructable Ansichten und Favoriten Checker

Als Instructables-Nutzer dachte irgendwann ich an eine einfache automatische Werkzeug, die die Ansichten und Favoriten aus meiner Instrucatbles von Instructables.com Website ohne mich eigentlich auf der Suche in der Anwendung überprüfen können.Automa
Automatisierte angetriebenen horizontalen Blind Solarregler

Automatisierte angetriebenen horizontalen Blind Solarregler

Ich begann dieses Projekt, weil wir einige horizontalen Jalousien befindet sich in einem hohen Fenster über der Tür zu unserem Haus haben. In diesem Fenster nach Süden ausgerichtet, und hier in Colorado, das bedeutet viel Sonnenschein. Es wäre schön,
Automatisierte SOS

Automatisierte SOS

Dieses Projekt verwendet einen Arduino am Herzen Modul wiederholenein SOS-Signal im Morse-Code. Wir beginnen mit derBau der Rennstrecke. Nächste wirinstallieren Sie der Arduino IDE auf einem Computer.Schließlich geben Sie den Code und laden Sie sie a
Automatisierte Hydrokultur führte innen

Automatisierte Hydrokultur führte innen

Ich begann dieses Projekt vor zwei Jahren zwei meiner Lieblings-Dinge zu mischen, Technik und Pflanzen wachsen. Heute zeige ich euch eine Schritt für Schritt Anleitung wie man eine automatisierte bauen Hydrokultur indoor geführt.Um die Maschine verst
"Automatisierte" k ' NEX Kugel Maschinenelemente

"Automatisierte" k ' NEX Kugel Maschinenelemente

Die Elemente, die Sie sind, um zu sehen, stammen aus unserem Ballmaschine "Automated". Ich hoffe, Sie finden diese instructable hilfreich. Ich gebe Tipps und Hinweise, wie Sie es tun sollten.Schritt 1: Element Dieses Element habe ich von jemande
Hydroponische, automatisierte, Vernetzung, Klima-kontrollierten Gewächshaus-Projekt: Bau

Hydroponische, automatisierte, Vernetzung, Klima-kontrollierten Gewächshaus-Projekt: Bau

diese Instructable deckt den Bau meiner Hydroponische, automatisierte, Vernetzung, Klima-kontrollierten Gewächshaus-Projekt. Die Bauphase des Projekts umfasst die Betonfüssen, die Gestaltung und die Verglasung des Gewächshauses.Anderen Instructables,
Super einfach automatisiert LED Schrank Beleuchtung.

Super einfach automatisiert LED Schrank Beleuchtung.

Mein Kleiderschrank ist wie einen tiefen, dunklen Abgrund, ob bei Tag oder bei Nacht. Ich musste für meine Kleider mit einer Taschenlampe zu jagen. Ich musste feststellen, dass eine Lösung für dieses Problem, das ich fühle mich auch von vielen andere
Automatisiertes Gemüseanbau System

Automatisiertes Gemüseanbau System

Herzlich Willkommen! rSense "Makashitakun" ist die automatisierte Gemüseanbau-System, das mit Arduino und Raspberry Pi aufgebaut wird. Arduino dient zur Datenerhebung Sensoren und Aktoren handling. Raspberry Pi dient zur Steuerung, die alle Ardu
Intel automatisiert Gartenarbeit System

Intel automatisiert Gartenarbeit System

Hallo an alle!!!Dies ist meine erste Instructabe auf Intel Edison. Diese instructable ist eine Anleitung für die Herstellung eines automatisierte Bewässerung (Tropfbewässerung) Systems für kleine Topfpflanzen oder Kräuter mit einem Intel Edison und a
Automatisierte Garten

Automatisierte Garten

Der letzte Garten, den ich neben meinem Schreibtisch bei der Arbeit pflanzte gehen nicht so gut. Es litt unter einem Mangel an Sonnenlicht sowie meinem hektischen Terminplan (d.h. fehlende Bewässerung). Es nie geschafft, genug Sonne oder Wasser zu be
Automatisierte Web-Tests in Ruby mit Watir-Webdriver

Automatisierte Web-Tests in Ruby mit Watir-Webdriver

Diese instructable geht es um automatisierte Web-Anwendung, die mit der Programmiersprache und der Watir-Webdriver-Edelstein Rubin testen. Diese können bei http://rubyinstaller.org/ und http://watirwebdriver.com/ bzw. gefunden werden.Ruby ist ein ein
Automatisierte Candy Dispenser

Automatisierte Candy Dispenser

Diese instructable entstand zur Erfüllung der Projektanforderung der Makecourse an der University of South Florida (www.makecourse.com)Im folgenden finden Schritt-für-Schritt-Anweisungen zum Erstellen Ihrer eigenen automatisierten Candy Dispenser. Al