====== Byte2bool ====== **Schwierigkeit des Projekts:** leicht ({{:wiki:project:chili.png|}}{{:wiki:project:chili_g.png|}}{{:wiki:project:chili_g.png|}}{{:wiki:project:chili_g.png|}}) Auf dem Arduino erhöht sich der Wert von einem Byte pro Zyklus. Wenn es sein Maximum erreicht, läuft es über und beginnt erneut zu zählen. Das Byte besteht aus Bits, und Änderungen in ihren Werten können angezeigt werden, indem sie auf das Breadboard geschaltet werden. Es hat acht LEDs mit acht Schutzwiderstände. Die Funktion **Serial.print** verwendet die Pins 1 und 2 für die serielle Kommunikation, sodass Sie Signale von Pin 3 für das Programm verwenden können. Pins müssen als digitaler Ausgangskanal deklariert werden. Das Projekt zeigt deutlich, dass sich das niedrigste lokale 0-Bit am schnellsten ändert. Der Programmlauf kann durch Ändern der //"delay ()"// Zeit geändert werden. ^{{:wiki:project:byte2bool_animgif.gif|Arduino kids projekt: Byte2bool 1}}^{{:wiki:project:byte2bool_foto.png?320|Arduino kids projekt: Byte2bool 2}}| ===== Projektkomponenten ===== Arduino UNO Board \\ Breadboard \\ Acht Drähte (möglicherweise gebündelt) Vater-Vater-Typ \\ +ein Draht Vater-Vater-Typ \\ 8 LEDs \\ 8 Schutzwiderstände (1-5 kΩ) \\ ===== Projektverdrahtung ===== Die längeren (Kathode; +) Füsse der LEDs müssen jeweils an Pin2 .. Pin9 angeschlossen werden. Die Widerstände sind mit den Schutzwiderständen an die kürzeren Füsse der LEDs (Anoden; GND) anzuschließen. Die anderen Füsse der Widerstände müssen mit der gemeinsamen Masse (GND) verbunden sein. {{:wiki:project:byte2bool_wiring.png?400|Byte2bool Projektverdrahtung}} ===== Projekt Quelle ===== // Auf dem Arduino erhöht sich der Wert von einem Byte pro Zyklus. // Wenn es sein Maximum erreicht, läuft es über und beginnt erneut zu zählen. // Das Byte besteht aus Bits, und Änderungen in ihren Werten können angezeigt werden, // indem sie auf das Breadboard geschaltet werden. Es hat acht LEDs mit acht Schutzwiderstände. // ob121.com, Arduino Projekts, byte2bool #define byteBit0 2 // pin 2: a byte 0. bit #define byteBit1 3 // pin 3: a byte 1. bit #define byteBit2 4 // pin 4: a byte 2. bit #define byteBit3 5 // pin 5: a byte 3. bit #define byteBit4 6 // pin 6: a byte 4. bit #define byteBit5 7 // pin 7: a byte 5. bit #define byteBit6 8 // pin 8: a byte 6. bit #define byteBit7 9 // pin 9: a byte 7. bit byte rechnen; // "Rechner" Byte void setup() { // Setup block, wird nur einmal ausgeführt Serial.begin(9600); // serielle Kommunikationsgeschwindigkeit // : Dies muss auch am Monitor eingestellt werden! rechnen = 0; // Das Byte beginnt bei 0 pinMode(byteBit0, OUTPUT); // Pins als Ausgang definieren, pinMode(byteBit1, OUTPUT); pinMode(byteBit2, OUTPUT); pinMode(byteBit3, OUTPUT); pinMode(byteBit4, OUTPUT); pinMode(byteBit5, OUTPUT); pinMode(byteBit6, OUTPUT); pinMode(byteBit7, OUTPUT); } void loop() { // zyklische Ausführung rechnen++; // Inkrementieren des Inhalts des Bytes mit 1 digitalWrite(byteBit0,(bitRead (rechnen, 0))); // "druckt" ein Bit des Bytes digitalWrite(byteBit1,(bitRead (rechnen, 1))); digitalWrite(byteBit2,(bitRead (rechnen, 2))); digitalWrite(byteBit3,(bitRead (rechnen, 3))); digitalWrite(byteBit4,(bitRead (rechnen, 4))); digitalWrite(byteBit5,(bitRead (rechnen, 5))); digitalWrite(byteBit6,(bitRead (rechnen, 6))); digitalWrite(byteBit7,(bitRead (rechnen, 7))); Serial.print("\n"); // "Neue Zeile" für den seriellen Monitor Serial.print(rechnen); // Drucken den Byte-Inhalt auf dem seriellen Monitor delay(100); // Wartezeit (0.1 Sekunde) } {{:wiki:project:byte2bool_monitor.png|}} **[[hu:project:arduino|>> Zurück zur Liste der Arduino-Projekte]]**