Ambassador Bridge
The Ambassador Bridge connects
Detroit, Michigan, United States, and Windsor, Ontario, Canada.
This project with its responsive lighting aims to encourage travelers to walk and bike across the bridge rather than using vehicles that create air pollution.
CCS WINTER 2017 | DETROIT, MI
Project Goal
The Ambassador Bridge spans 1.42 miles in length. On average, a car emits 600 gm of CO2 per trip across the bridge, which amounts to 0.3 metric tons of CO2 emissions per year, assuming a commuter travels across the bridge 10 times per week, 50 weeks per year on average. So, if 500 pedestrians or bicyclists cross the bridge, we have achieved CO2 emission savings to the tune of 0.3 metric tons annually.
A sensor on the entry gate to walk or bike across the bridge could count trips taken. Each time the whole NeoPixel strip lights up end-to-end, an LCD will display the number of equivalent cars that are no longer commuting across the bridge and hence substantial pollution of the environment is avoided.
Components used for the project
Arduino
NeoPixels
RFID Sensor
(Radio Frequency Identication)
Commands and Interaction
V.S
Components
int count = 0;
int trip= 0;
#include <Wire.h>
#include <SPI.h>
#include <Adafruit_PN532.h>
#include <LiquidCrystal.h>
#include <Adafruit_NeoPixel.h>
// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
#define PIN 6
Adafruit_NeoPixel strip = Adafruit_NeoPixel(75, PIN, NEO_GRB + NEO_KHZ800);
#define PN532_SCK (2)
#define PN532_MOSI (3)
#define PN532_SS (4)
#define PN532_MISO (5)
// If using the breakout or shield with I2C, define just the pins connected
// to the IRQ and reset lines. Use the values below (2, 3) for the shield!
#define PN532_IRQ (2)
#define PN532_RESET (3) // Not connected by default on the NFC Shield
// Or use this line for a breakout or shield with an I2C connection:
Adafruit_PN532 nfc(PN532_IRQ, PN532_RESET);
#if defined(ARDUINO_ARCH_SAMD)
// for Zero, output on USB Serial console, remove line below if using programming port to program the Zero!
// also change #define in Adafruit_PN532.cpp library file
#define Serial SerialUSB
#endif
int car;
void setup(void) {
#ifndef ESP8266
while (!Serial); // for Leonardo/Micro/Zero
#endif
Serial.begin(115200);
Serial.println("trip!");
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("CO2 Emission");
strip.begin();
strip.show();
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
Serial.print("Didn't find PN53x board");
while (1); // halt
}
// Got ok data, print it out!
Serial.print("Found chip PN5"); Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. "); Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.'); Serial.println((versiondata>>8) & 0xFF, DEC);
// configure board to read RFID tags
nfc.SAMConfig();
Serial.println("Waiting for an ISO14443A Card ...");
}
...
Setting up NeoPixels to light up
Connecting RFID Sensor with Arduino and NeoPixels
Showing the number of pedestrians or bicyclists that use their passport to cross the bridge
Interactive Prototype
The model displays an intuitive lightning scheme that would encourage travelers to walk or bicycle across the bridge. Each light represents 6 trips by pedestrian or cyclist, and the whole Neo Pixel strip presents 500 trips.
RFID sensors are used to count trips and each time the whole NeoPixel strip lights up end-to-end, an LCD will display the number of equivalent cars that are no longer commuting across the bridge and hence substantial
pollution of the environment is avoided.