BitBastelei #250 - Netgear GSS108E Fehlersuche
(464.3 MB) 00:31:52
2017-08-13 10:00
🛈
Kleine Reparaturstunde: Zuschauer Prometpheus hat mir einen 8-Port Gigabit-Switch zugesendet, bei dem einer der Ports nicht mehr funktioniere. Abgesehen von verbogenen Kontakten ist das doch eher selten, denn Ethernet ist recht gut abgesichert. Schauen wir mal, ob wir den Fehler finden, eine These zur Fehlerursache aufstellen könne und – mit etwas Glück – den kaputten Port wieder zum Leben erwecken können.
BitBasics IT - 0x05 - Speicher mit Latches
(19.6 MB) 00:10:23
2017-08-06 10:00
🛈
Rechnen ist ein guter Anfang, aber wohin mit dem Ergebnis? Um Daten zu „merken“ benötigen wir Speicher. Aus einigen Gattern lassen sich Speicherzellen bauen, welche sich einen Zustand merken können.
Links zum Thema
Serie
Vorherige Folge: BitBasics IT – 0x04 – Rechnen mit Gattern
Nächste Folge: 0x06 – folgt…
Credits
BitBastics // BitBastelei
IT-Grundlagen
Florian „adlerweb“ Knodt · http://biba.adlerweb.info/ · CC-BY
Intro-Musik (verändert): Take a Chance Kevin MacLeod (incompetech.com) · Licensed under
Creative Commons: By Attribution 3.0 License http://creativecommons.org/licenses/by/3.0/
Die-Fotografie: Pauli Rautakorpi · CC BY 3.0 (http://creativecommons.org/licenses/by/3.0)
via https://commons.wikimedia.org/wiki/File:Intel_Pentium_P54C_die.jpg
BitNotice #125 - Casio WaveCeptor WV-58E Batteriewechsel
(11.3 MB) TBD
2017-08-02 19:08
🛈
Batterietausch einer Casio WaveCeptor Funk-Armbanduhr.
Batterietyp: CR1620*
Neuere Variante der BitNotice #23
*Affiliate-Link: Bei Kauf über den Link erhalte ich von Amazon eine Verkaufsprämie
BitBastelei #249 - AD584 Voltage Reference: Reparatur & Arduino-Mod
(287.2 MB) 00:32:24
2017-07-30 10:00
🛈
Wieder mal eine Reparatur: Dank verpoltem Ladestecker hat meine AD584-basierte Spannungsreferenz den Geist aufgegeben. Mal schauen, ob wir die wiederbelebt bekommen. Oder wir übertreiben etwas. Oder beides.
BitBastelei #248 - Kamera USB-Ladeadapter
(185.6 MB) 00:18:27
2017-07-23 10:00
🛈
Ugh, Akku leer. Mal wieder. Schauen wir mal, ob wir nicht einen USB-Adapter improvisiert bekommen, mit welchem wir die Kameras unterwegs per Powerbank versorgen können.
BitBastelei #247 - PC-Lüfter per Arduino auslesen und steuern
(80.7 MB) 00:19:34
2017-07-16 10:00
🛈
Lüfter sind laut und nervig – aber auch nicht so ganz unwichtig. Praktischerweise kann man PC-Lüfter recht einfach selbst nutzen. Schauen wir mal, welche Arten von Lüftern es so gibt und wie man diese per Arduino auslesen und steuern kann.
Korrekturen & Hinweise
- 10:58 OZI und Arduino haben über USB den selben GND
- 13:22 FALLING wäre bei diesem Signal besser
- 16:25 Laut Spezifikation sind 21-28kHz zulässig
Links zum Thema
Code
unsigned long last1 = 0;
unsigned long last2 = 0;
unsigned long lasts = 0;
unsigned int dur1 = 0;
unsigned int dur2 = 0;
byte tgt1 = 128;
byte tgt2 = 128;
void setup() {
Serial.begin(115200);
pinMode(2, INPUT_PULLUP);
pinMode(3, INPUT_PULLUP);
pinMode(13, OUTPUT);
attachInterrupt(digitalPinToInterrupt(2), tacho1, FALLING);
attachInterrupt(digitalPinToInterrupt(3), tacho2, FALLING);
//Timer 1: Prescaler 0
TCCR1B = TCCR1B & B11111000 | B00000001;
analogWrite(9, 128);
analogWrite(10, 128);
}
void getPwm(byte &val) {
byte tmp = Serial.parseInt();
if(tmp > 0) val = map(tmp, 0, 100, 0, 255);
}
void loop() {
unsigned long cm = millis();
if(Serial.available()) {
byte tmp = Serial.parseInt();
switch(tmp) {
case 1:
getPwm(tgt1);
break;
case 2:
getPwm(tgt2);
break;
}
}
if(lasts > cm || (lasts + 1000) < cm) {
digitalWrite(13, !digitalRead(13));
Serial.print("Delay1: ");
Serial.print(dur1);
Serial.println("µs");
unsigned long freq = 100000000 / dur1;
Serial.print("Frequenz1: ");
Serial.print(freq/100);
Serial.print('.');
Serial.print(freq%100);
Serial.println("Hz");
freq *= 60;
freq /= 200;
Serial.print("RPM1: ");
Serial.println(freq);
Serial.print("Ziel1: ");
Serial.print(map(tgt1, 0, 255, 0, 100));
Serial.println('%');
Serial.print("Delay2: ");
Serial.print(dur2);
Serial.println("µs");
freq = 100000000 / dur2;
Serial.print("Frequenz2: ");
Serial.print(freq/100);
Serial.print('.');
Serial.print(freq%100);
Serial.println("Hz");
freq *= 60;
freq /= 200;
Serial.print("RPM2: ");
Serial.println(freq);
Serial.print("Ziel2: ");
Serial.print(map(tgt2, 0, 255, 0, 100));
Serial.println('%');
Serial.println("-----");
lasts = millis();
}
analogWrite(9, tgt1);
analogWrite(10, tgt2);
}
void tacho1() {
unsigned long cm = micros();
dur1 = (cm - last1);
last1 = cm;
}
void tacho2() {
unsigned long cm = micros();
dur2 = (cm - last2);
last2 = cm;
}
BitBastelei #246b - Bluetooth Smart Car: Protokoll-Ermittlung
(35.8 MB) 00:14:12
2017-07-09 11:00
🛈
Kleine Ergänzung zum letzten Bausatz: Wie schon erwähnt dürfte das Bluetooth-Protokoll überschaubar sein, also werfen wir mal einen Blick drauf.
Je 1 Byte = 1 Befehl
Erste 4 Bit: (0-8) Richtung
Letzt 4 Bit: (0-F) Geschwindigkeit
Richtungen:
0 ? Stop
1 ? Vorwärts
2 ? Rückwärts
3 ? Drehen Links
4 ? Drehen Rechts
5 ? Vor Links
6 ? Vor Rechts
7 ? Rück Links
8 ? Rück Rechts
[ICStation.com] BitBastelei #246 - Bluetooth Smart Car
(350.9 MB) 00:54:25
2017-07-09 10:00
🛈
Huh? Noch ein Roboter? Der „D2-6“ ist eine erweiterte Version des letzten Roboters – einige Probleme wie die Stromversorgung wurden gelöst, Sensoren für eine Hinderniserkennung ergänzt und – als Sahnehäubchen – eine Bluetooth-Steuerung über Smartphone oder Tablet ermöglicht.
Inhalt
- 00:37 Kit-Beschreibung & Inhalt
- 02:46 Kit-Inhalt
- 05:12 Aufbau der Schaltung
- 07:25 Bausatz löten
- 33:07 Motor & Mechanik
- 43:23 Sensor-Kalibrierung
- 44:25 Test: Line-Following-Mode
- 45:55 Test: Collision-Avoidance-Mode
- 47:37 Test: Bluetooth-Modus
Links
Ergänzungen/Korrekturen
- 52:34 Über den Button unten Mitte kann man den Gyro-Modus einschalten und auch durch Kippen des Handy/Tablet steuern
Hinweise
Der Bausatz wurde mit von ICStation.com kostenfrei zur Verfügung gestellt
BitBastelei #245f - Haussteuerung mit CAN und Arduino: IO-Module
(24.4 MB) 00:10:07
2017-07-02 11:02
🛈
Die vermutlich komplexeste, aber auch leistungsfähigste Variante in aSysBus: IO-Module. Hierbei werden nicht mehr separate Funktionen geschrieben, sondern nur noch Konfigurationen für Adressen und Pins vergeben. Diese werden im EEPROM abgelegt und können – ganz ohne dem Arduino neu zu programmieren – im Betrieb geändert werden.
CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus
BitBastelei #245e - Haussteuerung mit CAN und Arduino: Eigene Funktionen anbinden
(13.8 MB) 00:08:05
2017-07-02 11:01
🛈
Über „Hooks“ kann man in aSysBus eigene Funktionen mit einem Filter verbinden. Statt selbst das aussortieren der Pakete programmieren zu müssen kann man hier diese Aufgabe der Library übertragen. Trifft später ein Paket ein, welches den angegebenen Daten entspricht, wird die eigene Funktion aufgerufen.
CAN-Bus-Library:
https://github.com/adlerweb/CAN_BUS_Shield
aSysBus-Library:
https://github.com/adlerweb/aSysBus