Danke das mit den Tastern war mir klar ,nur bekomme ich den Sweep ketsch von arduino nicht auf den Chip !
Mfg
Markus
Danke das mit den Tastern war mir klar ,nur bekomme ich den Sweep ketsch von arduino nicht auf den Chip !
Mfg
Markus
Beiträge: | 121 |
Registriert am: | 13.10.2013 |
Hallo Markus,
wenn der Tiny geschossen wurde ( Programm drauf ) schließe am Servo - Pin mal eine LED mit Widerstand an . Die LED muss jetzt leuchten oder im Wechseltakt blinken.
Georg
Datei->Beispiels->Examples->01.Basics->Blink
In programm "int led = 13" änderen bis "int led = 1".
LED zwischen pin 6 und GND.
Blinkt es?
Dann dieser
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
Bis dieser änderen
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1); // wait for one millisecond
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(19); // wait 19 milliseconds
Blink es?
Was passiert wen sie ein servo an pin 6setzen?
Probier mal mit 2 und 18 millisekunden.
Klaus
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Servo 1 und 19 millis sollte ein position geben
2 und 18 sollte ein andere position geben.
Was passiert bei ihn?
Klaus
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Hallo Markus oder Dubi,
mal eine ungewöhnliche Frage,
ist das Servo in Ordnung, zieht es mit einer Fernlenkung in beide Richtungen
So ein Servo hatte ich auch mal.
MfG Georg
Hallo !
Ist in Ordnung ,5 Servos ,5 Attinys alles ok ,selbst neuen Arduino getestet !
Mfg
Markus
Beiträge: | 121 |
Registriert am: | 13.10.2013 |
Neues informationen.
Ich hab Meiner Arduino programm entfernt und neu installiert.
Nun funktioniert Servo8Bit auch nicht bei mir.
"Software servo" funktioniert (sweep)
Ich arbeiten weiter!
Klaus
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Hallo
Klaus
Habe Arduino auf 3 Rechnern Win XP , Win 7 , Win 8 aber auf keinem funktioniert es !
Neuinstallation paar mal schon ohne Erfolg !
Mfg
Markus
Beiträge: | 121 |
Registriert am: | 13.10.2013 |
Um ein servo zu brauchen mit ATtiny:
Erstmals dieser zip Archiv herunterladen
https://github.com/damellis/attiny/archive/master.zip
In zip fil sind ein Ordner wer heißt attiny, kopieren dieser bis der "hardware" Ordner ihren Arduino Programm - Zum beispiel:
C:Program FilesArduinohardwareattiny
Dann dieser zip Archiv herunterladen
http://www.modelbaneeuropa.dk/klaus/Ardu...ftwareServo.zip
In zip fil sind ein Ordner wer heißt SoftwareServo, kopieren dieser bis der "libraries" Ordner ihren Arduino Programm - Zum Beispiel:
C:Program FilesArduinolibrariesSoftwareServo
Um Arduino nutzen als ISP
Datei->Beispiele->ArduinoISP
In Arduino heruntergeladen
ATtiny verbinden bis Arduino Uno und Arduino Programm konfigurieren.
Tools->Board->ATtiny45(8Mhz)
Der Programm sollte wissen das sie wünschen der Uno als ISP zu nützen
Tools->Programmer->Arduino as ISP
Sind der Attiny ganz neu muss er ATtiny erstmals ein bootloader haben
Tools->Bootloader installieren
Nun ist alle klar bis einer Programm mit SoftwareServo!
In der SoftwareServo zip file ist en "sweep" example - es funktioniert bei mir.
Klaus
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Hallo
Klaus
probiere mal diesen aus http://www.cunningturtle.com/wordpress/w...ino_example.zip
damit geht mein Servo
Mit diesem Sketch habe ich es getestet .
#include "Servo8Bit.h"
Servo8Bit myServo; //Servo program mit ATtiny45.
int pos = 0; // Variabel für servo Pos.
int posA = 20; // Position A (0 bis 180 grad)
int posB = 180; // Position B (0 bis 180 grad)
int Speed = 30; // Servo Geschwindigkeit. 1 = max Geschwindigkeit.
void setup()
{
myServo.attach(1,544,2200); //Servo an Pin 6 (PB1), Min pulsweite = 544, Max. pulsweite = 2200
// Serial.begin(9600);
}
void loop()
{
{
for(int pos = posA; pos < posB; pos+=1) // Gehen von posA bis posB in 1 grad steps
{
myServo.write(pos); // Speichern aktuelle position
delay(Speed); // Versorgung (speed)ms bis posB.
// Serial.println(pos);
}
}
delay (1000);
{
for(int pos = posB; pos > posA; pos-=1) // Gehen von posB bis posA in 1 grad steps
{
myServo.write(pos); // Speichern aktuelle position
delay(Speed); // Versorgung (speed)ms bis posA.
// Serial.println(pos);
}
}
delay (1000);
}
Markus
Beiträge: | 121 |
Registriert am: | 13.10.2013 |
Auch bei mir - Danke.
Du hasst der Version 0.6 gefunden von Servo8Bit.
Bei mir funktioniert auch softwareservo, mit dieser programm
#include <SoftwareServo.h>
SoftwareServo myservo; // create servo object to control a servo
// a maximum of eight servo objects can be created
int pos = 0; // variable to store the servo position
int servospeed = 45; // speed of servo movement (1 to 50)
int pause = 5000; // pause in mSecs
void setup()
{
myservo.attach(1); // attaches the servo on PB1 to the servo object
}
void loop()
{
for(pos = 0; pos < 180; pos += 1) // goes from 0 degrees to 180 degrees
{ // in steps of 1 degree
myservo.write(pos); // tell servo to go to position in variable 'pos'
SoftwareServo::refresh(); // must call at least once every 50ms or so to keep your servos updating
delay(servospeed); // waits (servospeed)ms for the servo to reach the position
}
delay (pause);
for(pos = 180; pos>=1; pos-=1) // goes from 180 degrees to 0 degrees
{
myservo.write(pos); // tell servo to go to position in variable 'pos'
SoftwareServo::refresh();
delay(servospeed); // waits (servospeed)ms for the servo to reach the position
}
delay (pause);
}
Klaus
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
goddag Klaus
und möchte mich takke,
Hallo Markus,
nun läuft auch der Sketch von euch bei mir (( SoftwareServo ))
habe jetzt zwei Versionen.
MfG
Georg
Mit dieser bewegt ein servo in zufällige Positionen, mit zufällig Geschwindigkeit und mit zufällige pausen zwischen die bewegungen.
Es ist für Arduino Uno, aber sollte es in einer ATtiny nützt werden umschreiben Servo bis Servo8Bit und pin9 bis pin 1
#include "Servo.h"
Servo myServo; //Servo program mit Arduino.
int pos = 10; // Variabel für servo Pos.
int rndpos = 0; // Variabel für random servo Pos.
int actpos = 0; // Aktueller servoposition
int posA = 20; // Position A (0 bis 180 grad)
int posB = 180; // Position B (0 bis 180 grad)
int Speed = 100; // Servo Geschwindigkeit. 1 = max Geschwindigkeit.
int SpeedMin = 20; // Min Servo Geschwindigkeit. 1 = max Geschwindigkeit.
int SpeedMax = 100; // Max Servo Geschwindigkeit. 1 = max Geschwindigkeit.
int Pause = 0; //Variabel für pause
int PauseMin = 1000; // Min pausezeit
int PauseMax = 10000; //Max pauseziet
void setup()
{
myServo.attach(9,544,2200); //Servo an Pin 9 , Min pulsweite = 544, Max. pulsweite = 2200
// Serial.begin(9600);
}
void loop()
{
rndpos = random((posA),(posB)); // Neue position
// Serial.print("neue pos ");
// Serial.println(rndpos);
Speed = random((SpeedMin),(SpeedMax)); // Neue geschwindigkeit
// Serial.print("neue speed ");
// Serial.println(Speed);
Pause = random ((PauseMin),(PauseMax)); // Neue Pause
// Serial.print("neue Pause ");
// Serial.println(Pause);
if (rndpos > actpos) // ist neuer position grösser als aktueller pos?
{
for(int pos = actpos; pos < rndpos; pos+=1) // Gehen von actpos bis rndpos in 1 grad steps
{
myServo.write(pos); // Speichern aktuelle position
delay(Speed); // Versorgung (speed)ms bis posB.
// Serial.println(pos);
actpos = pos;
}
// Serial.print("speich. pos+ ");
// Serial.println(actpos);
}
if (rndpos < actpos)// ist neuer position kleiner als aktueller pos?
{
for(int pos = actpos; pos > rndpos; pos-=1) // Gehen von actpos bis rndpos in -1 grad steps
{
myServo.write(pos); // Speichern aktuelle position
delay(Speed); // Versorgung (speed)ms bis posA.
// Serial.println(pos);
actpos = pos;
}
// Serial.print("speich. pos- ");
// Serial.println(actpos);
}
delay (Pause);
}
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Hallo Klaus,
supper Sketch
scool rost:
Ich überlege mir, wie ich die Bewegung für die Modellbahn nutzen kann.
Georg
Hallo
Klaus da bin ich ja froh das ich Dir was gutes tun konnte ,für die mühe die Du Dir gemacht hast !
Die sketche laufen jetzt , Wochenende gerettet !
Schau mal in den anhang wenn Du irgendwann mal zeit hast probiere mal ob diese zum laufen bringst ,habe ich von ELV aber nichts geht !
Nochmals Danke
Markus
Beiträge: | 121 |
Registriert am: | 13.10.2013 |
Ich weiß nicht welche Programm es ist schreibt in, aber es ist nicht Arduino Programm.
Um es zu wandeln bis ein Arduino Programm ist ganz einfach.
Welche brauchst du?
(Baustelle, Adreaskreuz oder?)
Ampel ist hier:
#define LED_A1_ROT 13
#define LED_A1_ROT_AUS digitalWrite(LED_A1_ROT, LOW)
#define LED_A1_ROT_EIN digitalWrite(LED_A1_ROT, HIGH)
#define LED_A1_ROT_DIR_OUT pinMode(LED_A1_ROT, OUTPUT)
#define LED_A1_GELB 12
#define LED_A1_GELB_AUS digitalWrite(LED_A1_GELB, LOW)
#define LED_A1_GELB_EIN digitalWrite(LED_A1_GELB, HIGH)
#define LED_A1_GELB_DIR_OUT pinMode(LED_A1_GELB, OUTPUT)
#define LED_A1_GRUEN 11
#define LED_A1_GRUEN_AUS digitalWrite(LED_A1_GRUEN, LOW)
#define LED_A1_GRUEN_EIN digitalWrite(LED_A1_GRUEN, HIGH)
#define LED_A1_GRUEN_DIR_OUT pinMode(LED_A1_GRUEN, OUTPUT)
#define LED_A2_ROT 10
#define LED_A2_ROT_AUS digitalWrite(LED_A2_ROT, LOW)
#define LED_A2_ROT_EIN digitalWrite(LED_A2_ROT, HIGH)
#define LED_A2_ROT_DIR_OUT pinMode(LED_A2_ROT, OUTPUT)
#define LED_A2_GELB 9
#define LED_A2_GELB_AUS digitalWrite(LED_A2_GELB, LOW)
#define LED_A2_GELB_EIN digitalWrite(LED_A2_GELB, HIGH)
#define LED_A2_GELB_DIR_OUT pinMode(LED_A2_GELB, OUTPUT)
#define LED_A2_GRUEN 8
#define LED_A2_GRUEN_AUS digitalWrite(LED_A2_GRUEN, LOW)
#define LED_A2_GRUEN_EIN digitalWrite(LED_A2_GRUEN, HIGH)
#define LED_A2_GRUEN_DIR_OUT pinMode(LED_A2_GRUEN, OUTPUT)
void setup()
{
LED_A1_ROT_EIN;
LED_A1_ROT_DIR_OUT;
LED_A1_GELB_AUS;
LED_A1_GELB_DIR_OUT;
LED_A1_GRUEN_AUS;
LED_A1_GRUEN_DIR_OUT;
LED_A2_ROT_EIN;
LED_A2_ROT_DIR_OUT;
LED_A2_GELB_AUS;
LED_A2_GELB_DIR_OUT;
LED_A2_GRUEN_AUS;
LED_A2_GRUEN_DIR_OUT;
}
void loop ()
{
LED_A2_GELB_AUS;
LED_A2_ROT_EIN;
delay (3000); // A1: rot A2: rot
LED_A1_GELB_EIN;
delay(1000); // A1: rot/gelb A2: rot
LED_A1_ROT_AUS;
LED_A1_GELB_AUS;
LED_A1_GRUEN_EIN;
delay(5000); // A1: grün A2: rot
LED_A1_GRUEN_AUS;
LED_A1_GELB_EIN;
delay(1000); // A1: gelb A2: rot
LED_A1_GELB_AUS;
LED_A1_ROT_EIN;
delay(3000); // A1: rot A2: rot
LED_A2_GELB_EIN;
delay(1000); // A1: rot A2: rot/gelb
LED_A2_ROT_AUS;
LED_A2_GELB_AUS;
LED_A2_GRUEN_EIN;
delay(5000); // A1: rot A2: grün
LED_A2_GRUEN_AUS;
LED_A2_GELB_EIN;
delay(1000); // A1: rot A2: gelb
}
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Und baustellenlicht
#define LED_BS1 13
#define LED_BS1_AUS digitalWrite(LED_BS1, LOW)
#define LED_BS1_EIN digitalWrite(LED_BS1, HIGH)
#define LED_BS1_DIR_OUT pinMode(LED_BS1, OUTPUT)
#define LED_BS2 12
#define LED_BS2_AUS digitalWrite(LED_BS2, LOW)
#define LED_BS2_EIN digitalWrite(LED_BS2, HIGH)
#define LED_BS2_DIR_OUT pinMode(LED_BS2, OUTPUT)
#define LED_BS3 11
#define LED_BS3_AUS digitalWrite(LED_BS3, LOW)
#define LED_BS3_EIN digitalWrite(LED_BS3, HIGH)
#define LED_BS3_DIR_OUT pinMode(LED_BS3, OUTPUT)
#define LED_BS4 10
#define LED_BS4_AUS digitalWrite(LED_BS4, LOW)
#define LED_BS4_EIN digitalWrite(LED_BS4, HIGH)
#define LED_BS4_DIR_OUT pinMode(LED_BS4, OUTPUT)
#define LED_BS5 9
#define LED_BS5_AUS digitalWrite(LED_BS5, LOW)
#define LED_BS5_EIN digitalWrite(LED_BS5, HIGH)
#define LED_BS5_DIR_OUT pinMode(LED_BS5, OUTPUT)
#define LED_BS6 8
#define LED_BS6_AUS digitalWrite(LED_BS6, LOW)
#define LED_BS6_EIN digitalWrite(LED_BS6, HIGH)
#define LED_BS6_DIR_OUT pinMode(LED_BS6, OUTPUT)
#define LED_BS7 7
#define LED_BS7_AUS digitalWrite(LED_BS7, LOW)
#define LED_BS7_EIN digitalWrite(LED_BS7, HIGH)
#define LED_BS7_DIR_OUT pinMode(LED_BS7, OUTPUT)
#define LED_BS8 6
#define LED_BS8_AUS digitalWrite(LED_BS8, LOW)
#define LED_BS8_EIN digitalWrite(LED_BS8, HIGH)
#define LED_BS8_DIR_OUT pinMode(LED_BS8, OUTPUT)
int delayA = 250;
int delayB = 1000;
void setup()
{
LED_BS1_AUS;
LED_BS1_DIR_OUT;
LED_BS2_AUS;
LED_BS2_DIR_OUT;
LED_BS3_AUS;
LED_BS3_DIR_OUT;
LED_BS4_AUS;
LED_BS4_DIR_OUT;
LED_BS5_AUS;
LED_BS5_DIR_OUT;
LED_BS6_AUS;
LED_BS6_DIR_OUT;
LED_BS7_AUS;
LED_BS7_DIR_OUT;
LED_BS8_AUS;
LED_BS8_DIR_OUT;
}
void loop()
{
LED_BS1_EIN;
delay (delayA);
LED_BS2_EIN;
delay (delayA);
LED_BS3_EIN;
delay (delayA);
LED_BS4_EIN;
delay (delayA);
LED_BS5_EIN;
delay (delayA);
LED_BS6_EIN;
delay (delayA);
LED_BS7_EIN;
delay (delayA);
LED_BS8_EIN;
delay (delayB);
LED_BS1_AUS;
LED_BS2_AUS;
LED_BS3_AUS;
LED_BS4_AUS;
LED_BS5_AUS;
LED_BS6_AUS;
LED_BS7_AUS;
LED_BS8_AUS;
delay (delayA);
}
"Meine" Modellbahn:http://www.modelbaneeuropa.dk
Dänisches Bahnforum: http://www.baneforum.dk
PIKO C4 "Horror Gallery": http://moppe.dk/PIKOC4.html
Hallo
Klaus die sketche sind für den Arduino die müssen zusammen gefügt werden aber egal Deine Lösung ist super ,
zu Deiner Frage : Das Andreaskreuz zum vergleichen ,ich benutze das von moppe spass muss sein !Ich habe mich auch mal probiert hier das Baustellenleitlicht :
#define LED_BS1 4
#define LED_BS1_AUS digitalWrite(LED_BS1, LOW)
#define LED_BS1_EIN digitalWrite(LED_BS1, HIGH)
#define LED_BS1_DIR_OUT pinMode(LED_BS1, OUTPUT)
#define LED_BS2 5
#define LED_BS2_AUS digitalWrite(LED_BS2, LOW)
#define LED_BS2_EIN digitalWrite(LED_BS2, HIGH)
#define LED_BS2_DIR_OUT pinMode(LED_BS2, OUTPUT)
#define LED_BS3 6
#define LED_BS3_AUS digitalWrite(LED_BS3, LOW)
#define LED_BS3_EIN digitalWrite(LED_BS3, HIGH)
#define LED_BS3_DIR_OUT pinMode(LED_BS3, OUTPUT)
#define LED_BS4 7
#define LED_BS4_AUS digitalWrite(LED_BS4, LOW)
#define LED_BS4_EIN digitalWrite(LED_BS4, HIGH)
#define LED_BS4_DIR_OUT pinMode(LED_BS4, OUTPUT)
#define LED_BS5 8
#define LED_BS5_AUS digitalWrite(LED_BS5, LOW)
#define LED_BS5_EIN digitalWrite(LED_BS5, HIGH)
#define LED_BS5_DIR_OUT pinMode(LED_BS5, OUTPUT)
#define LED_BS6 9
#define LED_BS6_AUS digitalWrite(LED_BS6, LOW)
#define LED_BS6_EIN digitalWrite(LED_BS6, HIGH)
#define LED_BS6_DIR_OUT pinMode(LED_BS6, OUTPUT)
#define LED_BS7 10
#define LED_BS7_AUS digitalWrite(LED_BS7, LOW)
#define LED_BS7_EIN digitalWrite(LED_BS7, HIGH)
#define LED_BS7_DIR_OUT pinMode(LED_BS7, OUTPUT)
#define LED_BS8 11
#define LED_BS8_AUS digitalWrite(LED_BS8, LOW)
#define LED_BS8_EIN digitalWrite(LED_BS8, HIGH)
#define LED_BS8_DIR_OUT pinMode(LED_BS8, OUTPUT)
void setup()
{
LED_BS1_AUS;
LED_BS1_DIR_OUT;
LED_BS2_AUS;
LED_BS2_DIR_OUT;
LED_BS3_AUS;
LED_BS3_DIR_OUT;
LED_BS4_AUS;
LED_BS4_DIR_OUT;
LED_BS5_AUS;
LED_BS5_DIR_OUT;
LED_BS6_AUS;
LED_BS6_DIR_OUT;
LED_BS7_AUS;
LED_BS7_DIR_OUT;
LED_BS8_AUS;
LED_BS8_DIR_OUT;
}
void loop ()
{
delay (150);
LED_BS1_EIN;
delay (150);
LED_BS2_EIN;
delay (150);
LED_BS3_EIN;
delay (150);
LED_BS4_EIN;
delay (150);
LED_BS5_EIN;
delay (150);
LED_BS6_EIN;
delay (150);
LED_BS7_EIN;
delay (100);
LED_BS8_EIN;
delay (150);
LED_BS1_AUS;
LED_BS2_AUS;
LED_BS3_AUS;
LED_BS4_AUS;
LED_BS5_AUS;
LED_BS6_AUS;
LED_BS7_AUS;
LED_BS8_AUS;
}
Markus
Beiträge: | 121 |
Registriert am: | 13.10.2013 |
Hallo,
den Sketch- Servo mit zufälliger Geschwindigkeit- umgesetzt.
Video------ http://www.myvideo.de/watch/9294785
Georg
Einfach ein eigenes Forum erstellen |