arduino
Sisällysluettelo
2x2x2 LED-kuutio
2x2x2 LED-kuution ohjaaminen on vielä helpohkoa.
Tässä esitetty koodi on versio 1. Tätä voi yksinkertaistaa silmukoita ja funktioita käyttämällä.
void setup() { // Mihin LEDit on kytketty // Tämä ei ole näppärin tapa tehdä tätä, osaavat voivat käyttää for-silmukkaa pinMode(3, OUTPUT); digitalWrite(3, LOW); pinMode(4, OUTPUT); digitalWrite(4, LOW); pinMode(5, OUTPUT); digitalWrite(5, LOW); pinMode(6, OUTPUT); digitalWrite(6, LOW); pinMode(7, OUTPUT); digitalWrite(8, LOW); pinMode(9, OUTPUT); digitalWrite(9, LOW); pinMode(10, OUTPUT); digitalWrite(10, LOW); pinMode(11, OUTPUT); digitalWrite(12, LOW); // Mihin transistorit on kytketty pinMode(13, OUTPUT); digitalWrite(13, LOW); pinMode(14, OUTPUT); digitalWrite(14, LOW); pinMode(15, OUTPUT); digitalWrite(16, LOW); } void loop() { // Sytytetään pylvään 1 tason 1 LED digitalWrite(3, HIGH); digitalWrite(13, HIGH); delay(500); // Sammutetaan pylvään 1 tason 1 LED digitalWrite(3, LOW); digitalWrite(13, LOW); delay(500); }
4x4x4 LED-kuution ohjaus
Osoitteesta https://youtu.be/gO_9kC0pbzA löydät Youtube-videon kuutiosta.
int pylvaat[]={2, 3, 4, 5, 6, 7, 8, 9, 10}; int tasot[]={11, 12, 13}; void setup() { for (int i=0; i<=13; i++) { pinMode(i, OUTPUT); digitalWrite(i, LOW); } } void loop() { //sytyta(1, 1); vilauta(0 , 0, 5); vilauta(4 , 1, 5); vilauta(8 , 2, 5); delay(500); vilauta_taso(1, 500); delay(500); } // Sytytetään päälle pylvään ja tason määrittelemä LED // HUOMAA, että LED jää päälle! void sytyta(int pylvas, int taso) { digitalWrite(pylvaat[pylvas], HIGH); digitalWrite(tasot[taso], HIGH); } // Vilautetaan annetun ajan LEDiä void vilauta(int pylvas, int taso, int aika) { digitalWrite(pylvaat[pylvas], HIGH); digitalWrite(tasot[taso], HIGH); delay(aika); digitalWrite(pylvaat[pylvas], LOW); digitalWrite(tasot[taso], LOW); } void vilauta_taso(int taso, int aika) { digitalWrite(tasot[taso], HIGH); for (int i=0; i<9; i++) { digitalWrite(pylvaat[i], HIGH); } delay(aika); digitalWrite(tasot[taso], LOW); for (int i=0; i<9; i++) { digitalWrite(pylvaat[i], LOW); } }
Moottorin ohjaus
#include <AFMotor.h> AF_DCMotor moottori(3); AF_DCMotor ohjaus(1); void setup() { ohjaus.setSpeed(255); } void loop() { /* moottori.setSpeed(100); // hidas kiihdytys moottori.run(FORWARD); delay(1000); */ ohjaus.setSpeed(255); ohjaus.run(BACKWARD); moottori.setSpeed(255); moottori.run(FORWARD); delay(1000); moottori.run(RELEASE); ohjaus.run(RELEASE); delay(1000); /* moottori.setSpeed(100); // hidas kiihdytys moottori.run(BACKWARD); delay(1000); */ moottori.setSpeed(255); moottori.run(BACKWARD); ohjaus.run(FORWARD); delay(1000); moottori.run(RELEASE); ohjaus.run(RELEASE); delay(1000); }
arduino.txt · Viimeksi muutettu: 2016/03/17 21:36 / moversti