7th Annual Hackathon
Innovating for Accessibility
Industry City, Brooklyn, NY
February 27, 2025
CIJE is proud to announce that our 7th annual Hackathon will take place at Industry City on Thursday, February 27th, 2025!
The program will include an intense day of coding, manufacturing, designing, and presenting! This year’s theme is focused on creating innovative solutions to enhance accessibility and empower individuals with disabilities.
To accommodate additional students, there will be two concurrent hacks. Up to 12 students (3 teams of 4) may attend from each school. 2 teams may participate in an “Innovation” hack, where they’ll design, code, manufacture and pitch a product. 1 team may participate in an AI Autonomous Vehicle Challenge, where students will navigate a series of challenges using Realtime AI video analysis.
Students must currently be in a CIJE-Tech engineering course to participate.
The 7th Annual Hackathon, an exciting one-day event centered around the Internet of Things (IoT), will take place on February 27, 2025 in Industry City, Brooklyn.
Hackathon Student Resources
Sample Code
#include “HUSKYLENS.h”
//#include “SoftwareSerial.h”
HUSKYLENS huskylens;
void printResult(HUSKYLENSResult result);
// Motor control pins (adjust to match your specific motor driver)
const int leftMotorPin1 = 4;
const int leftMotorPin2 = 3;
const int rightMotorPin1 = 5;
const int rightMotorPin2 = 6;
bool objectFound = false;
void setup() {
// Motor pin setup
pinMode(leftMotorPin1, OUTPUT);
pinMode(leftMotorPin2, OUTPUT);
pinMode(rightMotorPin1, OUTPUT);
pinMode(rightMotorPin2, OUTPUT);
// HuskyLens and serial communication
Serial.begin(115200);
Wire.begin();
while (!huskylens.begin(Wire)) {
Serial.println(“Connection failed!”);
}
// “ALGORITHM_OBJECT_TRACKING”
// “ALGORITHM_FACE_RECOGNITION”
// “ALGORITHM_OBJECT_RECOGNITION”
// “ALGORITHM_LINE_TRACKING”
// “ALGORITHM_COLOR_RECOGNITION”
// “ALGORITHM_TAG_RECOGNITION”
// “ALGORITHM_OBJECT_CLASSIFICATION”
// Start in object classification mode
huskylens.writeAlgorithm(ALGORITHM_OBJECT_CLASSIFICATION);
delay(500);
}
void loop() {
while (objectFound == false) {
Serial.println(“circleing”);
analogWrite(leftMotorPin1, 150);
analogWrite(rightMotorPin1, 100);
delay(100);
huskylens.request();
HUSKYLENSResult result = huskylens.read();
printResult(result);
if (result.ID == 1) {
objectFound = true;
}
}
Serial.println(“FOUND”);
huskylens.writeAlgorithm(ALGORITHM_OBJECT_TRACKING);
while (objectFound == true) {
huskylens.request();
HUSKYLENSResult result = huskylens.read();
printResult(result);
if (result.xCenter < 140) {
// Object is left of center, turn right
turnLeft();
} else if (result.xCenter > 180) {
// Object is right of center, turn left
turnRight();
} else {
// Object is centered, move forward
moveForward();
}
}
}
void moveForward() {
analogWrite(leftMotorPin1, 250);
analogWrite(rightMotorPin1, 250);
Serial.println(“Driving Straight”);
}
void turnLeft() {
analogWrite(leftMotorPin1, 150);
analogWrite(rightMotorPin1, 0);
Serial.println(“Driving Left”);
}
void turnRight() {
analogWrite(leftMotorPin1, 150);
analogWrite(rightMotorPin1, 0);
Serial.println(“Driving Right”);
}
void printResult(HUSKYLENSResult result) {
if (result.command == COMMAND_RETURN_BLOCK) {
Serial.println(String() + F(“Block:xCenter=”) + result.xCenter + F(“,yCenter=”) + result.yCenter + F(“,width=”) + result.width + F(“,height=”) + result.height + F(“,ID=”) + result.ID);
} else if (result.command == COMMAND_RETURN_ARROW) {
Serial.println(String() + F(“Arrow:xOrigin=”) + result.xOrigin + F(“,yOrigin=”) + result.yOrigin + F(“,xTarget=”) + result.xTarget + F(“,yTarget=”) + result.yTarget + F(“,ID=”) + result.ID);
} else {
Serial.println(“Object unknown!”);
}
}
Hackathon Flier
